debian/0000775000000000000000000000000012253673723007202 5ustar debian/rules0000775000000000000000000001107011711314547010253 0ustar #!/usr/bin/make -f # The magic rule ... %: dh $@ DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) LIBDIR:=/usr/lib/${DEB_HOST_MULTIARCH} LIBDIR_ESC:=\/usr\/lib\/${DEB_HOST_MULTIARCH} include /usr/share/mpi-default-dev/debian_defaults ifeq ($(ARCH_DEFAULT_MPI_IMPL), mpich) CHAN := MPI1 else CHAN := MPI2 endif TOP:=$(shell pwd)/ override_dh_auto_build: # First run to build shared lib $(MAKE) -C src/mod/oasis3/util/make_dir -f TopMakefileOasis3 ARCH=debian PRISMHOME=$(TOP) CHAN=MPI1 makeshlibs $(MAKE) -C src/mod/oasis3/util/make_dir -f TopMakefileOasis3 ARCH=debian PRISMHOME=$(TOP) CHAN=MPI2 makeshlibs # move them out of the way so the executables are built statically mkdir -p build/lib/shared mv build/lib/lib*.so.* build/lib/shared # re-run to build the static versions $(MAKE) -C src/mod/oasis3/util/make_dir -f TopMakefileOasis3 ARCH=debian PRISMHOME=$(TOP) realclean CHAN=MPI1 default toyoa3 $(MAKE) -C src/mod/oasis3/util/make_dir -f TopMakefileOasis3 ARCH=debian PRISMHOME=$(TOP) realclean CHAN=MPI2 default toyoa3 # Create pkgconfig files. for p in clim.mpich.pc clim.openmpi.pc mpp_io.pc psmile.pc scrip.pc ; do \ sed -e 's/@LIBDIR@/${LIBDIR_ESC}/' < debian/$${p}.in > debian/$${p}; \ done override_dh_auto_install: dh_install -p liboasis3-0d build/lib/shared/libclim*.so.0d ${LIBDIR} dh_install -p liboasis3-0d build/lib/shared/libfscint.so.0d ${LIBDIR} dh_install -p liboasis3-0d build/lib/shared/libmpp_io.so.0d ${LIBDIR} dh_install -p liboasis3-0d build/lib/shared/libpsmile*.so.0d ${LIBDIR} dh_install -p liboasis3-0d build/lib/shared/libscrip.so.0d ${LIBDIR} dh_install -p liboasis3-0d build/lib/shared/libanais*.so.0d ${LIBDIR} dh_install -p liboasis3-0d build/lib/oasis3/liboasis3.*.so.0d ${LIBDIR} dh_install -p liboasis3-dev build/lib/libclim.*.a ${LIBDIR} dh_install -p liboasis3-dev build/lib/libpsmile.*.a ${LIBDIR} dh_install -p liboasis3-dev build/lib/libfscint.a ${LIBDIR} dh_install -p liboasis3-dev build/lib/libmpp_io.a ${LIBDIR} dh_install -p liboasis3-dev build/lib/libscrip.a ${LIBDIR} dh_install -p liboasis3-dev build/lib/libanaism.a ${LIBDIR} dh_install -p liboasis3-dev build/lib/libanaisg.a ${LIBDIR} dh_install -p liboasis3-dev build/lib/oasis3/liboasis3.*.a ${LIBDIR} dh_install -p liboasis3-dev debian/*.pc ${LIBDIR}/pkgconfig override_dh_link: ln -sf oasis3.links.$(CHAN) debian/oasis3.links ln -sf oasis3-examples.links.$(CHAN) debian/oasis3-examples.links dh_link -p liboasis3-dev ${LIBDIR}/pkgconfig/clim.${ARCH_DEFAULT_MPI_IMPL}.pc ${LIBDIR}/pkgconfig/clim.pc dh_link -p liboasis3-dev ${LIBDIR}/libclim.MPI2.so.0d ${LIBDIR}/libclim.MPI2.so dh_link -p liboasis3-dev ${LIBDIR}/libclim.MPI1.so.0d ${LIBDIR}/libclim.MPI1.so dh_link -p liboasis3-dev ${LIBDIR}/libpsmile.MPI2.so.0d ${LIBDIR}/libpsmile.MPI2.so dh_link -p liboasis3-dev ${LIBDIR}/libpsmile.MPI1.so.0d ${LIBDIR}/libpsmile.MPI1.so dh_link -p liboasis3-dev ${LIBDIR}/liboasis3.MPI1.so.0d ${LIBDIR}/liboasis3.MPI1.so dh_link -p liboasis3-dev ${LIBDIR}/liboasis3.MPI2.so.0d ${LIBDIR}/liboasis3.MPI2.so dh_link -p liboasis3-dev ${LIBDIR}/libanaism.so.0d ${LIBDIR}/libanaism.so dh_link -p liboasis3-dev ${LIBDIR}/libanaisg.so.0d ${LIBDIR}/libanaisg.so dh_link -p liboasis3-dev ${LIBDIR}/libfscint.so.0d ${LIBDIR}/libfscint.so dh_link -p liboasis3-dev ${LIBDIR}/libmpp_io.so.0d ${LIBDIR}/libmpp_io.so dh_link -p liboasis3-dev ${LIBDIR}/libscrip.so.0d ${LIBDIR}/libscrip.so dh_link -p liboasis3-dev ${LIBDIR}/liboasis3.${CHAN}.a ${LIBDIR}/liboasis3.a dh_link -p liboasis3-dev ${LIBDIR}/libclim.${CHAN}.a ${LIBDIR}/libclim.a dh_link -p liboasis3-dev ${LIBDIR}/libpsmile.${CHAN}.a ${LIBDIR}/libpsmile.a dh_link -p liboasis3-dev ${LIBDIR}/libclim.${CHAN}.so.0d ${LIBDIR}/libclim.so dh_link -p liboasis3-dev ${LIBDIR}/liboasis3.${CHAN}.so.0d ${LIBDIR}/liboasis3.so dh_link -p liboasis3-dev ${LIBDIR}/libpsmile.${CHAN}.so.0d ${LIBDIR}/libpsmile.so dh_link -p liboasis3-dev /usr/include/clim.${CHAN} /usr/include/clim dh_link -p liboasis3-dev /usr/include/psmile.${CHAN} /usr/include/psmile override_dh_shlibdeps: dh_shlibdeps -l$(TOP)/build/lib/shared override_dh_fixperms: dh_fixperms find debian/oasis3-examples/usr/share/oasis3-examples/testinterp -type f -exec chmod -x {} \; find debian/oasis3-examples -name 'Make*' -exec chmod -x {} \; override_dh_clean: dh_clean rm -rf build src/mod/oasis3/doc/oasis3doc.toc debian/*.links debian/*.pc if [ -e src/mod/oasis3/doc/Makefile ] ; then $(MAKE) -C src/mod/oasis3/doc clean ; fi pkgconfig-files: debian/oasis3.links.MPI20000664000000000000000000000005111364335314012140 0ustar /usr/bin/oasis3.MPI2.x /usr/bin/oasis3.x debian/changelog0000664000000000000000000000573012253673723011061 0ustar oasis3 (3.3.beta.dfsg.1-8build2) trusty; urgency=medium * No-change rebuild for libopenmpi1.3 -> libopenmpi1.6 transition. -- Logan Rosen Mon, 16 Dec 2013 16:59:32 -0500 oasis3 (3.3.beta.dfsg.1-8build1) saucy; urgency=low * Rebuild with gfortran 4.8. -- Colin Watson Wed, 18 Sep 2013 10:08:38 +0100 oasis3 (3.3.beta.dfsg.1-8) unstable; urgency=low * oasis3 and liboasis3-dev are not Multi=Arch: same. Closes: #658106, #658107. * Ack that new build solves FTBFS. Closes: #608598. * Add lintian override for multiarch warning -- Alastair McKinstry Sat, 04 Feb 2012 17:01:27 +0000 oasis3 (3.3.beta.dfsg.1-7) unstable; urgency=low * Fix typo in build-deps. libhdr5 -> libhdf5. Closes: 657931. -- Alastair McKinstry Mon, 30 Jan 2012 06:59:20 +0000 oasis3 (3.3.beta.dfsg.1-6) unstable; urgency=low * Update build-deps for HDF5 (1.8.8) transition. * Multi-Arch. * Move to Standards-Version: 3.9.2 -- Alastair McKinstry Sun, 29 Jan 2012 14:36:02 +0000 oasis3 (3.3.beta.dfsg.1-5) unstable; urgency=low * Bump release number to get past stuck upload -- Alastair McKinstry Sat, 08 May 2010 21:33:00 +0100 oasis3 (3.3.beta.dfsg.1-4) unstable; urgency=low * Fix hard-coded paths in auto-generated patch. Closes: #579322. -- Alastair McKinstry Tue, 27 Apr 2010 12:46:26 +0100 oasis3 (3.3.beta.dfsg.1-3) unstable; urgency=low * non-experimental release. * Added non-conservative SCRIP patch from upstream. * Add shared-library liboasis3, needed to link shared lib clim*, etc. * libanaism, libanaisg also shipped. * Provide pkg-config files for clim, psmile, scrip and mpp_io libs. -- Alastair McKinstry Fri, 23 Apr 2010 09:47:35 +0100 oasis3 (3.3.beta.dfsg.1-2) experimental; urgency=low * Directory name change in new upsteam. Closes: #569271. -- Alastair McKinstry Thu, 11 Feb 2010 11:58:10 +0000 oasis3 (3.3.beta.dfsg.1-1) experimental; urgency=low * New upstream. * Include liboasis3-0d binary deb for shared libraries. * Include both MPI1 and MPI2 versions of binaries and libraries. -- Alastair McKinstry Sun, 07 Feb 2010 16:58:10 +0000 oasis3 (3.1.dfsg.1-1) experimental; urgency=low * DFSG-fixed upload. (Closes: #531673). * Remove files from distribution to make it DFSG-free: - regenerate .eps graphics, as exporting them from Powerpoint with Adobe Framemaker adds an _Adobe_ copyright - prismdoc.cls ; non-DFSG free * Remove expdlist.sty - provided by texlive-latex-extra; Build-Depend on texlive-latex-extra. * Add sources, pre-built toy models to oasis3-examples -- Alastair McKinstry Sat, 30 Jan 2010 13:51:02 +0000 oasis3 (3.1-1) experimental; urgency=low * Initial release. -- Alastair McKinstry Wed, 20 Jan 2010 11:56:33 +0000 debian/oasis3-examples.docs0000664000000000000000000000002711364335314013061 0ustar src/mod/toyatm/doc/* debian/liboasis3-dev.docs0000664000000000000000000000000011364335314012477 0ustar debian/clim.openmpi.pc.in0000664000000000000000000000067111711261132012512 0ustar prefix=/usr exec_prefix=${prefix} libdir=@LIBDIR@ Name: clim Description: OASIS3 coupler library Version: 3.3.beta.dfsg.1 Requires: netcdf # Nasty hack, as openmpi does not ship with static libraries. Libs: -L${libdir} -lclim -Wl,-Bdynamic,-lmpi_f90,-lmpi_f77 -loasis3 -lnetcdff -lanaism -lscrip -lfscint -lanaisg Libs.private: -L${libdir} -lclim -Wl,-Bdynamic,-lmpi_f90,-lmpi_f77 -Wl,-Bstatic -loasis3 CFlags: -I${prefix}/include/clim debian/compat0000664000000000000000000000000211711254572010373 0ustar 9 debian/oasis3-examples.links.MPI10000664000000000000000000000017311364335314013760 0ustar /usr/bin/toyatm.MPI1.x /usr/bin/toyatm.x /usr/bin/toyoce.MPI1.x /usr/bin/toyoce.x /usr/bin/toyche.MPI1.x /usr/bin/toyche.x debian/liboasis3-dev.dirs0000664000000000000000000000023311711266341012517 0ustar /usr/include/psmile.MPI1 /usr/include/psmile.MPI2 /usr/include/clim.MPI1 /usr/include/clim.MPI2 /usr/include/fscint /usr/include/mpp_io /usr/include/scrip debian/oasis3-examples.links.MPI20000664000000000000000000000017311364335314013761 0ustar /usr/bin/toyatm.MPI2.x /usr/bin/toyatm.x /usr/bin/toyoce.MPI2.x /usr/bin/toyoce.x /usr/bin/toyche.MPI2.x /usr/bin/toyche.x debian/oasis3-examples.dirs0000664000000000000000000000023311364335314013071 0ustar /usr/src/oasis3 /usr/src/oasis3/toyatm /usr/src/oasis3/toyoce /usr/src/oasis3/toychem /usr/src/oasis3/atmoa3 /usr/src/oasis3/cheoa3 /usr/src/oasis3/oceoa3 debian/oasis3.links.MPI10000664000000000000000000000005111364335314012137 0ustar /usr/bin/oasis3.MPI1.x /usr/bin/oasis3.x debian/liboasis3-0d.shlibs0000664000000000000000000000031511364335314012571 0ustar libclim 0d liboasis3-0d libmpp_io 0d liboasis3-0d libpsmile 0d liboasis3-0d libfscint 0d liboasis3-0d libscrip 0d liboasis3-0d libanaism 0d liboasis3-0d libanaisg 0d liboasis3-0d liboasis3 0d liboasis3-0d debian/copyright0000664000000000000000000000551711364335314011136 0ustar This version of OASIS was packaged for Debian by Alastair McKinstry, , on 4 August 2009. OASIS is available at https://oasistrac.cerfacs.fr/wiki Copyright © 2006 Centre Européen de Recherche et Formation Avancée en Calcul Scientifiq(CERFACS). This software and ancillary information called OASIS3 is free software. CERFACS has rights to use, reproduce, and distribute OASIS3. The public may copy, distribute, use, prepare derivative works and publicly display OASIS3 under the terms of the Lesser GNU General Public License (LGPL) as published by the Free Software Foundation, provided that this notice and any statement of authorship are reproduced on all copies. If OASIS3 is modified to produce derivative works, such modified software should be clearly marked, so as not to confuse it with the OASIS3 version available from CERFACS. The developers of the OASIS3 software are researchers attempting to build a modular and user-friendly coupler accessible to the climate modelling community. Although we use the tool ourselves and have made every effort to ensure its accuracy, we can not make any guarantees. We provide the software to you for free. In return, you--the user--assume full responsibility for use of the software. The OASIS3 software comes without any warranties (implied or expressed) and is not guaranteed to work for you or on your computer. Specifically, CERFACS and the various individuals involved in development and maintenance of the OASIS3 software are not responsible for any damage that may result from correct or incorrect use of this software. A copy of the LGPL is available at /usr/share/common-licenses/LGPL OASIS3 uses the SCRIP library, which is covered by the following license: ! This software and ancillary information (herein called software) ! called SCRIP is made available under the terms described here. ! The software has been approved for release with associated ! LA-CC Number 98-45. ! ! Unless otherwise indicated, this software has been authored ! by an employee or employees of the University of California, ! operator of the Los Alamos National Laboratory under Contract ! No. W-7405-ENG-36 with the U.S. Department of Energy. The U.S. ! Government has rights to use, reproduce, and distribute this ! software. The public may copy and use this software without ! charge, provided that this Notice and any statement of authorship ! are reproduced on all copies. Neither the Government nor the ! University makes any warranty, express or implied, or assumes ! any liability or responsibility for the use of this software. ! ! If software is modified to produce derivative works, such modified ! software should be clearly marked, so as not to confuse it with ! the version available from Los Alamos National Laboratory. debian/source/0000775000000000000000000000000011713262053010470 5ustar debian/source/format0000664000000000000000000000001411364335314011701 0ustar 3.0 (quilt) debian/source/lintian-overrides0000664000000000000000000000010111713262053014041 0ustar oasis3 source: package-needs-versioned-debhelper-build-depends 9 debian/mpp_io.pc.in0000664000000000000000000000032511711261137011404 0ustar prefix=/usr exec_prefix=${prefix} libdir=@LIBDIR@ Name: mpp_io Description: MPP_IO Parallel programming IO library (OASIS3) Version: 3.3.beta.dfsg.1 Libs: -L${libdir} -lmpp_io CFlags: -I${prefix}/include/mpp_io debian/psmile.pc.in0000664000000000000000000000030311711261145011405 0ustar prefix=/usr exec_prefix=${prefix} libdir=@LIBDIR@ Name: psmile Description: PSMILe OASIS3 coupler library Version: 3.3.beta.dfsg.1 Libs: -L${libdir} -lpsmile CFlags: -I${prefix}/include/psmile debian/TODO0000664000000000000000000000037511711263466007674 0ustar TODO list: Milestone1: * Initial build. Test on all debian archs. DONE Milestone2: * shared-library build. DONE Milestone3: * Add automated tests. Next: - mpp_io : Should this be a separate library ? MPP_IO is also used by the GFDL model. debian/scrip.pc.in0000664000000000000000000000037211711261153011241 0ustar prefix=/usr exec_prefix=${prefix} libdir=@LIBDIR@ Name: scrip Description: SCRIP interpolation library (OASIS3 coupler) Version: 3.3.beta.dfsg.1 Libs: -L${libdir} -lscrip -lclim -loasis3 -lfscint -lanaisg -lanaism CFlags: -I${prefix}/include/scrip debian/oasis3.install0000664000000000000000000000003411364335314011761 0ustar build/bin/oasis3*.x usr/bin debian/clim.mpich.pc.in0000664000000000000000000000050211711261124012135 0ustar prefix=/usr exec_prefix=${prefix} libdir=@LIBDIR@ Name: clim Description: OASIS3 coupler library Version: 3.3.beta.dfsg.1 Requires: netcdf Libs: -L${libdir} -lclim -lmpich -loasis3 -lnetcdff -lanaism -lscrip -lfscint -lanaisg Libs.private: -L${libdir} -lclim -lmpich -lpthread -loasis3 CFlags: -I${prefix}/include/clim debian/oasis3-examples.install0000664000000000000000000000027311364335314013602 0ustar data/* usr/share/oasis3-examples build/bin/*oa3.* usr/bin src/mod/atmoa3/src/* usr/src/oasis3/atmoa3 src/mod/oceoa3/src/* usr/src/oasis3/oceoa3 src/mod/cheoa3/src/* usr/src/oasis3/cheoa3 debian/control0000664000000000000000000000462411713262140010576 0ustar Source: oasis3 Section: science Priority: optional Maintainer: Alastair McKinstry Build-Depends: mpi-default-dev, debhelper (>= 8.1.3~), gfortran, libhdf5-serial-dev | libhdf5-dev, libnetcdf-dev (>= 4.1.2), libcurl4-gnutls-dev, texlive-latex-base, texlive-latex-extra Standards-Version: 3.9.2 Homepage: http://www.prism.enes.org/PAEs/coupling_IO/software_OASIS3.php Package: oasis3 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Coupler for exchanging fields between components of Earth system models OASIS3 is an executable for exchanging via MPI fields between components of climate models, such as atmosphere and ocean models. In addition, OASIS can perform interpolation between different grids used by the components, via the SCRIP library. Package: liboasis3-0d Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: Shared libraries for OASIS3 coupler OASIS3 is an executable for exchanging via MPI fields between components of climate models, such as atmosphere and ocean models. In addition, OASIS can perform interpolation between different grids used by the components, via the SCRIP library. . This package contains the shared libraries used in OASIS3. Package: liboasis3-dev Section: libdevel Architecture: any Priority: extra Depends: ${shlibs:Depends}, ${misc:Depends}, mpi-default-dev, liboasis3-0d (=${binary:Version}) Recommends: oasis3-examples, pkg-config Description: Development files for OASIS3 climate model coupler OASIS3 is an executable for exchanging via MPI fields between components of climate models, such as atmosphere and ocean models. In addition, OASIS can perform interpolation between different grids used by the components, via the SCRIP library. . This package contains development files for building against OASIS3. Package: oasis3-examples Architecture: any Depends: oasis3 (>=${source:Version}), ${shlibs:Depends}, ${misc:Depends} Recommends: liboasis3-dev Description: Example models for the OASIS climate model coupler OASIS3 is an executable for exchanging via MPI fields between components of climate models, such as atmosphere and ocean models. In addition, OASIS can perform interpolation between different grids used by the components, via the SCRIP library. . This package contains example models and sources for the OASIS3 coupler. debian/rename0000775000000000000000000000031411364335314010366 0ustar #!/bin/sh # helper script to remove 'MPI1' and 'MPI2' from file and directory names orig=$1 new=` echo $orig | sed -e 's/\.MPI1// ' | sed -e 's/\.MPI2//' ` if [ $orig != $new ] ; then mv $orig $new fi debian/liboasis3-dev.install0000664000000000000000000000056411711266652013240 0ustar build/build/lib/clim.MPI1/*mod /usr/include/clim.MPI1 build/build/lib/clim.MPI2/*mod /usr/include/clim.MPI2 build/build/lib/fscint/*.mod /usr/include/fscint build/build/lib/scrip/*.mod /usr/include/scrip build/build/lib/mpp_io/*.mod /usr/include/mpp_io build/build/lib/psmile.MPI1/*.mod /usr/include/psmile.MPI1 build/build/lib/psmile.MPI2/*.mod /usr/include/psmile.MPI2 debian/patches/0000775000000000000000000000000011366116754010631 5ustar debian/patches/remap_vars.patch0000664000000000000000000007134711364335314014016 0ustar Author: Sophie Valcke Description: patch for overlapping source grids Last-Update: 2010-04-08 Forwarded: not-needed Index: oasis3-3.3.beta.dfsg.1/src/lib/scrip/src/remap_vars.F =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ oasis3-3.3.beta.dfsg.1/src/lib/scrip/src/remap_vars.F 2010-04-08 10:53:44.000000000 +0100 @@ -0,0 +1,396 @@ +C**** +C ************************ +C * OASIS MODULE * +C * ------------ * +C ************************ +C**** +C*********************************************************************** +C This module belongs to the SCRIP library. It is modified to run +C within OASIS. +C Modifications: +C - introduction of logical flags to allow multiple calls of SCRIP +C - deallocation of arrays not needed any more +C - added CASE for GAUSWGT +C +C Modified by V. Gayler, M&D 20.09.2001 +C Modified by D. Declat, CERFACS 27.06.2002 +C*********************************************************************** +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! this module contains necessary variables for remapping between +! two grids. also routines for resizing and initializing these +! variables. +! +!----------------------------------------------------------------------- +! +! CVS:$Id: remap_vars.F 2183 2010-02-09 10:01:08Z coquart $ +! +! Copyright (c) 1997, 1998 the Regents of the University of +! California. +! +! This software and ancillary information (herein called software) +! called SCRIP is made available under the terms described here. +! The software has been approved for release with associated +! LA-CC Number 98-45. +! +! Unless otherwise indicated, this software has been authored +! by an employee or employees of the University of California, +! operator of the Los Alamos National Laboratory under Contract +! No. W-7405-ENG-36 with the U.S. Department of Energy. The U.S. +! Government has rights to use, reproduce, and distribute this +! software. The public may copy and use this software without +! charge, provided that this Notice and any statement of authorship +! are reproduced on all copies. Neither the Government nor the +! University makes any warranty, express or implied, or assumes +! any liability or responsibility for the use of this software. +! +! If software is modified to produce derivative works, such modified +! software should be clearly marked, so as not to confuse it with +! the version available from Los Alamos National Laboratory. +! +!*********************************************************************** + + module remap_vars + + use kinds_mod + use constants + use grids + + implicit none + +!----------------------------------------------------------------------- +! +! module variables +! +!----------------------------------------------------------------------- + + integer (kind=int_kind), parameter :: + & norm_opt_none = 1 + &, norm_opt_dstarea = 2 + &, norm_opt_frcarea = 3 + &, norm_opt_nonorm = 4 + + integer (kind=int_kind), parameter :: + & map_type_conserv = 1 + &, map_type_bilinear = 2 + &, map_type_bicubic = 3 + &, map_type_distwgt = 4 + &, map_type_gauswgt = 5 + + integer (kind=int_kind), save :: + & max_links_map1 ! current size of link arrays + &, num_links_map1 ! actual number of links for remapping + &, max_links_map2 ! current size of link arrays + &, num_links_map2 ! actual number of links for remapping + &, num_maps ! num of remappings for this grid pair + &, num_wts ! num of weights used in remapping + &, map_type ! identifier for remapping method + &, norm_opt ! option for normalization (conserv only) + &, resize_increment ! default amount to increase array size + + integer (kind=int_kind), dimension(:), allocatable, save :: + & grid1_add_map1, ! grid1 address for each link in mapping 1 + & grid2_add_map1, ! grid2 address for each link in mapping 1 + & grid1_add_map2, ! grid1 address for each link in mapping 2 + & grid2_add_map2 ! grid2 address for each link in mapping 2 +#ifdef TREAT_OVERLAY + INTEGER (kind=int_kind), dimension(:), allocatable, save :: + & grid1_add_repl1 ! grid1 address to use after overlap calculation +#endif TREAT_OVERLAY + real (kind=dbl_kind), dimension(:,:), allocatable, save :: + & wts_map1, ! map weights for each link (num_wts,max_links) + & wts_map2 ! map weights for each link (num_wts,max_links) + + logical (kind=log_kind), save :: lfracnnei = .false. + + logical (kind=log_kind), save :: first_conserv = .true. ! flag to + ! indicate, whether scrip is called from + ! oasis for the first time + logical (kind=log_kind), save :: first_call = .true. ! flag used in + ! remap_conserve (store_link_cnsrv) + +!*********************************************************************** + + contains + +!*********************************************************************** + + subroutine init_remap_vars (id_scripvoi) + +!----------------------------------------------------------------------- +! +! this routine initializes some variables and provides an initial +! allocation of arrays (fairly large so frequent resizing +! unnecessary). +! +!----------------------------------------------------------------------- +! +! input variables +! +!----------------------------------------------------------------------- + + INTEGER (kind=int_kind):: + & id_scripvoi ! number of neighbours for DISTWGT and GAUSWGT + +!----------------------------------------------------------------------- +! +! determine the number of weights +! +!----------------------------------------------------------------------- + + select case (map_type) + case(map_type_conserv) + num_wts = 3 + case(map_type_bilinear) + num_wts = 1 + case(map_type_bicubic) + IF (restrict_type == 'REDUCED') THEN + num_wts = 1 + ELSE + num_wts = 4 + ENDIF + PRINT *, 'num_wts=', num_wts + case(map_type_distwgt) + num_wts = 1 + case(map_type_gauswgt) + num_wts = 1 + end select + +!----------------------------------------------------------------------- +! +! initialize num_links and set max_links to four times the largest +! of the destination grid sizes initially (can be changed later). +! set a default resize increment to increase the size of link +! arrays if the number of links exceeds the initial size +! +!----------------------------------------------------------------------- + + num_links_map1 = 0 + select case (map_type) + case(map_type_conserv) + max_links_map1 = 4*grid2_size + case(map_type_bilinear) + max_links_map1 = 4*grid2_size + case(map_type_bicubic) + IF (restrict_type == 'REDUCED') THEN + max_links_map1 = 16*grid2_size + ELSE + max_links_map1 = 4*grid2_size + ENDIF + case(map_type_distwgt) + max_links_map1 = id_scripvoi*grid2_size + case(map_type_gauswgt) + max_links_map1 = id_scripvoi*grid2_size + END select + + if (num_maps > 1) then + num_links_map2 = 0 + max_links_map1 = max(4*grid1_size,4*grid2_size) + max_links_map2 = max_links_map1 + endif + + resize_increment = 0.1*max(grid1_size,grid2_size) + +!----------------------------------------------------------------------- +! +! allocate address and weight arrays for mapping 1 +! +!----------------------------------------------------------------------- + + allocate (grid1_add_map1(max_links_map1), + & grid2_add_map1(max_links_map1), + & wts_map1(num_wts, max_links_map1)) +#ifdef TREAT_OVERLAY + allocate (grid1_add_repl1(grid1_size)) +#endif TREAT_OVERLAY + +!----------------------------------------------------------------------- +! +! allocate address and weight arrays for mapping 2 if necessary +! +!----------------------------------------------------------------------- + + if (num_maps > 1) then + allocate (grid1_add_map2(max_links_map2), + & grid2_add_map2(max_links_map2), + & wts_map2(num_wts, max_links_map2)) + endif +!----------------------------------------------------------------------- +! +! initialize flag for routine store_link_cnsrv +! +!----------------------------------------------------------------------- + first_call = .true. + +!----------------------------------------------------------------------- + + end subroutine init_remap_vars + +!*********************************************************************** + + subroutine resize_remap_vars(nmap, increment) + +!----------------------------------------------------------------------- +! +! this routine resizes remapping arrays by increasing(decreasing) +! the max_links by increment +! +!----------------------------------------------------------------------- + +!----------------------------------------------------------------------- +! +! input variables +! +!----------------------------------------------------------------------- + + integer (kind=int_kind), intent(in) :: + & nmap, ! identifies which mapping array to resize + & increment ! the number of links to add(subtract) to arrays + +!----------------------------------------------------------------------- +! +! local variables +! +!----------------------------------------------------------------------- + + integer (kind=int_kind) :: + & ierr, ! error flag + & mxlinks ! size of link arrays + + integer (kind=int_kind), dimension(:), allocatable :: + & add1_tmp, ! temp array for resizing address arrays + & add2_tmp ! temp array for resizing address arrays + + real (kind=dbl_kind), dimension(:,:), allocatable :: + & wts_tmp ! temp array for resizing weight arrays + +!----------------------------------------------------------------------- +! +! resize map 1 arrays if required. +! +!----------------------------------------------------------------------- + + select case (nmap) + case(1) + + !*** + !*** allocate temporaries to hold original values + !*** + + mxlinks = size(grid1_add_map1) + allocate (add1_tmp(mxlinks), add2_tmp(mxlinks), + & wts_tmp(num_wts,mxlinks)) + + add1_tmp = grid1_add_map1 + add2_tmp = grid2_add_map1 + wts_tmp = wts_map1 + + !*** + !*** deallocate originals and increment max_links then + !*** reallocate arrays at new size + !*** + + deallocate (grid1_add_map1, grid2_add_map1, wts_map1) + max_links_map1 = mxlinks + increment + allocate (grid1_add_map1(max_links_map1), + & grid2_add_map1(max_links_map1), + & wts_map1(num_wts,max_links_map1)) + + !*** + !*** restore original values from temp arrays and + !*** deallocate temps + !*** + + mxlinks = min(mxlinks, max_links_map1) + grid1_add_map1(1:mxlinks) = add1_tmp (1:mxlinks) + grid2_add_map1(1:mxlinks) = add2_tmp (1:mxlinks) + wts_map1 (:,1:mxlinks) = wts_tmp(:,1:mxlinks) + deallocate(add1_tmp, add2_tmp, wts_tmp) + +!----------------------------------------------------------------------- +! +! resize map 2 arrays if required. +! +!----------------------------------------------------------------------- + + case(2) + + !*** + !*** allocate temporaries to hold original values + !*** + + mxlinks = size(grid1_add_map2) + allocate (add1_tmp(mxlinks), add2_tmp(mxlinks), + & wts_tmp(num_wts,mxlinks),stat=ierr) + if (ierr .ne. 0) then + print *,'error allocating temps in resize: ',ierr + stop + endif + + add1_tmp = grid1_add_map2 + add2_tmp = grid2_add_map2 + wts_tmp = wts_map2 + + !*** + !*** deallocate originals and increment max_links then + !*** reallocate arrays at new size + !*** + + deallocate (grid1_add_map2, grid2_add_map2, wts_map2) + max_links_map2 = mxlinks + increment + allocate (grid1_add_map2(max_links_map2), + & grid2_add_map2(max_links_map2), + & wts_map2(num_wts,max_links_map2),stat=ierr) + if (ierr .ne. 0) then + print *,'error allocating new arrays in resize: ',ierr + stop + endif + + + !*** + !*** restore original values from temp arrays and + !*** deallocate temps + !*** + + mxlinks = min(mxlinks, max_links_map2) + grid1_add_map2(1:mxlinks) = add1_tmp (1:mxlinks) + grid2_add_map2(1:mxlinks) = add2_tmp (1:mxlinks) + wts_map2 (:,1:mxlinks) = wts_tmp(:,1:mxlinks) + deallocate(add1_tmp, add2_tmp, wts_tmp) + + end select + +!----------------------------------------------------------------------- + + end subroutine resize_remap_vars +!----------------------------------------------------------------------- +!----------------------------------------------------------------------- + subroutine free_remap_vars +!----------------------------------------------------------------------- +! +! subroutine to deallocate allocated arrays +! +!----------------------------------------------------------------------- + + deallocate (grid1_add_map1, grid2_add_map1, wts_map1) +#ifdef TREAT_OVERLAY + deallocate (grid1_add_repl1) +#endif TREAT_OVERLAY + + if (num_maps > 1) then + deallocate (grid1_add_map2, grid2_add_map2, wts_map2) + endif + if (map_type == map_type_conserv) then + first_call = .true. + first_conserv = .false. + endif + +!----------------------------------------------------------------------- + + end subroutine free_remap_vars + +!*********************************************************************** + + end module remap_vars + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Index: oasis3-3.3.beta.dfsg.1/src/lib/scrip/src/remap_vars.f =================================================================== --- oasis3-3.3.beta.dfsg.1.orig/src/lib/scrip/src/remap_vars.f 2010-04-08 10:24:59.000000000 +0100 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,392 +0,0 @@ -C**** -C ************************ -C * OASIS MODULE * -C * ------------ * -C ************************ -C**** -C*********************************************************************** -C This module belongs to the SCRIP library. It is modified to run -C within OASIS. -C Modifications: -C - introduction of logical flags to allow multiple calls of SCRIP -C - deallocation of arrays not needed any more -C - added CASE for GAUSWGT -C -C Modified by V. Gayler, M&D 20.09.2001 -C Modified by D. Declat, CERFACS 27.06.2002 -C*********************************************************************** -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -! -! this module contains necessary variables for remapping between -! two grids. also routines for resizing and initializing these -! variables. -! -!----------------------------------------------------------------------- -! -! CVS:$Id: remap_vars.f 1995 2009-08-10 17:40:12Z valcke $ -! -! Copyright (c) 1997, 1998 the Regents of the University of -! California. -! -! This software and ancillary information (herein called software) -! called SCRIP is made available under the terms described here. -! The software has been approved for release with associated -! LA-CC Number 98-45. -! -! Unless otherwise indicated, this software has been authored -! by an employee or employees of the University of California, -! operator of the Los Alamos National Laboratory under Contract -! No. W-7405-ENG-36 with the U.S. Department of Energy. The U.S. -! Government has rights to use, reproduce, and distribute this -! software. The public may copy and use this software without -! charge, provided that this Notice and any statement of authorship -! are reproduced on all copies. Neither the Government nor the -! University makes any warranty, express or implied, or assumes -! any liability or responsibility for the use of this software. -! -! If software is modified to produce derivative works, such modified -! software should be clearly marked, so as not to confuse it with -! the version available from Los Alamos National Laboratory. -! -!*********************************************************************** - - module remap_vars - - use kinds_mod - use constants - use grids - - implicit none - -!----------------------------------------------------------------------- -! -! module variables -! -!----------------------------------------------------------------------- - - integer (kind=int_kind), parameter :: - & norm_opt_none = 1 - &, norm_opt_dstarea = 2 - &, norm_opt_frcarea = 3 - &, norm_opt_nonorm = 4 - - integer (kind=int_kind), parameter :: - & map_type_conserv = 1 - &, map_type_bilinear = 2 - &, map_type_bicubic = 3 - &, map_type_distwgt = 4 - &, map_type_gauswgt = 5 - - integer (kind=int_kind), save :: - & max_links_map1 ! current size of link arrays - &, num_links_map1 ! actual number of links for remapping - &, max_links_map2 ! current size of link arrays - &, num_links_map2 ! actual number of links for remapping - &, num_maps ! num of remappings for this grid pair - &, num_wts ! num of weights used in remapping - &, map_type ! identifier for remapping method - &, norm_opt ! option for normalization (conserv only) - &, resize_increment ! default amount to increase array size - - integer (kind=int_kind), dimension(:), allocatable, save :: - & grid1_add_map1, ! grid1 address for each link in mapping 1 - & grid2_add_map1, ! grid2 address for each link in mapping 1 - & grid1_add_map2, ! grid1 address for each link in mapping 2 - & grid2_add_map2 ! grid2 address for each link in mapping 2 - - INTEGER (kind=int_kind), dimension(:), allocatable, save :: - & grid1_add_repl1 ! grid1 address to use after overlap calculation - - real (kind=dbl_kind), dimension(:,:), allocatable, save :: - & wts_map1, ! map weights for each link (num_wts,max_links) - & wts_map2 ! map weights for each link (num_wts,max_links) - - logical (kind=log_kind), save :: lfracnnei = .false. - - logical (kind=log_kind), save :: first_conserv = .true. ! flag to - ! indicate, whether scrip is called from - ! oasis for the first time - logical (kind=log_kind), save :: first_call = .true. ! flag used in - ! remap_conserve (store_link_cnsrv) - -!*********************************************************************** - - contains - -!*********************************************************************** - - subroutine init_remap_vars (id_scripvoi) - -!----------------------------------------------------------------------- -! -! this routine initializes some variables and provides an initial -! allocation of arrays (fairly large so frequent resizing -! unnecessary). -! -!----------------------------------------------------------------------- -! -! input variables -! -!----------------------------------------------------------------------- - - INTEGER (kind=int_kind):: - & id_scripvoi ! number of neighbours for DISTWGT and GAUSWGT - -!----------------------------------------------------------------------- -! -! determine the number of weights -! -!----------------------------------------------------------------------- - - select case (map_type) - case(map_type_conserv) - num_wts = 3 - case(map_type_bilinear) - num_wts = 1 - case(map_type_bicubic) - IF (restrict_type == 'REDUCED') THEN - num_wts = 1 - ELSE - num_wts = 4 - ENDIF - PRINT *, 'num_wts=', num_wts - case(map_type_distwgt) - num_wts = 1 - case(map_type_gauswgt) - num_wts = 1 - end select - -!----------------------------------------------------------------------- -! -! initialize num_links and set max_links to four times the largest -! of the destination grid sizes initially (can be changed later). -! set a default resize increment to increase the size of link -! arrays if the number of links exceeds the initial size -! -!----------------------------------------------------------------------- - - num_links_map1 = 0 - select case (map_type) - case(map_type_conserv) - max_links_map1 = 4*grid2_size - case(map_type_bilinear) - max_links_map1 = 4*grid2_size - case(map_type_bicubic) - IF (restrict_type == 'REDUCED') THEN - max_links_map1 = 16*grid2_size - ELSE - max_links_map1 = 4*grid2_size - ENDIF - case(map_type_distwgt) - max_links_map1 = id_scripvoi*grid2_size - case(map_type_gauswgt) - max_links_map1 = id_scripvoi*grid2_size - END select - - if (num_maps > 1) then - num_links_map2 = 0 - max_links_map1 = max(4*grid1_size,4*grid2_size) - max_links_map2 = max_links_map1 - endif - - resize_increment = 0.1*max(grid1_size,grid2_size) - -!----------------------------------------------------------------------- -! -! allocate address and weight arrays for mapping 1 -! -!----------------------------------------------------------------------- - - allocate (grid1_add_map1(max_links_map1), - & grid2_add_map1(max_links_map1), - & wts_map1(num_wts, max_links_map1)) - allocate (grid1_add_repl1(grid1_size)) - -!----------------------------------------------------------------------- -! -! allocate address and weight arrays for mapping 2 if necessary -! -!----------------------------------------------------------------------- - - if (num_maps > 1) then - allocate (grid1_add_map2(max_links_map2), - & grid2_add_map2(max_links_map2), - & wts_map2(num_wts, max_links_map2)) - endif -!----------------------------------------------------------------------- -! -! initialize flag for routine store_link_cnsrv -! -!----------------------------------------------------------------------- - first_call = .true. - -!----------------------------------------------------------------------- - - end subroutine init_remap_vars - -!*********************************************************************** - - subroutine resize_remap_vars(nmap, increment) - -!----------------------------------------------------------------------- -! -! this routine resizes remapping arrays by increasing(decreasing) -! the max_links by increment -! -!----------------------------------------------------------------------- - -!----------------------------------------------------------------------- -! -! input variables -! -!----------------------------------------------------------------------- - - integer (kind=int_kind), intent(in) :: - & nmap, ! identifies which mapping array to resize - & increment ! the number of links to add(subtract) to arrays - -!----------------------------------------------------------------------- -! -! local variables -! -!----------------------------------------------------------------------- - - integer (kind=int_kind) :: - & ierr, ! error flag - & mxlinks ! size of link arrays - - integer (kind=int_kind), dimension(:), allocatable :: - & add1_tmp, ! temp array for resizing address arrays - & add2_tmp ! temp array for resizing address arrays - - real (kind=dbl_kind), dimension(:,:), allocatable :: - & wts_tmp ! temp array for resizing weight arrays - -!----------------------------------------------------------------------- -! -! resize map 1 arrays if required. -! -!----------------------------------------------------------------------- - - select case (nmap) - case(1) - - !*** - !*** allocate temporaries to hold original values - !*** - - mxlinks = size(grid1_add_map1) - allocate (add1_tmp(mxlinks), add2_tmp(mxlinks), - & wts_tmp(num_wts,mxlinks)) - - add1_tmp = grid1_add_map1 - add2_tmp = grid2_add_map1 - wts_tmp = wts_map1 - - !*** - !*** deallocate originals and increment max_links then - !*** reallocate arrays at new size - !*** - - deallocate (grid1_add_map1, grid2_add_map1, wts_map1) - max_links_map1 = mxlinks + increment - allocate (grid1_add_map1(max_links_map1), - & grid2_add_map1(max_links_map1), - & wts_map1(num_wts,max_links_map1)) - - !*** - !*** restore original values from temp arrays and - !*** deallocate temps - !*** - - mxlinks = min(mxlinks, max_links_map1) - grid1_add_map1(1:mxlinks) = add1_tmp (1:mxlinks) - grid2_add_map1(1:mxlinks) = add2_tmp (1:mxlinks) - wts_map1 (:,1:mxlinks) = wts_tmp(:,1:mxlinks) - deallocate(add1_tmp, add2_tmp, wts_tmp) - -!----------------------------------------------------------------------- -! -! resize map 2 arrays if required. -! -!----------------------------------------------------------------------- - - case(2) - - !*** - !*** allocate temporaries to hold original values - !*** - - mxlinks = size(grid1_add_map2) - allocate (add1_tmp(mxlinks), add2_tmp(mxlinks), - & wts_tmp(num_wts,mxlinks),stat=ierr) - if (ierr .ne. 0) then - print *,'error allocating temps in resize: ',ierr - stop - endif - - add1_tmp = grid1_add_map2 - add2_tmp = grid2_add_map2 - wts_tmp = wts_map2 - - !*** - !*** deallocate originals and increment max_links then - !*** reallocate arrays at new size - !*** - - deallocate (grid1_add_map2, grid2_add_map2, wts_map2) - max_links_map2 = mxlinks + increment - allocate (grid1_add_map2(max_links_map2), - & grid2_add_map2(max_links_map2), - & wts_map2(num_wts,max_links_map2),stat=ierr) - if (ierr .ne. 0) then - print *,'error allocating new arrays in resize: ',ierr - stop - endif - - - !*** - !*** restore original values from temp arrays and - !*** deallocate temps - !*** - - mxlinks = min(mxlinks, max_links_map2) - grid1_add_map2(1:mxlinks) = add1_tmp (1:mxlinks) - grid2_add_map2(1:mxlinks) = add2_tmp (1:mxlinks) - wts_map2 (:,1:mxlinks) = wts_tmp(:,1:mxlinks) - deallocate(add1_tmp, add2_tmp, wts_tmp) - - end select - -!----------------------------------------------------------------------- - - end subroutine resize_remap_vars -!----------------------------------------------------------------------- -!----------------------------------------------------------------------- - subroutine free_remap_vars -!----------------------------------------------------------------------- -! -! subroutine to deallocate allocated arrays -! -!----------------------------------------------------------------------- - - deallocate (grid1_add_map1, grid2_add_map1, wts_map1) - deallocate (grid1_add_repl1) - - if (num_maps > 1) then - deallocate (grid1_add_map2, grid2_add_map2, wts_map2) - endif - if (map_type == map_type_conserv) then - first_call = .true. - first_conserv = .false. - endif - -!----------------------------------------------------------------------- - - end subroutine free_remap_vars - -!*********************************************************************** - - end module remap_vars - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! debian/patches/debian-changes-3.3.beta.dfsg.1-30000664000000000000000000001362611364356372016050 0ustar Description: Upstream changes introduced in version 3.3.beta.dfsg.1-3 This patch has been created by dpkg-source during the package build. Here's the last changelog entry, hopefully it gives details on why those changes were made: . oasis3 (3.3.beta.dfsg.1-3) unstable; urgency=low . * non-experimental release. * Added non-conservative SCRIP patch from upstream. * Add shared-library liboasis3, needed to link shared lib clim*, etc. * libanaism, libanaisg also shipped. * Provide pkg-config files for clim, psmile, scrip and mpp_io libs. . The person named in the Author field signed this changelog entry. Author: Alastair McKinstry --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: , Bug: Bug-Debian: http://bugs.debian.org/ Forwarded: Reviewed-By: Last-Update: --- oasis3-3.3.beta.dfsg.1.orig/src/lib/anaisg/src/Makefile +++ oasis3-3.3.beta.dfsg.1/src/lib/anaisg/src/Makefile @@ -5,7 +5,7 @@ OBJS4 = $(patsubst $(PRISMHOME)/src/lib VPATH = $(PRISMHOME)/src/lib/anaisg/src:$(PRISMHOME)/src/mod/$(COUPLE)/src LIBRARY = $(ARCHDIR)/lib/libanaisg.a -SHLIB = $(ARCHDIR)/lib/libanaisg.${CHAN}.${SOEXT} +SHLIB = $(ARCHDIR)/lib/libanaisg.${SOEXT} clean: rm -f i.* *.o *.mod --- oasis3-3.3.beta.dfsg.1.orig/src/lib/clim/src/Makefile +++ oasis3-3.3.beta.dfsg.1/src/lib/clim/src/Makefile @@ -1,4 +1,3 @@ -include /srv/devel/oasis3/deb-packages/oasis3/oasis3-3.1.dfsg.1//src/mod/oasis3/util/make_dir/make.inc SRCS1 = $(shell ls $(PRISMHOME)/src/lib/clim/src/*.F90) OBJS1 = $(patsubst $(PRISMHOME)/src/lib/clim/src/%.F90, %.o, $(SRCS1)) @@ -60,3 +59,5 @@ CLIM_Quit.o: mod_clim.o mod_comclim.o mo CLIM_Start.o: mod_clim.o mod_comclim.o mod_kinds_oasis.o CLIM_Start_MPI.o: mod_clim.o mod_comclim.o mod_kinds_oasis.o CLIM_Stepi.o: mod_clim.o mod_comclim.o mod_kinds_oasis.o +#halte.o: mod_comclim.o mod_hardware.o mod_unit.o +halte.o: mod_comclim.o mod_unit.o --- oasis3-3.3.beta.dfsg.1.orig/src/mod/oasis3/src/Makefile +++ oasis3-3.3.beta.dfsg.1/src/mod/oasis3/src/Makefile @@ -1,3 +1,12 @@ +include /srv/devel/oasis3/deb-packages/oasis3/oasis3-3.3.beta.dfsg.1//src/mod/oasis3/util/make_dir/make.inc +MOD = oasis3 +MAINPRG = couple +MODEL_DIR=$(MOD) +EXEC=$(MOD).$(CHAN) +MODLIB=$(EXEC) +SRC=src +DEPLIBS=$(ARCHDIR)/lib/libanaisg.a $(ARCHDIR)/lib/libanaism.a $(ARCHDIR)/lib/libfscint.a $(ARCHDIR)/lib/libscrip.a $(ARCHDIR)/lib/libclim.MPI1.a +LIBS=$(ARCHDIR)/lib/$(MOD)/lib$(MOD).$(CHAN).a $(DEPLIBS) $(FLIBS) # This file is generated automatically SRCS1 = $(shell find $(PRISMHOME)/src/mod/$(MODEL_DIR)/$(strip $(SRC)) -name '*.F90' -print) @@ -42,7 +51,7 @@ clean: all: $(PROG) -lib: $(LIBRARY) +lib: $(if $(SHARED), $(SHLIB), $(LIBRARY)) $(PROG): $(DEPLIBS) $(LIBRARY) $(F90) $(LDFLAGS) -o $@ $(MAINPRG).o $(LIBS) $(LIBS) @@ -60,6 +69,18 @@ $(LIBRARY): $(OBJS1) $(OBJS2) $(OBJS3) $ $(ARCHDIR)/clim.${CHAN}/mod_calendar.o \ $(ARCHDIR)/clim.${CHAN}/mod_label.o +$(SHLIB): $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5) + $(LDSHARED) -o $(SHLIB) *.o \ + $(LIBBUILD)/clim.${CHAN}/mod_kinds_oasis.o + + #$(LIBBUILD)/clim.${CHAN}/mod_timestep.o \ + #$(LIBBUILD)/clim.${CHAN}/mod_hardware.o \ +#$(LIBBUILD)/clim.${CHAN}/mod_parameter.o \ + #$(LIBBUILD)/clim.${CHAN}/mod_calendar.o \ + #$(LIBBUILD)/clim.${CHAN}/mod_string.o \ + #$(LIBBUILD)/clim.${CHAN}/mod_unitncdf.o \ + #$(LIBBUILD)/clim.${CHAN}/mod_label.o + .SUFFIXES: .SUFFIXES: .o .c .f .F .f90 .F90 @@ -109,7 +130,7 @@ alloc_src.o: mod_anais.o mod_analysis.o mod_parallel.o mod_parameter.o mod_pipe.o mod_rainbow.o mod_sipc.o \ mod_string.o mod_timestep.o mod_unitncdf.o closerst.o: mod_kinds_oasis.o mod_string.o mod_parameter.o mod_unit.o \ - mod_printing.o mod_unitncdf.o + mod_printing.o mod_unitncdf.o dealloc.o: mod_parameter.o dealloc_src.o: mod_anais.o mod_analysis.o mod_coast.o mod_experiment.o \ mod_extrapol.o mod_kinds_oasis.o mod_memory.o mod_nproc.o \ @@ -125,7 +146,7 @@ ferror.o: mod_experiment.o mod_hardware. mod_parameter.o mod_unit.o sco_getdim.o: mod_comclim.o mod_parameter.o sco_schedule.o: mod_analysis.o mod_string.o mod_parameter.o mod_experiment.o \ - mod_comclim.o + mod_comclim.o getfld.o: mod_analysis.o mod_clim.o mod_experiment.o mod_hardware.o \ mod_kinds_oasis.o mod_label.o mod_memory.o mod_parameter.o \ mod_printing.o mod_sipc.o mod_string.o mod_timestep.o mod_unit.o \ @@ -134,7 +155,6 @@ givfld.o: mod_analysis.o mod_calendar.o mod_hardware.o mod_kinds_oasis.o mod_label.o mod_memory.o \ mod_parameter.o mod_printing.o mod_sipc.o mod_string.o mod_timestep.o \ mod_unit.o mod_unitncdf.o -halte.o: mod_comclim.o mod_hardware.o mod_unit.o inicmc.o: mod_analysis.o mod_clim.o mod_clim_def.o mod_comclim.o \ mod_experiment.o mod_gauss.o mod_hardware.o mod_kinds_oasis.o \ mod_label.o mod_parallel.o mod_parameter.o mod_printing.o \ --- oasis3-3.3.beta.dfsg.1.orig/src/mod/oasis3/util/make_dir/TopMakefileOasis3 +++ oasis3-3.3.beta.dfsg.1/src/mod/oasis3/util/make_dir/TopMakefileOasis3 @@ -40,6 +40,7 @@ makeshlibs: $(MAKEf) makesymlinks SHARED=1 $(MAKEf) makemppio SHARED=1 $(MAKEf) makelibs SHARED=1 + $(MAKEf) makeoasisshlibs $(MAKEf) makepsmile SHARED=1 # oasis3_psmile: @@ -150,6 +151,11 @@ makeoasis: @echo "=> Compiling OASIS3" (cd $(ARCHDIR)/build/mod/oasis3.$(CHAN); cp -f $(MODSRC)/oasis3/src/Makefile .;\ $(addvars0) ; $(modifmakefile) ; $(MAKE) all ) + +makeoasisshlibs: + @echo "=> Compiling OASIS3" + (cd $(ARCHDIR)/build/mod/oasis3.$(CHAN); cp -f $(MODSRC)/oasis3/src/Makefile .;\ + $(addvars0) ; $(modifmakefile) ; $(MAKE) lib SHARED=1 ) # # Rules for compiling the toyclim # debian/patches/rename_dir.patch0000664000000000000000000000131611364335314013751 0ustar Description: * Directory name change in new upsteam. Closes: #569271. Author: Alastair McKinstry Bug-Debian: http://bugs.debian.org/569271 --- oasis3-3.3.beta.dfsg.1.orig/src/lib/psmile/src/Makefile +++ oasis3-3.3.beta.dfsg.1/src/lib/psmile/src/Makefile @@ -26,7 +26,7 @@ $(LIBRARY): $(OBJS1) $(OBJS2) $(OBJS3) $(AR) $(ARFLAGS) $(LIBRARY) $(OBJS1) $(OBJS2) $(OBJS3) $(SHLIB): $(OBJS1) $(OBJS2) $(OBJS3) - $(LDSHARED) -o $(SHLIB) $(OBJS1) $(OBJS2) $(OBJS3) -L $(PRISMHOME)/src/lib -lmpp_io $(FLIBS) + $(LDSHARED) -o $(SHLIB) $(OBJS1) $(OBJS2) $(OBJS3) -L $(PRISMHOME)/build/lib -lmpp_io $(FLIBS) INCLS = -I$(PRISMHOME)/src/lib/psmile/include \ -I$(PRISMHOME)/src/lib/mpp_io/include \ debian/patches/series0000664000000000000000000000014411365643054012042 0ustar remap_vars.patch rename_dir.patch debian-changes-3.3.beta.dfsg.1-3 debian-changes-3.3.beta.dfsg.1-4 debian/patches/debian-changes-3.3.beta.dfsg.1-40000664000000000000000000000247711366116754016053 0ustar Description: Upstream changes introduced in version 3.3.beta.dfsg.1-4 This patch has been created by dpkg-source during the package build. Here's the last changelog entry, hopefully it gives details on why those changes were made: . oasis3 (3.3.beta.dfsg.1-4) unstable; urgency=low . * Fix hard-coded paths in auto-generated patch. Closes: ¢579322. . The person named in the Author field signed this changelog entry. Author: Alastair McKinstry --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: , Bug: Bug-Debian: http://bugs.debian.org/ Forwarded: Reviewed-By: Last-Update: --- oasis3-3.3.beta.dfsg.1.orig/src/mod/oasis3/src/Makefile +++ oasis3-3.3.beta.dfsg.1/src/mod/oasis3/src/Makefile @@ -1,4 +1,4 @@ -include /srv/devel/oasis3/deb-packages/oasis3/oasis3-3.3.beta.dfsg.1//src/mod/oasis3/util/make_dir/make.inc +include $(PRISMHOME)/src/mod/oasis3/util/make_dir/make.inc MOD = oasis3 MAINPRG = couple MODEL_DIR=$(MOD)