New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
user/ctlod/NVTKpage – NEMO
wiki:user/ctlod/NVTKpage

Version 15 (modified by ctlod, 15 years ago) (diff)

--

NEMO Validation Tool Kit (NVTK)

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 fit basic features such as the reproductibility, the restartability, or to check the global memory and/or the time consuming but also if results of the reference configurations ORCA2_LIM, GYRE and GYRE_LOBSTER are not modified.

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 paper 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. Furthermore it is also assumed that the code management environement is modipsl.

All remarks, suggestions to improve this tool are welcome, you can write them here: http://forge.ipsl.jussieu.fr/nemo/milestone/NEMO%20Validation%20Tool%20Kit

A - Download and Install NVTK under modipsl:


a. Downloading

  1. Download the modipsl architecture under the TEST directory.
    > mkdir TEST
    > cd TEST
    > svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
    
  1. Download NEMO code, NVTK and reference configurations from the NEMO SVN trunk
> cd TEST/modipsl/util
> ./model NEMO_DEV  		(download the trunk of NEMO code as NVTK package )
  1. For MAC users only

In the TEST/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_nvtk.ksh script header under the TEST/modipsl/config/NVTK/INSTALL/ directory:

> cd TEST/modipsl/config/NVTK/INSTALL
> vi ins_nvtk.ksh

##########################################################
##### Begin Users modifications
##########################################################
# OUTDIR : working directory from which jobs will be launched & results stored
# INPUTD : directory where to get ORCA2_LIM_nemo_v3.tar (once downloaded here: http://dodsp.idris.fr/reee512/NEMO/)
# 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=no
##########################################################
##### End Users modifications
##########################################################

  1. Once the ins_nvtk.ksh header is changed, check you are under TEST/modipsl/config/NVTK/INSTALL directory and launch the script.
> ./ins_nvtk.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  TEST/modipsl/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 TEST/modipsl/config/NVTK/2TEST
  1. set the following 7 variables in the TEST/modipsl/config/NVTK/Makefile file:
> cd TEST/modipsl/config/NVTK
> 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: ORCA2_LIM or/and GYRE or/and GYRE_LOBSTER: name of standard configurations to be tested with modified routines under 2TEST directory
  • JOBS_2LAUN: nojob or all or long or short or gtime: choose the job type to launch
  • BUILD_MAKE: mon or/and mpi or/and omp: 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
  • MAK_TIME: timing or notiming to perform or not a timing check
  • MAK_MEMO: memo or nomemo to 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 TEST/modipsl/config/NVTK
> 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 - NVTK package alone

If you just want to donwnload NVTK alone, use the following svn command:

> svn co --username nemo_user http://forge.ipsl.jussieu.fr/nemo/svn/trunk/NVTK

D - Paper documentation

Attachments (1)

Download all attachments as: .zip