123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- !
- ! This is a rcfile template for COMPILING TM5MP for ECEARTH 3
- !
- !=====================================================================!
- ! Run main specifications
- !=====================================================================!
- ! [id] basename for executable, runtime rcfile
- my.basename : tm5v4
- ! timing
- timerange.start : 9999-99-99 99:99:99
- timerange.end : 9999-99-99 99:99:99
- jobstep.length : inf
- ! autorun
- submit.auto : False
- ! main directories
- ECEARTH_SRC_DIR : ${HOME}/models/ecearth_3.3.4.2/sources
- my.project.dir : ${HOME}/models/ecearth_3.3.4.2/sources/tm5mp
- my.run.dir :
- my.data.dir :
- co2only : True
- mkdepf90 : ${ECEARTH_SRC_DIR}/util/makedepf90/bin/makedepf90
- !=====================================================================!
- ! Compiler, make, MPI/OpenMP switches
- !=====================================================================!
- coma:,
- compiler.fc : mpif90
- mpi.compiler.fc : mpif90
- mpi.compiler.fc.openmp : mpif90
- compiler.defineflag : -WF,-D
- ! All flags from ecconf = default + tm5_specific
- !cprepro: PLT:ACTIVE:FFLAGS_FPP_PREFIX PLT:ACTIVE:TM5_PPDEFS
- compiler.flags.default.fflags : -warn declarations -r8
- compiler.flags.default.ldflags : -warn declarations -r8
- compiler.flags.optim.fflags : -O3 -fp-model strict
- compiler.flags.optim.ldflags : -O3 -fp-model strict
- ! 'build.jobs' set in expert.rc, overwritten with script arg
- maker : make -j %{build.jobs}
- ! parallelization
- par.mpi : T
- ! dummy nb of cores (pycasso looking for them to write par.ntasks)
- par.nx : 1
- par.ny : 45
- !=====================================================================!
- ! Libraries
- !=====================================================================!
- ! Z library (used for compression in HDF)
- compiler.lib.z.fflags :
- compiler.lib.z.libs : -lz
- ! JPEG library (used for compression in HDF)
- JPEG_LIB_DIR : ${EBROOTLIBJPEGMINTURBO}
- compiler.lib.jpeg.fflags : -I${JPEG_LIB_DIR}/
- compiler.lib.jpeg.lib_dir : -L${JPEG_LIB_DIR}/lib
- compiler.lib.jpeg.libs_no_l : jpeg
- ! SZ library (used for compression in HDF)
- SZIP_HOME : ${EBROOTSZIP}
- compiler.lib.sz.fflags : -I${SZIP_HOME}/include
- compiler.lib.sz.lib_dir : -L${SZIP_HOME}/lib
- compiler.lib.sz.libs_no_l : sz
- ! HDF4 library (without netcdf interface)
- HDF_HOME : $(HDF4_DIR)
- compiler.lib.hdf4.fflags : -I${HDF_HOME}/include
- compiler.lib.hdf4.lib_dir : -L${HDF_HOME}/lib
- compiler.lib.hdf4.libs_no_l : mfhdf df
- ! HDF5 library with parallel IO enabled
- HDF5_PAR_HOME : $(HDF5_DIR)
- compiler.lib.hdf5_par.fflags : -I${HDF5_PAR_HOME}/include
- compiler.lib.hdf5_par.lib_dir : -L${HDF5_PAR_HOME}/lib
- compiler.lib.hdf5_par.libs_no_l : hdf5_hl hdf5 z
-
- ! NetCDF4 library with parallel IO enabled
- NETCDF4_HOME : ${EBROOTNETCDFMINFORTRAN}
- compiler.lib.netcdf4_par.fflags : -I${NETCDF4_HOME}/include
- compiler.lib.netcdf4_par.lib_dir : -L${NETCDF4_HOME}/lib
- compiler.lib.netcdf4_par.libs_no_l: netcdff netcdf
- ! OASIS3 library
- OASIS3_ARCH : ecconf
- OASIS3_MPIV : MPI1
- OASIS3_HOME : ${HOME}/models/ecearth_3.3.4.2/sources/oasis3-mct/${OASIS3_ARCH}
- compiler.lib.oasis3.fflags : -I${OASIS3_HOME}/build/lib/psmile.${OASIS3_MPIV}
- compiler.lib.oasis3.lib_dir : -L${OASIS3_HOME}/lib
- compiler.lib.oasis3.libs_no_l : psmile.MPI1 mct mpeu scrip
- ! -lpsmile.${OASIS3_MPIV} -lmpp_io
- ! MPI library
- compiler.lib.mpi.fflags : -I${EBROOTOPENMPI}/include
- compiler.lib.mpi.lib_dir : -L${EBROOTOPENMPI}/lib
- compiler.lib.mpi.libs_no_l: mpi mpi_mpifh
- ! Lapack library:
- ! -lessl -lblacs # serial
- ! -lesslsmp -lblacssmp # parallel with OpenMP
- ! -lessl -lpessl -lblacs # parallel with MPI
- ! -lesslsmp -lpesslsmp -lblacssmp # parallel with MPI and OpenMP
- !
- #if "${par.openmp}" in ["T","True"] :
- my.essl.ext : smp
- #else
- my.essl.ext :
- #endif
- #if "${par.mpi}" in ["T","True"] :
- my.pessl : -lpessl${my.essl.ext}
- #else
- my.pessl :
- #endif
- !
- compiler.lib.lapack.fflags :
- compiler.lib.lapack.libs : -lessl${my.essl.ext} ${my.pessl} -lblacs${my.essl.ext}
- !=====================================================================!
- ! Grids & Levels
- !=====================================================================!
- #if "${my.meteo.class}" == 'ifs91'
- my.levs : tropo34
- #elif "${my.meteo.class}" == 'ifs62'
- my.levs : tropo31
- #else
- my.levs : all
- #endif
- ! regions name
- my.region1 : glb300x200
- ! grid names for meteo input (allows on the flight regridding):
- my.region1m : glb100x100
- !=====================================================================!
- ! Source code (list of proj)
- !=====================================================================!
- #if "${co2only}" in ["T","True"] :
- my.source.proj : proj/output proj/co2 proj/ecearth
- #else
- my.source.proj : proj/output proj/budget10 proj/cb05 proj/ecearth
- #endif
- !=====================================================================!
- ! C-preprocessors: DF, TMM, TM5
- !=====================================================================!
- #if "${par.mpi}" in ["T","True"] :
- my.df.define : with_hdf5_par with_netcdf4_par
- #else
- my.df.define : with_hdf5 with_netcdf4
- #endif
- ! macro's for meteo input:
- my.tmm.define : with_tmm_tm5 with_tmm_convec_ec
- ! process to skip
- #if "${co2only}" in ["T","True"] :
- ! if without_wet_dep is not used then CP (at least) should be added to the met fields received from ifs
- my.without : without_wet_deposition without_chemistry without_dry_deposition
- #else
- my.without :
- #endif
- my.def_advec : slopes
- #if "${co2only}" in ["T","True"] :
- my.defs_emis :
- my.defs_chem :
- #else
- my.defs_emis : with_ch4_emis
- my.defs_chem : with_m7 with_optics with_ecearth_optics
- #endif
- my.defs_misc : with_budgets
- my.defs_cpl : with_prism oasis3 parallel_cplng
- my.tm5.define : ${my.without} ${my.def_advec} ${my.defs_misc} ${my.defs_chem} ${my.defs_emis} ${my.defs_cpl}
- !=====================================================================!
- ! METEO SETTINGS
- !=====================================================================!
- my.meteo.class : ifs10
- my.meteo.resol : glb100x100
- my.meteo.format : tm5-nc
- time.fc : F
- time.fc.day0 :
- my.tmm.setup.apply : T
- ! dummy IFS coupling frequency
- cpl.ifs.period : 6
- ! dummy datadir
- ini_data_dir: dummy
- #include ${my.project.dir}/rc/meteo-tm5-ecearth3.rc
- !=====================================================================!
- ! Extra ressources
- !=====================================================================!
- #if "${my.region1}" == "glb100x100"
- #include ${my.project.dir}/rc/regions-glb100x100-chem.rc
- #else
- #include ${my.project.dir}/rc/regions-${my.region1}.rc
- #endif
- #include ${my.project.dir}/rc/expert-ecearth3-build.rc
|