Last edited [[Timestamp]] = '''NEMO Validation Tool Kit (NVTK)''' = [[PageOutline]] The full documentation is attached at the end of this page.[[BR]] Context: [[BR]] 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.[[BR]] 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:[[BR]] A. Download and install the NVTK environment (to be done once)[[BR]] B. 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. [[BR]] '''Note:''' Here we suppose platforms used are either the NEC-SX8 either the IBM-SP6 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''.[[BR]] '''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: == [[BR]] '''''a. Downloading'''''[[BR]] 1. Download the modipsl architecture under the TEST directory. [[BR]] {{{ > mkdir TEST > cd TEST > svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl }}} 2. Download NEMO code, NVTK and reference configurations from the NEMO SVN trunk[[BR]] {{{ > cd TEST/modipsl/util > ./model NEMO_DEV (download the trunk of NEMO code as NVTK package ) }}} 3. For MAC users only[[BR]] In the TEST/modipsl/util/AA_make.gdef:[[BR]] * Set the good directory pathnames for NetCDF library through NCDF_INC and NCDF_LIB variables[[BR]] * Eventually change the compilator name if other than "xlf"[[BR]] * change M_K=make into M_K=gmake[[BR]] In the ./modipsl/util/w_i_h script, transform the "DSYS="Darwin"" name into "DSYS="osxxlf"" if you are using the xlf compiler.[[BR]] Under your OS, if you only have the "make" command, you will have to be able to use gmake one in executing following commands:[[BR]] {{{ > which make > /usr/bin > cd /usr/bin > sudo ln -s make gmake }}} '''''b. Installing'''''[[BR]] User has to fill following variables in the ins_nvtk.ksh script header under the TEST/modipsl/config/NVTK/INSTALL/ directory:[[BR]] {{{ > cd TEST/modipsl/config/NVTK/INSTALL > vi ins_nvtk.ksh }}} ##########################################################[[BR]] ##### Begin Users modifications[[BR]] ##########################################################[[BR]] # '''OUTDIR''' : working directory from which jobs will be launched & results stored[[BR]] # '''INPUTD''' : directory where to get ORCA2_LIM_nemo_v3.tar (once downloaded here: [http://dodsp.idris.fr/reee512/NEMO/])[[BR]] # '''REFDAT''' : directory where to get results from reference tags[[BR]] # '''DECOMP''' : total number of processors which will be used[[BR]] # '''MAIL''' : give your e-mail[[BR]] # '''UAGRIF''' : one of the standard configurations is based on AGRIF yes/no[[BR]] ##########################################################[[BR]] OUTDIR=[[BR]] INPUTD=[[BR]] REFDAT=[[BR]] DECOMP=[[BR]] MAIL="your_email@xxxxxxx"[[BR]] UAGRIF=no[[BR]] ##########################################################[[BR]] ##### End Users modifications[[BR]] ##########################################################[[BR]] 1. Once the ins_nvtk.ksh header is changed, check you are under TEST/modipsl/config/NVTK/INSTALL directory and launch the script.[[BR]] {{{ > ./ins_nvtk.ksh }}} 2. 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[[BR]] {{{ > cd TEST/modipsl/config/CONFIG_NAME/MY_SRC/ > vi par_oce.F90_keep }}} ....... INTEGER, PUBLIC, PARAMETER :: & !:[[BR]] jpni = 2, & !: number of processors following i[[BR]] jpnj = 4, & !: number of processors following j[[BR]] jpnij = 8 !: nb of local domain = nb of processors[[BR]] ! ! ( <= jpni x jpnj )[[BR]] ....... == 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).[[BR]] 1. store modified modules (to test) under TEST/modipsl/config/NVTK/2TEST[[BR]] 2. set the following 7 variables in the TEST/modipsl/config/NVTK/Makefile file:[[BR]] {{{ > 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)[[BR]] * '''LISTE_CONF:''' '''''ORCA2_LIM''' or/and '''GYRE''' or/and '''GYRE_LOBSTER''''': name of standard configurations to be tested with modified routines under 2TEST directory[[BR]] * '''JOBS_2LAUN:''' '''''nojob''' or '''all''' or '''long''' or '''short''' or '''gtime''''': choose the job type to launch[[BR]] * '''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[[BR]] * '''MAK_TIME:''' '''''timing''' or '''notiming''''' to perform or not a timing check[[BR]] * '''MAK_MEMO:''' '''''memo''' or '''nomemo''''' to perform or not a memory check[[BR]] * '''REF_TAGV:''' (optional) reference tag version to which compare results[[BR]] 3. launch the whole process (compilation, jobs submission & assessment report) using gmake command from TEST/modipsl/config/NVTK[[BR]] {{{ > 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 ==