Changeset 5929 for branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST
- Timestamp:
- 2015-11-26T16:55:09+01:00 (9 years ago)
- 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 9 9 TRUS_CDOD='cdo diffn' 10 10 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' 23 13 24 14 25 ## Available softwares/librairies15 ## (Super)computer environment 26 16 ##--------------------------------------------------- 27 TRUS_CMPF='ifort' 17 TRUS_JSPT=${TRUS_HPCC}.sh 18 TRUS_JSUB="llsubmit ${TRUS_JSPT} | grep -oe '\<[0-9]*\>'" 19 TRUS_JINF="llq -x \${TRUS_JIDN}" 20 TRUS_JSTA="llq | grep \${TRUS_JIDN}" 21 TRUS_JKIL="llcancel \${TRUS_JIDN}" 22 23 TRUS_JTIM="grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f1 | awk '{print \$(NF-1),\$NF}'" 24 TRUS_JPME="grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f3 | awk '{print \$3 ,\$4 }'" 25 TRUS_JVME="grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f2 | awk '{print \$3 ,\$4 }'" 26 27 TRUS_CMPV='ifort' 28 28 TRUS_CDOR='cdo/' 29 29 TRUS_MPIR='intel/impi/' 30 30 TRUS_CDFR='netcdf/' 31 31 32 33 ## Personal settings34 ##---------------------------------------------------35 [ -z "${TRUS_NPRO}" ] && TRUS_NPRO='16'36 [ -z "${TRUS_TOUT}" ] && TRUS_TOUT='10800'37 38 32 PATH='/smplocal/pub/cdo/1.5.9/bin':$PATH 39 33 #WRAPPER_LDFLAGS='-L/smplocal/pub/IdrMemMPI/1.4/lib -lidrmem' -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/config/X64_CURIE.cfg
r5799 r5929 9 9 TRUS_CDOD='cdo diffn' 10 10 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' 23 13 24 14 25 ## Available softwares/librairies15 ## (Super)computer environment 26 16 ##--------------------------------------------------- 27 TRUS_CMPF='ifort' 17 TRUS_JSPT=${TRUS_HPCC}.sh 18 TRUS_JSUB="ccc_msub ${TRUS_JSPT} | grep -oe '\<[0-9]*\>'" 19 TRUS_JINF="ccc_macct \${TRUS_JIDN}" 20 TRUS_JSTA="ccc_mpp | grep \${TRUS_JIDN}" 21 TRUS_JKIL="ccc_mdel \${TRUS_JIDN}" 22 23 TRUS_JTIM="ccc_macct \${TRUS_JIDN} | grep \"\${TRUS_JIDN}.0 *opa\" | awk '{print \$9 }'" 24 TRUS_JPME="ccc_macct \${TRUS_JIDN} | grep -m1 \"\${TRUS_JIDN}.0\" | awk '{printf \"%d Mo\n\", \$2; exit}'" 25 TRUS_JVME="ccc_macct \${TRUS_JIDN} | grep -m1 \"\${TRUS_JIDN}.0\" | awk '{printf \"%d Go\n\", \$7; exit}'" 26 27 TRUS_CMPV='ifort' 28 28 TRUS_CDOR='netcdf-utils-' 29 29 TRUS_MPIR='bullxmpi/' 30 30 TRUS_CDFR='netcdf-' 31 31 32 33 ## Personal settings34 ##---------------------------------------------------35 [ -z "${TRUS_NPRO}" ] && TRUS_NPRO='16'36 [ -z "${TRUS_TOUT}" ] && TRUS_TOUT='10800'37 38 32 PATH='/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 2 2 ##--------------------------------------------------- 3 3 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 10 7 11 8 12 9 ## Default settings 13 10 ##--------------------------------------------------- 11 # (Super)Computer environment (${TRUS_XIOS} is already defined in the user configuration file) 12 TRUS_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} 14 15 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) 24 17 TRUS_CDOD='cdo diffn' 25 18 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) 50 21 51 22 52 ## Available softwares/librairies23 ## (Super)computer environment 53 24 ##--------------------------------------------------- 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 27 TRUS_JSPT= ## Submission script contained ./batch folder, will be copied to testing folder 28 TRUS_JSUB= ## Submit a job and get his ID on the fly (assigned to ${TRUS_JIDN}) 29 ## ex: `llsubmit ${TRUS_JSPT} | grep -oe '\<[0-9]*\>'` 30 TRUS_JSTA= ## Test state of the submitted job (true -> pending/running or false -> completed/crashed) 31 ## ex: "llq | grep \${TRUS_JIDN}" 32 TRUS_JKIL= ## Kill the submitted job 33 ## ex: "llcancel \${TRUS_JIDN}" 54 34 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) 36 TRUS_JTIM='' ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f1 | awk '{print \$(NF-1),\$NF}" 37 TRUS_JPME='' ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f3 | awk '{print \$3 ,\$4 }" 38 TRUS_JVME='' ## ex: "grep IdrisMemMPI NEMO_CI_\${TRUS_JIDN} | cut -d, -f2 | awk '{print \$3 ,\$4 }" 57 39 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'|... 40 TRUS_JINF='' ## Get job informations to fill in a logfile during computation 41 ## ex: "llq -x \${TRUS_JIDN}" 65 42 43 ## Compiler (use with `${TRUS_CMPV} --version`) 44 TRUS_CMPV='' ## ex: 'ifort'|'gfortran'|'pgfortran'|... 66 45 67 ## Personal settings68 ## ---------------------------------------------------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 48 TRUS_CDOR='' ## ex: 'cdo/'|'netcdf-utils-' 49 TRUS_MPIR='' ## ex: 'intel/impi/'|'bullxmpi/' 50 TRUS_CDFR='' ## ex: 'netcdf/'|'netcdf-' -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/config/martin.cfg
r5799 r5929 1 ## Installation for overalltrusting tests on Curie Supercomputer1 ## Installation for trusting tests on Curie Supercomputer 2 2 ##--------------------------------------------------- 3 4 5 ## Global Directories6 ##---------------------------------------------------7 TRUS_SCRA=$SCRATCHDIR/NEMO/trusting8 TRUS_STOR=$CCCSTOREDIR/NEMO/trusting_sav9 TRUS_FORC=$CCCWORKDIR/NEMO/FORC10 TRUS_XIOS=$CCCWORKDIR/XIOS/xios-1.011 3 12 4 … … 14 6 ##--------------------------------------------------- 15 7 [ -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' ) 8 TRUS_CKOT=( 'ARCH CONFIG NEMO \ 9 EXTERNAL/AGRIF EXTERNAL/fcm EXTERNAL/IOIPSL \ 10 TOOLS/COMPILE TOOLS/maketools TOOLS/REBUILD_NEMO ' ) 17 11 18 12 [ -z "${TRUS_REFE}" ] && TRUS_REFE='ORCA2_LIM_PISCES' 19 13 TRUS_CONF=${TRUS_REFE}'_trust' 20 14 21 [ -z "${TRUS_TARF}" ] && TRUS_TARF='ORCA2_LIM_nemo_v3.6.tar'15 #[ -z "${TRUS_TARF}" ] && TRUS_TARF='ORCA2_LIM_nemo_v3.6.tar' 22 16 [ ${TRUS_REFE} == 'ORCA1_LIM3_PISCES' ] && TRUS_TARF='INPUTS_ORCA1_LIM3_PISCES_V6.tar' 23 17 [ ${TRUS_REFE} == 'AMM12' ] && TRUS_TARF='AMM12_v3.6.tar' … … 27 21 28 22 29 ## Personal settings23 ## User environment 30 24 ##--------------------------------------------------- 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} 25 TRUS_WORK=$CCCWORKDIR/NEMO 26 TRUS_SCRA=$SCRATCHDIR/NEMO/trusting/${TRUS_REFE}/${TRUS_BRAN}/${DATE} 27 TRUS_STOR=$CCCSTOREDIR/NEMO/trusting_sav/${TRUS_REFE}/${TRUS_BRAN} 28 TRUS_FORC=$CCCWORKDIR/NEMO/FORC_tmp 29 TRUS_XIOS=$CCCWORKDIR/XIOS/xios-1.0 35 30 36 31 [ ${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 overalltrusting tests on Ada Supercomputer1 ## Installation for trusting tests on Ada Supercomputer 2 2 ##--------------------------------------------------- 3 4 5 ## Global Directories6 ##---------------------------------------------------7 TRUS_SCRA=$WORKDIR/NEMO/trusting8 TRUS_STOR=$WORKDIR/NEMO/trusting_sav9 TRUS_FORC=$WORKDIR/NEMO/FORC10 TRUS_XIOS=$WORKDIR/XIOS/xios-1.011 3 12 4 … … 14 6 ##--------------------------------------------------- 15 7 [ -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' ) 8 TRUS_CKOT=( 'ARCH CONFIG NEMO \ 9 EXTERNAL/AGRIF EXTERNAL/fcm EXTERNAL/IOIPSL \ 10 TOOLS/COMPILE TOOLS/maketools TOOLS/REBUILD_NEMO ' ) 17 11 18 12 [ -z "${TRUS_REFE}" ] && TRUS_REFE='ORCA2_LIM_PISCES' … … 27 21 28 22 29 ## Personal settings23 ## User environment 30 24 ##--------------------------------------------------- 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} 25 TRUS_WORK=$WORKDIR/NEMO 26 TRUS_SCRA=$WORKDIR/NEMO/trusting/${TRUS_REFE}/${TRUS_BRAN}/${DATE} 27 TRUS_STOR=$WORKDIR/NEMO/trusting_sav/${TRUS_REFE}/${TRUS_BRAN} 28 TRUS_FORC=$WORKDIR/NEMO/FORC 29 TRUS_XIOS=$WORKDIR/XIOS/xios-1.0 35 30 36 31 [ ${TRUS_REFE} == 'ORCA2_LIM_PISCES' ] && TRUS_CONF='O2LP_trust' -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/config/user_template.cfg
r5799 r5929 2 2 ##--------------------------------------------------- 3 3 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 8 6 ## Look into other configuration file for examples 9 ## It will be called by its name without extension10 11 12 ## Global directories13 ##---------------------------------------------------14 TRUS_SCRA= ## Computation15 TRUS_STOR= ## Backup16 TRUS_FORC= ## Location of forcing archive to extract (combined use with ${TRUS_TARF}) or17 ## "" "" all inputs files to copy into ${TRUS_TEST}18 TRUS_XIOS= ## XIOS installation19 7 20 8 21 9 ## Default settings 22 10 ##--------------------------------------------------- 23 24 11 ## These settings can be changed directly from command line to reduce number of user configuration file 25 12 ## See `./trusting.sh [-h|--help]` 26 13 27 ## SVN branch name 14 ## SVN branch name ('trunk', 'nemo_v3_6_STABLE', development branches) 28 15 [ -z "${TRUS_BRAN}" ] && TRUS_BRAN='trunk' 29 16 30 17 ## 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' ) 18 TRUS_CKOT=( 'ARCH CONFIG NEMO \ 19 EXTERNAL/AGRIF EXTERNAL/fcm EXTERNAL/IOIPSL \ 20 TOOLS/COMPILE TOOLS/maketools TOOLS/REBUILD_NEMO ' ) 32 21 33 ## Reference configuration to test34 [ -z "${TRUS_REFE}" ] && TRUS_REFE='ORCA2_LIM_PISCES' 22 [ -z "${TRUS_REFE}" ] && TRUS_REFE='ORCA2_LIM_PISCES' ## Reference configuration to test 23 TRUS_CONF=${TRUS_REFE}'_trust' ## Testing configuration name 35 24 36 ## Forcing archive, let void if not need to untarinside ${TRUS_FORC}25 ## Forcing archive, let void if just need to copy the files inside ${TRUS_FORC} 37 26 [ -z "${TRUS_TARF}" ] && TRUS_TARF='ORCA2_LIM_nemo_v3.6.tar' 38 27 [ ${TRUS_REFE} == 'ORCA1_LIM3_PISCES' ] && TRUS_TARF='INPUTS_ORCA1_LIM3_PISCES_V6.tar' 39 28 [ ${TRUS_REFE} == 'AMM12' ] && TRUS_TARF='AMM12_v3.6.tar' 40 41 ## Testing configuration name42 TRUS_CONF=${TRUS_REFE}'_trust'43 29 44 30 ## CPP keys to add or remove from reference configuration … … 47 33 48 34 49 ## Personal settings35 ## User environment 50 36 ##--------------------------------------------------- 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 37 TRUS_WORK= ## Testing folder for compilation (branches checkouts & configuration compilation) 38 TRUS_SCRA= ## " " "" " " computation 39 ## ...../${TRUS_REFE}/${TRUS_BRAN}/${DATE} recommended 40 TRUS_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}) 44 TRUS_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} 46 TRUS_XIOS= ## XIOS installation 62 47 63 48 ## Mailing list to notify on failure (-p|--prod option required) -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/inc/trusting.env
r5923 r5929 2 2 3 3 4 ## Patterns (UTC time-stamp & messengers filename)4 ## Global environment variables 5 5 ##-------------------------------------- 6 6 dat=$( date ) … … 12 12 ## Source user configuration 13 13 ##--------------------------------------------------- 14 . ${TRUS_DIRE}/config/${TRUS_USER}.cfg15 export TRUS_ SCRA TRUS_STOR TRUS_XIOS TRUS_FORC16 export TRUS_ WORK TRUS_BRAN TRUS_BHMK TRUS_TEST17 export TRUS_ REFE TRUS_CONF TRUS_TARF TRUS_KEYA TRUS_KEYD14 . ./config/${TRUS_USER}.cfg 15 export TRUS_WORK TRUS_SCRA TRUS_STOR TRUS_XIOS TRUS_FORC 16 export TRUS_BRAN TRUS_REFE 17 export TRUS_CONF TRUS_TARF TRUS_KEYA TRUS_KEYD 18 18 export TRUS_MAIL 19 20 export TRUS_NGCM=${TRUS_WORK}/${TRUS_BRAN}/NEMOGCM21 19 22 20 23 21 ## Source (super)computer configuration 24 22 ##--------------------------------------------------- 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 24 export TRUS_ENVI TRUS_CDOD TRUS_NPRO TRUS_TOUT 25 export TRUS_JSPT TRUS_JSUB TRUS_JSTA TRUS_JKIL 26 export TRUS_JPME TRUS_JTIM TRUS_JVME TRUS_JINF 27 export TRUS_CMPV TRUS_CDOR TRUS_MPIR TRUS_CDFR 31 28 29 30 export TRUS_NGCM=${TRUS_WORK}/${TRUS_BRAN}/NEMOGCM -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/inc/trusting_func.sh
r5923 r5929 90 90 [ $TRUS_HPCC == 'X64_ADA' ] && WRAPPER_LDFLAGS='-L/smplocal/pub/IdrMemMPI/1.4/lib -lidrmem '${WRAPPER_LDFLAGS} 91 91 92 for str in ${TRUS_CMP F} ${TRUS_MPIR} ${TRUS_CDFR} ${TRUS_CDOR}; do92 for str in ${TRUS_CMPV} ${TRUS_MPIR} ${TRUS_CDFR} ${TRUS_CDOR}; do 93 93 [ -z "$str" ] && continue 94 94 soft_rel='' … … 98 98 99 99 ## option --version would work for main compilers (gfortran, intel, pgfortran, ...) 100 [ $str == ${TRUS_CMP F} ] && soft_rel=$( $str --version | grep -m1 -oe '\<[0-9. ]*\>' )100 [ $str == ${TRUS_CMPV} ] && soft_rel=$( $str --version | grep -m1 -oe '\<[0-9. ]*\>' ) 101 101 102 102 ## Cleaning characters string to display proper soft name … … 116 116 117 117 get_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 128 126 } 129 127 … … 137 135 138 136 ## 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; fi137 if [ -e ${TRUS_STOR}/$file ]; then dif=$( diff -q $file ${TRUS_STOR}/$file ); else dif=0; fi 140 138 141 139 ## Pass over useless file omission in benckmark directory … … 180 178 for file in 'ocean.output' *.stat; do 181 179 ## 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}/$file180 [ ! -e ${TRUS_STOR}/$file ] && { TRUS_RSLT='FAILED'; get_out 7; } 181 182 diff -q $file ${TRUS_STOR}/$file 185 183 186 184 ## Continue even if it differs … … 200 198 201 199 ## 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:] ) 204 202 205 203 ## Find all restart files to rebuild … … 222 220 ${TRUS_NGCM}/TOOLS/REBUILD_NEMO/rebuild_nemo -t ${TRUS_NPRO} $file ${nb_dom} \ 223 221 > /dev/null 224 [ $? -eq 0 ] && rm -f ${file}_[0-9]*.nc \225 > /dev/null226 222 elif [ ${nb_dom} -eq 0 ]; then 227 223 TRUS_RSLT='FAILED' && get_out 8 … … 232 228 233 229 ## Stop if no benchmark files (restart file) 234 if [ -e ${TRUS_ BHMK}/$file.nc ]; then230 if [ -e ${TRUS_STOR}/$file.nc ]; then 235 231 236 232 ## 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 \ 238 234 | awk '/records/ {print $0}' | sed '2 s/^/,/' | tr -d '\n' ) 239 235 … … 325 321 326 322 ## Create or append trusting logfile 327 if [ -f ${TRUS_ BHMK}/trusting_$PATTERNAME.txt ]; then cmd='tail -1'; else cmd='cat'; fi328 329 $cmd ${TRUS_FILE} \330 >> ${TRUS_ BHMK}/trusting_$PATTERNAME.txt323 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 331 327 332 328 ## Send mail only when FAILED … … 347 343 ${TRUS_USER}.cfg & ${TRUS_HPCC}.cfg 348 344 349 For more details, look into the testing directoryat:350 ${TRUS_ TEST}345 For more details, look into the testing folder at: 346 ${TRUS_SCRA} 351 347 352 348 An archive has been created to share the questionable configuration for further studies: 353 ${TRUS_ BHMK}/${TRUS_ARCH}349 ${TRUS_STOR}/${TRUS_ARCH} 354 350 355 351 END_MAIL … … 371 367 372 368 ## In case of compilation error 373 cd ${TRUS_ TEST}369 cd ${TRUS_SCRA} 374 370 375 371 if [ ${TRUS_RSLT} == 'FAILED' ]; then … … 410 406 ## Save tested configuration if trusting failed in production mode (-p|--prod) 411 407 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} * \ 414 410 -C ${TRUS_NGCM}/CONFIG/${TRUS_CONF}/MY_SRC . \ 415 411 -C ${TRUS_NGCM}/CONFIG/${TRUS_CONF} cpp_${TRUS_CONF}.fcm -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/install_new_branch.sh
r5799 r5929 6 6 ## Set defaults 7 7 ##--------------------------------------------------- 8 TRUS_DIRE=$PWD9 8 TRUS_DBUG=0; TRUS_PROD=0; TRUS_HELP=0 10 9 … … 16 15 '-d'|'--debug' ) TRUS_DBUG=1 ; shift ;; '-j'|'--job' ) TRUS_NPRO=$2; shift 2;; 17 16 '-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 ;; 20 18 esac 21 19 done … … 25 23 ##--------------------------------------------------- 26 24 if [[ ! -e config/${TRUS_USER}.cfg || ! -e config/${TRUS_HPCC}.cfg || ${TRUS_HELP} -eq 1 ]]; then 27 cat trusting_help.txt25 cat ./inc/trusting_help.txt 28 26 29 27 if [ ${TRUS_HELP} -eq 0 ]; then … … 39 37 exit 1 40 38 else 41 . trusting.env39 . ./inc/trusting.env 42 40 [ ${TRUS_DBUG} -eq 1 ] && set -vx 43 41 fi … … 53 51 54 52 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" 56 54 read answer 57 55 [[ $answer == 'Y' || $answer == 'y' || $answer == 'yes' ]] && break … … 72 70 73 71 for elmt in ${TRUS_CKOT}; do 72 [ $elmt == '\' ] && continue 74 73 printf "%s " $elmt 75 74 … … 90 89 if [ $( find ARCH -name arch-${TRUS_HPCC}.fcm ) ]; then 91 90 echo 'Compile NEMO rebuild tool' 92 cd TOOLS && ./maketools -n REBUILD_NEMO -m ${TRUS_HPCC} -j ${TRUS_NPRO} > /dev/null93 [ $? -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" 94 93 printf "\n\n" 95 94 else -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/trusting.sh
r5809 r5929 33 33 ##--------------------------------------------------- 34 34 if [[ ! -e config/${TRUS_USER}.cfg || ! -e config/${TRUS_HPCC}.cfg || ${TRUS_HELP} -eq 1 ]]; then 35 cat trusting_help.txt35 cat ./inc/trusting_help.txt 36 36 37 37 if [ ${TRUS_HELP} -eq 0 ]; then … … 47 47 exit 1 48 48 else 49 . trusting.env && .trusting_func.sh50 #echo $WRAPPER_LDFLAGS 49 . ./inc/trusting.env && . ./inc/trusting_func.sh 50 51 51 ## DEBUG option to speed up & expand verbosity of compilation 52 52 [ ${TRUS_DBUG} -eq 1 ] && { set -vx; xios_mode=''; stdout_redir='>'; } … … 67 67 ##--------------------------------------------------- 68 68 echo 69 if [ -t 0 ]; then cat banner.txt; else catbanner.html; fi69 if [ -t 0 ]; then cat ./inc/banner.txt; else cat ./inc/banner.html; fi 70 70 echo 71 71 echo '****************************************************************************************************' … … 76 76 echo '****************************************************************************************************' 77 77 echo 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 78 printf "\t§ Testing configuration\t\t%s based on %s\n" ${TRUS_CONF} ${TRUS_REFE} 79 printf "\t§ SVN working copy\t\t%s/%s\n" ${TRUS_WORK} ${TRUS_BRAN} 80 printf "\t§ Benchmark folder\t\t%s\n" ${TRUS_STOR} 81 printf "\t§ (Super)Computer\t\t%s\n" ${TRUS_HPCC} 82 printf "\t§ User installation\t\t%s\n\n" ${TRUS_USER} 84 83 85 84 … … 87 86 ##--------------------------------------------------- 88 87 print_step 'Timestamped testing directory' 89 mkdir -p ${TRUS_ TEST} ${TRUS_BHMK}90 cd ${TRUS_ TEST}91 echo ${TRUS_ TEST}88 mkdir -p ${TRUS_SCRA} ${TRUS_STOR} 89 cd ${TRUS_SCRA} 90 echo ${TRUS_SCRA} 92 91 init_files 93 92 get_date … … 104 103 print_step 'Get testing environement' 105 104 get_soft_rel 106 cat model.log 105 cat model.log | awk '{printf "%-20s %s %s\n", $1, $2, $3}' 107 106 env | sort > env.log 108 #echo $WRAPPER_LDFLAGS 107 109 108 110 109 ## XIOS compilation from scratch … … 135 134 ##--------------------------------------------------- 136 135 print_step 'Set job (copying or extracting inputs)' 137 cd ${TRUS_TEST} 136 cd ${TRUS_SCRA} 137 get_inputs 138 [ $? -ne 0 ] && get_out 3 || echo 'Success' 138 139 cp ${TRUS_NGCM}/CONFIG/${TRUS_CONF}/cpp_* . 139 140 find ${TRUS_NGCM}/CONFIG/${TRUS_CONF}/EXP00 -regex '.*\(_cfg\|.in\|opa\|_ref\|.xml\)' \ 140 141 -exec cp {} . \; 141 get_inputs142 [ $? -ne 0 ] && get_out 3 || echo 'Success'143 [ $( find . -name '*.gz' -print -quit ) ] && find . -name '*.gz' -exec gunzip {} \;144 142 145 143 … … 153 151 ##--------------------------------------------------- 154 152 print_step 'Submit job' 155 JOB_ID=$( eval ${TRUS_JSUB} ) 156 [ $? -ne 0 ] && get_out 4 || echo 'Success (job ID '${JOB_ID}')' 153 cp ${TRUS_DIRE}/batch/${TRUS_JSPT} ${TRUS_SCRA} ## Copy the submitting script to testing folder 154 TRUS_JIDN=$( eval ${TRUS_JSUB} ) 155 [ $? -ne 0 ] && get_out 4 || printf "Success (job ID %s)\n" ${TRUS_JIDN} 157 156 print_step 'Pending job' 158 157 job_pending … … 163 162 ##--------------------------------------------------- 164 163 print_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 166 165 print_step 'Get job performances' 167 166 get_time
Note: See TracChangeset
for help on using the changeset viewer.