! ! 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