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 : [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]
- my.project.dir : [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]/tm5mp
- my.run.dir :
- my.data.dir :
- co2only : [[[MOD:TM5:CO2_ONLY]]]
- mkdepf90 : [[[PLT:ACTIVE:MAKEDEPF90]]]
- !=====================================================================!
- ! Compiler, make, MPI/OpenMP switches
- !=====================================================================!
- coma:,
- compiler.fc : [[[PLT:ACTIVE:FC]]]
- mpi.compiler.fc : [[[PLT:ACTIVE:FC]]]
- mpi.compiler.fc.openmp : [[[PLT:ACTIVE:FC]]]
- 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 : [[[PLT:ACTIVE:TM5_DEFAULT_FFLAGS]]]
- compiler.flags.default.ldflags : [[[PLT:ACTIVE:TM5_DEFAULT_FFLAGS]]]
- compiler.flags.optim.fflags : [[[PLT:ACTIVE:TM5_OPTIM_FFLAGS]]]
- compiler.flags.optim.ldflags : [[[PLT:ACTIVE:TM5_OPTIM_FFLAGS]]]
- ! 'build.jobs' set in expert.rc, overwritten with script arg
- maker : [[[PLT:ACTIVE: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 : [[[PLT:ACTIVE:JPEG_BASE_DIR]]]
- compiler.lib.jpeg.fflags : -I${JPEG_LIB_DIR}/[[[PLT:ACTIVE:JPEG_INC_SUBDIR]]]
- compiler.lib.jpeg.lib_dir : -L${JPEG_LIB_DIR}/[[[PLT:ACTIVE:JPEG_LIB_SUBDIR]]]
- compiler.lib.jpeg.libs_no_l : [[[PLT:ACTIVE:JPEG_LIBS_WITHOUT_L]]]
- ! SZ library (used for compression in HDF)
- SZIP_HOME : [[[PLT:ACTIVE:SZIP_BASE_DIR]]]
- compiler.lib.sz.fflags : -I${SZIP_HOME}/[[[PLT:ACTIVE:SZIP_INC_SUBDIR]]]
- compiler.lib.sz.lib_dir : -L${SZIP_HOME}/[[[PLT:ACTIVE:SZIP_LIB_SUBDIR]]]
- compiler.lib.sz.libs_no_l : [[[PLT:ACTIVE:SZIP_LIBS_WITHOUT_L]]]
- ! HDF4 library (without netcdf interface)
- HDF_HOME : [[[PLT:ACTIVE:HDF4_BASE_DIR]]]
- compiler.lib.hdf4.fflags : -I${HDF_HOME}/[[[PLT:ACTIVE:HDF4_INC_SUBDIR]]]
- compiler.lib.hdf4.lib_dir : -L${HDF_HOME}/[[[PLT:ACTIVE:HDF4_LIB_SUBDIR]]]
- compiler.lib.hdf4.libs_no_l : [[[PLT:ACTIVE:HDF4_LIBS_WITHOUT_L]]]
- ! HDF5 library with parallel IO enabled
- HDF5_PAR_HOME : [[[PLT:ACTIVE:HDF5_BASE_DIR]]]
- compiler.lib.hdf5_par.fflags : -I${HDF5_PAR_HOME}/[[[PLT:ACTIVE:HDF5_INC_SUBDIR]]]
- compiler.lib.hdf5_par.lib_dir : -L${HDF5_PAR_HOME}/[[[PLT:ACTIVE:HDF5_LIB_SUBDIR]]]
- compiler.lib.hdf5_par.libs_no_l : [[[PLT:ACTIVE:HDF5_LIBS_WITHOUT_L]]]
-
- ! NetCDF4 library with parallel IO enabled
- NETCDF4_HOME : [[[PLT:ACTIVE:NETCDF_BASE_DIR]]]
- compiler.lib.netcdf4_par.fflags : -I${NETCDF4_HOME}/[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]]
- compiler.lib.netcdf4_par.lib_dir : -L${NETCDF4_HOME}/[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]]
- compiler.lib.netcdf4_par.libs_no_l: [[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]]
- ! OASIS3 library
- OASIS3_ARCH : ecconf
- OASIS3_MPIV : MPI1
- OASIS3_HOME : [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]/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[[[PLT:ACTIVE:MPI_BASE_DIR]]]/[[[PLT:ACTIVE:MPI_INC_SUBDIR]]]
- compiler.lib.mpi.lib_dir : -L[[[PLT:ACTIVE:MPI_BASE_DIR]]]/[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]]
- compiler.lib.mpi.libs_no_l: [[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]]
- ! 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} [[[PLT:ACTIVE:TM5_MDEFS_FFLAGS]]]
- !=====================================================================!
- ! METEO SETTINGS
- !=====================================================================!
- my.meteo.class : ifs[[[MOD:TM5:NLEVS]]]
- 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
|