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.
Changeset 5929 for branches/2015/dev_r5092_CNRS18_TRUST – NEMO

Ignore:
Timestamp:
2015-11-26T16:55:09+01:00 (8 years ago)
Author:
nicolasmartin
Message:

dev_r5092_CNRS18_TRUST Last commits before merging to trunk

Location:
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST
Files:
7 added
2 deleted
8 edited
3 moved

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/config/X64_ADA.cfg

    r5799 r5929  
    99TRUS_CDOD='cdo diffn' 
    1010 
    11  
    12 ## Job commands 
    13 ##--------------------------------------------------- 
    14 TRUS_JSUB="llsubmit ${TRUS_DIRE}/batch/${TRUS_HPCC}.sh | grep -oe '\<[0-9]*\>'" 
    15 TRUS_JSTA="llq      | grep \${JOB_ID}" 
    16 TRUS_JKIL="llcancel        \${JOB_ID}" 
    17  
    18 TRUS_JTIM="grep IdrisMemMPI NEMO_CI_\${JOB_ID} | cut -d, -f1 | awk '{print \$(NF-1),\$NF}'" 
    19 TRUS_JPME="grep IdrisMemMPI NEMO_CI_\${JOB_ID} | cut -d, -f3 | awk '{print \$3     ,\$4 }'" 
    20 TRUS_JVME="grep IdrisMemMPI NEMO_CI_\${JOB_ID} | cut -d, -f2 | awk '{print \$3     ,\$4 }'" 
    21  
    22 TRUS_JINF="llq -x \${JOB_ID}" 
     11[ -z "${TRUS_NPRO}" ] && TRUS_NPRO='16' 
     12[ -z "${TRUS_TOUT}" ] && TRUS_TOUT='10800' 
    2313 
    2414 
    25 ## Available softwares/librairies 
     15## (Super)computer environment 
    2616##--------------------------------------------------- 
    27 TRUS_CMPF='ifort' 
     17TRUS_JSPT=${TRUS_HPCC}.sh 
     18TRUS_JSUB="llsubmit ${TRUS_JSPT} | grep -oe '\<[0-9]*\>'" 
     19TRUS_JINF="llq -x \${TRUS_JIDN}" 
     20TRUS_JSTA="llq      | grep \${TRUS_JIDN}" 
     21TRUS_JKIL="llcancel        \${TRUS_JIDN}" 
     22 
     23TRUS_JTIM="grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f1 | awk '{print \$(NF-1),\$NF}'" 
     24TRUS_JPME="grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f3 | awk '{print \$3     ,\$4 }'" 
     25TRUS_JVME="grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f2 | awk '{print \$3     ,\$4 }'" 
     26 
     27TRUS_CMPV='ifort' 
    2828TRUS_CDOR='cdo/' 
    2929TRUS_MPIR='intel/impi/' 
    3030TRUS_CDFR='netcdf/' 
    3131 
    32  
    33 ## Personal settings 
    34 ##--------------------------------------------------- 
    35 [ -z "${TRUS_NPRO}" ] && TRUS_NPRO='16' 
    36 [ -z "${TRUS_TOUT}" ] && TRUS_TOUT='10800' 
    37  
    3832PATH='/smplocal/pub/cdo/1.5.9/bin':$PATH 
    3933#WRAPPER_LDFLAGS='-L/smplocal/pub/IdrMemMPI/1.4/lib -lidrmem' 
  • branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/config/X64_CURIE.cfg

    r5799 r5929  
    99TRUS_CDOD='cdo diffn' 
    1010 
    11  
    12 ## Job commands 
    13 ##--------------------------------------------------- 
    14 TRUS_JSUB="ccc_msub ${TRUS_DIRE}/batch/${TRUS_HPCC}.sh | grep -oe '\<[0-9]*\>'" 
    15 TRUS_JSTA="ccc_mpp  | grep  \${JOB_ID}" 
    16 TRUS_JKIL="ccc_mdel         \${JOB_ID}" 
    17  
    18 TRUS_JTIM="ccc_macct \${JOB_ID} | awk '/opa/ {print \$9}'" 
    19 TRUS_JPME="ccc_macct \${JOB_ID} | awk                    " 
    20 TRUS_JVME="ccc_macct \${JOB_ID} | awk                    " 
    21  
    22 TRUS_JINF="ccc_macct \${JOB_ID}" 
     11[ -z "${TRUS_NPRO}" ] && TRUS_NPRO='16' 
     12[ -z "${TRUS_TOUT}" ] && TRUS_TOUT='10800' 
    2313 
    2414 
    25 ## Available softwares/librairies 
     15## (Super)computer environment 
    2616##--------------------------------------------------- 
    27 TRUS_CMPF='ifort' 
     17TRUS_JSPT=${TRUS_HPCC}.sh 
     18TRUS_JSUB="ccc_msub ${TRUS_JSPT} | grep -oe '\<[0-9]*\>'" 
     19TRUS_JINF="ccc_macct \${TRUS_JIDN}" 
     20TRUS_JSTA="ccc_mpp  | grep \${TRUS_JIDN}" 
     21TRUS_JKIL="ccc_mdel        \${TRUS_JIDN}" 
     22 
     23TRUS_JTIM="ccc_macct \${TRUS_JIDN} | grep     \"\${TRUS_JIDN}.0 *opa\" | awk '{print               \$9      }'" 
     24TRUS_JPME="ccc_macct \${TRUS_JIDN} | grep -m1 \"\${TRUS_JIDN}.0\"      | awk '{printf \"%d Mo\n\", \$2; exit}'" 
     25TRUS_JVME="ccc_macct \${TRUS_JIDN} | grep -m1 \"\${TRUS_JIDN}.0\"      | awk '{printf \"%d Go\n\", \$7; exit}'" 
     26 
     27TRUS_CMPV='ifort' 
    2828TRUS_CDOR='netcdf-utils-' 
    2929TRUS_MPIR='bullxmpi/' 
    3030TRUS_CDFR='netcdf-' 
    3131 
    32  
    33 ## Personal settings 
    34 ##--------------------------------------------------- 
    35 [ -z "${TRUS_NPRO}" ] && TRUS_NPRO='16' 
    36 [ -z "${TRUS_TOUT}" ] && TRUS_TOUT='10800' 
    37  
    3832PATH='/usr/local/netcdf-utils-4.3.3.1_hdf5/bin':$PATH 
  • branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/config/arch_template.cfg

    r5799 r5929  
    22##--------------------------------------------------- 
    33 
    4 ## Copy to root (./config) and rename it by keeping '.cfg' extension, then fill in according to your (super)computer 
    5 ## Rules for completion: 
    6    ## Undefined variables (=)   are mandatory 
    7    ## Void         " "    (='') " " optional 
    8 ## Look into other  configuration file for examples 
    9 ## It will be called by its name without the extension 
     4## Copy to root, rename it and then fill in according to your (super)computer environment 
     5## Rules for completion: undefined variables (=) are mandatory & void variables (='') are optional 
     6## Look into other configuration file for examples 
    107 
    118 
    129## Default settings 
    1310##--------------------------------------------------- 
     11# (Super)Computer environment (${TRUS_XIOS} is already defined in the user configuration file) 
     12TRUS_ENVI=${TRUS_XIOS}/arch/arch-${TRUS_HPCC} 
     13## If `module` is available, ${TRUS_ENVI}.env will be sourced 
     14## If not (scheduled jobs), it will be ${TRUS_ENVI}.path or finally ${TRUS_ENVI} 
    1415 
    15 ## (Super)Computer environment (can be void if $PATH is already setted) 
    16    ## If `module` command is available, arch-${TRUS_HPCC}.env will be sourced. 
    17    ## If not (scheduled jobs by `cron`/`at` commands), it will be arch-${TRUS_HPCC}.path or any file given 
    18 TRUS_ENVI=${TRUS_XIOS}/arch/arch-${TRUS_HPCC}     # ${TRUS_XIOS} is defined from user configuration file 
    19  
    20 ## Number of compiling processes 
    21 [ -z "${TRUS_NPRO}" ] && TRUS_NPRO=1 
    22  
    23 ## Command to compare 2 netCDF restart files in argument (think to load software in $PATH by any way) 
     16## Comparison command with restart files as argument (think to append $PATH by any way) 
    2417TRUS_CDOD='cdo diffn' 
    2518 
    26  
    27 ## Job commands 
    28 ##--------------------------------------------------- 
    29  
    30 ## Use with `eval ${JOB_....}` because they will certainly need to have job ID as argument ("\${JOB_ID}") 
    31 ## It will be taken on the fly from standard output returned at the submission of the job 
    32  
    33 TRUS_JSUB=   ## Submit a job and get his ID in return (assigned to ${JOB_ID}). Use absolute path, 
    34                  ## ./batch folder has been created to contain your submission script but it won't be copied into ${TRUS_TEST} 
    35              ## ex: `llsubmit ${TRUS_DIRE}/batch/${TRUS_HPCC}.sh | grep -oe '\<[0-9]*\>'` 
    36 TRUS_JSTA=      ## Test state of the submitted job (true -> pending/running or false -> completed/crashed) 
    37                     ## ex: "llq | grep \${JOB_ID}" 
    38 TRUS_JKIL=      ## Kill the submitted job 
    39                     ## ex: "llcancel   \${JOB_ID}" 
    40  
    41 ## Computational performances of finished job 
    42 TRUS_JTIM=''    ## Get CPU elapsed time 
    43                     ## ex: `grep IdrisMemMPI NEMO_CI_\${JOB_ID} | cut -d, -f1 | awk '{print \$(NF-1),\$NF}'` 
    44 TRUS_JPME=''       ## Get max physical memory 
    45                     ## ex: `grep IdrisMemMPI NEMO_CI_\${JOB_ID} | cut -d, -f3 | awk '{print \$3     ,\$4 }'` 
    46 TRUS_JVME=''       ## Get " " virtual    ""   
    47  
    48 ## Get job informations to fill in a logfile during computation 
    49 TRUS_JINF=''       ## ex: "llq -x \${JOB_ID}" 
     19[ -z "${TRUS_NPRO}" ] && TRUS_NPRO=     ## Number of compiling processes 
     20[ -z "${TRUS_TOUT}" ] && TRUS_TOUT=     ## Timeout for computation (s) 
    5021 
    5122 
    52 ## Available softwares/librairies 
     23## (Super)computer environment 
    5324##--------------------------------------------------- 
     25## Job commands will almost always be used with `eval ${TRUS_JXXX}` because 
     26## they will certainly need job ID number as argument for working 
     27TRUS_JSPT=       ## Submission script contained ./batch folder, will be copied to testing folder 
     28TRUS_JSUB=   ## Submit a job and get his ID on the fly (assigned to ${TRUS_JIDN}) 
     29            ## ex: `llsubmit ${TRUS_JSPT} | grep -oe '\<[0-9]*\>'` 
     30TRUS_JSTA=      ## Test state of the submitted job (true -> pending/running or false -> completed/crashed) 
     31                   ## ex: "llq | grep \${TRUS_JIDN}" 
     32TRUS_JKIL=      ## Kill the submitted job 
     33                   ## ex: "llcancel   \${TRUS_JIDN}" 
    5434 
    55 ## Fortran compiler version (use with `${TRUS_CMPF} --version`) 
    56 TRUS_CMPF=''     ## ex: 'ifort'|'gfortran'|'pgfortran'|... 
     35## Computational performances of job (respectively elapsed time, max physical & virtual memory) 
     36TRUS_JTIM=''       ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f1 | awk '{print \$(NF-1),\$NF}" 
     37TRUS_JPME=''       ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f3 | awk '{print \$3     ,\$4 }" 
     38TRUS_JVME=''       ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f2 | awk '{print \$3     ,\$4 }" 
    5739 
    58 ## Software releases (string pattern to match just before the number in $PATH): 
    59 TRUS_CDOR=''       ## CDO (Climate Data Operators) 
    60                       ## ex: 'cdo'|'nco'|... 
    61 TRUS_MPIR=''       ## MPI    libraries             
    62                       ## ex: 'openmpi'|'mpich'|... 
    63 TRUS_CDFR=''    ## NetCDF    " "                
    64                       ## ex: 'netcdf'|'netcdf-parallel'|... 
     40TRUS_JINF=''       ## Get job informations to fill in a logfile during computation 
     41                   ## ex: "llq -x \${TRUS_JIDN}" 
    6542 
     43## Compiler (use with `${TRUS_CMPV} --version`) 
     44TRUS_CMPV=''       ## ex: 'ifort'|'gfortran'|'pgfortran'|... 
    6645 
    67 ## Personal settings 
    68 ##--------------------------------------------------- 
    69  
    70 ## Timeout for computation (s) 
    71 [ -z "${TRUS_TOUT}" ] && TRUS_TOUT= 
     46## Software/libraries (string pattern to match just before the release number in $PATH) 
     47## Respectively CDO (Climate Data Operators) / MPI libraries / NetCDF libraries 
     48TRUS_CDOR=''       ## ex: 'cdo/'|'netcdf-utils-' 
     49TRUS_MPIR=''       ## ex: 'intel/impi/'|'bullxmpi/' 
     50TRUS_CDFR=''       ## ex: 'netcdf/'|'netcdf-' 
  • branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/config/martin.cfg

    r5799 r5929  
    1 ## Installation for overall trusting tests on Curie Supercomputer 
     1## Installation for trusting tests on Curie Supercomputer 
    22##--------------------------------------------------- 
    3  
    4  
    5 ## Global Directories 
    6 ##--------------------------------------------------- 
    7 TRUS_SCRA=$SCRATCHDIR/NEMO/trusting 
    8 TRUS_STOR=$CCCSTOREDIR/NEMO/trusting_sav 
    9 TRUS_FORC=$CCCWORKDIR/NEMO/FORC 
    10 TRUS_XIOS=$CCCWORKDIR/XIOS/xios-1.0 
    113 
    124 
     
    146##--------------------------------------------------- 
    157[ -z "${TRUS_BRAN}" ] && TRUS_BRAN='trunk' 
    16 TRUS_CKOT=( 'ARCH CONFIG NEMO EXTERNAL/AGRIF EXTERNAL/fcm EXTERNAL/IOIPSL TOOLS/COMPILE TOOLS/maketools TOOLS/REBUILD_NEMO' ) 
     8TRUS_CKOT=( 'ARCH           CONFIG          NEMO               \ 
     9             EXTERNAL/AGRIF EXTERNAL/fcm    EXTERNAL/IOIPSL    \ 
     10             TOOLS/COMPILE  TOOLS/maketools TOOLS/REBUILD_NEMO  ' ) 
    1711 
    1812[ -z "${TRUS_REFE}" ] && TRUS_REFE='ORCA2_LIM_PISCES' 
    1913TRUS_CONF=${TRUS_REFE}'_trust' 
    2014 
    21 [ -z "${TRUS_TARF}" ] && TRUS_TARF='ORCA2_LIM_nemo_v3.6.tar' 
     15#[ -z "${TRUS_TARF}" ] && TRUS_TARF='ORCA2_LIM_nemo_v3.6.tar' 
    2216[ ${TRUS_REFE} == 'ORCA1_LIM3_PISCES' ] && TRUS_TARF='INPUTS_ORCA1_LIM3_PISCES_V6.tar' 
    2317[ ${TRUS_REFE} == 'AMM12'             ] && TRUS_TARF='AMM12_v3.6.tar' 
     
    2721 
    2822 
    29 ## Personal settings 
     23## User environment 
    3024##--------------------------------------------------- 
    31 [ -z "${TRUS_WORK}" ] && TRUS_WORK=$CCCWORKDIR/NEMO 
    32  
    33 TRUS_TEST=${TRUS_SCRA}/${TRUS_REFE}/${TRUS_BRAN}/trusting_${DATE} 
    34 TRUS_BHMK=${TRUS_STOR}/${TRUS_REFE}/${TRUS_BRAN} 
     25TRUS_WORK=$CCCWORKDIR/NEMO 
     26TRUS_SCRA=$SCRATCHDIR/NEMO/trusting/${TRUS_REFE}/${TRUS_BRAN}/${DATE} 
     27TRUS_STOR=$CCCSTOREDIR/NEMO/trusting_sav/${TRUS_REFE}/${TRUS_BRAN} 
     28TRUS_FORC=$CCCWORKDIR/NEMO/FORC_tmp 
     29TRUS_XIOS=$CCCWORKDIR/XIOS/xios-1.0 
    3530 
    3631[ ${TRUS_REFE} == 'ORCA2_LIM_PISCES'  ] && TRUS_CONF='O2LP_trust' 
  • branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/config/romr005.cfg

    r5799 r5929  
    1 ## Installation for overall trusting tests on Ada Supercomputer 
     1## Installation for trusting tests on Ada Supercomputer 
    22##--------------------------------------------------- 
    3  
    4  
    5 ## Global Directories 
    6 ##--------------------------------------------------- 
    7 TRUS_SCRA=$WORKDIR/NEMO/trusting 
    8 TRUS_STOR=$WORKDIR/NEMO/trusting_sav 
    9 TRUS_FORC=$WORKDIR/NEMO/FORC 
    10 TRUS_XIOS=$WORKDIR/XIOS/xios-1.0 
    113 
    124 
     
    146##--------------------------------------------------- 
    157[ -z "${TRUS_BRAN}" ] && TRUS_BRAN='trunk' 
    16 TRUS_CKOT=( 'ARCH CONFIG NEMO EXTERNAL/AGRIF EXTERNAL/fcm EXTERNAL/IOIPSL TOOLS/COMPILE TOOLS/maketools TOOLS/REBUILD_NEMO' ) 
     8TRUS_CKOT=( 'ARCH           CONFIG          NEMO               \ 
     9             EXTERNAL/AGRIF EXTERNAL/fcm    EXTERNAL/IOIPSL    \ 
     10             TOOLS/COMPILE  TOOLS/maketools TOOLS/REBUILD_NEMO  ' ) 
    1711 
    1812[ -z "${TRUS_REFE}" ] && TRUS_REFE='ORCA2_LIM_PISCES' 
     
    2721 
    2822 
    29 ## Personal settings 
     23## User environment 
    3024##--------------------------------------------------- 
    31 [ -z "${TRUS_WORK}" ] && TRUS_WORK=$WORKDIR/NEMO 
    32  
    33 TRUS_TEST=${TRUS_SCRA}/${TRUS_REFE}/${TRUS_BRAN}/trusting_${DATE} 
    34 TRUS_BHMK=${TRUS_STOR}/${TRUS_REFE}/${TRUS_BRAN} 
     25TRUS_WORK=$WORKDIR/NEMO 
     26TRUS_SCRA=$WORKDIR/NEMO/trusting/${TRUS_REFE}/${TRUS_BRAN}/${DATE} 
     27TRUS_STOR=$WORKDIR/NEMO/trusting_sav/${TRUS_REFE}/${TRUS_BRAN} 
     28TRUS_FORC=$WORKDIR/NEMO/FORC 
     29TRUS_XIOS=$WORKDIR/XIOS/xios-1.0 
    3530 
    3631[ ${TRUS_REFE} == 'ORCA2_LIM_PISCES'  ] && TRUS_CONF='O2LP_trust' 
  • branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/config/user_template.cfg

    r5799 r5929  
    22##--------------------------------------------------- 
    33 
    4 ## Copy to root (./config) and rename it by keeping '.cfg' extension, then fill in according to your installation 
    5 ## Rules for completion: 
    6    ## Undefined variables (=)   are mandatory 
    7    ## Void         " "    (='') " " optional 
     4## Copy to root, rename it and then fill in according to your user environment 
     5## Rules for completion: undefined variables (=) are mandatory & void variables (='') are optional 
    86## Look into other configuration file for examples 
    9 ## It will be called by its name without extension 
    10  
    11  
    12 ## Global directories 
    13 ##--------------------------------------------------- 
    14 TRUS_SCRA=     ## Computation 
    15 TRUS_STOR=     ## Backup 
    16 TRUS_FORC=     ## Location of forcing archive to extract (combined use with ${TRUS_TARF}) or 
    17                ##    ""    "" all inputs files to copy into ${TRUS_TEST} 
    18 TRUS_XIOS=     ## XIOS installation 
    197 
    208 
    219## Default settings 
    2210##--------------------------------------------------- 
    23  
    2411## These settings can be changed directly from command line to reduce number of user configuration file 
    2512## See `./trusting.sh [-h|--help]` 
    2613 
    27 ## SVN branch name 
     14## SVN branch name ('trunk', 'nemo_v3_6_STABLE', development branches) 
    2815[ -z "${TRUS_BRAN}" ] && TRUS_BRAN='trunk' 
    2916 
    3017## Minimal content for code checkout/update 
    31 TRUS_CKOT=( 'ARCH CONFIG NEMO EXTERNAL/AGRIF EXTERNAL/fcm EXTERNAL/IOIPSL TOOLS/COMPILE TOOLS/maketools TOOLS/REBUILD_NEMO' ) 
     18TRUS_CKOT=( 'ARCH           CONFIG          NEMO               \ 
     19             EXTERNAL/AGRIF EXTERNAL/fcm    EXTERNAL/IOIPSL    \ 
     20             TOOLS/COMPILE  TOOLS/maketools TOOLS/REBUILD_NEMO  ' ) 
    3221 
    33 ## Reference configuration to test 
    34 [ -z "${TRUS_REFE}" ] && TRUS_REFE='ORCA2_LIM_PISCES' 
     22[ -z "${TRUS_REFE}" ] && TRUS_REFE='ORCA2_LIM_PISCES'     ## Reference configuration to test 
     23TRUS_CONF=${TRUS_REFE}'_trust'                            ## Testing configuration name 
    3524 
    36 ## Forcing archive, let void if not need to untar inside ${TRUS_FORC} 
     25## Forcing archive, let void if just need to copy the files inside ${TRUS_FORC} 
    3726[ -z "${TRUS_TARF}" ] && TRUS_TARF='ORCA2_LIM_nemo_v3.6.tar' 
    3827[ ${TRUS_REFE} == 'ORCA1_LIM3_PISCES' ] && TRUS_TARF='INPUTS_ORCA1_LIM3_PISCES_V6.tar' 
    3928[ ${TRUS_REFE} == 'AMM12'             ] && TRUS_TARF='AMM12_v3.6.tar' 
    40  
    41 ## Testing configuration name 
    42 TRUS_CONF=${TRUS_REFE}'_trust' 
    4329 
    4430## CPP keys to add or remove from reference configuration 
     
    4733 
    4834 
    49 ## Personal settings 
     35## User environment 
    5036##--------------------------------------------------- 
    51  
    52 ## Folder for testing branch (intallation & compilation of testing configuration) 
    53 [ -z "${TRUS_WORK}" ] && TRUS_WORK= 
    54  
    55 ## Testing folder for computation 
    56 TRUS_TEST=     ## ${TRUS_SCRA}/${TRUS_REFE}/${TRUS_BRAN}/${DATE} recommended 
    57  
    58 ## Benchmark folder where target files for comparison have been stored, ie: 
    59    ## Inputs  (all) : CPP_*, namelist_*, *.xml et inputs_list.txt (created by first test) 
    60    ## Outputs (any) : *.stat, ocean.output, restarts 
    61 TRUS_BHMK=     ## ${TRUS_STOR}/${TRUS_REFE}/${TRUS_BRAN} recommended 
     37TRUS_WORK=     ## Testing folder for compilation (branches checkouts & configuration compilation) 
     38TRUS_SCRA=     ##   " "     ""   " " computation 
     39                 ## ...../${TRUS_REFE}/${TRUS_BRAN}/${DATE} recommended 
     40TRUS_STOR=     ## Benchmark folder where target files for comparison have been stored, ie: 
     41               ## Inputs  (all) : CPP_*, namelist_*, *.xml et inputs_list.txt (created by initial test) 
     42               ## Outputs (any) : *.stat, ocean.output, restarts 
     43                 ## ...../${TRUS_REFE}/${TRUS_BRAN} recommended (same layout as ${TRUS_SCRA}) 
     44TRUS_FORC=     ## Path to the forcing archive to extract (usage combined with ${TRUS_TARF}) or 
     45               ##    ""   all inputs files who will be copied into ${TRUS_SCRA} 
     46TRUS_XIOS=     ## XIOS installation 
    6247 
    6348## Mailing list to notify on failure (-p|--prod option required) 
  • branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/inc/trusting.env

    r5923 r5929  
    22 
    33 
    4 ## Patterns (UTC time-stamp & messengers filename) 
     4## Global environment variables 
    55##-------------------------------------- 
    66dat=$( date ) 
     
    1212## Source user configuration 
    1313##--------------------------------------------------- 
    14 . ${TRUS_DIRE}/config/${TRUS_USER}.cfg 
    15 export TRUS_SCRA TRUS_STOR TRUS_XIOS TRUS_FORC 
    16 export TRUS_WORK TRUS_BRAN TRUS_BHMK TRUS_TEST 
    17 export TRUS_REFE TRUS_CONF TRUS_TARF TRUS_KEYA TRUS_KEYD 
     14. ./config/${TRUS_USER}.cfg 
     15export TRUS_WORK TRUS_SCRA TRUS_STOR TRUS_XIOS TRUS_FORC 
     16export TRUS_BRAN TRUS_REFE 
     17export TRUS_CONF TRUS_TARF TRUS_KEYA TRUS_KEYD 
    1818export TRUS_MAIL 
    19  
    20 export TRUS_NGCM=${TRUS_WORK}/${TRUS_BRAN}/NEMOGCM 
    2119 
    2220 
    2321## Source (super)computer configuration 
    2422##--------------------------------------------------- 
    25 . ${TRUS_DIRE}/config/${TRUS_HPCC}.cfg 
    26 export TRUS_ENVI 
    27 export TRUS_CDOD 
    28 export TRUS_JSUB TRUS_JSTA TRUS_JKIL TRUS_JPME TRUS_JTIM TRUS_JVME TRUS_JINF 
    29 export TRUS_CMPF TRUS_CDOR TRUS_MPIR TRUS_CDFR 
    30 export TRUS_NPRO TRUS_TOUT 
     23. ./config/${TRUS_HPCC}.cfg 
     24export TRUS_ENVI TRUS_CDOD TRUS_NPRO TRUS_TOUT 
     25export TRUS_JSPT TRUS_JSUB TRUS_JSTA TRUS_JKIL 
     26export TRUS_JPME TRUS_JTIM TRUS_JVME TRUS_JINF 
     27export TRUS_CMPV TRUS_CDOR TRUS_MPIR TRUS_CDFR 
    3128 
     29 
     30export TRUS_NGCM=${TRUS_WORK}/${TRUS_BRAN}/NEMOGCM 
  • branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/inc/trusting_func.sh

    r5923 r5929  
    9090    [ $TRUS_HPCC == 'X64_ADA' ] && WRAPPER_LDFLAGS='-L/smplocal/pub/IdrMemMPI/1.4/lib -lidrmem '${WRAPPER_LDFLAGS} 
    9191 
    92     for str in ${TRUS_CMPF} ${TRUS_MPIR} ${TRUS_CDFR} ${TRUS_CDOR}; do 
     92    for str in ${TRUS_CMPV} ${TRUS_MPIR} ${TRUS_CDFR} ${TRUS_CDOR}; do 
    9393   [ -z "$str" ] && continue 
    9494   soft_rel='' 
     
    9898 
    9999   ## option --version would work for main compilers (gfortran, intel, pgfortran, ...) 
    100    [ $str == ${TRUS_CMPF} ] && soft_rel=$( $str --version | grep -m1 -oe '\<[0-9. ]*\>' ) 
     100   [ $str == ${TRUS_CMPV} ] && soft_rel=$( $str --version | grep -m1 -oe '\<[0-9. ]*\>' ) 
    101101 
    102102   ## Cleaning characters string to display proper soft name 
     
    116116 
    117117get_inputs() { 
    118     # List archive content & extract it by default 
    119     local cmd_iol="tar -tvf ${TRUS_FORC}/${TRUS_TARF}" cmd_iof="tar -vxf ${TRUS_FORC}/${TRUS_TARF}" 
    120  
    121     ## List & copy files in case of personal inputs 
    122     if [ -z "${TRUS_TARF}" ]; then 
    123      cmd_iol="ls ${TRUS_FORC}/*"                ; cmd_iof="\cp ${TRUS_FORC}/* ." 
    124     fi 
    125  
    126     ${cmd_iol} > inputs_list.txt 
    127     ${cmd_iof} > /dev/null 
     118    ## Extract archive or copy files in case of personal inputs 
     119    [ -z "${TRUS_TARF}" ] && get_io="cp ${TRUS_FORC}/* ." || get_io="tar -vxf ${TRUS_FORC}/${TRUS_TARF}" 
     120 
     121    ${get_io} > /dev/null 
     122    [ $? -ne 0 ] && get_out 3 || echo 'Success' 
     123    [ $( find -name '*.gz' -print -quit ) ] && gunzip *.gz 
     124 
     125    ls -lh > inputs_list.txt 
    128126} 
    129127 
     
    137135 
    138136   ## Continue even if input file is not in here (see after) 
    139    if [ -e ${TRUS_BHMK}/$file ]; then dif=$( diff -q $file ${TRUS_BHMK}/$file ); else dif=0; fi 
     137   if [ -e ${TRUS_STOR}/$file ]; then dif=$( diff -q $file ${TRUS_STOR}/$file ); else dif=0; fi 
    140138 
    141139   ## Pass over useless file omission in benckmark directory 
     
    180178    for file in 'ocean.output' *.stat; do 
    181179   ## Stop if no benchmark files (ocean.output, eventual stat files) 
    182    [ ! -e ${TRUS_BHMK}/$file ] && { TRUS_RSLT='FAILED'; get_out 7; } 
    183  
    184    diff -q $file ${TRUS_BHMK}/$file 
     180   [ ! -e ${TRUS_STOR}/$file ] && { TRUS_RSLT='FAILED'; get_out 7; } 
     181 
     182   diff -q $file ${TRUS_STOR}/$file 
    185183 
    186184   ## Continue even if it differs 
     
    200198 
    201199    ## Stop if no benchmark files (ie time.step) 
    202     [ ! -e ${TRUS_BHMK}/time.step ] && { TRUS_RSLT='FAILED'; get_out 7; } 
    203     time_step=$( cat ${TRUS_BHMK}/time.step | tr -d [:space:] ) 
     200    [ ! -e ${TRUS_STOR}/time.step ] && { TRUS_RSLT='FAILED'; get_out 7; } 
     201    time_step=$( cat ${TRUS_STOR}/time.step | tr -d [:space:] ) 
    204202 
    205203    ## Find all restart files to rebuild 
     
    222220          ${TRUS_NGCM}/TOOLS/REBUILD_NEMO/rebuild_nemo -t ${TRUS_NPRO} $file ${nb_dom} \ 
    223221         > /dev/null 
    224           [ $? -eq 0 ] && rm -f ${file}_[0-9]*.nc \ 
    225                         > /dev/null 
    226222      elif [ ${nb_dom} -eq 0 ]; then 
    227223          TRUS_RSLT='FAILED' && get_out 8 
     
    232228 
    233229                    ## Stop if no benchmark files (restart file) 
    234           if [ -e ${TRUS_BHMK}/$file.nc ]; then 
     230          if [ -e ${TRUS_STOR}/$file.nc ]; then 
    235231 
    236232                   ## UNIX `cmp` not suitable (timestamp in .nc file) 
    237          dif=$( $TRUS_CDOD $file.nc ${TRUS_BHMK}/$file.nc 2> /dev/null          \ 
     233         dif=$( $TRUS_CDOD $file.nc ${TRUS_STOR}/$file.nc 2> /dev/null          \ 
    238234                | awk '/records/ {print $0}' | sed '2 s/^/,/' | tr -d '\n' ) 
    239235 
     
    325321 
    326322   ## Create or append trusting logfile 
    327    if [ -f ${TRUS_BHMK}/trusting_$PATTERNAME.txt ]; then cmd='tail -1'; else cmd='cat'; fi 
    328  
    329    $cmd ${TRUS_FILE}                           \ 
    330        >> ${TRUS_BHMK}/trusting_$PATTERNAME.txt 
     323   if [ -f ${TRUS_STOR}/trusting_$PATTERNAME.txt ]; then cmd='tail -1'; else cmd='cat'; fi 
     324 
     325   $cmd ${TRUS_FILE}                            \ 
     326       >> ${TRUS_STOR}/trusting_$PATTERNAME.txt 
    331327 
    332328        ## Send mail only when FAILED 
     
    347343${TRUS_USER}.cfg & ${TRUS_HPCC}.cfg 
    348344 
    349 For more details, look into the testing directory at: 
    350 ${TRUS_TEST} 
     345For more details, look into the testing folder at: 
     346${TRUS_SCRA} 
    351347 
    352348An archive has been created to share the questionable configuration for further studies: 
    353 ${TRUS_BHMK}/${TRUS_ARCH} 
     349${TRUS_STOR}/${TRUS_ARCH} 
    354350 
    355351END_MAIL 
     
    371367 
    372368    ## In case of compilation error 
    373     cd ${TRUS_TEST} 
     369    cd ${TRUS_SCRA} 
    374370 
    375371    if [ ${TRUS_RSLT} == 'FAILED' ]; then 
     
    410406    ## Save tested configuration if trusting failed in production mode (-p|--prod) 
    411407    if [[ ${TRUS_RSLT} == 'FAILED' && ${TRUS_PROD} -eq 1 ]]; then 
    412    echo 'Creating archive '${TRUS_ARCH}' under '${TRUS_BHMK} 
    413    tar -czf ${TRUS_BHMK}/${TRUS_ARCH}               *                    \ 
     408   echo 'Creating archive '${TRUS_ARCH}' under '${TRUS_STOR} 
     409   tar -czf ${TRUS_STOR}/${TRUS_ARCH}               *                    \ 
    414410       -C   ${TRUS_NGCM}/CONFIG/${TRUS_CONF}/MY_SRC .                    \ 
    415411       -C   ${TRUS_NGCM}/CONFIG/${TRUS_CONF}        cpp_${TRUS_CONF}.fcm 
  • branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/install_new_branch.sh

    r5799 r5929  
    66## Set defaults 
    77##--------------------------------------------------- 
    8 TRUS_DIRE=$PWD 
    98TRUS_DBUG=0; TRUS_PROD=0; TRUS_HELP=0 
    109 
     
    1615   '-d'|'--debug'  ) TRUS_DBUG=1 ; shift  ;; '-j'|'--job'     ) TRUS_NPRO=$2; shift 2;; 
    1716   '-m'|'--machine') TRUS_HPCC=$2; shift 2;; '-h'|'--help'    ) TRUS_HELP=1 ; shift  ;; 
    18    '-u'|'--user'   ) TRUS_USER=$2; shift 2;; '-w'|'--workdir') TRUS_WORK=$2; shift 2;; 
    19    "*"             ) TRUS_HELP=1 ; shift  ;; 
     17   '-u'|'--user'   ) TRUS_USER=$2; shift 2;; "*"             ) TRUS_HELP=1 ; shift  ;; 
    2018    esac 
    2119done 
     
    2523##--------------------------------------------------- 
    2624if [[ ! -e config/${TRUS_USER}.cfg || ! -e config/${TRUS_HPCC}.cfg || ${TRUS_HELP} -eq 1 ]]; then 
    27     cat trusting_help.txt 
     25    cat ./inc/trusting_help.txt 
    2826 
    2927    if [ ${TRUS_HELP} -eq 0 ]; then 
     
    3937    exit 1 
    4038else 
    41     . trusting.env 
     39    . ./inc/trusting.env 
    4240    [ ${TRUS_DBUG} -eq 1 ] && set -vx 
    4341fi 
     
    5351 
    5452    printf "\nInstallation of a working copy of '%s' branch in '%s'? " ${TRUS_BRAN} ${TRUS_WORK} 
    55     echo 'Type [Y|y|yes] to confirm, if not back to branches list number' 
     53    printf "\nType [Y|y|yes] to confirm, if not back to branches list number\n" 
    5654    read answer 
    5755    [[ $answer == 'Y' || $answer == 'y' || $answer == 'yes' ]] && break 
     
    7270 
    7371for elmt in ${TRUS_CKOT}; do 
     72    [ $elmt == '\' ] && continue 
    7473    printf "%s " $elmt 
    7574 
     
    9089if [ $( find ARCH -name arch-${TRUS_HPCC}.fcm ) ]; then 
    9190    echo 'Compile NEMO rebuild tool' 
    92     cd TOOLS && ./maketools -n REBUILD_NEMO -m ${TRUS_HPCC} -j ${TRUS_NPRO} > /dev/null 
    93     [ $? -eq 0 ] && printf "\033[0;32mOK\033[0m" || printf "\033[0;31mKO\033[0m" 
     91    cd TOOLS && ./maketools -n REBUILD_NEMO -m ${TRUS_HPCC} -j ${TRUS_NPRO} >& /dev/null 
     92    [ -e REBUILD_NEMO/rebuild_nemo.exe ] && printf "\033[0;32mOK\033[0m" || printf "\033[0;31mKO\033[0m" 
    9493    printf "\n\n" 
    9594else 
  • branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/trusting.sh

    r5809 r5929  
    3333##--------------------------------------------------- 
    3434if [[ ! -e config/${TRUS_USER}.cfg || ! -e config/${TRUS_HPCC}.cfg || ${TRUS_HELP} -eq 1 ]]; then 
    35     cat trusting_help.txt 
     35    cat ./inc/trusting_help.txt 
    3636 
    3737    if [ ${TRUS_HELP} -eq 0 ]; then 
     
    4747    exit 1 
    4848else 
    49     . trusting.env && . trusting_func.sh 
    50 #echo $WRAPPER_LDFLAGS 
     49    . ./inc/trusting.env && . ./inc/trusting_func.sh 
     50 
    5151    ## DEBUG option to speed up & expand verbosity of compilation 
    5252    [ ${TRUS_DBUG} -eq 1 ] && { set -vx; xios_mode=''; stdout_redir='>'; } 
     
    6767##--------------------------------------------------- 
    6868echo 
    69 if [ -t 0 ]; then cat banner.txt; else cat banner.html; fi 
     69if [ -t 0 ]; then cat ./inc/banner.txt; else cat ./inc/banner.html; fi 
    7070echo 
    7171echo '****************************************************************************************************' 
     
    7676echo '****************************************************************************************************' 
    7777echo 
    78 echo '  - Testing configuration   '${TRUS_CONF}' based on '${TRUS_REFE} 
    79 echo '  - SVN working copy        '${TRUS_WORK}/${TRUS_BRAN} 
    80 echo '  - Benchmark folder        '${TRUS_BHMK} 
    81 echo '  - (Super)Computer         '${TRUS_HPCC} 
    82 echo '  - User installation       '${TRUS_USER} 
    83 echo 
     78printf "\t§ Testing configuration\t\t%s based on %s\n" ${TRUS_CONF} ${TRUS_REFE} 
     79printf "\t§ SVN working copy\t\t%s/%s\n"               ${TRUS_WORK} ${TRUS_BRAN} 
     80printf "\t§ Benchmark folder\t\t%s\n"               ${TRUS_STOR} 
     81printf "\t§ (Super)Computer\t\t%s\n"             ${TRUS_HPCC} 
     82printf "\t§ User installation\t\t%s\n\n"         ${TRUS_USER} 
    8483 
    8584 
     
    8786##--------------------------------------------------- 
    8887print_step 'Timestamped testing directory' 
    89 mkdir -p ${TRUS_TEST} ${TRUS_BHMK} 
    90 cd       ${TRUS_TEST} 
    91 echo     ${TRUS_TEST} 
     88mkdir -p ${TRUS_SCRA} ${TRUS_STOR} 
     89cd       ${TRUS_SCRA} 
     90echo     ${TRUS_SCRA} 
    9291init_files 
    9392get_date 
     
    104103print_step 'Get testing environement' 
    105104get_soft_rel 
    106 cat model.log 
     105cat model.log | awk '{printf "%-20s %s %s\n", $1, $2, $3}' 
    107106env | sort > env.log 
    108 #echo $WRAPPER_LDFLAGS 
     107 
    109108 
    110109## XIOS compilation from scratch 
     
    135134##--------------------------------------------------- 
    136135print_step 'Set job (copying or extracting inputs)' 
    137 cd ${TRUS_TEST} 
     136cd ${TRUS_SCRA} 
     137get_inputs 
     138[ $? -ne 0 ] && get_out 3 || echo 'Success' 
    138139cp   ${TRUS_NGCM}/CONFIG/${TRUS_CONF}/cpp_* . 
    139140find ${TRUS_NGCM}/CONFIG/${TRUS_CONF}/EXP00 -regex '.*\(_cfg\|.in\|opa\|_ref\|.xml\)' \ 
    140141                                            -exec  cp {} . \; 
    141 get_inputs 
    142 [ $? -ne 0 ] && get_out 3 || echo 'Success' 
    143 [ $( find . -name '*.gz' -print -quit ) ] && find . -name '*.gz' -exec gunzip {} \; 
    144142 
    145143 
     
    153151##--------------------------------------------------- 
    154152print_step 'Submit job' 
    155 JOB_ID=$( eval ${TRUS_JSUB} ) 
    156 [ $? -ne 0 ] && get_out 4 || echo 'Success (job ID '${JOB_ID}')' 
     153cp ${TRUS_DIRE}/batch/${TRUS_JSPT} ${TRUS_SCRA} ## Copy the submitting script to testing folder 
     154TRUS_JIDN=$( eval ${TRUS_JSUB} ) 
     155[ $? -ne 0 ] && get_out 4 || printf "Success (job ID %s)\n" ${TRUS_JIDN} 
    157156print_step 'Pending job' 
    158157job_pending 
     
    163162##--------------------------------------------------- 
    164163print_step 'Test job state' 
    165 [[ ! -e time.step || $( grep 'E R R O R' ocean.output ) ]] && get_out 5 || echo 'Success' 
     164[[ ! -e time.step || $( grep 'E R R O R' ocean.output ) ]] && get_out 5 || echo 'Success' ## Must be reviewed 
    166165print_step 'Get job performances' 
    167166get_time 
Note: See TracChangeset for help on using the changeset viewer.