Version 1 (modified by ctlod, 13 years ago) (diff)

NEMO Validation Tool Kit

The full documentation is attached at the end of this page.

Context: the user made modifications in few modules of the NEMO code; he wants to check if these changes alter basic features such as the reproductibility, the restartability, the global memory and/or the time consuming and/or even results of the reference configurations ORCA2_LIM and GYRE.

The NEMO Validation Tool Kit (NVTK hereinafter) has been built to allow the user to perform a set of validation tests simply and quickly in using few commands. Here are summarised basic steps the user has to go through:

  1. Download and install the NVTK environment (to be done once)
  2. Compilation, job submission and assessment report

The user has to refer to the associated documentation to get details about the general organisation and scripts. Here we suppose the platform used is either the NEC-SX8 either the IBM-SP4 from the French computing center IDRIS, else the user will have to adapt some scripts (following instructions in part II-d Add a new target ?) once the NVTK environment will be downloaded.

A - Download and Install NVTK:


a. Downloading

  1. Once the modipsl architecture and the latest NEMO code is extracted under the TEST directory.
    > mkdir TEST
    > cd TEST
    > svn_ano 			(download the modipsl structure)
    > cd modipsl/util
    > ./model NEMO  		(download the NEMO code)
    
  2. 2 directories must be downloaded under the TEST/modipsl/config directory: VALID & HEAD.
    > cd ../config
    > svn co http://forge.ipsl.jussieu.fr/nemo/svn/trunk/VALID
    > svn co http://forge.ipsl.jussieu.fr/nemo/svn/trunk/HEAD
    

If a passwd is asked, type "Enter button" and use as login: "nemo_user" and the NEMO user classical passwd.

  1. For MAC users

In the ./modipsl/util/AA_make.gdef:

  • Set the good directory pathnames for NetCDF library through NCDF_INC and NCDF_LIB variables
  • Eventually change the compilator name if other than "xlf"
  • change M_K=make into M_K=gmake

In the ./modipsl/util/w_i_h script, transform the "DSYS="Darwin"" name into "DSYS="osxxlf"" if you are using the xlf compiler.
Under your OS, if you only have the "make" command, you will have to be able to use gmake one in executing following commands:

> which make
> /usr/bin
> cd /usr/bin
> sudo ln -s make gmake

b. Installing
User has to fill following variables in the ins_valid.ksh script header under the ./modipsl/config/VALID/2INSTALL/ directory:

> cd config/VALID/2INSTALL
> vi ins_valid.ksh

##########################################################
##### Begin Users modifications
##########################################################
# OUTDIR : working directory from which jobs will be launched & results stored
# INPUTD : directory where to get ORCA2_LIM_nemo_v2.tar
# REFDAT : directory where to get results from reference tags
# DECOMP : total number of processors which will be used
# MAIL : give your e-mail
# UAGRIF : one of the standard configurations is based on AGRIF yes/no
##########################################################
OUTDIR=
INPUTD=
REFDAT=
DECOMP=
MAIL="your_email@xxxxxxx"
UAGRIF=yes
##########################################################
##### End Users modifications
##########################################################

  1. Once the ins_valid.ksh header is changed, go under VALID/2INSTALL directory and execute the script.
> cd  VALID/2INSTALL
> ./ins_valid.ksh
  1. Set the appropriate domain decomposition values for jpni, jpnj & jpnij parameters. To be done in par_oce.F90_keep file under each ./config/CONFIG_NAME/MY_SRC directory
> cd  ./config/CONFIG_NAME/MY_SRC/
> vi par_oce.F90_keep

…….

INTEGER, PUBLIC, PARAMETER
& !:
jpni = 2, & !: number of processors following i
jpnj = 4, & !: number of processors following j
jpnij = 8 !: nb of local domain = nb of processors
! ! ( ⇐ jpni x jpnj )
…….

B - Compilation, Jobs submission and assessment report:

This could be performed in using just one command as just below or in managing each step separately “by hand” (see documentation).

  1. store modified modules (to test) under ./modipsl/config/HEAD/2TEST
  1. set the following 7 variables in the ./modipsl/config/HEAD/Makefile file:
> cd ./config/HEAD
> vi Makefile
  • NAM_V: name of the test (this information will be used in the assessment report at the end of all simulations)
  • LISTE_CONF: name of standard configurations to be tested with modified routines under 2TEST directory
  • JOBS_2LAUN: choice the job to launch between: nojob, all, long, short or gtime
  • BUILD_MAKE: compilation type to perform:mono-processor (mon) and/or multi-processors MPI (mpi) and/or Open-MP (omp) (this list is applied to each configuration specified in the LISTE_CONF variable). If mpi is specified, the user must set the processor cutting (jpni, jpnj & jpnij parameters) in the par_oce.F90_keep module stored in each ./config/CONFIG_NAME/MY_SRC directory. This MPI decomposition must be the same for the 3 configurations
  • JOBS_2LAUN: choice the job to launch between: nojob, all, long, short or gtime
  • MAK_TIME: perform or not a timing check
  • MAK_MEMO: perform or not a memory check
  • REF_TAGV: (optional) reference tag version to which compare results
  1. launch the whole process (compilation, jobs submission & assessment report) using gmake command from ./modipsl/config/HEAD/2TEST
> cd ./config/HEAD/
> gmake

Note: since this environment has been built to use UNIX multi-process possibilities, it is possible to speed-up the compilation in using the gmake option -j :“gmake -j number_of_configurations_to_compile”

C - Paper documentation

Attachments (1)

Download all attachments as: .zip