pycasso-machine-sara-huygens-ei-nc.rc 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440
  1. !===============================================
  2. ! compiler information
  3. !===============================================
  4. ! Do not include compiler settings from standard file,
  5. ! e.g. pycasso-compiler-xlf-12.1.rc,
  6. ! since the names of the mpi wrappers differ per machine ...
  7. ! (AJS, 2012-05)
  8. ! ** compiler names
  9. ! check ...
  10. #if "fortran/ibm/13.1" not in "${LOADEDMODULES}"
  11. #error Problems with OpenMP found for older XLF compiler, enable newer version using: module load fortran/ibm/13.1
  12. #endif
  13. ! standard compiler:
  14. compiler.fc : xlf95
  15. ! some files require f77 compiler:
  16. compiler.f77 : xlf
  17. ! idem for thread-safe compilation, as required for compilation with OpenMP support ;
  18. ! note that OpenMP also requires compiler flag '-qsmp=omp' !
  19. compiler.fc.openmp : ${compiler.fc}_r
  20. ! compilers for MPI programs; ensure that it uses xlf9*, and xlf ...
  21. mpi.compiler.fc : mpfort -compiler ${compiler.fc}
  22. mpi.compiler.fc.openmp : mpfort -compiler ${compiler.fc.openmp}
  23. ! ** compiler flags
  24. ! specify flag to retrieve version if different from '-v'
  25. compiler.getversion_flag : -qversion
  26. ! to define macro's:
  27. compiler.defineflag : -WF,-D
  28. ! default compiler flags:
  29. ! o -w : Suppresses informational, language-level and warning messages.
  30. compiler.flags.default.fflags : -w
  31. compiler.flags.default.ldflags :
  32. compiler.flags.real8.fflags : -qrealsize=8
  33. compiler.flags.real8.ldflags :
  34. compiler.flags.mpi.fflags :
  35. compiler.flags.mpi.ldflags :
  36. compiler.flags.openmp.fflags : -qsmp=omp
  37. compiler.flags.openmp.ldflags :
  38. compiler.flags.optim-none.fflags : -O0
  39. compiler.flags.optim-none.ldflags :
  40. compiler.flags.optim-strict.fflags : -qstrict
  41. compiler.flags.optim-strict.ldflags :
  42. compiler.flags.optim-fast.fflags : -O3 -qarch=auto
  43. compiler.flags.optim-fast.ldflags : -O3 -qarch=auto
  44. compiler.flags.optim-vfast.fflags : -O5 -qarch=auto
  45. compiler.flags.optim-vfast.ldflags : -O5 -qarch=auto
  46. ! 24 Mar 2011 - P. Le Sager : Added sigtrap to use default trap
  47. ! handler (and to get no core files) and -g to get traceback with line
  48. ! number. Added overflow and NaN to list of traps.
  49. !
  50. ! It is **NOT** recommended to add -qinitauto=FF with -qflttrap=nanq,
  51. ! since there are several uninitialized variables by design in TM5
  52. ! that are just fine (like in unbounded do statement!)
  53. ! Prior to 24/3/2011:
  54. !compiler.flags.check-all.fflags : -qcheck -qundef -qflttrap=zerodivide:invalid:enable
  55. compiler.flags.check-all.fflags : -qsigtrap -qflttrap=enable:inv:ov:zero:nanq -C -g
  56. compiler.flags.check-all.ldflags :
  57. compiler.flags.debug.fflags : -qdbg -qfullpath
  58. compiler.flags.debug.ldflags :
  59. !===============================================
  60. ! libraries
  61. !===============================================
  62. SARA : /sara/sw
  63. ! Z library (used for compression in HDF4)
  64. compiler.lib.z.fflags :
  65. compiler.lib.z.libs : -lz
  66. ! JPEG library (used for compression in HDF4)
  67. compiler.lib.jpeg.fflags :
  68. compiler.lib.jpeg.libs : -ljpeg
  69. ! SZ library (used for compression in HDF4)
  70. SZIP_MODULE : szip/2.1
  71. compiler.lib.sz.fflags : -I${SARA_SZIP_ROOT}/include
  72. compiler.lib.sz.libs : -L${SARA_SZIP_ROOT}/lib -lsz
  73. ! check ...
  74. #if "${SZIP_MODULE}" not in "${LOADEDMODULES}"
  75. #error Please load module '${SZIP_MODULE}' ...
  76. #endif
  77. ! HDF4 library; use version without netcdf support ("no-netcdf")
  78. ! to avoid probles when compiling in combination with NetCDF libraries:
  79. HDF4_MODULE : hdf4nn/4.2
  80. !compiler.lib.hdf4.fflags : -I${SARA_HDF4_INCLUDE}
  81. !compiler.lib.hdf4.libs : -L${SARA_HDF4_LIB}/lib -lmfhdf -ldf
  82. compiler.lib.hdf4.fflags : -I${SARA}/${HDF4_MODULE}/include
  83. compiler.lib.hdf4.libs : -L${SARA}/${HDF4_MODULE}/lib -lmfhdf -ldf
  84. ! check ...
  85. #if "${HDF4_MODULE}" not in "${LOADEDMODULES}"
  86. #error Please load module '${HDF4_MODULE}' ...
  87. #endif
  88. ! HDF5 library:
  89. HDF5_MODULE : hdf5/1.8.6
  90. !compiler.lib.hdf5.fflags : -I${SARA_HDF5_INCLUDE}/include
  91. !compiler.lib.hdf5.libs : -L${SARA_HDF5_LIB}/lib -lhdf5_hl -lhdf5
  92. compiler.lib.hdf5.fflags : -I${SARA}/${HDF5_MODULE}/include
  93. compiler.lib.hdf5.libs : -L${SARA}/${HDF5_MODULE}/lib -lhdf5_hl -lhdf5
  94. ! HDF5 library with parallel features:
  95. HDF5_PAR_MODULE : hdf5-mp/1.8.2
  96. HDF5_PAR_MODULE2 : hdf5/1.8.2pp
  97. !HDF5_PAR_MODULE : hdf5-mp/1.8.7
  98. !compiler.lib.hdf5_par.fflags : -I${SARA_HDF5_INCLUDE}/include
  99. !compiler.lib.hdf5_par.libs : -L${SARA_HDF5_LIB}/lib -lhdf5_hl -lhdf5 -lgpfs -lcurl
  100. compiler.lib.hdf5_par.fflags : -I${SARA}/${HDF5_PAR_MODULE2}/include
  101. compiler.lib.hdf5_par.libs : -L${SARA}/${HDF5_PAR_MODULE2}/lib -lhdf5_hl -lhdf5 -lgpfs -lcurl
  102. ! check ...
  103. #if "${par.mpi}" in ["T","True"] :
  104. #if "${HDF5_PAR_MODULE}" not in "${LOADEDMODULES}"
  105. #error Please load module '${HDF5_PAR_MODULE}' ...
  106. #endif
  107. #else
  108. #if "${HDF5_MODULE}" not in "${LOADEDMODULES}"
  109. #error Please load module '${HDF5_MODULE}' ...
  110. #endif
  111. #endif
  112. !! NetCDF library:
  113. !NETCDF_MODULE : netcdf/4.0.1
  114. !compiler.lib.netcdf.fflags : -I${SARA_NETCDF_ROOT}/include
  115. !compiler.lib.netcdf.libs : -L${SARA_NETCDF_ROOT}/lib -lnetcdff -lnetcdf
  116. ! NetCDF4 library:
  117. NETCDF4_MODULE : netcdf/4.1.2
  118. !compiler.lib.netcdf4.fflags : -I${SARA_NETCDF_ROOT}/include
  119. !compiler.lib.netcdf4.libs : -L${SARA_NETCDF_ROOT}/lib -lnetcdff -lnetcdf
  120. compiler.lib.netcdf4.fflags : -I${SARA}/${NETCDF4_MODULE}/include
  121. compiler.lib.netcdf4.libs : -L${SARA}/${NETCDF4_MODULE}/lib -lnetcdff -lnetcdf
  122. ! NetCDF4 library with parallel features:
  123. ! ~ oldest properly working version:
  124. !NETCDF4_PAR_MODULE : netcdf-mp/4.0.1
  125. ! ~ newer versions using 'NF90_MPIIO' creation mode;
  126. ! ensure that you have the latest 'mdf.F90' module
  127. !NETCDF4_PAR_MODULE : netcdf-mp/4.1.2
  128. NETCDF4_PAR_MODULE : netcdf-mp/4.1.3
  129. !compiler.lib.netcdf4_par.fflags : -I${SARA_NETCDF_ROOT}/include
  130. !compiler.lib.netcdf4_par.libs : -L${SARA_NETCDF_ROOT}/lib -lnetcdff -lnetcdf
  131. compiler.lib.netcdf4_par.fflags : -I${SARA}/${NETCDF4_PAR_MODULE}/include
  132. compiler.lib.netcdf4_par.libs : -L${SARA}/${NETCDF4_PAR_MODULE}/lib -lnetcdff -lnetcdf
  133. ! check ...
  134. #if "${par.mpi}" in ["T","True"] :
  135. #if "${NETCDF4_PAR_MODULE}" not in "${LOADEDMODULES}"
  136. #error Please load module '${NETCDF4_PAR_MODULE}' ...
  137. #endif
  138. #else
  139. #if "${NETCDF4_MODULE}" not in "${LOADEDMODULES}"
  140. #error Please load module '${NETCDF4_MODULE}' ...
  141. #endif
  142. #endif
  143. ! MPI library:
  144. compiler.lib.mpi.fflags :
  145. compiler.lib.mpi.libs :
  146. ! GRIB library:
  147. !GRIBEX_HOME : /usr
  148. !compiler.lib.grib.fflags : -I${GRIBEX_HOME}/include
  149. !compiler.lib.grib.libs : -L${GRIBEX_HOME}/lib -lgribex
  150. !
  151. ! Lapack library:
  152. ! -lessl -lblacs # serial
  153. ! -lesslsmp -lblacssmp # parallel with OpenMP
  154. ! -lessl -lpessl -lblacs # parallel with MPI
  155. ! -lesslsmp -lpesslsmp -lblacssmp # parallel with MPI and OpenMP
  156. !
  157. #if "${par.openmp}" in ["T","True"] :
  158. my.essl.ext : smp
  159. #else
  160. my.essl.ext :
  161. #endif
  162. #if "${par.mpi}" in ["T","True"] :
  163. my.pessl : -lpessl${my.essl.ext}
  164. #else
  165. my.pessl :
  166. #endif
  167. !
  168. !compiler.lib.lapack.fflags :
  169. !compiler.lib.lapack.libs : -lessl${my.essl.ext} ${my.pessl} -lblacs${my.essl.ext}
  170. ! LAPACK library:
  171. LAPACK_HOME : /sara/sw/lapack/3.4.1/CCI/xlf13.1
  172. compiler.lib.lapack.fflags : -I${LAPACK_HOME}/include
  173. compiler.lib.lapack.libs : -L${LAPACK_HOME}/lib -llapack
  174. !-L/home/ivdvelde/install/lapack-3.4.1/BLAS/SRC -lessl
  175. ! TotalView memory debugging:
  176. !TV_VERSION : 8.9.0-1
  177. !TV_ARCH : rs6000
  178. !TV_HOME : ${TV_DIR}.${TV_VERSION}/${TV_ARCH}
  179. !TV_HOME_MR : /ms_perm/JRC/jrr/opt/totalview.${TV_VERSION}/${TV_ARCH}
  180. !compiler.lib.tv.fflags :
  181. !compiler.lib.tv.libs : -L${TV_HOME_MR}/lib -L${TV_HOME}/lib ${TV_HOME}/lib/aix_malloctype64_5.o
  182. UDUNITS_HOME : /sara/sw/udunits/1.12.4
  183. compiler.lib.udunits.fflags : -I${UDUNITS_HOME}/include
  184. compiler.lib.udunits.libs : -L${UDUNITS_HOME}/lib -ludunits
  185. !===============================================
  186. ! settings for LoadLeveler queue
  187. !===============================================
  188. ! queue system (bsub,loadleveler)
  189. queue : loadleveler
  190. ! passed directly:
  191. queue.ll.submit.options :
  192. !------------------------------------------------
  193. ! ** queue options with same value for all steps:
  194. !------------------------------------------------
  195. ! space seperated list:
  196. queue.ll.options.default : job_name notification initialdir account_no
  197. ! job name:
  198. queue.ll.option.default.job_name : ${job.name}
  199. ! when to send emails : always | error | start | never | complete*
  200. queue.ll.option.default.notification : never
  201. ! run directory:
  202. queue.ll.option.default.initialdir : ${rundir}
  203. ! account (to overwrite default one attached to $USER)
  204. queue.ll.option.default.account_no : ${my.queue.account}
  205. !------------------------------------------------
  206. ! ** queue options with different values per step:
  207. !------------------------------------------------
  208. ! list options per step:
  209. queue.ll.options.init : step_name output error job_type node_usage queue
  210. !queue.ll.options.run : step_name dependency output error job_type node_usage node tasks_per_node environment wall_clock_limit queue
  211. queue.ll.options.run : step_name dependency output error job_type node_usage node tasks_per_node wall_clock_limit queue
  212. queue.ll.options.done : step_name dependency output error job_type node_usage queue
  213. ! ~ step init options
  214. queue.ll.option.init.step_name : init
  215. queue.ll.option.init.output : <auto>
  216. queue.ll.option.init.error : <auto>
  217. queue.ll.option.init.job_type : serial
  218. queue.ll.option.init.node_usage : shared
  219. queue.ll.option.init.queue :
  220. ! ~ step run options
  221. ! set number of tasks, trap non-MPI case:
  222. #if "${par.mpi}" in ["T","True"] :
  223. my.ll.ntask : ${par.ntask}
  224. #else
  225. my.ll.ntask : 1
  226. #endif
  227. ! set number of threads, trap non-OpenMP case:
  228. #if "${par.openmp}" in ["T","True"] :
  229. my.ll.nthread : ${par.nthread}
  230. #else
  231. my.ll.nthread : 1
  232. #endif
  233. queue.ll.option.run.step_name : run
  234. #if "init" in "${job.steps}".split() :
  235. queue.ll.option.run.dependency : (init == 0)
  236. #else :
  237. queue.ll.option.run.dependency : <none>
  238. #endif
  239. queue.ll.option.run.output : <auto>
  240. queue.ll.option.run.error : <auto>
  241. #if ${my.ll.ntask} > 1 :
  242. queue.ll.option.run.job_type : parallel
  243. queue.ll.option.run.node : 1 ! ok up to 32 tasks ...
  244. queue.ll.option.run.tasks_per_node : ${my.ll.ntask} ! ok up to 32 tasks ...
  245. #else
  246. queue.ll.option.run.job_type : serial
  247. queue.ll.option.run.node : <none> ! dummy ...
  248. queue.ll.option.run.tasks_per_node : <none> ! dummy ...
  249. #endif
  250. queue.ll.option.run.node_usage : not_shared
  251. !queue.ll.option.run.node_usage : shared
  252. ! ensure correct environment:
  253. queue.ll.option.run.environment :
  254. !OMP_NUM_THREADS = ${my.ll.nthread}
  255. queue.ll.option.run.wall_clock_limit : ${loadleveler.wall_clock_limit}
  256. queue.ll.option.run.queue :
  257. ! ~ step done options
  258. queue.ll.option.done.step_name : done
  259. #if "run" in "${job.steps}".split() :
  260. queue.ll.option.done.dependency : (run == 0)
  261. #else :
  262. queue.ll.option.done.dependency : <none>
  263. #endif
  264. queue.ll.option.done.job_type : serial
  265. queue.ll.option.done.node_usage : shared
  266. queue.ll.option.done.output : <auto>
  267. queue.ll.option.done.error : <auto>
  268. queue.ll.option.done.queue :
  269. !===============================================
  270. ! maker
  271. !===============================================
  272. ! make command;
  273. ! the setup script will insert the 'build.jobs' specified in the expert.rc
  274. ! or passed as argument to the setup script:
  275. !
  276. maker : gmake -j %{build.jobs}
  277. !===============================================
  278. ! MPI runner
  279. !===============================================
  280. ! Parallel Operating Environment (POE)
  281. ! Common arguments:
  282. ! -procs procs # number of processors
  283. ! -cmdfile <commandfile>
  284. ! -hostfile <hostfile>
  285. ! -labelio {yes | no} # label standard output lines with pe id
  286. !
  287. mpirun.command : poe
  288. mpirun.args : -labelio yes -procs ${par.ntask} -cmdfile ${mpirun.cmdfile} -hostfile ${mpirun.hostfile}
  289. ! name of command and host files (empty for not written):
  290. mpirun.cmdfile : ${my.basename}.cmdfile
  291. mpirun.hostfile : ${my.basename}.hostfile
  292. !===============================================
  293. ! debugger
  294. !===============================================
  295. ! debugger type: totalview | idb | kdbg
  296. debugger : totalview
  297. ! command for debugger:
  298. debugger.command : totalview -searchPath=${build.sourcedir}
  299. !debugger.command : totalview
  300. !===============================================
  301. ! model data
  302. !===============================================
  303. ! the user scratch directory:
  304. !my.scratch : ${TMPDIR}
  305. my.scratch : /scratch/shared/${USER}
  306. ! main archive:
  307. my.archdir : /scratch/shared/krol/
  308. !my.archdir : /gpfs/mcn1/tmpprojects/tm5meteo
  309. ! base path to various data files:
  310. my.data.dir : ${my.archdir}/input
  311. ! local temporary meteo archive:
  312. !my.meteo.dir : ${my.archdir}/METEO
  313. !my.meteo.dir : /gpfs/mcn1/tmpprojects/tm5meteo
  314. !my.meteo.dir : /scratch/shared/ivdvelde/meteo-ei
  315. !my.meteo.dir : /archive/ivdvelde/carbontracker/meteo-ei-nc
  316. my.meteo.dir : /archive/ivdvelde/carbontracker/meteo-ei-nc-eur
  317. !my.meteo.dir : /archive/ARCHIVED_kelder/TM/meteo
  318. my.meteo.unpacked : F
  319. ! permanent archives to search for meteo files:
  320. !my.meteo.search : ecfs:/nlh/TM/meteo
  321. !my.meteo.search : ec:ecfs[nlh]:TM/meteo
  322. !my.meteo.search : /gpfs/mcn1/tmpprojects/tm5meteo /archive/krol/METEO /archive/ARCHIVED_kelder/TM/meteo /archive/noije/TM/meteo ! extra install tasks:
  323. !my.meteo.search : /archive/ARCHIVED_kelder/TM/meteo
  324. my.meteo.search : /archive/ivdvelde/carbontracker/meteo-ei-nc
  325. my.install.tasks :