! ! 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.3.2/sources my.project.dir : ${HOME}/models/ecearth_3.3.3.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 : compiler.flags.default.ldflags : compiler.flags.optim.fflags : -O3 compiler.flags.optim.ldflags : -O3 ! '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 : $(EBROOTOPENJPEG) compiler.lib.jpeg.fflags : -I${JPEG_LIB_DIR}/include compiler.lib.jpeg.lib_dir : -L${JPEG_LIB_DIR}/lib compiler.lib.jpeg.libs_no_l : openjpeg ! 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 : compiler.lib.hdf4.fflags : -I${HDF_HOME}/ compiler.lib.hdf4.lib_dir : -L${HDF_HOME}/ compiler.lib.hdf4.libs_no_l : ! HDF5 library with parallel IO enabled HDF5_PAR_HOME : $(EBROOTHDF5) 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 ! NetCDF4 library with parallel IO enabled NETCDF4_HOME : / compiler.lib.netcdf4_par.fflags : -I${NETCDF4_HOME}/$(EBROOTNETCDF)/include $(EBROOTNETCDFMINFORTRAN)/include compiler.lib.netcdf4_par.lib_dir : -L${NETCDF4_HOME}/$(EBROOTNETCDF)/lib64 $(EBROOTNETCDFMINFORTRAN)/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.3.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$(EBROOTIMPI)/mpi/latest/include compiler.lib.mpi.lib_dir : -L$(EBROOTIMPI)/mpi/latest/lib compiler.lib.mpi.libs_no_l: mpi mpifort ! 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} with_ecearth_optics !=====================================================================! ! 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