pycasso-machine-sara-huygens.rc 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  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. ! Z library (used for compression in HDF4)
  63. compiler.lib.z.fflags :
  64. compiler.lib.z.libs : -lz
  65. ! JPEG library (used for compression in HDF4)
  66. compiler.lib.jpeg.fflags :
  67. compiler.lib.jpeg.libs : -ljpeg
  68. ! SZ library (used for compression in HDF4)
  69. SZIP_MODULE : szip/2.1
  70. compiler.lib.sz.fflags :
  71. compiler.lib.sz.libs : -L${SARA_SZIP_ROOT}/lib -lsz
  72. ! check ...
  73. #if "${SZIP_MODULE}" not in "${LOADEDMODULES}"
  74. #error Please load module '${SZIP_MODULE}' ...
  75. #endif
  76. ! HDF4 library; use version without netcdf support ("no-netcdf")
  77. ! to avoid probles when compiling in combination with NetCDF libraries:
  78. HDF4_MODULE : hdf4nn/4.2
  79. compiler.lib.hdf4.fflags : -I${SARA_HDF4_INCLUDE}
  80. compiler.lib.hdf4.libs : -L${SARA)HDF4_LIB}/lib -lmfhdf -ldf
  81. ! check ...
  82. #if "${HDF4_MODULE}" not in "${LOADEDMODULES}"
  83. #error Please load module '${HDF4_MODULE}' ...
  84. #endif
  85. ! HDF5 library:
  86. HDF5_MODULE : hdf5/1.8.6
  87. compiler.lib.hdf5.fflags : -I${SARA_HDF5_INCLUDE}
  88. compiler.lib.hdf5.libs : -L${SARA_HDF5_LIB}/lib -lhdf5_hl -lhdf5
  89. ! HDF5 library with parallel features:
  90. HDF5_PAR_MODULE : hdf5-mp/1.8.2
  91. !HDF5_PAR_MODULE : hdf5-mp/1.8.7
  92. compiler.lib.hdf5_par.fflags : -I${SARA_HDF5_INCLUDE}/include
  93. compiler.lib.hdf5_par.libs : -L${SARA_HDF5_LIB}/lib -lhdf5_hl -lhdf5 -lgpfs -lcurl
  94. ! check ...
  95. #if "${par.mpi}" in ["T","True"] :
  96. #if "${HDF5_PAR_MODULE}" not in "${LOADEDMODULES}"
  97. #error Please load module '${HDF5_PAR_MODULE}' ...
  98. #endif
  99. #else
  100. #if "${HDF5_MODULE}" not in "${LOADEDMODULES}"
  101. #error Please load module '${HDF5_MODULE}' ...
  102. #endif
  103. #endif
  104. !! NetCDF library:
  105. !NETCDF_MODULE : netcdf/4.0.1
  106. !compiler.lib.netcdf.fflags : -I${SARA_NETCDF_ROOT}/include
  107. !compiler.lib.netcdf.libs : -L${SARA_NETCDF_ROOT}/lib -lnetcdff -lnetcdf
  108. ! NetCDF4 library:
  109. NETCDF4_MODULE : netcdf/4.1.2
  110. compiler.lib.netcdf4.fflags : -I${SARA_NETCDF_ROOT}/include
  111. compiler.lib.netcdf4.libs : -L${SARA_NETCDF_ROOT}/lib -lnetcdff -lnetcdf
  112. ! NetCDF4 library with parallel features:
  113. ! ~ oldest properly working version:
  114. NETCDF4_PAR_MODULE : netcdf-mp/4.0.1
  115. ! ~ newer versions using 'NF90_MPIIO' creation mode;
  116. ! ensure that you have the latest 'mdf.F90' module
  117. !NETCDF4_PAR_MODULE : netcdf-mp/4.1.2
  118. !NETCDF4_PAR_MODULE : netcdf-mp/4.1.3
  119. compiler.lib.netcdf4_par.fflags : -I${SARA_NETCDF_ROOT}/include
  120. compiler.lib.netcdf4_par.libs : -L${SARA_NETCDF_ROOT}/lib -lnetcdff -lnetcdf
  121. ! check ...
  122. #if "${par.mpi}" in ["T","True"] :
  123. #if "${NETCDF4_PAR_MODULE}" not in "${LOADEDMODULES}"
  124. #error Please load module '${NETCDF4_PAR_MODULE}' ...
  125. #endif
  126. #else
  127. #if "${NETCDF4_MODULE}" not in "${LOADEDMODULES}"
  128. #error Please load module '${NETCDF4_MODULE}' ...
  129. #endif
  130. #endif
  131. ! MPI library:
  132. compiler.lib.mpi.fflags :
  133. compiler.lib.mpi.libs :
  134. ! GRIB library:
  135. !GRIBEX_HOME : /usr
  136. !compiler.lib.grib.fflags : -I${GRIBEX_HOME}/include
  137. !compiler.lib.grib.libs : -L${GRIBEX_HOME}/lib -lgribex
  138. !
  139. ! Lapack library:
  140. ! -lessl -lblacs # serial
  141. ! -lesslsmp -lblacssmp # parallel with OpenMP
  142. ! -lessl -lpessl -lblacs # parallel with MPI
  143. ! -lesslsmp -lpesslsmp -lblacssmp # parallel with MPI and OpenMP
  144. !
  145. #if "${par.openmp}" in ["T","True"] :
  146. my.essl.ext : smp
  147. #else
  148. my.essl.ext :
  149. #endif
  150. #if "${par.mpi}" in ["T","True"] :
  151. my.pessl : -lpessl${my.essl.ext}
  152. #else
  153. my.pessl :
  154. #endif
  155. !
  156. compiler.lib.lapack.fflags :
  157. compiler.lib.lapack.libs : -lessl${my.essl.ext} ${my.pessl} -lblacs${my.essl.ext}
  158. ! TotalView memory debugging:
  159. !TV_VERSION : 8.9.0-1
  160. !TV_ARCH : rs6000
  161. !TV_HOME : ${TV_DIR}.${TV_VERSION}/${TV_ARCH}
  162. !TV_HOME_MR : /ms_perm/JRC/jrr/opt/totalview.${TV_VERSION}/${TV_ARCH}
  163. !compiler.lib.tv.fflags :
  164. !compiler.lib.tv.libs : -L${TV_HOME_MR}/lib -L${TV_HOME}/lib ${TV_HOME}/lib/aix_malloctype64_5.o
  165. !===============================================
  166. ! settings for LoadLeveler queue
  167. !===============================================
  168. ! queue system (bsub,loadleveler)
  169. queue : loadleveler
  170. ! passed directly:
  171. queue.ll.submit.options :
  172. !------------------------------------------------
  173. ! ** queue options with same value for all steps:
  174. !------------------------------------------------
  175. ! space seperated list:
  176. queue.ll.options.default : job_name notification initialdir account_no
  177. ! job name:
  178. queue.ll.option.default.job_name : ${job.name}
  179. ! when to send emails : always | error | start | never | complete*
  180. queue.ll.option.default.notification : never
  181. ! run directory:
  182. queue.ll.option.default.initialdir : ${rundir}
  183. ! account (to overwrite default one attached to $USER)
  184. queue.ll.option.default.account_no : ${my.queue.account}
  185. !------------------------------------------------
  186. ! ** queue options with different values per step:
  187. !------------------------------------------------
  188. ! list options per step:
  189. queue.ll.options.init : step_name output error job_type node_usage queue
  190. queue.ll.options.run : step_name dependency output error job_type node_usage node tasks_per_node environment wall_clock_limit queue
  191. queue.ll.options.done : step_name dependency output error job_type node_usage queue
  192. ! ~ step init options
  193. queue.ll.option.init.step_name : init
  194. queue.ll.option.init.output : <auto>
  195. queue.ll.option.init.error : <auto>
  196. queue.ll.option.init.job_type : serial
  197. queue.ll.option.init.node_usage : shared
  198. queue.ll.option.init.queue :
  199. ! ~ step run options
  200. ! set number of tasks, trap non-MPI case:
  201. #if "${par.mpi}" in ["T","True"] :
  202. my.ll.ntask : ${par.ntask}
  203. #else
  204. my.ll.ntask : 1
  205. #endif
  206. ! set number of threads, trap non-OpenMP case:
  207. #if "${par.openmp}" in ["T","True"] :
  208. my.ll.nthread : ${par.nthread}
  209. #else
  210. my.ll.nthread : 1
  211. #endif
  212. queue.ll.option.run.step_name : run
  213. #if "init" in "${job.steps}".split() :
  214. queue.ll.option.run.dependency : (init == 0)
  215. #else :
  216. queue.ll.option.run.dependency : <none>
  217. #endif
  218. queue.ll.option.run.output : <auto>
  219. queue.ll.option.run.error : <auto>
  220. #if ${my.ll.ntask} > 1 :
  221. queue.ll.option.run.job_type : parallel
  222. queue.ll.option.run.node : 1 ! ok up to 32 tasks ...
  223. queue.ll.option.run.tasks_per_node : ${my.ll.ntask} ! ok up to 32 tasks ...
  224. #else
  225. queue.ll.option.run.job_type : serial
  226. queue.ll.option.run.node : <none> ! dummy ...
  227. queue.ll.option.run.tasks_per_node : <none> ! dummy ...
  228. #endif
  229. queue.ll.option.run.node_usage : shared
  230. ! ensure correct environment:
  231. queue.ll.option.run.environment : OMP_NUM_THREADS = ${my.ll.nthread}
  232. queue.ll.option.run.wall_clock_limit : ${loadleveler.wall_clock_limit}
  233. queue.ll.option.run.queue :
  234. ! ~ step done options
  235. queue.ll.option.done.step_name : done
  236. #if "run" in "${job.steps}".split() :
  237. queue.ll.option.done.dependency : (run == 0)
  238. #else :
  239. queue.ll.option.done.dependency : <none>
  240. #endif
  241. queue.ll.option.done.job_type : serial
  242. queue.ll.option.done.node_usage : shared
  243. queue.ll.option.done.output : <auto>
  244. queue.ll.option.done.error : <auto>
  245. queue.ll.option.done.queue :
  246. !===============================================
  247. ! maker
  248. !===============================================
  249. ! make command;
  250. ! the setup script will insert the 'build.jobs' specified in the expert.rc
  251. ! or passed as argument to the setup script:
  252. !
  253. maker : gmake -j %{build.jobs}
  254. !===============================================
  255. ! MPI runner
  256. !===============================================
  257. ! Parallel Operating Environment (POE)
  258. ! Common arguments:
  259. ! -procs procs # number of processors
  260. ! -cmdfile <commandfile>
  261. ! -hostfile <hostfile>
  262. ! -labelio {yes | no} # label standard output lines with pe id
  263. !
  264. mpirun.command : poe
  265. mpirun.args : -labelio yes -procs ${par.ntask} -cmdfile ${mpirun.cmdfile} -hostfile ${mpirun.hostfile}
  266. ! name of command and host files (empty for not written):
  267. mpirun.cmdfile : ${my.basename}.cmdfile
  268. mpirun.hostfile : ${my.basename}.hostfile
  269. !===============================================
  270. ! debugger
  271. !===============================================
  272. ! debugger type: totalview | idb | kdbg
  273. debugger : totalview
  274. ! command for debugger:
  275. debugger.command : totalview -searchPath=${build.sourcedir}
  276. !debugger.command : totalview
  277. !===============================================
  278. ! model data
  279. !===============================================
  280. ! the user scratch directory:
  281. !my.scratch : ${TMPDIR}
  282. my.scratch : /scratch/shared/${USER}
  283. ! main archive:
  284. my.archdir : /scratch/shared/krol/
  285. ! base path to various data files:
  286. my.data.dir : ${my.archdir}/input
  287. ! local temporary meteo archive:
  288. my.meteo.dir : ${my.archdir}/METEO
  289. my.meteo.unpacked : F
  290. ! permanent archives to search for meteo files:
  291. !my.meteo.search : ecfs:/nlh/TM/meteo
  292. !my.meteo.search : ec:ecfs[nlh]:TM/meteo
  293. my.meteo.search : /gpfs/mcn1/tmpprojects/tm5meteo /archive/krol/METEO /archive/ARCHIVED_kelder/TM/meteo /archive/noije/TM/meteo ! extra install tasks:
  294. my.install.tasks :