!=============================================== ! compiler information !=============================================== ! template settings for GCC suite: #include base/${my.branch}/rc/pycasso-compiler-gfortran-4.4.7.rc ! Problem with (non-standard) system routines 'Exit_' and 'Sleep_' on ECMWF : ! these do not have the underscores here. Flag '-qnoextname' resets to the ! official names again, but let linking with HDF fail. ! Therefore, a marco __ecmwf__ is now defined to distuinguish in the code ! between the various XLF impelementations. ! my.default.fflags : -WF,-D__ecmwf__ !=============================================== ! libraries !=============================================== ! location of installed user libraries: APPS_HOME : /usr/local/apps ! adressing mode: !AMODE : ILP32 AMODE : LP64 ! Z library (used for compression in HDF) ZLIB_VERSION : 1.2.7 ZLIB_HOME : ${APPS_HOME}/zlib/${ZLIB_VERSION}/${AMODE} compiler.lib.z.fflags : compiler.lib.z.libs : -L${ZLIB_HOME}/lib -lz ! JPEG library (used for compression in HDF) compiler.lib.jpeg.fflags : ${JASPER_INCLUDE} compiler.lib.jpeg.libs : ${JASPER_LIB} ! SZ library (used for compression in HDF) SZIP_VERSION : 2.1 SZIP_HOME : ${APPS_HOME}/szip/${SZIP_VERSION}/${AMODE} compiler.lib.sz.fflags : -I${SZIP_HOME}/include compiler.lib.sz.libs : -L${SZIP_HOME}/lib -lsz -Wl,-rpath -Wl,${SZIP_HOME}/lib ! HDF4 library: HDF_VERSION : 4.2.9 HDF_HOME : ${APPS_HOME}/hdf/${HDF_VERSION}/${AMODE} compiler.lib.hdf4.fflags : -I${HDF_HOME}/include compiler.lib.hdf4.libs : -L${HDF_HOME}/lib -lmfhdf -ldf ! HDF5 library: HDF5_VERSION : 1.8.10p1 HDF5_HOME : ${APPS_HOME}/hdf5/${HDF5_VERSION}/${AMODE} compiler.lib.hdf5.fflags : -I${HDF5_HOME}/include compiler.lib.hdf5.libs : -L${HDF5_HOME}/lib -lhdf5_hl -lhdf5 ! NetCDF library: !NETCDF_VERSION : netCDF/4.0.1 !NETCDF_HOME : ${APPS_HOME}/${NETCDF_VERSION}/${AMODE} !compiler.lib.netcdf.fflags : -I${NETCDF_HOME}/include !compiler.lib.netcdf.libs : -L${NETCDF_HOME}/lib -lnetcdf compiler.lib.netcdf.fflags : -I${NETCDF_INCLUDE} compiler.lib.netcdf.libs : -L${NETCDF_LIB} ! NetCDF4 library: !NETCDF4_VERSION : netcdf4/4.0.1 !NETCDF4_HOME : ${APPS_HOME}/${NETCDF4_VERSION}/${AMODE} !compiler.lib.netcdf4.fflags : -I${NETCDF4_HOME}/include !compiler.lib.netcdf4.libs : -L${NETCDF4_HOME}/lib -lnetcdf compiler.lib.netcdf4.fflags : -I${NETCDF_INCLUDE} compiler.lib.netcdf4.libs : -L${NETCDF_LIB} !! UDUNITS library: !UDUNITS_VERSION : udunits/1.12.9 !UDUNITS_HOME : ${APPS_HOME}/${UDUNITS_VERSION}/${AMODE} !compiler.lib.udunits.fflags : -I${UDUNITS_HOME}/include !compiler.lib.udunits.libs : -L${UDUNITS_HOME}/lib -ludunits ! GRIB library: ! do not use the standard variable: ! EMOSLIB = -L/usr/local/lib -lemos.new.R32.D64.I32 -lxlf90 -lxlopt ! but rather the real(8) version: !EMOS_VERSION : !EMOS_HOME : /usr/local !compiler.lib.grib.fflags : !compiler.lib.grib.libs : -L${EMOS_HOME}/lib -lemos.R64.D64.I32 -lxlf90 compiler.lib.grib.fflags : compiler.lib.grib.libs : ${EMOSLIB} !! Lapack library: !compiler.lib.lapack.fflags : !compiler.lib.lapack.libs : ${LAPACKLIB_OPT} !=============================================== ! settings for LoadLeveler queue !=============================================== !! queue system (bsub,loadleveler) !queue : loadleveler ! !! passed directly: !queue.ll.submit.options : ! !!------------------------------------------------ !! ** queue options with same value for all steps: !!------------------------------------------------ ! !! space seperated list: !queue.ll.options.default : job_name account_no notification initialdir shell ! !! job name: !queue.ll.option.default.job_name : ${job.name} ! !! acount name for payment ... !queue.ll.option.default.account_no : ${my.queue.account} ! !! when to send emails : always | error | start | never | complete* !queue.ll.option.default.notification : never ! !! run directory: !queue.ll.option.default.initialdir : ${rundir} ! !! shell of job script: !queue.ll.option.default.shell : /bin/sh ! !!------------------------------------------------ !! ** queue options with different values per step: !!------------------------------------------------ ! !! list options per step: !queue.ll.options.init : step_name output error class job_type queue !queue.ll.options.run : step_name dependency output error class job_type environment queue !queue.ll.options.done : step_name dependency output error class job_type queue ! !! ~ step init options ! !queue.ll.option.init.step_name : init !queue.ll.option.init.output : !queue.ll.option.init.error : !queue.ll.option.init.class : normal !queue.ll.option.init.job_type : serial !queue.ll.option.init.queue : ! !! ~ step run optionsueue.loadleveler.outputdir : ${rundir} !! Run classes on ECMWF/ecgate !! !! normal : 3 hr CPU, 1 GB mem !! long : 6 hr CPU, 2 GB mem !! !queue.ll.option.run.step_name : run !#if "init" in "${job.steps}" : !queue.ll.option.run.dependency : (init == 0) !#else : !queue.ll.option.run.dependency : !#endif !queue.ll.option.run.output : !queue.ll.option.run.error : !queue.ll.option.run.class : normal !queue.ll.option.run.job_type : serial !queue.ll.option.run.environment : UDUNITS_PATH = ${UDUNITS_PATH} !queue.ll.option.run.queue : ! !! ~ step done options ! !queue.ll.option.done.step_name : done !#if "run" in "${job.steps}" : !queue.ll.option.done.dependency : (run == 0) !#elif "init" in "${job.steps}" : !queue.ll.option.done.dependency : (init == 0) !#else : !queue.ll.option.done.dependency : !#endif !queue.ll.option.done.output : !queue.ll.option.done.error : !queue.ll.option.done.class : normal !queue.ll.option.done.job_type : serial !queue.ll.option.done.queue : ! ! Settings for SLURM job manager - for details and other options: "man sbatch" or "web documentation" ! queue : slurm ! (1) passed directly (ie "as is" at the command line) !------------------------------------------------------------------ ! (--share or -s for example to share node(s) with other jobs) ! add here also the long options queue.slurm.submit.options : !queue.slurm.submit.options : --share ! Note that this is added to the 'submit.options' key value from the pycasso-tm5-expert.rc ! (2) Short options set by end user (and processed by submit_tm5_tools.py script !---------------------------------------------- !! first, list of queue options (same for each step): !queue.slurm.options.default : J N p t ! !! job name: !queue.slurm.option.default.J : ${job.name} ! !! minimum number of node !queue.slurm.option.default.N : 1 !! ${slurm.nnode} ! !!queue.slurm.option.run.c : 1 ! !! maximum number of tasks (but @workshop, was told to use it as number of proc... over-allocate?) !!queue.slurm.option.n : ! !! tasks per node !!queue.slurm.option.tpn : ! ensure correct environment for init step queue.slurm.options.init : J n e o queue.slurm.option.init.J : ${job.name} queue.slurm.option.init.n : 1 queue.slurm.option.init.o : queue.slurm.option.init.e : ! ensure correct environment for run step queue.slurm.options.run : J N n c e o queue.slurm.option.run.J : ${job.name} queue.slurm.option.run.N : 1 queue.slurm.option.run.n : ${par.ntask} queue.slurm.option.run.c : ${par.nthread} !queue.slurm.option.run.t : ${ll.wall_clock_limit} queue.slurm.option.run.o : queue.slurm.option.run.e : ! ensure correct environment for done step queue.slurm.options.done : J n e o queue.slurm.option.done.J : ${job.name} !queue.slurm.option.done.N : 1 queue.slurm.option.done.n : 1 !queue.slurm.option.done.p : short !queue.slurm.option.done.t : 00:10:00 queue.slurm.option.done.o : queue.slurm.option.done.e : !! list of node names. Can be simple: neuron224 !! or complicated: mynode[1-5,7,..] !!queue.slurm.option.w : ${slurm.nodename} ! !! !!queue.slurm.option.s: F ! !! partition !queue.slurm.option.default.p : normal !=============================================== ! maker !=============================================== ! make command; ! the setup script will insert the 'build.jobs' specified in the expert.rc ! or passed as argument to the setup script: ! maker : gmake -j %{build.jobs} !=============================================== ! MPI runner !=============================================== ! no parallel support on this machine ... !=============================================== ! debugger !=============================================== ! debugger type: totalview | idb | kdbg debugger : totalview ! command for debugger: debugger.command : totalview -searchPath=${build.sourcedir} !=============================================== ! model data !=============================================== ! the user scratch directory: my.scratch : ${SCRATCH} ! base path to various data files: my.data.dir : ${SCRATCH}/TM ! local temporary meteo archive: my.meteo.dir : ${my.scratch}/METEO ! permanent archives to search for meteo files: my.meteo.search : ecfs:/nlh/TM/meteo my.meteo.nc.search : ecfs:/nlh/TM/meteo-nc ! extra install tasks: my.install.tasks :