ecconfig-ecearth3.rc 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. !
  2. ! This is a rcfile template for COMPILING TM5MP for ECEARTH 3
  3. !
  4. !=====================================================================!
  5. ! Run main specifications
  6. !=====================================================================!
  7. ! [id] basename for executable, runtime rcfile
  8. my.basename : tm5v4
  9. ! timing
  10. timerange.start : 9999-99-99 99:99:99
  11. timerange.end : 9999-99-99 99:99:99
  12. jobstep.length : inf
  13. ! autorun
  14. submit.auto : False
  15. ! main directories
  16. ECEARTH_SRC_DIR : ${HOME}/models/ecearth_3.3.3.2/sources
  17. my.project.dir : ${HOME}/models/ecearth_3.3.3.2/sources/tm5mp
  18. my.run.dir :
  19. my.data.dir :
  20. co2only : True
  21. mkdepf90 : $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90
  22. !=====================================================================!
  23. ! Compiler, make, MPI/OpenMP switches
  24. !=====================================================================!
  25. coma:,
  26. compiler.fc : mpif90
  27. mpi.compiler.fc : mpif90
  28. mpi.compiler.fc.openmp : mpif90
  29. compiler.defineflag : -WF,-D
  30. ! All flags from ecconf = default + tm5_specific
  31. !cprepro: PLT:ACTIVE:FFLAGS_FPP_PREFIX PLT:ACTIVE:TM5_PPDEFS
  32. compiler.flags.default.fflags :
  33. compiler.flags.default.ldflags :
  34. compiler.flags.optim.fflags : -O3
  35. compiler.flags.optim.ldflags : -O3
  36. ! 'build.jobs' set in expert.rc, overwritten with script arg
  37. maker : make -j %{build.jobs}
  38. ! parallelization
  39. par.mpi : T
  40. ! dummy nb of cores (pycasso looking for them to write par.ntasks)
  41. par.nx : 1
  42. par.ny : 45
  43. !=====================================================================!
  44. ! Libraries
  45. !=====================================================================!
  46. ! Z library (used for compression in HDF)
  47. compiler.lib.z.fflags :
  48. compiler.lib.z.libs : -lz
  49. ! JPEG library (used for compression in HDF)
  50. JPEG_LIB_DIR : $(EBROOTOPENJPEG)
  51. compiler.lib.jpeg.fflags : -I${JPEG_LIB_DIR}/include
  52. compiler.lib.jpeg.lib_dir : -L${JPEG_LIB_DIR}/lib
  53. compiler.lib.jpeg.libs_no_l : openjpeg
  54. ! SZ library (used for compression in HDF)
  55. SZIP_HOME : $(EBROOTSZIP)
  56. compiler.lib.sz.fflags : -I${SZIP_HOME}/include
  57. compiler.lib.sz.lib_dir : -L${SZIP_HOME}/lib
  58. compiler.lib.sz.libs_no_l : sz
  59. ! HDF4 library (without netcdf interface)
  60. HDF_HOME :
  61. compiler.lib.hdf4.fflags : -I${HDF_HOME}/
  62. compiler.lib.hdf4.lib_dir : -L${HDF_HOME}/
  63. compiler.lib.hdf4.libs_no_l :
  64. ! HDF5 library with parallel IO enabled
  65. HDF5_PAR_HOME : $(EBROOTHDF5)
  66. compiler.lib.hdf5_par.fflags : -I${HDF5_PAR_HOME}/include
  67. compiler.lib.hdf5_par.lib_dir : -L${HDF5_PAR_HOME}/lib
  68. compiler.lib.hdf5_par.libs_no_l : hdf5_hl hdf5
  69. ! NetCDF4 library with parallel IO enabled
  70. NETCDF4_HOME : /
  71. compiler.lib.netcdf4_par.fflags : -I${NETCDF4_HOME}/$(EBROOTNETCDF)/include $(EBROOTNETCDFMINFORTRAN)/include
  72. compiler.lib.netcdf4_par.lib_dir : -L${NETCDF4_HOME}/$(EBROOTNETCDF)/lib64 $(EBROOTNETCDFMINFORTRAN)/lib
  73. compiler.lib.netcdf4_par.libs_no_l: netcdff netcdf
  74. ! OASIS3 library
  75. OASIS3_ARCH : ecconf
  76. OASIS3_MPIV : MPI1
  77. OASIS3_HOME : ${HOME}/models/ecearth_3.3.3.2/sources/oasis3-mct/${OASIS3_ARCH}
  78. compiler.lib.oasis3.fflags : -I${OASIS3_HOME}/build/lib/psmile.${OASIS3_MPIV}
  79. compiler.lib.oasis3.lib_dir : -L${OASIS3_HOME}/lib
  80. compiler.lib.oasis3.libs_no_l : psmile.MPI1 mct mpeu scrip
  81. ! -lpsmile.${OASIS3_MPIV} -lmpp_io
  82. ! MPI library
  83. compiler.lib.mpi.fflags : -I$(EBROOTIMPI)/mpi/latest/include
  84. compiler.lib.mpi.lib_dir : -L$(EBROOTIMPI)/mpi/latest/lib
  85. compiler.lib.mpi.libs_no_l: mpi mpifort
  86. ! Lapack library:
  87. ! -lessl -lblacs # serial
  88. ! -lesslsmp -lblacssmp # parallel with OpenMP
  89. ! -lessl -lpessl -lblacs # parallel with MPI
  90. ! -lesslsmp -lpesslsmp -lblacssmp # parallel with MPI and OpenMP
  91. !
  92. #if "${par.openmp}" in ["T","True"] :
  93. my.essl.ext : smp
  94. #else
  95. my.essl.ext :
  96. #endif
  97. #if "${par.mpi}" in ["T","True"] :
  98. my.pessl : -lpessl${my.essl.ext}
  99. #else
  100. my.pessl :
  101. #endif
  102. !
  103. compiler.lib.lapack.fflags :
  104. compiler.lib.lapack.libs : -lessl${my.essl.ext} ${my.pessl} -lblacs${my.essl.ext}
  105. !=====================================================================!
  106. ! Grids & Levels
  107. !=====================================================================!
  108. #if "${my.meteo.class}" == 'ifs91'
  109. my.levs : tropo34
  110. #elif "${my.meteo.class}" == 'ifs62'
  111. my.levs : tropo31
  112. #else
  113. my.levs : all
  114. #endif
  115. ! regions name
  116. my.region1 : glb300x200
  117. ! grid names for meteo input (allows on the flight regridding):
  118. my.region1m : glb100x100
  119. !=====================================================================!
  120. ! Source code (list of proj)
  121. !=====================================================================!
  122. #if "${co2only}" in ["T","True"] :
  123. my.source.proj : proj/output proj/co2 proj/ecearth
  124. #else
  125. my.source.proj : proj/output proj/budget10 proj/cb05 proj/ecearth
  126. #endif
  127. !=====================================================================!
  128. ! C-preprocessors: DF, TMM, TM5
  129. !=====================================================================!
  130. #if "${par.mpi}" in ["T","True"] :
  131. my.df.define : with_hdf5_par with_netcdf4_par
  132. #else
  133. my.df.define : with_hdf5 with_netcdf4
  134. #endif
  135. ! macro's for meteo input:
  136. my.tmm.define : with_tmm_tm5 with_tmm_convec_ec
  137. ! process to skip
  138. #if "${co2only}" in ["T","True"] :
  139. ! if without_wet_dep is not used then CP (at least) should be added to the met fields received from ifs
  140. my.without : without_wet_deposition without_chemistry without_dry_deposition
  141. #else
  142. my.without :
  143. #endif
  144. my.def_advec : slopes
  145. #if "${co2only}" in ["T","True"] :
  146. my.defs_emis :
  147. my.defs_chem :
  148. #else
  149. my.defs_emis : with_ch4_emis
  150. my.defs_chem : with_m7 with_optics with_ecearth_optics
  151. #endif
  152. my.defs_misc : with_budgets
  153. my.defs_cpl : with_prism oasis3 parallel_cplng
  154. my.tm5.define : ${my.without} ${my.def_advec} ${my.defs_misc} ${my.defs_chem} ${my.defs_emis} ${my.defs_cpl} with_ecearth_optics
  155. !=====================================================================!
  156. ! METEO SETTINGS
  157. !=====================================================================!
  158. my.meteo.class : ifs10
  159. my.meteo.resol : glb100x100
  160. my.meteo.format : tm5-nc
  161. time.fc : F
  162. time.fc.day0 :
  163. my.tmm.setup.apply : T
  164. ! dummy IFS coupling frequency
  165. cpl.ifs.period : 6
  166. ! dummy datadir
  167. ini_data_dir: dummy
  168. #include ${my.project.dir}/rc/meteo-tm5-ecearth3.rc
  169. !=====================================================================!
  170. ! Extra ressources
  171. !=====================================================================!
  172. #if "${my.region1}" == "glb100x100"
  173. #include ${my.project.dir}/rc/regions-glb100x100-chem.rc
  174. #else
  175. #include ${my.project.dir}/rc/regions-${my.region1}.rc
  176. #endif
  177. #include ${my.project.dir}/rc/expert-ecearth3-build.rc