noresm2cmor ----------- 1. General ---------- noresm2cmor is a FORTRAN based command line tool for post-processing NorESM output using the Climate Model Output Rewriter (cmor) libraries. System, model, experiment and variable information are set in namelist files which noresm2cmor reads during its execution. 2. Installation --------------- 2.1 Download Download noresm2cmor with git clone https://github.com/NorwegianClimateCentre/noresm2cmor 2.2 Build Change directory to noresm2cmor/build/ Make a copy of Makefile.nird_intel - e.g., Makefile.xxx - and customize your make file. IMPORTANT: The build of noresm2cmor requires the fortran version of the cmor-library (see https://pcmdi.github.io/cmor-site/download.htm for download instructions). Build with make –f Makefile.xxx 2.3 Installation of grid data and sample input (use only if data not available) Change directory to noresm2cmor/scripts Run installation script for grid data ./install_griddata.sh <absolute path to folder where grid data should be stored> Run installation script for input data sample ./install_sampledata.sh <absolute path to folder where sample input should be stored> 2.4 Set paths to grid data, sample data and output folder Change directory to noresm2cmor/scripts If install_griddata.sh not used, set path to grid data ./setpath_griddata.sh <absolute path to folder where grid data is stored> If install_sampledata.sh not used, set path to sample data ./setpath_griddata.sh <absolute path to folder where sample input is stored> Set path to output folder ./install_cmorout.sh <absolute path to folder where CMOR output should be stored> 3 Testing of CMORization on sample data --------------------------------------- Change directory to noresm2cmor/scripts Run CMORization test with ./cmorize_sampledata.sh 4. General usage of noresm2cmor binary executable ------------------------------------------------- NORSTORE: Load modules . /usr/share/Modules/init/sh module unload netcdf gcc hdf module load gcc/4.7.2 or . /usr/share/Modules/init/sh module unload netcdf gcc hdf module load netcdf.intel/4.4.0 udunits/2.2.17 uuid/1.5.1 depending on whether noresm2cmor was compiled with intel or gnu. NIRD: Make intel environment available and increase stack size source /opt/intel/compilers_and_libraries/linux/bin/compilervars.sh -arch intel64 -platform linux ulimit -s unlimited Change directory to folder with executable cd noresm2cmor/bin Start CMORization with ./noresm2cmor <path to noresm2cmor's namelist file> or ./noresm2cmor3 <path to noresm2cmor3's namelist file> E.g. ./noresm2cmor ../namelists/noresm2cmor_CMIP5_NorESM1-M_historical_r1i1p1.nml ./noresm2cmor3 ../namelists/noresm2cmor3_CMIP5_NorESM1-M_historical_r1i1p1.nml Call noresm2cmor or noresm2cmor3 without argument to prompt syntax. 5. Easy CMORization with cmorize_generic.sh wrapper script ---------------------------------------------------------- Change directory to noresm2cmor/scripts Start CMORization with ./cmorize_generic.sh <absolute path to NorESM case folder> <start year> <end year> E.g. ./cmorize_generic.sh `pwd`/../data/sampledata/N20TRAERCN_f19_g16_01 2000 2000 6. Parallel CMORization ----------------------- NORSTORE (only CMOR2 parallel support): Load modules with module load intel/2017.1 openmpi.intel/1.10.2 Compile with cd build make -f Makefile_cmor2mpi.norstore_intel CMORize (e.g. using 8 tasks) with cd ../bin export I_MPI_WAIT_MODE=1 mpirun -n 8 noresm2cmor_mpi <path to namelist> NIRD: Compile with cd build make -f Makefile_cmor2mpi.nird_intel make -f Makefile_cmor3mpi.nird_intel CMORize (e.g. using 8 tasks) with cd ../bin export I_MPI_WAIT_MODE=1 mpirun -n 8 noresm2cmor_mpi <path to namelist> mpirun -n 8 noresm2cmor3_mpi <path to namelist>