123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429 |
- !===============================================
- ! compiler information
- !===============================================
- ! Do not include compiler settings from standard file,
- ! e.g. pycasso-compiler-xlf-12.1.rc,
- ! since the names of the mpi wrappers differ per machine ...
- ! (AJS, 2012-05)
- ! ** compiler names
- ! check ...
- #if "fortran/ibm/13.1" not in "${LOADEDMODULES}"
- #error Problems with OpenMP found for older XLF compiler, enable newer version using: module load fortran/ibm/13.1
- #endif
- ! standard compiler:
- compiler.fc : xlf95
- ! some files require f77 compiler:
- compiler.f77 : xlf
- ! idem for thread-safe compilation, as required for compilation with OpenMP support ;
- ! note that OpenMP also requires compiler flag '-qsmp=omp' !
- compiler.fc.openmp : ${compiler.fc}_r
- ! compilers for MPI programs; ensure that it uses xlf9*, and xlf ...
- mpi.compiler.fc : mpfort -compiler ${compiler.fc}
- mpi.compiler.fc.openmp : mpfort -compiler ${compiler.fc.openmp}
- ! ** compiler flags
- ! specify flag to retrieve version if different from '-v'
- compiler.getversion_flag : -qversion
- ! to define macro's:
- compiler.defineflag : -WF,-D
- ! default compiler flags:
- ! o -w : Suppresses informational, language-level and warning messages.
- compiler.flags.default.fflags : -w
- compiler.flags.default.ldflags :
- compiler.flags.real8.fflags : -qrealsize=8
- compiler.flags.real8.ldflags :
- compiler.flags.mpi.fflags :
- compiler.flags.mpi.ldflags :
- compiler.flags.openmp.fflags : -qsmp=omp
- compiler.flags.openmp.ldflags :
- compiler.flags.optim-none.fflags : -O0
- compiler.flags.optim-none.ldflags :
- compiler.flags.optim-strict.fflags : -qstrict
- compiler.flags.optim-strict.ldflags :
- compiler.flags.optim-fast.fflags : -O3 -qarch=auto
- compiler.flags.optim-fast.ldflags : -O3 -qarch=auto
- compiler.flags.optim-vfast.fflags : -O5 -qarch=auto
- compiler.flags.optim-vfast.ldflags : -O5 -qarch=auto
- ! 24 Mar 2011 - P. Le Sager : Added sigtrap to use default trap
- ! handler (and to get no core files) and -g to get traceback with line
- ! number. Added overflow and NaN to list of traps.
- !
- ! It is **NOT** recommended to add -qinitauto=FF with -qflttrap=nanq,
- ! since there are several uninitialized variables by design in TM5
- ! that are just fine (like in unbounded do statement!)
- ! Prior to 24/3/2011:
- !compiler.flags.check-all.fflags : -qcheck -qundef -qflttrap=zerodivide:invalid:enable
- compiler.flags.check-all.fflags : -qsigtrap -qflttrap=enable:inv:ov:zero:nanq -C -g
- compiler.flags.check-all.ldflags :
- compiler.flags.debug.fflags : -qdbg -qfullpath
- compiler.flags.debug.ldflags :
- !===============================================
- ! libraries
- !===============================================
- SARA : /sara/sw
- ! Z library (used for compression in HDF4)
- compiler.lib.z.fflags :
- compiler.lib.z.libs : -lz
- ! JPEG library (used for compression in HDF4)
- compiler.lib.jpeg.fflags :
- compiler.lib.jpeg.libs : -ljpeg
- ! SZ library (used for compression in HDF4)
- SZIP_MODULE : szip/2.1
- compiler.lib.sz.fflags : -I${SARA_SZIP_ROOT}/include
- compiler.lib.sz.libs : -L${SARA_SZIP_ROOT}/lib -lsz
- ! check ...
- #if "${SZIP_MODULE}" not in "${LOADEDMODULES}"
- #error Please load module '${SZIP_MODULE}' ...
- #endif
- ! HDF4 library; use version without netcdf support ("no-netcdf")
- ! to avoid probles when compiling in combination with NetCDF libraries:
- HDF4_MODULE : hdf4nn/4.2
- !compiler.lib.hdf4.fflags : -I${SARA_HDF4_INCLUDE}
- !compiler.lib.hdf4.libs : -L${SARA_HDF4_LIB}/lib -lmfhdf -ldf
- compiler.lib.hdf4.fflags : -I${SARA}/${HDF4_MODULE}/include
- compiler.lib.hdf4.libs : -L${SARA}/${HDF4_MODULE}/lib -lmfhdf -ldf
- ! check ...
- #if "${HDF4_MODULE}" not in "${LOADEDMODULES}"
- #error Please load module '${HDF4_MODULE}' ...
- #endif
- ! HDF5 library:
- HDF5_MODULE : hdf5/1.8.6
- !compiler.lib.hdf5.fflags : -I${SARA_HDF5_INCLUDE}/include
- !compiler.lib.hdf5.libs : -L${SARA_HDF5_LIB}/lib -lhdf5_hl -lhdf5
- compiler.lib.hdf5.fflags : -I${SARA}/${HDF5_MODULE}/include
- compiler.lib.hdf5.libs : -L${SARA}/${HDF5_MODULE}/lib -lhdf5_hl -lhdf5
- ! HDF5 library with parallel features:
- HDF5_PAR_MODULE : hdf5-mp/1.8.2
- HDF5_PAR_MODULE2 : hdf5/1.8.2pp
- !HDF5_PAR_MODULE : hdf5-mp/1.8.7
- !compiler.lib.hdf5_par.fflags : -I${SARA_HDF5_INCLUDE}/include
- !compiler.lib.hdf5_par.libs : -L${SARA_HDF5_LIB}/lib -lhdf5_hl -lhdf5 -lgpfs -lcurl
- compiler.lib.hdf5_par.fflags : -I${SARA}/${HDF5_PAR_MODULE2}/include
- compiler.lib.hdf5_par.libs : -L${SARA}/${HDF5_PAR_MODULE2}/lib -lhdf5_hl -lhdf5 -lgpfs -lcurl
- ! check ...
- #if "${par.mpi}" in ["T","True"] :
- #if "${HDF5_PAR_MODULE}" not in "${LOADEDMODULES}"
- #error Please load module '${HDF5_PAR_MODULE}' ...
- #endif
- #else
- #if "${HDF5_MODULE}" not in "${LOADEDMODULES}"
- #error Please load module '${HDF5_MODULE}' ...
- #endif
- #endif
- !! NetCDF library:
- !NETCDF_MODULE : netcdf/4.0.1
- !compiler.lib.netcdf.fflags : -I${SARA_NETCDF_ROOT}/include
- !compiler.lib.netcdf.libs : -L${SARA_NETCDF_ROOT}/lib -lnetcdff -lnetcdf
- ! NetCDF4 library:
- NETCDF4_MODULE : netcdf/4.1.2
- !compiler.lib.netcdf4.fflags : -I${SARA_NETCDF_ROOT}/include
- !compiler.lib.netcdf4.libs : -L${SARA_NETCDF_ROOT}/lib -lnetcdff -lnetcdf
- compiler.lib.netcdf4.fflags : -I${SARA}/${NETCDF4_MODULE}/include
- compiler.lib.netcdf4.libs : -L${SARA}/${NETCDF4_MODULE}/lib -lnetcdff -lnetcdf
- ! NetCDF4 library with parallel features:
- ! ~ oldest properly working version:
- !NETCDF4_PAR_MODULE : netcdf-mp/4.0.1
- ! ~ newer versions using 'NF90_MPIIO' creation mode;
- ! ensure that you have the latest 'mdf.F90' module
- !NETCDF4_PAR_MODULE : netcdf-mp/4.1.2
- NETCDF4_PAR_MODULE : netcdf-mp/4.1.3
- !compiler.lib.netcdf4_par.fflags : -I${SARA_NETCDF_ROOT}/include
- !compiler.lib.netcdf4_par.libs : -L${SARA_NETCDF_ROOT}/lib -lnetcdff -lnetcdf
- compiler.lib.netcdf4_par.fflags : -I${SARA}/${NETCDF4_PAR_MODULE}/include
- compiler.lib.netcdf4_par.libs : -L${SARA}/${NETCDF4_PAR_MODULE}/lib -lnetcdff -lnetcdf
- ! check ...
- #if "${par.mpi}" in ["T","True"] :
- #if "${NETCDF4_PAR_MODULE}" not in "${LOADEDMODULES}"
- #error Please load module '${NETCDF4_PAR_MODULE}' ...
- #endif
- #else
- #if "${NETCDF4_MODULE}" not in "${LOADEDMODULES}"
- #error Please load module '${NETCDF4_MODULE}' ...
- #endif
- #endif
- ! MPI library:
- compiler.lib.mpi.fflags :
- compiler.lib.mpi.libs :
- ! GRIB library:
- !GRIBEX_HOME : /usr
- !compiler.lib.grib.fflags : -I${GRIBEX_HOME}/include
- !compiler.lib.grib.libs : -L${GRIBEX_HOME}/lib -lgribex
- !
- ! Lapack library:
- ! -lessl -lblacs # serial
- ! -lesslsmp -lblacssmp # parallel with OpenMP
- ! -lessl -lpessl -lblacs # parallel with MPI
- ! -lesslsmp -lpesslsmp -lblacssmp # parallel with MPI and OpenMP
- !
- #if "${par.openmp}" in ["T","True"] :
- my.essl.ext : smp
- #else
- my.essl.ext :
- #endif
- #if "${par.mpi}" in ["T","True"] :
- my.pessl : -lpessl${my.essl.ext}
- #else
- my.pessl :
- #endif
- !
- !compiler.lib.lapack.fflags :
- !compiler.lib.lapack.libs : -lessl${my.essl.ext} ${my.pessl} -lblacs${my.essl.ext}
- ! LAPACK library:
- LAPACK_HOME : /sara/sw/lapack/3.4.1/CCI/xlf13.1
- compiler.lib.lapack.fflags : -I${LAPACK_HOME}/include
- compiler.lib.lapack.libs : -L${LAPACK_HOME}/lib -llapack
- !-L/home/ivdvelde/install/lapack-3.4.1/BLAS/SRC -lessl
- ! TotalView memory debugging:
- !TV_VERSION : 8.9.0-1
- !TV_ARCH : rs6000
- !TV_HOME : ${TV_DIR}.${TV_VERSION}/${TV_ARCH}
- !TV_HOME_MR : /ms_perm/JRC/jrr/opt/totalview.${TV_VERSION}/${TV_ARCH}
- !compiler.lib.tv.fflags :
- !compiler.lib.tv.libs : -L${TV_HOME_MR}/lib -L${TV_HOME}/lib ${TV_HOME}/lib/aix_malloctype64_5.o
- !===============================================
- ! 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 notification initialdir account_no
- ! job name:
- queue.ll.option.default.job_name : ${job.name}
- ! when to send emails : always | error | start | never | complete*
- queue.ll.option.default.notification : never
- ! run directory:
- queue.ll.option.default.initialdir : ${rundir}
- ! account (to overwrite default one attached to $USER)
- queue.ll.option.default.account_no : ${my.queue.account}
- !------------------------------------------------
- ! ** queue options with different values per step:
- !------------------------------------------------
- ! list options per step:
- queue.ll.options.init : step_name output error job_type node_usage queue
- !queue.ll.options.run : step_name dependency output error job_type node_usage node tasks_per_node environment wall_clock_limit queue
- queue.ll.options.run : step_name dependency output error job_type node_usage node tasks_per_node wall_clock_limit queue
- queue.ll.options.done : step_name dependency output error job_type node_usage queue
- ! ~ step init options
- queue.ll.option.init.step_name : init
- queue.ll.option.init.output : <auto>
- queue.ll.option.init.error : <auto>
- queue.ll.option.init.job_type : serial
- queue.ll.option.init.node_usage : shared
- queue.ll.option.init.queue :
- ! ~ step run options
- ! set number of tasks, trap non-MPI case:
- #if "${par.mpi}" in ["T","True"] :
- my.ll.ntask : ${par.ntask}
- #else
- my.ll.ntask : 1
- #endif
- ! set number of threads, trap non-OpenMP case:
- #if "${par.openmp}" in ["T","True"] :
- my.ll.nthread : ${par.nthread}
- #else
- my.ll.nthread : 1
- #endif
- queue.ll.option.run.step_name : run
- #if "init" in "${job.steps}".split() :
- queue.ll.option.run.dependency : (init == 0)
- #else :
- queue.ll.option.run.dependency : <none>
- #endif
- queue.ll.option.run.output : <auto>
- queue.ll.option.run.error : <auto>
- #if ${my.ll.ntask} > 1 :
- queue.ll.option.run.job_type : parallel
- queue.ll.option.run.node : 1 ! ok up to 32 tasks ...
- queue.ll.option.run.tasks_per_node : ${my.ll.ntask} ! ok up to 32 tasks ...
- #else
- queue.ll.option.run.job_type : serial
- queue.ll.option.run.node : <none> ! dummy ...
- queue.ll.option.run.tasks_per_node : <none> ! dummy ...
- #endif
- queue.ll.option.run.node_usage : not_shared
- !queue.ll.option.run.node_usage : shared
- ! ensure correct environment:
- queue.ll.option.run.environment :
- !OMP_NUM_THREADS = ${my.ll.nthread}
- queue.ll.option.run.wall_clock_limit : ${loadleveler.wall_clock_limit}
- queue.ll.option.run.queue :
- ! ~ step done options
- queue.ll.option.done.step_name : done
- #if "run" in "${job.steps}".split() :
- queue.ll.option.done.dependency : (run == 0)
- #else :
- queue.ll.option.done.dependency : <none>
- #endif
- queue.ll.option.done.job_type : serial
- queue.ll.option.done.node_usage : shared
- queue.ll.option.done.output : <auto>
- queue.ll.option.done.error : <auto>
- queue.ll.option.done.queue :
- !===============================================
- ! 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
- !===============================================
- ! Parallel Operating Environment (POE)
- ! Common arguments:
- ! -procs procs # number of processors
- ! -cmdfile <commandfile>
- ! -hostfile <hostfile>
- ! -labelio {yes | no} # label standard output lines with pe id
- !
- mpirun.command : poe
- mpirun.args : -labelio yes -procs ${par.ntask} -cmdfile ${mpirun.cmdfile} -hostfile ${mpirun.hostfile}
- ! name of command and host files (empty for not written):
- mpirun.cmdfile : ${my.basename}.cmdfile
- mpirun.hostfile : ${my.basename}.hostfile
- !===============================================
- ! debugger
- !===============================================
- ! debugger type: totalview | idb | kdbg
- debugger : totalview
- ! command for debugger:
- debugger.command : totalview -searchPath=${build.sourcedir}
- !debugger.command : totalview
- !===============================================
- ! model data
- !===============================================
- ! the user scratch directory:
- !my.scratch : ${TMPDIR}
- my.scratch : /scratch/shared/${USER}
- ! main archive:
- my.archdir : /scratch/shared/krol/
- !my.archdir : /gpfs/mcn1/tmpprojects/tm5meteo
- ! base path to various data files:
- my.data.dir : ${my.archdir}/input
- ! local temporary meteo archive:
- !my.meteo.dir : ${my.archdir}/METEO
- !my.meteo.dir : /gpfs/mcn1/tmpprojects/tm5meteo
- !my.meteo.dir : /scratch/shared/ivdvelde/meteo
- my.meteo.dir : /scratch/shared/ivdvelde/meteo-od
- !my.meteo.dir : /archive/ARCHIVED_kelder/TM/meteo
- my.meteo.unpacked : F
- ! permanent archives to search for meteo files:
- !my.meteo.search : ecfs:/nlh/TM/meteo
- !my.meteo.search : ec:ecfs[nlh]:TM/meteo
- !my.meteo.search : /gpfs/mcn1/tmpprojects/tm5meteo /archive/krol/METEO /archive/ARCHIVED_kelder/TM/meteo /archive/noije/TM/meteo ! extra install tasks:
- !my.meteo.search : /archive/ARCHIVED_kelder/TM/meteo
- my.meteo.search : /scratch/shared/ivdvelde/meteo-od
- my.install.tasks :
|