Changeset 3922
- Timestamp:
- 2013-06-14T12:37:08+02:00 (11 years ago)
- Location:
- trunk/NEMOGCM
- Files:
-
- 4 added
- 5 deleted
- 4 edited
- 9 copied
- 20 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/ARCH/OLD/CNRS/arch-X64_TITANE.fcm
r3199 r3922 14 14 # USER_LIB additional libraries to pass to the linker, e.g. -l<library> 15 15 16 %NCDF_INC -I$ (NETCDF_INC_DIR)17 %NCDF_LIB -L$ (NETCDF_LIB_DIR)-lnetcdff -lnetcdf16 %NCDF_INC -I$NETCDF_INC_DIR 17 %NCDF_LIB -L$NETCDF_LIB_DIR -lnetcdff -lnetcdf 18 18 %FC mpif90 -c -cpp 19 19 %FCFLAGS -i4 -r8 -DCPP_PARA -O3 -automatic -align all -
trunk/NEMOGCM/ARCH/OLD/arch-ifort_MERCATOR_CLUSTER.fcm
r3917 r3922 15 15 # debug: -g -check bounds -check uninit -check pointers -traceback 16 16 17 %NCDF_INC -I$ (NETCDF_INC)18 %NCDF_LIB -L $ (NETCDF_LIB)-lnetcdf17 %NCDF_INC -I$NETCDF_INC 18 %NCDF_LIB -L $NETCDF_LIB -lnetcdf 19 19 %FC mpif90 20 20 %FCFLAGS -assume byterecl -convert big_endian -i4 -r8 -automatic -align all -O0 -
trunk/NEMOGCM/ARCH/arch-ALTIX_NAUTILUS_MPT.fcm
r3917 r3922 1 1 # ifort compiler options for NOCS ALTIX cluster nautilus using NetCDF4 libraries 2 # 2 3 # NCDF_HOME root directory containing lib and include subdirectories for netcdf4 3 4 # HDF5_HOME root directory containing lib and include subdirectories for HDF5 4 5 # XIOS_HOME root directory containing lib for XIOS 5 # NCDF_INC netcdf include file 6 # NCDF_LIB netcdf library 7 # XIOS_LIB XIOS library 6 # OASIS_HOME root directory containing lib for OASIS 7 # 8 # NCDF_INC netcdf4 include file 9 # NCDF_LIB netcdf4 library 10 # XIOS_INC xios include file (taken into accound only if key_iomput is activated) 11 # XIOS_LIB xios library (taken into accound only if key_iomput is activated) 12 # OASIS_INC oasis include file (taken into accound only if key_oasis3 is activated) 13 # OASIS_LIB oasis library (taken into accound only if key_oasis3 is activated) 14 # 8 15 # FC Fortran compiler command 9 16 # FCFLAGS Fortran compiler flags 10 17 # FFLAGS Fortran 77 compiler flags 11 18 # LD linker 12 # LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a19 # LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries 13 20 # FPPFLAGS pre-processing flags 14 21 # AR assembler 15 22 # ARFLAGS assembler flags 16 23 # MK make 17 # USER_INC additional include files for the compiler, e.g. -I<include dir> 18 # USER_LIB additional libraries to pass to the linker, e.g. -l<library> 24 # USER_INC complete list of include files 25 # USER_LIB complete list of libraries to pass to the linker 26 # 27 # Note that: 28 # - unix variables "$..." are accpeted and will be evaluated before calling fcm. 29 # - fcm variables are starting with a % (and not a $) 30 # 31 %HDF5_HOME /fibre/omfman/NETCDF_PAR 32 %NCDF_HOME /fibre/omfman/NETCDF_PAR 33 %XIOS_HOME /fibre/omfman/XIOS 34 %OASIS_HOME 19 35 20 21 %NCDF_HOME /fibre/omfman/NETCDF_PAR22 %HDF5_HOME /fibre/omfman/NETCDF_PAR23 %XIOS_HOME /fibre/omfman/XIOS24 36 %NCDF_INC -I%NCDF_HOME/include -I%HDF5_HOME/include 37 # Note use of -Bstatic because the library root directories may not be accessible to the back-end compute nodes 38 %NCDF_LIB -L%HDF5_HOME/lib -L%NCDF_HOME/lib -Bstatic -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -Bdynamic -lz 25 39 %XIOS_INC -I%XIOS_HOME/inc 26 40 %XIOS_LIB -L%XIOS_HOME/lib -lxios 27 # Note use of -Bstatic because the library root directories may not be accessible to the back-end compute nodes 28 %NCDF_LIB -L%HDF5_HOME/lib -L%NCDF_HOME/lib -Bstatic -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -Bdynamic -lz 41 %OASIS_INC -I%OASIS_HOME/build/lib/mct -I%OASIS_HOME/build/lib/psmile.MPI1 42 %OASIS_LIB -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip 43 29 44 %FC ifort 30 45 %FCFLAGS -r8 -O3 -fp-model precise -xT -ip -vec-report0 … … 36 51 %ARFLAGS -r 37 52 %MK gmake 38 %USER_INC % NCDF_INC %XIOS_INC39 %USER_LIB %XIOS_LIB % NCDF_LIB53 %USER_INC %XIOS_INC %OASIS_INC %NCDF_INC 54 %USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB 40 55 41 56 # - if debugging use these flags -
trunk/NEMOGCM/ARCH/arch-PW7_C2A_XIO.fcm
r3917 r3922 1 1 # POWER 6 at ECMWF 2 # NCDF_INC netcdf include file 3 # NCDF_LIB netcdf library 2 # 3 # NCDF_INC netcdf4 include file 4 # NCDF_LIB netcdf4 library 5 # XIOS_INC xios include file (taken into accound only if key_iomput is activated) 6 # XIOS_LIB xios library (taken into accound only if key_iomput is activated) 7 # 4 8 # FC Fortran compiler command 5 9 # FCFLAGS Fortran compiler flags … … 11 15 # ARFLAGS assembler flags 12 16 # MK make 13 # USER_INC additional include files for the compiler, e.g. -I<include dir> 14 # USER_LIB additional libraries to pass to the linker, e.g. -l<library> 17 # USER_INC complete list of include files 18 # USER_LIB complete list of libraries to pass to the linker 19 # 20 # Note that: 21 # - unix variables "$..." are accpeted and will be evaluated before calling fcm. 22 # - fcm variables are starting with a % (and not a $) 15 23 # 16 24 #options: … … 21 29 #others : -qmaxmem=-1 -qsave -qlargepage 22 30 # 23 %NCDF_INC -I$(NETCDF_INC1) 24 %NCDF_LIB -L$(NETCDF_LIB1) -lnetcdf -lnetcdff -L$(HDF5_LIB) -lhdf5_hl -lhdf5 -lz 25 %XIOS_INC -I$(XIOS_INC) 26 %XIOS_LIB -L$(XIOS_LIB) -lxios 31 %NCDF_INC -I${NETCDF_INC1} 32 %NCDF_LIB -L${NETCDF_LIB1} -lnetcdff -lnetcdf -L${HDF5_LIB} -lhdf5_hl -lhdf5 -lz 33 %XIOS_INC -I${XIOS_INC} 34 %XIOS_LIB -L${XIOS_LIB} -lxios 35 27 36 %XLF90_LIB -lxlf90_r 28 37 %FC mpxlf90_r -
trunk/NEMOGCM/ARCH/arch-X64_CURIE.fcm
r3917 r3922 1 # Curie BULL at french TGCC, http://www-hpc.cea.fr/en/complexe/tgcc-curie.htm 2 # NCDF_INC netcdf include file 3 # NCDF_LIB netcdf library 1 # Curie BULL at TGCC, http://www-hpc.cea.fr/en/complexe/tgcc-curie.htm 2 # 3 # NCDF_HOME root directory containing lib and include subdirectories for netcdf4 4 # HDF5_HOME root directory containing lib and include subdirectories for HDF5 5 # XIOS_HOME root directory containing lib for XIOS 6 # OASIS_HOME root directory containing lib for OASIS 7 # 8 # NCDF_INC netcdf4 include file 9 # NCDF_LIB netcdf4 library 10 # XIOS_INC xios include file (taken into accound only if key_iomput is activated) 11 # XIOS_LIB xios library (taken into accound only if key_iomput is activated) 12 # OASIS_INC oasis include file (taken into accound only if key_oasis3 is activated) 13 # OASIS_LIB oasis library (taken into accound only if key_oasis3 is activated) 14 # 4 15 # FC Fortran compiler command 5 16 # FCFLAGS Fortran compiler flags 6 17 # FFLAGS Fortran 77 compiler flags 7 18 # LD linker 8 # LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a19 # LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries 9 20 # FPPFLAGS pre-processing flags 10 21 # AR assembler 11 22 # ARFLAGS assembler flags 12 23 # MK make 13 # USER_INC additional include files for the compiler, e.g. -I<include dir> 14 # USER_LIB additional libraries to pass to the linker, e.g. -l<library> 24 # USER_INC complete list of include files 25 # USER_LIB complete list of libraries to pass to the linker 26 # 27 # Note that: 28 # - unix variables "$..." are accpeted and will be evaluated before calling fcm. 29 # - fcm variables are starting with a % (and not a $) 30 # 31 %NCDF_HOME /usr/local/netcdf-4.2_hdf5 32 %HDF5_HOME /usr/local/hdf5-1.8.8 33 %XIOS_HOME $WORKDIR/now/models/xios 34 %OASIS_HOME $WORKDIR/now/models/oa3mct 15 35 16 %NCDF_INC -I/usr/local/netcdf-4.2_hdf5/include 17 %NCDF_LIB -L/usr/local/netcdf-4.2_hdf5/lib -L/usr/local/hdf5-1.8.8/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lhdf5 -lz -lcurl -lstdc++ 18 %XIOS_ROOT /ccc/work/cont005/ra0542/massons/now/models/xios 36 %NCDF_INC -I%NCDF_HOME/include 37 %NCDF_LIB -L%NCDF_HOME/lib -lnetcdff -lnetcdf -L%HDF5_HOME/lib -lhdf5_hl -lhdf5 -lhdf5 38 %XIOS_INC -I%XIOS_HOME/inc 39 %XIOS_LIB -L%XIOS_HOME/lib -lxios 40 %OASIS_INC -I%OASIS_HOME/build/lib/mct -I%OASIS_HOME/build/lib/psmile.MPI1 41 %OASIS_LIB -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip 42 19 43 %FC mpif90 -c -cpp 20 44 # for Curie Fat Node … … 26 50 %FFLAGS %FCFLAGS 27 51 %LD mpif90 28 %LDFLAGS 52 %LDFLAGS -lstdc++ 29 53 %FPPFLAGS -P -C -traditional 30 54 %AR ar 31 55 %ARFLAGS rs 32 56 %MK gmake 33 %USER_INC -I%XIOS_ROOT/inc %NCDF_INC34 %USER_LIB -L%XIOS_ROOT/lib -lxios %NCDF_LIB -lstdc++57 %USER_INC %XIOS_INC %OASIS_INC %NCDF_INC 58 %USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB -
trunk/NEMOGCM/ARCH/arch-X64_VAYU.fcm
r3917 r3922 1 1 # Vayu Sun Constellation at Australian NCI, http://nf.nci.org.au/facilities/vayu/hardware.php 2 # NCDF_INC netcdf include file 3 # NCDF_LIB netcdf library 2 # 3 # NCDF_HOME root directory containing lib and include subdirectories for netcdf4 4 # HDF5_HOME root directory containing lib and include subdirectories for HDF5 5 # XIOS_HOME root directory containing lib for XIOS 6 # OASIS_HOME root directory containing lib for OASIS 7 # 8 # NCDF_INC netcdf4 include file 9 # NCDF_LIB netcdf4 library 10 # XIOS_INC xios include file (taken into accound only if key_iomput is activated) 11 # XIOS_LIB xios library (taken into accound only if key_iomput is activated) 12 # OASIS_INC oasis include file (taken into accound only if key_oasis3 is activated) 13 # OASIS_LIB oasis library (taken into accound only if key_oasis3 is activated) 14 # 4 15 # FC Fortran compiler command 5 16 # FCFLAGS Fortran compiler flags 6 17 # FFLAGS Fortran 77 compiler flags 7 18 # LD linker 8 # LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a19 # LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries 9 20 # FPPFLAGS pre-processing flags 10 21 # AR assembler 11 22 # ARFLAGS assembler flags 12 23 # MK make 13 # USER_INC additional include files for the compiler, e.g. -I<include dir> 14 # USER_LIB additional libraries to pass to the linker, e.g. -l<library> 24 # USER_INC complete list of include files 25 # USER_LIB complete list of libraries to pass to the linker 26 # 27 # Note that: 28 # - unix variables "$..." are accpeted and will be evaluated before calling fcm. 29 # - fcm variables are starting with a % (and not a $) 30 # 31 %NCDF_HOME /short/e14/$( whoami )/util 32 %HDF5_HOME /short/e14/$( whoami )/util 33 %XIOS_HOME /short/e14/$( whoami )/now/models/xios 34 %OASIS_HOME /short/e14/$( whoami )/now/models/oa3mct 15 35 16 %NCDF_INC -I/short/e14/szm552/util/include 17 %NCDF_LIB -L/short/e14/szm552/util/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lhdf5 -lz -lcurl -lstdc++ 18 %XIOS_ROOT /short/e14/szm552/now/models/xios 36 %NCDF_INC -I%NCDF_HOME/include 37 %NCDF_LIB -L%NCDF_HOME/lib -lnetcdff -lnetcdf -L%HDF5_HOME/lib -lhdf5_hl -lhdf5 -lhdf5 -lz 38 %XIOS_INC -I%XIOS_HOME/inc 39 %XIOS_LIB -L%XIOS_HOME/lib -lxios 40 %OASIS_INC -I%OASIS_HOME/build/lib/mct -I%OASIS_HOME/build/lib/psmile.MPI1 41 %OASIS_LIB -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip 42 19 43 %FC mpif90 -c -cpp 20 44 %FCFLAGS -i4 -r8 21 45 %FFLAGS %FCFLAGS 22 46 %LD mpif90 23 %LDFLAGS 47 %LDFLAGS -lstdc++ 24 48 %FPPFLAGS -P -C -traditional 25 49 %AR ar 26 50 %ARFLAGS rs 27 51 %MK gmake 28 %USER_INC % NCDF_INC -I%XIOS_ROOT/inc29 %USER_LIB -L%XIOS_ROOT/lib -lxios %NCDF_LIB52 %USER_INC %XIOS_INC %OASIS_INC %NCDF_INC 53 %USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB -
trunk/NEMOGCM/ARCH/arch-macport_osx.fcm
r3917 r3922 1 # generic gfortran compiler options for OSX installed with macport 1 # generic gfortran compiler options for OSX installed with macport, http://www.macports.org/ 2 2 # 3 3 # port packages needed: 4 # sudo port install openmpi +gcc4 54 # sudo port install openmpi +gcc48 5 5 # sudo port install hdf5-18 +cxx +fortran +openmpi (I'am not sure cxx is needed) 6 6 # sudo port install netcdf +openmpi … … 10 10 # add to your PATH /opt/local/lib/openmpi/bin so that mpif90 is properly known 11 11 # 12 # NCDF_INC netcdf include file 13 # NCDF_LIB netcdf library 12 # NCDF_HOME root directory containing lib and include subdirectories for netcdf4 13 # HDF5_HOME root directory containing lib and include subdirectories for HDF5 14 # XIOS_HOME root directory containing lib for XIOS 15 # OASIS_HOME root directory containing lib for OASIS 16 # 17 # NCDF_INC netcdf4 include file 18 # NCDF_LIB netcdf4 library 19 # XIOS_INC xios include file (taken into accound only if key_iomput is activated) 20 # XIOS_LIB xios library (taken into accound only if key_iomput is activated) 21 # OASIS_INC oasis include file (taken into accound only if key_oasis3 is activated) 22 # OASIS_LIB oasis library (taken into accound only if key_oasis3 is activated) 23 # 14 24 # FC Fortran compiler command 15 25 # FCFLAGS Fortran compiler flags 16 26 # FFLAGS Fortran 77 compiler flags 17 27 # LD linker 18 # LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a28 # LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries 19 29 # FPPFLAGS pre-processing flags 20 30 # AR assembler 21 31 # ARFLAGS assembler flags 22 32 # MK make 23 # USER_INC additional include files for the compiler, e.g. -I<include dir> 24 # USER_LIB additional libraries to pass to the linker, e.g. -l<library> 33 # USER_INC complete list of include files 34 # USER_LIB complete list of libraries to pass to the linker 35 # 36 # Note that: 37 # - unix variables "$..." are accpeted and will be evaluated before calling fcm. 38 # - fcm variables are starting with a % (and not a $) 39 # 40 %NCDF_HOME /opt/local 41 %HDF5_HOME /opt/local 42 %XIOS_HOME /Users/$( whoami )/XIOS 43 %OASIS_HOME /not/defined 25 44 45 %NCDF_INC -I%NCDF_HOME/include -I%HDF5_HOME/include 46 %NCDF_LIB -L%NCDF_HOME/lib -lnetcdff -lnetcdf 47 %XIOS_INC -I%XIOS_HOME/inc 48 %XIOS_LIB -L%XIOS_HOME/lib -lxios 49 %OASIS_INC -I%OASIS_HOME/build/lib/mct -I%OASIS_HOME/build/lib/psmile.MPI1 50 %OASIS_LIB -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip 26 51 27 %NCDF_INC -I/opt/local/include28 %NCDF_LIB -L/opt/local/lib -lnetcdf -lnetcdff29 %XIOS_ROOT /Users/cethe/XIOS30 52 %FC mpif90 31 53 %FCFLAGS -fdefault-real-8 -O3 -funroll-all-loops -fcray-pointer … … 37 59 %ARFLAGS rs 38 60 %MK make 39 %USER_INC %NCDF_INC -I%XIOS_ROOT/inc 40 %USER_LIB -L%XIOS_ROOT/lib -lxios %NCDF_LIB 41 61 %USER_INC %XIOS_INC %OASIS_INC %NCDF_INC 62 %USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB -
trunk/NEMOGCM/ARCH/arch-x3750_ADA.fcm
r3917 r3922 1 1 # Ada IBM x3750 at french IDRIS, http://www.idris.fr/ada/ada-hw-ada.html 2 # NCDF_INC netcdf include file 3 # NCDF_LIB netcdf library 2 # 3 # NCDF_HOME root directory containing lib and include subdirectories for netcdf4 4 # HDF5_HOME root directory containing lib and include subdirectories for HDF5 5 # XIOS_HOME root directory containing lib for XIOS 6 # OASIS_HOME root directory containing lib for OASIS 7 # 8 # NCDF_INC netcdf4 include file 9 # NCDF_LIB netcdf4 library 10 # XIOS_INC xios include file (taken into accound only if key_iomput is activated) 11 # XIOS_LIB xios library (taken into accound only if key_iomput is activated) 12 # OASIS_INC oasis include file (taken into accound only if key_oasis3 is activated) 13 # OASIS_LIB oasis library (taken into accound only if key_oasis3 is activated) 14 # 4 15 # FC Fortran compiler command 5 16 # FCFLAGS Fortran compiler flags 6 17 # FFLAGS Fortran 77 compiler flags 7 18 # LD linker 8 # LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a19 # LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries 9 20 # FPPFLAGS pre-processing flags 10 21 # AR assembler 11 22 # ARFLAGS assembler flags 12 23 # MK make 13 # USER_INC additional include files for the compiler, e.g. -I<include dir>14 # USER_LIB additional libraries to pass to the linker, e.g. -l<library>24 # USER_INC complete list of include files 25 # USER_LIB complete list of libraries to pass to the linker 15 26 # 16 %NCDF_INC -I/smplocal/pub/NetCDF/4.1.3/mpi/include 17 %NCDF_LIB -L/smplocal/pub/NetCDF/4.1.3/mpi/lib -L/smplocal/pub/HDF5/1.8.9/par/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lhdf5 -lz -lstdc++ 18 %XIOS_ROOT /smphome/rech/fry/rfry154/XIOS 27 # Note that: 28 # - unix variables "$..." are accpeted and will be evaluated before calling fcm. 29 # - fcm variables are starting with a % (and not a $) 30 # 31 %NCDF_HOME /smplocal/pub/NetCDF/4.1.3/mpi 32 %HDF5_HOME /smplocal/pub/HDF5/1.8.9/par 33 %XIOS_HOME $WORKDIR/XIOS 34 %OASIS_HOME /not/yet/defined 35 36 %NCDF_INC -I%NCDF_HOME/include 37 %NCDF_LIB -L%NCDF_HOME/lib -Bstatic -lnetcdff -lnetcdf -Bdynamic -L%HDF5_HOME/lib -Bstatic -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 -Bdynamic -lz 38 %XIOS_INC -I%XIOS_HOME/inc 39 %XIOS_LIB -L%XIOS_HOME/lib -lxios 40 %OASIS_INC -I%OASIS_HOME/build/lib/mct -I%OASIS_HOME/build/lib/psmile.MPI1 41 %OASIS_LIB -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip 42 19 43 %FC mpiifort -c -cpp 20 44 %FCFLAGS -DCPP_PARA -i4 -r8 -O3 -xAVX -fp-model precise 21 45 %FFLAGS %FCFLAGS 22 46 %LD mpiifort 23 %LDFLAGS 47 %LDFLAGS -lstdc++ 24 48 %FPPFLAGS -P -C -traditional 25 49 %AR ar 26 50 %ARFLAGS rs 27 51 %MK gmake 28 %USER_INC -I%XIOS_ROOT/inc%NCDF_INC29 %USER_LIB -L%XIOS_ROOT/lib -lxios %NCDF_LIB -lstdc++52 %USER_INC %XIOS_INC %OASIS_INC %NCDF_INC 53 %USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB -
trunk/NEMOGCM/CONFIG/makenemo
r3764 r3922 106 106 export AGRIFUSE=10 107 107 declare -a TAB 108 list_key=0; 108 109 #- 109 110 #- FCM and functions location --- … … 142 143 echo "./makenemo clean"; 143 144 echo ""; 145 echo "Example to list the available keys of a CONFIG "; 146 echo "./makenemo list_key"; 147 echo ""; 144 148 echo "Example to add and remove keys"; 145 149 echo "./makenemo add_key \"key_iomput key_mpp_mpi\" del_key \"key_agrif\" "; … … 158 162 (j) x_j=${OPTARG};; 159 163 (t) x_t=${OPTARG};; 160 161 162 164 (e) x_e=${OPTARG};; 165 (s) x_s=${OPTARG};; 166 (v) x_v=${OPTARG};; 163 167 (:) echo ${b_n}" : -"${OPTARG}" option : missing value" 1>&2; 164 168 exit 2;; … … 188 192 export ${list_del_key} 189 193 shift 194 ;; 195 list_key) 196 list_key=1 190 197 ;; 191 198 *) … … 222 229 [ "${CMP_NAM}" == help ] && . ${COMPIL_DIR}/Flist_archfile.sh all && exit 223 230 224 #- When used for the first time, choose a compiler ---225 . ${COMPIL_DIR}/Fcheck_archfile.sh arch_nemo.fcm ${CMP_NAM} || exit226 227 231 #- 228 232 #- Choose a default configuration if needed --- 229 233 #- ORCA2_LIM or last one used --- 230 234 . ${COMPIL_DIR}/Fcheck_config.sh cfg.txt ${NEW_CONF} || exit 231 232 235 233 236 if [ ${#NEW_CONF} -eq 0 ] ; then … … 269 272 . ${COMPIL_DIR}/Fmake_bld.sh ${CONFIG_DIR} ${NEW_CONF} ${NEMO_TDIR} || exit 270 273 274 # build the complete list of the cpp keys of this configuration 275 for i in $( grep "^# .*key" GYRE/WORK/* ) 276 do 277 echo $i | grep key_ 278 done | sort -d | uniq > ${COMPIL_DIR}/full_key_list.txt 279 if [ $list_key -eq 1 ]; then 280 cat ${COMPIL_DIR}/full_key_list.txt 281 exit 0 282 fi 283 271 284 #- At this stage new configuration has been added, 272 285 #- We add or remove keys … … 278 291 . ${COMPIL_DIR}/Fdel_keys.sh ${NEW_CONF} del_key ${list_del_key} 279 292 fi 293 294 for kk in $( cat ${NEW_CONF}/cpp_${NEW_CONF}.fcm ) 295 do 296 if [ "$( echo $kk | cut -c 1-4 )" == "key_" ]; then 297 nb=$( grep -c $kk ${COMPIL_DIR}/full_key_list.txt ) 298 if [ $nb -eq 0 ]; then 299 echo 300 echo "E R R O R : key "$kk" is not found in ${NEW_CONF}/WORK routines..." 301 echo "we stop..." 302 echo 303 exit 1 304 fi 305 fi 306 done 307 308 #- At this stage cpp keys have been updated. we can check the arch file 309 #- When used for the first time, choose a compiler --- 310 . ${COMPIL_DIR}/Fcheck_archfile.sh arch_nemo.fcm cpp.fcm ${CMP_NAM} || exit 280 311 281 312 #- At this stage the configuration has beeen chosen -
trunk/NEMOGCM/TOOLS/COMPILE/Fcheck_archfile.sh
r3294 r3922 59 59 # 60 60 #- 61 cpeval () 62 { 63 cat > $2 << EOF 61 64 62 if [ ${#2} -eq 0 ]; then 63 if [ ! -f ${COMPIL_DIR}/$1 ]; then 64 echo "Warning !!!" 65 echo "NO compiler chosen" 66 echo "Try makenemo -h for help" 67 echo "EXITING..." 68 exit 1 69 fi 70 else 71 myfile=$( find ${MAIN_DIR}/ARCH -name arch-${2}.fcm -print ) 72 if [ ${#myfile} -gt 0 ]; then 73 ln -sf ${myfile} ${COMPIL_DIR}/$1 74 else 75 echo "Warning !!!" 76 echo "Compiler not existing" 77 echo "Try makenemo -h for help" 78 echo "EXITING..." 79 exit 1 80 fi 65 #========================================================== 66 # Automatically generated by Fcheck_archfile.sh from 67 # $1 68 #========================================================== 69 70 EOF 71 while read line 72 do 73 eval "echo \"$line\" >> $2" 74 done < $1 75 } 76 # cleaning related to the old version 77 myarch=$( find ${MAIN_DIR}/ARCH -type l -name arch-${3}.fcm -print ) 78 [ ${#myarch} -ne 0 ] && rm -f $myarch 79 # 80 if [ ${#3} -eq 0 ]; then # arch not specified 81 if [ ! -f ${COMPIL_DIR}/arch.history ]; then 82 echo "Warning !!!" 83 echo "NO compiler chosen" 84 echo "Try makenemo -h for help" 85 echo "EXITING..." 86 exit 1 87 else # use the arch file defined in arch.history 88 myarch=$( cat ${COMPIL_DIR}/arch.history ) 89 if [ ! -f $myarch ]; then 90 echo "Warning !!!" 91 echo "previously used arch file no more found:" 92 echo $myarch 93 echo "EXITING..." 94 exit 1 95 else 96 if [ -f ${COMPIL_DIR}/$1 ]; then 97 myarchdir=$( dirname ${myarch} ) 98 myarchname=$( basename ${myarch} ) 99 # have the cpp keys been updated since we copy the arch file in ${COMPIL_DIR}? 100 mycpp=$( find -L ${COMPIL_DIR} -cnewer ${COMPIL_DIR}/$1 -name $2 -print ) 101 [ ${#mycpp} -ne 0 ] && cpeval ${myarch} ${COMPIL_DIR}/$1 102 # has myarch been updated since we copy it in ${COMPIL_DIR}? 103 myarch=$( find -L $myarchdir -cnewer ${COMPIL_DIR}/$1 -name $myarchname -print ) 104 [ ${#myarch} -ne 0 ] && cpeval ${myarch} ${COMPIL_DIR}/$1 105 else 106 cpeval ${myarch} ${COMPIL_DIR}/$1 107 fi 108 fi 109 fi 110 else 111 myarch=$( find ${MAIN_DIR}/ARCH -name arch-${3}.fcm -print ) 112 if [ ${#myarch} -gt 0 ]; then # the arch file specified by the use exists 113 # we were already using this arch file 114 if [ "$myarch" == "$( cat ${COMPIL_DIR}/arch.history )" ]; then 115 if [ -f ${COMPIL_DIR}/$1 ]; then 116 # have the cpp keys been updated since we copy the arch file in ${COMPIL_DIR}? 117 mycpp=$( find -L ${COMPIL_DIR} -cnewer ${COMPIL_DIR}/$1 -name $2 -print ) 118 [ ${#mycpp} -ne 0 ] && cpeval ${myarch} ${COMPIL_DIR}/$1 119 # has myarch been updated since we copy it in ${COMPIL_DIR}? 120 myarch=$( find -L ${MAIN_DIR}/ARCH -cnewer ${COMPIL_DIR}/$1 -name arch-${3}.fcm -print ) 121 [ ${#myarch} -ne 0 ] && cpeval ${myarch} ${COMPIL_DIR}/$1 122 else 123 cpeval ${myarch} ${COMPIL_DIR}/$1 124 fi 125 else 126 echo ${myarch} > ${COMPIL_DIR}/arch.history 127 cpeval ${myarch} ${COMPIL_DIR}/$1 128 fi 129 else 130 echo "Warning !!!" 131 echo "Compiler not existing" 132 echo "Try makenemo -h for help" 133 echo "EXITING..." 134 exit 1 135 fi 81 136 fi 137 138 #- do we need xios library? 139 use_iom=$( sed -e "s/#.*$//" ${COMPIL_DIR}/$2 | grep -c key_iomput ) 140 have_lxios=$( sed -e "s/#.*$//" ${COMPIL_DIR}/$1 | grep -c "\-lxios" ) 141 if [[ ( $use_iom -eq 0 ) && ( $have_lxios -ge 1 ) ]] 142 then 143 sed -e "s/-lxios//g" ${COMPIL_DIR}/$1 > ${COMPIL_DIR}/tmp$$ 144 mv -f ${COMPIL_DIR}/tmp$$ ${COMPIL_DIR}/$1 145 fi 146 147 #- do we need oasis libraries? 148 use_oasis=$( sed -e "s/#.*$//" ${COMPIL_DIR}/$2 | grep -c key_oasis3 ) 149 for liboa in psmile.MPI1 mct mpeu scrip mpp_io 150 do 151 have_liboa=$( sed -e "s/#.*$//" ${COMPIL_DIR}/$1 | grep -c "\-l${liboa}" ) 152 if [[ ( $use_oasis -eq 0 ) && ( $have_liboa -ge 1 ) ]] 153 then 154 sed -e "s/-l${liboa}//g" ${COMPIL_DIR}/$1 > ${COMPIL_DIR}/tmp$$ 155 mv -f ${COMPIL_DIR}/tmp$$ ${COMPIL_DIR}/$1 156 fi 157 done 158 -
trunk/NEMOGCM/TOOLS/COMPILE/Flist_archfile.sh
r3294 r3922 61 61 62 62 echo "Available compilers for -m option :" 63 for file in $(ls ${MAIN_DIR}/ARCH | grep fcm)63 for file in $(ls ${MAIN_DIR}/ARCH | grep "fcm$" ) 64 64 do 65 65 zvar1=${file#arch-} … … 71 71 72 72 if [ "$1" == "all" ]; then 73 for dir in $(ls ${MAIN_DIR}/ARCH | grep -v fcm)73 for dir in $(ls ${MAIN_DIR}/ARCH | grep -v "fcm$" ) 74 74 do 75 75 echo "Available compilers at ${dir} :" 76 for file in $(ls ${MAIN_DIR}/ARCH/${dir} | grep fcm)76 for file in $(ls ${MAIN_DIR}/ARCH/${dir} | grep "fcm$" ) 77 77 do 78 78 zvar1=${file#arch-} … … 84 84 elif [ -d ${MAIN_DIR}/ARCH/${1} ]; then 85 85 echo "Available compilers at $1 :" 86 for file in $(ls ${MAIN_DIR}/ARCH/$1 | grep fcm)86 for file in $(ls ${MAIN_DIR}/ARCH/$1 | grep "fcm$" ) 87 87 do 88 88 zvar1=${file#arch-} … … 93 93 else 94 94 echo "Available consortium member sub-directories :" 95 for dir in $(ls ${MAIN_DIR}/ARCH | grep -v fcm)95 for dir in $(ls ${MAIN_DIR}/ARCH | grep -v "fcm$" ) 96 96 do 97 97 echo ${dir}
Note: See TracChangeset
for help on using the changeset viewer.