pycasso-machine-ecmwf-ecgb.rc 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. !===============================================
  2. ! compiler information
  3. !===============================================
  4. ! template settings for GCC suite:
  5. #include base/${my.branch}/rc/pycasso-compiler-gfortran-4.4.7.rc
  6. ! Problem with (non-standard) system routines 'Exit_' and 'Sleep_' on ECMWF :
  7. ! these do not have the underscores here. Flag '-qnoextname' resets to the
  8. ! official names again, but let linking with HDF fail.
  9. ! Therefore, a marco __ecmwf__ is now defined to distuinguish in the code
  10. ! between the various XLF impelementations.
  11. !
  12. my.default.fflags : -WF,-D__ecmwf__
  13. !===============================================
  14. ! libraries
  15. !===============================================
  16. ! location of installed user libraries:
  17. APPS_HOME : /usr/local/apps
  18. ! adressing mode:
  19. !AMODE : ILP32
  20. AMODE : LP64
  21. ! Z library (used for compression in HDF)
  22. ZLIB_VERSION : 1.2.7
  23. ZLIB_HOME : ${APPS_HOME}/zlib/${ZLIB_VERSION}/${AMODE}
  24. compiler.lib.z.fflags :
  25. compiler.lib.z.libs : -L${ZLIB_HOME}/lib -lz
  26. ! JPEG library (used for compression in HDF)
  27. compiler.lib.jpeg.fflags : ${JASPER_INCLUDE}
  28. compiler.lib.jpeg.libs : ${JASPER_LIB}
  29. ! SZ library (used for compression in HDF)
  30. SZIP_VERSION : 2.1
  31. SZIP_HOME : ${APPS_HOME}/szip/${SZIP_VERSION}/${AMODE}
  32. compiler.lib.sz.fflags : -I${SZIP_HOME}/include
  33. compiler.lib.sz.libs : -L${SZIP_HOME}/lib -lsz -Wl,-rpath -Wl,${SZIP_HOME}/lib
  34. ! HDF4 library:
  35. HDF_VERSION : 4.2.9
  36. HDF_HOME : ${APPS_HOME}/hdf/${HDF_VERSION}/${AMODE}
  37. compiler.lib.hdf4.fflags : -I${HDF_HOME}/include
  38. compiler.lib.hdf4.libs : -L${HDF_HOME}/lib -lmfhdf -ldf
  39. ! HDF5 library:
  40. HDF5_VERSION : 1.8.10p1
  41. HDF5_HOME : ${APPS_HOME}/hdf5/${HDF5_VERSION}/${AMODE}
  42. compiler.lib.hdf5.fflags : -I${HDF5_HOME}/include
  43. compiler.lib.hdf5.libs : -L${HDF5_HOME}/lib -lhdf5_hl -lhdf5
  44. ! NetCDF library:
  45. !NETCDF_VERSION : netCDF/4.0.1
  46. !NETCDF_HOME : ${APPS_HOME}/${NETCDF_VERSION}/${AMODE}
  47. !compiler.lib.netcdf.fflags : -I${NETCDF_HOME}/include
  48. !compiler.lib.netcdf.libs : -L${NETCDF_HOME}/lib -lnetcdf
  49. compiler.lib.netcdf.fflags : -I${NETCDF_INCLUDE}
  50. compiler.lib.netcdf.libs : -L${NETCDF_LIB}
  51. ! NetCDF4 library:
  52. !NETCDF4_VERSION : netcdf4/4.0.1
  53. !NETCDF4_HOME : ${APPS_HOME}/${NETCDF4_VERSION}/${AMODE}
  54. !compiler.lib.netcdf4.fflags : -I${NETCDF4_HOME}/include
  55. !compiler.lib.netcdf4.libs : -L${NETCDF4_HOME}/lib -lnetcdf
  56. compiler.lib.netcdf4.fflags : -I${NETCDF_INCLUDE}
  57. compiler.lib.netcdf4.libs : -L${NETCDF_LIB}
  58. !! UDUNITS library:
  59. !UDUNITS_VERSION : udunits/1.12.9
  60. !UDUNITS_HOME : ${APPS_HOME}/${UDUNITS_VERSION}/${AMODE}
  61. !compiler.lib.udunits.fflags : -I${UDUNITS_HOME}/include
  62. !compiler.lib.udunits.libs : -L${UDUNITS_HOME}/lib -ludunits
  63. ! GRIB library:
  64. ! do not use the standard variable:
  65. ! EMOSLIB = -L/usr/local/lib -lemos.new.R32.D64.I32 -lxlf90 -lxlopt
  66. ! but rather the real(8) version:
  67. !EMOS_VERSION :
  68. !EMOS_HOME : /usr/local
  69. !compiler.lib.grib.fflags :
  70. !compiler.lib.grib.libs : -L${EMOS_HOME}/lib -lemos.R64.D64.I32 -lxlf90
  71. compiler.lib.grib.fflags :
  72. compiler.lib.grib.libs : ${EMOSLIB}
  73. !! Lapack library:
  74. !compiler.lib.lapack.fflags :
  75. !compiler.lib.lapack.libs : ${LAPACKLIB_OPT}
  76. !===============================================
  77. ! settings for LoadLeveler queue
  78. !===============================================
  79. !! queue system (bsub,loadleveler)
  80. !queue : loadleveler
  81. !
  82. !! passed directly:
  83. !queue.ll.submit.options :
  84. !
  85. !!------------------------------------------------
  86. !! ** queue options with same value for all steps:
  87. !!------------------------------------------------
  88. !
  89. !! space seperated list:
  90. !queue.ll.options.default : job_name account_no notification initialdir shell
  91. !
  92. !! job name:
  93. !queue.ll.option.default.job_name : ${job.name}
  94. !
  95. !! acount name for payment ...
  96. !queue.ll.option.default.account_no : ${my.queue.account}
  97. !
  98. !! when to send emails : always | error | start | never | complete*
  99. !queue.ll.option.default.notification : never
  100. !
  101. !! run directory:
  102. !queue.ll.option.default.initialdir : ${rundir}
  103. !
  104. !! shell of job script:
  105. !queue.ll.option.default.shell : /bin/sh
  106. !
  107. !!------------------------------------------------
  108. !! ** queue options with different values per step:
  109. !!------------------------------------------------
  110. !
  111. !! list options per step:
  112. !queue.ll.options.init : step_name output error class job_type queue
  113. !queue.ll.options.run : step_name dependency output error class job_type environment queue
  114. !queue.ll.options.done : step_name dependency output error class job_type queue
  115. !
  116. !! ~ step init options
  117. !
  118. !queue.ll.option.init.step_name : init
  119. !queue.ll.option.init.output : <auto>
  120. !queue.ll.option.init.error : <auto>
  121. !queue.ll.option.init.class : normal
  122. !queue.ll.option.init.job_type : serial
  123. !queue.ll.option.init.queue :
  124. !
  125. !! ~ step run optionsueue.loadleveler.outputdir : ${rundir}
  126. !! Run classes on ECMWF/ecgate
  127. !!
  128. !! normal : 3 hr CPU, 1 GB mem
  129. !! long : 6 hr CPU, 2 GB mem
  130. !!
  131. !queue.ll.option.run.step_name : run
  132. !#if "init" in "${job.steps}" :
  133. !queue.ll.option.run.dependency : (init == 0)
  134. !#else :
  135. !queue.ll.option.run.dependency : <none>
  136. !#endif
  137. !queue.ll.option.run.output : <auto>
  138. !queue.ll.option.run.error : <auto>
  139. !queue.ll.option.run.class : normal
  140. !queue.ll.option.run.job_type : serial
  141. !queue.ll.option.run.environment : UDUNITS_PATH = ${UDUNITS_PATH}
  142. !queue.ll.option.run.queue :
  143. !
  144. !! ~ step done options
  145. !
  146. !queue.ll.option.done.step_name : done
  147. !#if "run" in "${job.steps}" :
  148. !queue.ll.option.done.dependency : (run == 0)
  149. !#elif "init" in "${job.steps}" :
  150. !queue.ll.option.done.dependency : (init == 0)
  151. !#else :
  152. !queue.ll.option.done.dependency : <none>
  153. !#endif
  154. !queue.ll.option.done.output : <auto>
  155. !queue.ll.option.done.error : <auto>
  156. !queue.ll.option.done.class : normal
  157. !queue.ll.option.done.job_type : serial
  158. !queue.ll.option.done.queue :
  159. !
  160. ! Settings for SLURM job manager - for details and other options: "man sbatch" or "web documentation"
  161. !
  162. queue : slurm
  163. ! (1) passed directly (ie "as is" at the command line)
  164. !------------------------------------------------------------------
  165. ! (--share or -s for example to share node(s) with other jobs)
  166. ! add here also the long options
  167. queue.slurm.submit.options :
  168. !queue.slurm.submit.options : --share
  169. ! Note that this is added to the 'submit.options' key value from the pycasso-tm5-expert.rc
  170. ! (2) Short options set by end user (and processed by submit_tm5_tools.py script
  171. !----------------------------------------------
  172. !! first, list of queue options (same for each step):
  173. !queue.slurm.options.default : J N p t
  174. !
  175. !! job name:
  176. !queue.slurm.option.default.J : ${job.name}
  177. !
  178. !! minimum number of node
  179. !queue.slurm.option.default.N : 1
  180. !! ${slurm.nnode}
  181. !
  182. !!queue.slurm.option.run.c : 1
  183. !
  184. !! maximum number of tasks (but @workshop, was told to use it as number of proc... over-allocate?)
  185. !!queue.slurm.option.n : <auto>
  186. !
  187. !! tasks per node
  188. !!queue.slurm.option.tpn :
  189. ! ensure correct environment for init step
  190. queue.slurm.options.init : J n e o
  191. queue.slurm.option.init.J : ${job.name}
  192. queue.slurm.option.init.n : 1
  193. queue.slurm.option.init.o : <auto>
  194. queue.slurm.option.init.e : <auto>
  195. ! ensure correct environment for run step
  196. queue.slurm.options.run : J N n c e o
  197. queue.slurm.option.run.J : ${job.name}
  198. queue.slurm.option.run.N : 1
  199. queue.slurm.option.run.n : ${par.ntask}
  200. queue.slurm.option.run.c : ${par.nthread}
  201. !queue.slurm.option.run.t : ${ll.wall_clock_limit}
  202. queue.slurm.option.run.o : <auto>
  203. queue.slurm.option.run.e : <auto>
  204. ! ensure correct environment for done step
  205. queue.slurm.options.done : J n e o
  206. queue.slurm.option.done.J : ${job.name}
  207. !queue.slurm.option.done.N : 1
  208. queue.slurm.option.done.n : 1
  209. !queue.slurm.option.done.p : short
  210. !queue.slurm.option.done.t : 00:10:00
  211. queue.slurm.option.done.o : <auto>
  212. queue.slurm.option.done.e : <auto>
  213. !! list of node names. Can be simple: neuron224
  214. !! or complicated: mynode[1-5,7,..]
  215. !!queue.slurm.option.w : ${slurm.nodename}
  216. !
  217. !!
  218. !!queue.slurm.option.s: F
  219. !
  220. !! partition
  221. !queue.slurm.option.default.p : normal
  222. !===============================================
  223. ! maker
  224. !===============================================
  225. ! make command;
  226. ! the setup script will insert the 'build.jobs' specified in the expert.rc
  227. ! or passed as argument to the setup script:
  228. !
  229. maker : gmake -j %{build.jobs}
  230. !===============================================
  231. ! MPI runner
  232. !===============================================
  233. ! no parallel support on this machine ...
  234. !===============================================
  235. ! debugger
  236. !===============================================
  237. ! debugger type: totalview | idb | kdbg
  238. debugger : totalview
  239. ! command for debugger:
  240. debugger.command : totalview -searchPath=${build.sourcedir}
  241. !===============================================
  242. ! model data
  243. !===============================================
  244. ! the user scratch directory:
  245. my.scratch : ${SCRATCH}
  246. ! base path to various data files:
  247. my.data.dir : ${SCRATCH}/TM
  248. ! local temporary meteo archive:
  249. my.meteo.dir : ${my.scratch}/METEO
  250. ! permanent archives to search for meteo files:
  251. my.meteo.search : ecfs:/nlh/TM/meteo
  252. my.meteo.nc.search : ecfs:/nlh/TM/meteo-nc
  253. ! extra install tasks:
  254. my.install.tasks :