| 1 | = '''NEMO Validation Tool Kit''' = |
| 2 | |
| 3 | The full documentation is attached at the end of this page.[[BR]] |
| 4 | |
| 5 | Context: |
| 6 | 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. |
| 7 | |
| 8 | |
| 9 | 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. |
| 10 | Here are summarised basic steps the user has to go through:[[BR]] |
| 11 | A. Download and install the NVTK environment (to be done once)[[BR]] |
| 12 | B. Compilation, job submission and assessment report |
| 13 | |
| 14 | 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.[[BR]] |
| 15 | |
| 16 | |
| 17 | == A - Download and Install NVTK: == |
| 18 | [[BR]] |
| 19 | '''''a. Downloading'''''[[BR]] |
| 20 | 1. Once the modipsl architecture and the latest NEMO code is extracted under the TEST directory. [[BR]] |
| 21 | {{{ |
| 22 | > mkdir TEST |
| 23 | > cd TEST |
| 24 | > svn_ano (download the modipsl structure) |
| 25 | > cd modipsl/util |
| 26 | > ./model NEMO (download the NEMO code) |
| 27 | }}} |
| 28 | 2. 2 directories must be downloaded under the TEST/modipsl/config directory: VALID & HEAD.[[BR]] |
| 29 | {{{ |
| 30 | > cd ../config |
| 31 | > svn co http://forge.ipsl.jussieu.fr/nemo/svn/trunk/VALID |
| 32 | > svn co http://forge.ipsl.jussieu.fr/nemo/svn/trunk/HEAD |
| 33 | }}} |
| 34 | |
| 35 | If a passwd is asked, type "Enter button" and use as login: "nemo_user" and the NEMO user classical passwd.[[BR]] |
| 36 | |
| 37 | 3. For MAC users[[BR]] |
| 38 | In the ./modipsl/util/AA_make.gdef:[[BR]] |
| 39 | * Set the good directory pathnames for NetCDF library through NCDF_INC and NCDF_LIB variables[[BR]] |
| 40 | * Eventually change the compilator name if other than "xlf"[[BR]] |
| 41 | * change M_K=make into M_K=gmake[[BR]] |
| 42 | In the ./modipsl/util/w_i_h script, transform the "DSYS="Darwin"" name into "DSYS="osxxlf"" if you are using the xlf compiler.[[BR]] |
| 43 | 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]] |
| 44 | |
| 45 | {{{ |
| 46 | > which make |
| 47 | > /usr/bin |
| 48 | > cd /usr/bin |
| 49 | > sudo ln -s make gmake |
| 50 | }}} |
| 51 | |
| 52 | |
| 53 | |
| 54 | '''''b. Installing'''''[[BR]] |
| 55 | User has to fill following variables in the ins_valid.ksh script header under the ./modipsl/config/VALID/2INSTALL/ directory:[[BR]] |
| 56 | |
| 57 | {{{ |
| 58 | > cd config/VALID/2INSTALL |
| 59 | > vi ins_valid.ksh |
| 60 | }}} |
| 61 | |
| 62 | ##########################################################[[BR]] |
| 63 | ##### Begin Users modifications[[BR]] |
| 64 | ##########################################################[[BR]] |
| 65 | # '''OUTDIR''' : working directory from which jobs will be launched & results stored[[BR]] |
| 66 | # '''INPUTD''' : directory where to get ORCA2_LIM_nemo_v2.tar [[BR]] |
| 67 | # '''REFDAT''' : directory where to get results from reference tags[[BR]] |
| 68 | # '''DECOMP''' : total number of processors which will be used[[BR]] |
| 69 | # '''MAIL''' : give your e-mail[[BR]] |
| 70 | # '''UAGRIF''' : one of the standard configurations is based on AGRIF yes/no[[BR]] |
| 71 | ##########################################################[[BR]] |
| 72 | OUTDIR=[[BR]] |
| 73 | INPUTD=[[BR]] |
| 74 | REFDAT=[[BR]] |
| 75 | DECOMP=[[BR]] |
| 76 | MAIL="your_email@xxxxxxx"[[BR]] |
| 77 | UAGRIF=yes[[BR]] |
| 78 | ##########################################################[[BR]] |
| 79 | ##### End Users modifications[[BR]] |
| 80 | ##########################################################[[BR]] |
| 81 | |
| 82 | 1. Once the ins_valid.ksh header is changed, go under VALID/2INSTALL directory and execute the script.[[BR]] |
| 83 | |
| 84 | {{{ |
| 85 | > cd VALID/2INSTALL |
| 86 | > ./ins_valid.ksh |
| 87 | }}} |
| 88 | |
| 89 | 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]] |
| 90 | |
| 91 | {{{ |
| 92 | > cd ./config/CONFIG_NAME/MY_SRC/ |
| 93 | > vi par_oce.F90_keep |
| 94 | }}} |
| 95 | ....... |
| 96 | INTEGER, PUBLIC, PARAMETER :: & !:[[BR]] |
| 97 | jpni = 2, & !: number of processors following i[[BR]] |
| 98 | jpnj = 4, & !: number of processors following j[[BR]] |
| 99 | jpnij = 8 !: nb of local domain = nb of processors[[BR]] |
| 100 | ! ! ( <= jpni x jpnj )[[BR]] |
| 101 | ....... |
| 102 | |
| 103 | == B - Compilation, Jobs submission and assessment report: == |
| 104 | This could be performed in using just one command as just below or in managing each step separately “by hand” (see documentation).[[BR]] |
| 105 | |
| 106 | 1. store modified modules (to test) under ./modipsl/config/HEAD/2TEST[[BR]] |
| 107 | |
| 108 | 2. set the following 7 variables in the ./modipsl/config/HEAD/Makefile file:[[BR]] |
| 109 | |
| 110 | {{{ |
| 111 | > cd ./config/HEAD |
| 112 | > vi Makefile |
| 113 | }}} |
| 114 | |
| 115 | * '''NAM_V:''' name of the test (this information will be used in the assessment report at the end of all simulations)[[BR]] |
| 116 | * '''LISTE_CONF:''' name of standard configurations to be tested with modified routines under 2TEST directory[[BR]] |
| 117 | * '''JOBS_2LAUN:''' choice the job to launch between: nojob, all, long, short or gtime[[BR]] |
| 118 | * '''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[[BR]] |
| 119 | * '''JOBS_2LAUN:''' choice the job to launch between: nojob, all, long, short or gtime[[BR]] |
| 120 | * '''MAK_TIME:''' perform or not a timing check[[BR]] |
| 121 | * '''MAK_MEMO:''' perform or not a memory check[[BR]] |
| 122 | * '''REF_TAGV:''' (optional) reference tag version to which compare results[[BR]] |
| 123 | |
| 124 | 3. launch the whole process (compilation, jobs submission & assessment report) using gmake command from ./modipsl/config/HEAD/2TEST[[BR]] |
| 125 | |
| 126 | {{{ |
| 127 | > cd ./config/HEAD/ |
| 128 | > gmake |
| 129 | }}} |
| 130 | |
| 131 | |
| 132 | '''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” |
| 133 | |
| 134 | == C - Paper documentation == |
| 135 | |