Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37728098
en ru br
Репозитории ALT
S:2.8.3-alt4
5.1: 2.6.0-alt1
www.altlinux.org/Changes

Группа :: Development/Tools
Пакет: mct

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%define mpiimpl openmpi
%define mpidir %_libexecdir/%mpiimpl

Name: mct
Version: 2.6.0
Release: alt1
Summary: The Model Coupling Toolkit
License: MIT
Group: Development/Tools
Url: http://www.mcs.anl.gov/research/projects/mct/
Packager: Eugeny A. Rostovtsev (REAL) <real at altlinux.org>

Source: http://www.mcs.anl.gov/research/projects/mct/MCT.tar.gz

BuildPreReq: %mpiimpl-devel
BuildPreReq: /usr/bin/latex

%description
MCT is a set of open-source software tools for creating coupled models. MCT is
fully parallel and can be used to couple message-passing parallel models to
create a parallel coupled model. MCT is available as a small library and a set
of Fortran90 modules.

MCT provides model interoperability through a simple API. Two models that
declare and use MCT datatypes can be coupled with a minimum of effort.

MCT provides the following core coupling services:

   * a component model registry
   * domain decomposition descriptors
   * communications schedulers for parallel MxN intercomponent data transfer
and MxM intracomponent data redistribution
   * a flexible and indexible (i.e., random-access) field data storage datatype
   * a time averaging and accumulation buffer datatype
   * a general spatial grid representation capable of supporting unstructured
grids
   * parallel tools for intergrid interpolation implemented as matrix-vector
multiplication spatial integration and averaging tools (including paired
integrals to support conservative interpolation)
   * tools for merging data from multiple components for use by another
component.
   * a programming model similar to that of the Message Passing Interface.

MCT can be used in single or multiple executable systems and allows sequential
or concurrent execution.

%package -n lib%name-devel
Summary: Static development files of MCT
Group: Development/Other
Requires: %mpiimpl-devel

%description -n lib%name-devel
MCT is a set of open-source software tools for creating coupled models. MCT is
fully parallel and can be used to couple message-passing parallel models to
create a parallel coupled model. MCT is available as a small library and a set
of Fortran90 modules.

MCT provides model interoperability through a simple API. Two models that
declare and use MCT datatypes can be coupled with a minimum of effort.

This package contains static development files of MCT.

%package -n lib%name-devel-doc
Summary: Documentation for MCT
Group: Development/Documentation
BuildArch: noarch

%description -n lib%name-devel-doc
MCT is a set of open-source software tools for creating coupled models. MCT is
fully parallel and can be used to couple message-passing parallel models to
create a parallel coupled model. MCT is available as a small library and a set
of Fortran90 modules.

MCT provides model interoperability through a simple API. Two models that
declare and use MCT datatypes can be coupled with a minimum of effort.

This package contains development documentation for MCT.

%prep
%setup
rm -f $(find ./ -name .cvsignore)

%build
mpi-selector --set %mpiimpl
source %mpidir/bin/mpivars.sh

%autoreconf
%configure \
MPILIBS="-L%mpidir/lib -lmpi_f77 -lmpi_f90 -lmpi -Wl,-R%mpidir/lib" \
MPIHEADER="-I%mpidir/include" \
FC=mpif77 F90=mpif90 CC=mpicc \
OPT="%optflags %optflags_shared"

%make
%make examples
mv examples/climate_sequen1/climate examples/climate.seq

pushd doc
%make
popd

%install
%makeinstall

install -d %buildroot%_bindir
install -d %buildroot%_datadir/%name/data
install -d %buildroot%_docdir/lib%name-devel

pushd examples
rm -f $(find ./ -name '*.o')
mv climate.seq climate_concur1/climate simple/twocon simple/twoseq* \
%buildroot%_bindir/
popd
install -p -m644 data/* %buildroot%_datadir/%name/data

install -m644 doc/*.dvi %buildroot%_docdir/lib%name-devel

%files
%doc COPYRIGHT examples
%_bindir/*
%_datadir/%name

%files -n lib%name-devel
%_libdir/*
%_includedir/*

%files -n lib%name-devel-doc
%_docdir/lib%name-devel

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin