Skip to content

Latest commit

 

History

History
153 lines (101 loc) · 3.68 KB

README.md

File metadata and controls

153 lines (101 loc) · 3.68 KB

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 
cd 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

Run installation script for input data sample ./install_sampledata.sh

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

If install_sampledata.sh not used, set path to sample data ./setpath_griddata.sh

Set path to output folder ./install_cmorout.sh

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

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

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 mpirun -n 8 ./noresm2cmor3_mpi