Changeset 8818
- Timestamp:
- 2017-11-27T14:10:49+01:00 (6 years ago)
- Location:
- branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/cfg/X64_ADA.cfg
- Property svn:mime-type set to application/x-shellscript
r8808 r8818 5 5 ## Default settings 6 6 ##--------------------------------------------------- 7 TRUST_JOB_ENV=${TRUST_ DIR_XIOS}/arch/arch-${TRUST_MAIN_HPCC}7 TRUST_JOB_ENV=${TRUST_IO_XIOS}/arch/arch-${TRUST_MAIN_HPCC} 8 8 9 9 ='cdo diffn' … … 26 26 27 27 TRUST_COMPILE_FORTRAN='ifort' 28 TRUST_ CDO='cdo/'28 TRUST_IO_CDO='cdo/' 29 29 TRUST_COMPILE_MPI='intel/impi/' 30 30 TRUST_COMPILE_NETCDF='netcdf/' -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/cfg/X64_CURIE.cfg
- Property svn:mime-type set to application/x-shellscript
r8808 r8818 5 5 ## Default settings 6 6 ##--------------------------------------------------- 7 TRUST_JOB_ENV=${TRUST_ DIR_XIOS}/arch/arch-${TRUST_MAIN_HPCC}7 TRUST_JOB_ENV=${TRUST_IO_XIOS}/arch/arch-${TRUST_MAIN_HPCC} 8 8 9 9 ='cdo diffn' … … 26 26 27 27 TRUST_COMPILE_FORTRAN='ifort' 28 TRUST_ CDO='netcdf-utils-'28 TRUST_IO_CDO='netcdf-utils-' 29 29 TRUST_COMPILE_MPI='bullxmpi/' 30 30 TRUST_COMPILE_NETCDF='netcdf-' -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/cfg/X64_CURIE_cron.cfg
- Property svn:mime-type set to application/x-shellscript
r8808 r8818 5 5 ## Default settings 6 6 ##--------------------------------------------------- 7 TRUST_JOB_ENV=${TRUST_ DIR_XIOS}/arch/arch-${TRUST_MAIN_HPCC}.env7 TRUST_JOB_ENV=${TRUST_IO_XIOS}/arch/arch-${TRUST_MAIN_HPCC}.env 8 8 9 9 TRUST_COMPILE_FORTRAN='ifort' … … 12 12 TRUST_COMPILE_NETCDF='netcdf-[0-9]' 13 13 14 TRUST_ CDO='cdo'14 TRUST_IO_CDO='cdo' 15 15 16 16 [ -z "${TRUST_COMPILE_NPROC}" ] && TRUST_COMPILE_NPROC='4' -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/cfg/arch_template.cfg
- Property svn:mime-type set to application/x-shellscript
r8808 r8818 9 9 ## Default settings 10 10 ##--------------------------------------------------- 11 # (Super)Computer environment (${TRUST_ DIR_XIOS} is already defined in the user configuration file)12 TRUST_JOB_ENV=${TRUST_ DIR_XIOS}/arch/arch-${TRUST_MAIN_HPCC}11 # (Super)Computer environment (${TRUST_IO_XIOS} is already defined in the user configuration file) 12 TRUST_JOB_ENV=${TRUST_IO_XIOS}/arch/arch-${TRUST_MAIN_HPCC} 13 13 ## If `module` is available, ${TRUST_JOB_ENV}.env will be sourced 14 14 ## If not (scheduled jobs), it will be ${TRUST_JOB_ENV}.path or finally ${TRUST_JOB_ENV} … … 46 46 ## Software/libraries (string pattern to match just before the release number in $PATH) 47 47 ## Respectively CDO (Climate Data Operators) / MPI libraries / NetCDF libraries 48 TRUST_ CDO='' ## ex: 'cdo/'|'netcdf-utils-'48 TRUST_IO_CDO='' ## ex: 'cdo/'|'netcdf-utils-' 49 49 TRUST_COMPILE_MPI='' ## ex: 'intel/impi/'|'bullxmpi/' 50 50 TRUST_COMPILE_NETCDF='' ## ex: 'netcdf/'|'netcdf-' -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/cfg/martin.cfg
- Property svn:mime-type set to application/x-shellscript
r8808 r8818 1 ## Installation for trusting tests on Curie Supercomputer2 ##--------------------------------------------------- 1 ## Settings for 2 ##-------------------------------------------------------------------------------- 3 3 4 4 5 ## Default settings6 ## ---------------------------------------------------7 TRUST_SVN_CO=( 'ARCH CONFIG NEMO \ 8 EXTERNAL/AGRIF EXTERNAL/fcm EXTERNAL/IOIPSL \ 9 TOOLS/COMPILE TOOLS/maketools TOOLS/REBUILD_NEMO ' )5 ## Trusting installation 6 ## --------------------- 7 TRUST_DIR_WORK=$CCCWORKDIR/NEMO 8 TRUST_DIR_SCRATCH=$CCCSCRATCHDIR/NEMO/trusting 9 TRUST_DIR_STORE=$CCCSTOREDIR/NEMO/trusting_sav 10 10 11 TRUST_CFG_NEW=${TRUST_CFG_REF}'_trust'12 11 13 if [ -z "${TRUST_SVN_BRANCH}" ]; then 14 TRUST_SVN_BRANCH='trunk' 12 ## Branch checkout 13 ## --------------- 15 14 16 if [ -z "${TRUST_CFG_REF}" ]; then17 TRUST_CFG_REF='ORCA2_LIM3_PISCES'18 elif [ ${TRUST_CFG_REF} == 'AMM12' ]; then19 TRUST_CFG_FORC='AMM12_v3.7.tar'20 fi21 15 22 [ -z "${TRUST_CFG_FORC}" ] && TRUST_CFG_FORC='ORCA2_LIM_nemo_v3.7.tar \ 23 INPUTS_PISCES_v3.6st.tar ' 24 elif [ ${TRUST_SVN_BRANCH} == 'nemo_v3_6_STABLE' ]; then 16 ## NEMO configuration 17 ## ------------------ 18 [ ${TRUST_CFG_REF} == 'ORCA2_LIM_PISCES' ] && TRUST_CFG_NEW='O2LP_trust' 19 [ ${TRUST_CFG_REF} == 'ORCA2_LIM3_PISCES' ] && TRUST_CFG_NEW='O2L3P_trust' 20 [ ${TRUST_CFG_REF} == 'ORCA1_LIM3_PISCES' ] && TRUST_CFG_NEW='O1L3P_trust' 25 21 26 if [ -z "${TRUST_CFG_REF}" ]; then27 TRUST_CFG_REF='ORCA2_LIM_PISCES'28 elif [ ${TRUST_CFG_REF} == 'ORCA1_LIM3_PISCES' ]; then29 TRUST_CFG_FORC='INPUTS_ORCA1_LIM3_PISCES_V10.tar'30 elif [ ${TRUST_CFG_REF} == 'AMM12' ]; then31 TRUST_CFG_FORC='AMM12_v3.6.tar'32 fi33 22 23 ## Inputs/Outputs 24 ## -------------- 25 TRUST_IO_FORC_PATH=$CCCWORKDIR/NEMO/FORC 26 TRUST_IO_XIOS=$CCCWORKDIR/XIOS 27 28 if [ ${TRUST_SVN_BRANCH} == 'nemo_v3_6_STABLE' ]; then 29 TRUST_IO_XIOS+='/xios-1.0' 30 elif [ ${TRUST_CFG_REF} == 'ORCA1_LIM3_PISCES' ]; then 31 TRUST_IO_XIOS+='/XIOS_DEV_CMIP6' 32 else 33 TRUST_IO_XIOS+='/trunk' 34 34 fi 35 35 36 TRUST_CFG_KEY_ADD=''; TRUST_CFG_KEY_DEL=''37 36 38 [ -z "${TRUST_CFG_FORC}" ] && TRUST_CFG_FORC='ORCA2_LIM_nemo_v3.6.tar' 37 ## Trusting test 38 ##-------------- 39 39 40 ## User environment 41 ##--------------------------------------------------- 42 TRUST_DIR_WORK=$CCCWORKDIR/NEMO 43 TRUST_DIR_SCRATCH=$CCCSCRATCHDIR/NEMO/trusting/${TRUST_CFG_REF}/${TRUST_SVN_BRANCH}/${TRUST_TEST_DATE} 44 TRUST_DIR_STORE=$CCCSTOREDIR/NEMO/trusting_sav/${TRUST_CFG_REF}/${TRUST_SVN_BRANCH} 45 TRUST_DIR_FORC=$CCCWORKDIR/NEMO/FORC 46 TRUST_DIR_XIOS=$CCCWORKDIR/XIOS/xios-1.0 47 48 if [ ${TRUST_CFG_REF} == 'ORCA2_LIM_PISCES' ]; then 49 TRUST_CFG_NEW='O2LP_trust' 50 elif [ ${TRUST_CFG_REF} == 'ORCA2_LIM3_PISCES' ]; then 51 TRUST_CFG_NEW='O2L3P_trust' 52 elif [ ${TRUST_CFG_REF} == 'ORCA1_LIM3_PISCES' ]; then 53 TRUST_CFG_NEW='O1L3P_trust' 54 TRUST_DIR_XIOS=$CCCWORKDIR/XIOS/XIOS_DEV_CMIP6 55 fi 56 57 [ ${TRUST_SVN_BRANCH} == 'trunk' ] && TRUST_DIR_XIOS=$CCCWORKDIR/XIOS/trunk 58 59 [ -z "${TRUST_TEST_MAILING}" ] && TRUST_TEST_MAILING='nicolas.martin@upmc.fr 60 claire.levy@locean-ipsl.upmc.fr 61 officers@nemo-ocean.eu' 40 TRUST_TEST_MAILING=$( cat ./cfg/mailing_list.txt ) -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/cfg/romr005.cfg
- Property svn:mime-type set to application/x-shellscript
r8808 r8818 13 13 TRUST_CFG_NEW=${TRUST_CFG_REF}'_trust' 14 14 15 [ -z "${TRUST_ CFG_FORC}" ] && TRUST_CFG_FORC='ORCA2_LIM_nemo_v3.6.tar'16 [ ${TRUST_CFG_REF} == 'ORCA1_LIM3_PISCES' ] && TRUST_ CFG_FORC='INPUTS_ORCA1_LIM3_PISCES_V6.tar'17 [ ${TRUST_CFG_REF} == 'AMM12' ] && TRUST_ CFG_FORC='AMM12_v3.6.tar'15 [ -z "${TRUST_IO_FORC_TAR}" ] && TRUST_IO_FORC_TAR='ORCA2_LIM_nemo_v3.6.tar' 16 [ ${TRUST_CFG_REF} == 'ORCA1_LIM3_PISCES' ] && TRUST_IO_FORC_TAR='INPUTS_ORCA1_LIM3_PISCES_V6.tar' 17 [ ${TRUST_CFG_REF} == 'AMM12' ] && TRUST_IO_FORC_TAR='AMM12_v3.6.tar' 18 18 19 19 TRUST_CFG_KEY_ADD=''; TRUST_CFG_KEY_DEL='' … … 26 26 TRUST_DIR_SCRATCH=$WORKDIR/NEMO/trusting/${TRUST_CFG_REF}/${TRUST_SVN_BRANCH}/${TRUST_TEST_DATE} 27 27 TRUST_DIR_STORE=$WORKDIR/NEMO/trusting_sav/${TRUST_CFG_REF}/${TRUST_SVN_BRANCH} 28 TRUST_ DIR_FORC=$WORKDIR/NEMO/FORC29 TRUST_ DIR_XIOS=$WORKDIR/XIOS/xios-1.028 TRUST_IO_FORC_PATH=$WORKDIR/NEMO/FORC 29 TRUST_IO_XIOS=$WORKDIR/XIOS/xios-1.0 30 30 31 31 [ ${TRUST_CFG_REF} == 'ORCA2_LIM_PISCES' ] && TRUST_CFG_NEW='O2LP_trust' -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/cfg/user_template.cfg
- Property svn:mime-type set to application/x-shellscript
r8808 r8818 1 1 ## User configuration template 2 ##--------------------------------------------------- 2 ##-------------------------------------------------------------------------------- 3 3 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 6 ## Look into other configuration file for examples 4 ## Copy/Rename it and fill in according to your environment. 5 6 ## Rules for completion: 7 ##o Undefined variables (XXX= ) are mandatory 8 ##o Empty variables (XXX='') are optional, default value 9 10 ## Look into other configuration file for examples. 11 12 ## Most of the settings can be changed "on-the-fly" from the console to avoid 13 ##+ the creation of several configuration files. 14 ##+ See `./trusting.sh -h` 15 16 ##-------------------------------------------------------------------------------- 17 18 ## Trusting installation 19 ## --------------------- 20 21 ## Checkout/Compilation folder ('CONFIG' root directory by default) 22 TRUST_DIR_WORK='' 23 24 ## Computing folder ('TRUST' root directory by default) 25 TRUST_DIR_SCRATCH='' 26 27 ## Benchmark files folder (not mandatory for initial test), it can contains 28 ##o Inputs (expected): "cpp_*", "*namelist_*", "*.xml" 29 ##o 'inputs_list.txt' : forcing files listing from initial test 30 ##o Outputs (expected): 'ocean.output', "*.stat" 31 ##o Restarts (optional): execute `cdo diffn` if available 32 TRUST_DIR_STORE='' 7 33 8 34 9 ## Default settings 10 ##--------------------------------------------------- 11 ## These settings can be changed directly from command line to reduce number of user configuration file 12 ## See `./trusting.sh [-h|--help]` 35 ## Branch checkout (./install_new_branch.sh) 36 ##------------------------------------------ 13 37 14 ## SVN branch name ('trunk', 'nemo_v3_6_STABLE', development branches) 15 [ -z "${TRUST_SVN_BRANCH}" ] && TRUST_SVN_BRANCH='trunk' 16 17 ## Minimal content for code checkout/update 18 TRUST_SVN_CO=( 'ARCH CONFIG NEMO 19 EXTERNAL/AGRIF EXTERNAL/fcm EXTERNAL/IOIPSL 20 TOOLS/COMPILE TOOLS/maketools TOOLS/REBUILD_NEMO ' ) 21 22 [ -z "${TRUST_CFG_REF}" ] && TRUST_CFG_REF='ORCA2_LIM_PISCES' ## Reference configuration to test 23 TRUST_CFG_NEW=${TRUST_CFG_REF}'_trust' ## Testing configuration name 24 25 ## Forcing archive, let void if just need to copy the files inside ${TRUST_DIR_FORC} 26 [ -z "${TRUST_CFG_FORC}" ] && TRUST_CFG_FORC='ORCA2_LIM_nemo_v3.6.tar' 27 [ ${TRUST_CFG_REF} == 'ORCA1_LIM3_PISCES' ] && TRUST_CFG_FORC='INPUTS_ORCA1_LIM3_PISCES_V6.tar' 28 [ ${TRUST_CFG_REF} == 'AMM12' ] && TRUST_CFG_FORC='AMM12_v3.6.tar' 29 30 ## CPP keys to add or remove from reference configuration 31 TRUST_CFG_KEY_ADD=''; TRUST_CFG_KEY_DEL='' 32 [ ${TRUST_CFG_REF} == 'ORCA2_LIM' ] && TRUST_CFG_KEY_ADD='key_add key_agrif' && TRUST_CFG_KEY_DEL='key_del key_zdftmx' 38 ## SVN branch name ('trunk' by default) 39 TRUST_SVN_BRANCH='' 33 40 34 41 35 ## User environment 36 ##--------------------------------------------------- 37 TRUST_DIR_WORK= ## Testing folder for compilation (branches checkouts & configuration compilation) 38 TRUST_DIR_SCRATCH= ## " " "" " " computation 39 ## ...../${TRUST_CFG_REF}/${TRUST_SVN_BRANCH}/${TRUST_TEST_DATE} recommended 40 TRUST_DIR_STORE= ## 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 ## ...../${TRUST_CFG_REF}/${TRUST_SVN_BRANCH} recommended (same layout as ${TRUST_DIR_SCRATCH}) 44 TRUST_DIR_FORC= ## Path to the forcing archive to extract (usage combined with ${TRUST_CFG_FORC}) or 45 ## "" all inputs files who will be copied into ${TRUST_DIR_SCRATCH} 46 TRUST_DIR_XIOS= ## XIOS installation 42 ## NEMO Configuration 43 ##------------------- 47 44 48 ## Mailing list to notify on failure (-p|--prod option required) 49 [ -z "${TRUST_TEST_MAILING}" ] && TRUST_TEST_MAILING='' 45 ## Testing configuration name ("${TRUST_CFG_REF}_trust") 46 TRUST_CFG_NEW='' 47 48 ## Reference configuration ('ORCA2_LIM3_PISCES', 'ORCA2_LIM_PISCES' for stable) 49 TRUST_CFG_REF='' 50 51 ## CPP keys management 52 TRUST_CFG_KEY_ADD=''; TRUST_CFG_KEY_DEL='' 53 54 55 ## Inputs/Outputs 56 ## -------------- 57 58 ## Forcing files, not mandatory but read the following carefully. 59 ## 2 variables to handle 4 different cases: TRUST_IO_FORC_PATH for path to the forcing directory 60 ##+ and TRUST_IO_FORC_TAR for potential archive(s) to extract 61 ##o TRUST_IO_FORC_PATH unset & TRUST_IO_FORC_TAR unset => No files needed at all 62 ##o TRUST_IO_FORC_PATH set & TRUST_IO_FORC_TAR empty => All inside files will be copied 63 ##o TRUST_IO_FORC_PATH set & TRUST_IO_FORC_TAR set => Files will be extracted from archives list 64 ##o TRUST_IO_FORC_PATH set & TRUST_IO_FORC_TAR unset => Let default set for branch and ref.cfg 65 ## 'unset' means variable not declared somewhere in the code. 66 TRUST_IO_FORC_PATH= 67 #TRUST_IO_FORC_TAR= 68 69 ## XIOS installation path (mandatory) 70 TRUST_IO_XIOS= 71 72 73 ## Trusting test 74 ##-------------- 75 76 ## Customize path of testing and benchmark folders 77 ##+ (${TRUST_DIR_SCRATCH}/${TRUST_CFG_REF}/${TRUST_SVN_BRANCH}/${TRUST_TEST_DATE}) 78 TRUST_TEST_DIR='' 79 ##+ (${TRUST_DIR_STORE}/${TRUST_CFG_REF}/${TRUST_SVN_BRANCH}) 80 TRUST_TEST_BENCHMARK='' 81 82 ## Emails list to notify on failure, '-p' arg. required 83 TRUST_TEST_MAILING='' -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/inc/trusting.env
r8808 r8818 2 2 3 3 4 ## Defaults 5 ##-------------------------------------------------------------------------------- 6 7 [ -z "${TRUST_SVN_BRANCH}" ] && TRUST_SVN_BRANCH='trunk' 8 9 ## Ref. cfg. unset or empty (mandatory) 10 if [[ -z "${TRUST_CFG_REF}" ]]; then 11 12 ## Default cfg from trunk excepting last stable 13 TRUST_CFG_REF='ORCA2_LIM3_PISCES' 14 15 if [[ ${TRUST_SVN_BRANCH} && ${TRUST_SVN_BRANCH} == 'nemo_v3_6_STABLE' ]]; then 16 TRUST_CFG_REF='ORCA2_LIM_PISCES' 17 fi 18 19 fi 20 21 ## Forcing archive unset 22 #if [[ ! ${TRUST_IO_FORC_TAR} && ${TRUST_IO_FORC_TAR-_} ]]; then 23 24 ## Forcing directory set 25 # if [ ${TRUST_IO_FORC_PATH} ]; then 26 27 ## Default forcing archive from trunk 28 # TRUST_IO_FORC_TAR='ORCA2_LIM_nemo_v3.7.tar INPUTS_PISCES_v3.6st.tar' 29 30 # [ ${TRUST_CFG_REF} == 'AMM12' ] && TRUST_IO_FORC_TAR='AMM12_v3.7.tar' 31 32 # if [ ${TRUST_SVN_BRANCH} == 'nemo_v3_6_STABLE' ]; then 33 34 # TRUST_IO_FORC_TAR='ORCA2_LIM_nemo_v3.6.tar' 35 36 # if [ ${TRUST_CFG_REF} == 'ORCA1_LIM3_PISCES' ]; then 37 # TRUST_IO_FORC_TAR='INPUTS_ORCA1_LIM3_PISCES_V10.tar' 38 # elif [ ${TRUST_CFG_REF} == 'AMM12' ]; then 39 # TRUST_IO_FORC_TAR='AMM12_v3.6.tar' 40 # fi 41 42 # fi 43 44 # fi 45 46 #fi 47 48 4 49 ## Source user & (super)computer configurations 5 ##--------------------------------------------------- 50 ##-------------------------------------------------------------------------------- 6 51 . ./cfg/${TRUST_MAIN_USER}.cfg 7 52 . ./cfg/${TRUST_MAIN_HPCC}.cfg 8 53 9 ## Global environment variables per realm10 ##---------------------------------------11 54 12 ## Installation and 1^st^ branch checkout (./install_new_branch.sh) 55 ## Checking and export environment variables 56 ##-------------------------------------------------------------------------------- 57 58 ## Trusting installation 59 ## --------------------- 60 61 [ -z "${TRUST_DIR_WORK}" ] && TRUST_DIR_WORK=${TRUST_MAIN_DIR}/../CONFIG 62 [ -z "${TRUST_DIR_SCRATCH}" ] && TRUST_DIR_SCRATCH=${TRUST_MAIN_DIR} 63 13 64 export TRUST_DIR_WORK TRUST_DIR_SCRATCH TRUST_DIR_STORE 65 66 67 ## Branch checkout (./install_new_branch.sh) 68 ##------------------------------------------ 69 14 70 export TRUST_SVN_REPO='https://forge.ipsl.jussieu.fr/nemo/svn' 71 72 export TRUST_SVN_CO=( 'ARCH CONFIG NEMO \ 73 EXTERNAL/AGRIF EXTERNAL/fcm EXTERNAL/IOIPSL \ 74 TOOLS/COMPILE TOOLS/maketools TOOLS/REBUILD_NEMO \ 75 TRUST ' ) 76 15 77 export TRUST_SVN_BRANCH 16 export TRUST_DIR_NEMOGCM=${TRUST_DIR_WORK}/${TRUST_SVN_BRANCH}/NEMOGCM17 78 18 ## Configuration 19 export TRUST_CFG_REF TRUST_CFG_NEW TRUST_CFG_KEY_ADD TRUST_CFG_KEY_DEL 20 export TRUST_DIR_XIOS TRUST_DIR_FORC TRUST_CFG_FORC 79 export TRUST_SVN_NEMOGCM=${TRUST_DIR_WORK}/${TRUST_SVN_BRANCH}/NEMOGCM 80 81 82 ## NEMO Configuration 83 ##------------------- 84 85 ## Ref. cfg. unset or empty (mandatory) 86 #if [[ -z "${TRUST_CFG_REF}" ]]; then 87 88 ## Default cfg from trunk excepting last stable 89 # TRUST_CFG_REF='ORCA2_LIM3_PISCES' 90 91 # if [ ${TRUST_SVN_BRANCH} == 'nemo_v3_6_STABLE' ]; then 92 # TRUST_CFG_REF='ORCA2_LIM_PISCES' 93 # fi 94 95 #fi 96 97 ## Forcing archive unset 98 if [[ ! ${TRUST_IO_FORC_TAR} && ${TRUST_IO_FORC_TAR-_} ]]; then 99 100 ## Forcing directory set 101 if [ ${TRUST_IO_FORC_PATH} ]; then 102 103 ## Default forcing archive from trunk 104 TRUST_IO_FORC_TAR='ORCA2_LIM_nemo_v3.7.tar INPUTS_PISCES_v3.6st.tar' 105 106 [ ${TRUST_CFG_REF} == 'AMM12' ] && TRUST_IO_FORC_TAR='AMM12_v3.7.tar' 107 108 if [ ${TRUST_SVN_BRANCH} == 'nemo_v3_6_STABLE' ]; then 109 110 TRUST_IO_FORC_TAR='ORCA2_LIM_nemo_v3.6.tar' 111 112 if [ ${TRUST_CFG_REF} == 'ORCA1_LIM3_PISCES' ]; then 113 TRUST_IO_FORC_TAR='INPUTS_ORCA1_LIM3_PISCES_V10.tar' 114 elif [ ${TRUST_CFG_REF} == 'AMM12' ]; then 115 TRUST_IO_FORC_TAR='AMM12_v3.6.tar' 116 fi 117 118 fi 119 120 fi 121 122 fi 123 124 [ -z "${TRUST_CFG_NEW}" ] && TRUST_CFG_NEW=${TRUST_CFG_REF}'_trust' 125 126 export TRUST_CFG_NEW TRUST_CFG_REF 127 export TRUST_IO_FORC_TAR 128 129 export TRUST_CFG_KEY_ADD TRUST_CFG_KEY_DEL 130 131 132 ## Inputs/Outputs 133 ## -------------- 134 135 [ -z "${TRUST_IO_XIOS}" ] && get_out X 136 export TRUST_IO_XIOS TRUST_IO_FORC_PATH 137 export TRUST_IO_CDO 138 21 139 22 140 ## Compilation & Running 141 ##---------------------- 142 23 143 export TRUST_JOB_ENV 24 144 export TRUST_COMPILE_FORTRAN TRUST_COMPILE_NPROC … … 27 147 export TRUST_JOB_STATE TRUST_JOB_KILL TRUST_JOB_TIMEOUT 28 148 export TRUST_JOB_INFO TRUST_JOB_TIME TRUST_JOB_RAM_P TRUST_JOB_RAM_V 29 export TRUST_CDO 149 30 150 31 151 ## Trusting test 152 ##-------------- 153 32 154 export TRUST_TEST_NAME=${TRUST_MAIN_USER}'_'${TRUST_MAIN_HPCC} 33 155 export TRUST_TEST_DATE=$( date -u +"%Y%m%d%Z%H%M" ) 156 34 157 export TRUST_TEST_SUMMARY=trusting_${TRUST_TEST_DATE}_${TRUST_TEST_NAME}.txt 35 export TRUST_TEST_BACKUP=trusting_${TRUST_TEST_DATE}_${TRUST_TEST_NAME}.tgz 36 export TRUST_TEST_LOG=${TRUST_DIR_STORE}/trusting_${TRUST_TEST_NAME}.txt 158 export TRUST_TEST_BACKUP=trusting_${TRUST_TEST_DATE}_${TRUST_TEST_NAME}.tgz 159 160 ## TRUST_TEST_DIR unset 161 if [[ ! ${TRUST_TEST_DIR} && ${TRUST_TEST_DIR-_} ]]; then 162 TRUST_TEST_DIR=${TRUST_DIR_SCRATCH}/${TRUST_CFG_REF}/${TRUST_SVN_BRANCH}/${TRUST_TEST_DATE} 163 export TRUST_TEST_DIR 164 fi 165 166 ## TRUST_TEST_BENCHMARK unset 167 if [[ ! ${TRUST_TEST_BENCHMARK} && ${TRUST_TEST_BENCHMARK-_} ]]; then 168 TRUST_TEST_BENCHMARK=${TRUST_DIR_STORE}/${TRUST_CFG_REF}/${TRUST_SVN_BRANCH} 169 export TRUST_TEST_BENCHMARK 170 fi 171 172 export TRUST_TEST_LOG=${TRUST_DIR_BENCHMARK}/trusting_${TRUST_TEST_NAME}.txt 173 37 174 export TRUST_TEST_MAILING -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/inc/trusting_func.sh
r8808 r8818 53 53 54 54 ## Loop on essential NEMO directories 55 for dir in ${TRUST_SVN_CO} ${TRUST_ DIR_XIOS}; do55 for dir in ${TRUST_SVN_CO} ${TRUST_IO_XIOS}; do 56 56 57 57 ## For time being, just get revision from XIOS with no action on directory 58 if [ $dir == ${TRUST_ DIR_XIOS} ]; then58 if [ $dir == ${TRUST_IO_XIOS} ]; then 59 59 rev_loc=$( svn info $dir | awk '/Last Changed Rev/ {print $NF}' ) 60 60 echo 'XIOS '${rev_loc} \ 61 61 >> model.log 62 echo "<a href=\"https://forge.ipsl.jussieu.fr/ioserver/changeset/${rev_loc}\" target=\"_blank\"> \ 63 ${rev_loc} \ 64 </a>" \ 62 echo "<a href=\"https://forge.ipsl.jussieu.fr/ioserver/changeset/${rev_loc}\" target=\"_blank\">${rev_loc}</a>" 65 63 >> ${file_xios} 66 64 continue … … 77 75 echo 'NEMOGCM '$rev \ 78 76 >> model.log 79 echo "<a href=\"https://forge.ipsl.jussieu.fr/nemo/changeset/$rev\" target=\"_blank\"> \ 80 $rev \ 81 </a> " \ 77 echo "<a href=\"https://forge.ipsl.jussieu.fr/nemo/changeset/$rev\" target=\"_blank\">$rev</a>" 82 78 >> ${file_nemo} 83 79 } … … 91 87 for str in ${TRUST_COMPILE_FORTRAN} \ 92 88 ${TRUST_COMPILE_MPI} ${TRUST_COMPILE_NETCDF} \ 93 ${TRUST_ CDO}; do89 ${TRUST_IO_CDO} ; do 94 90 [ -z "$str" ] && continue 95 91 ver='' … … 99 95 100 96 ## option --version would work for main Fortran compilers and CDO 101 if [[ $str =~ ${TRUST_COMPILE_FORTRAN}|${TRUST_ CDO} ]]; then97 if [[ $str =~ ${TRUST_COMPILE_FORTRAN}|${TRUST_IO_CDO} ]]; then 102 98 ver=$( $str --version 2>&1 | grep -m1 -oe '\<[0-9. ]*\>' \ 103 99 | xargs echo $str ) … … 121 117 122 118 get_inputs() { 123 # List archive content & extract it by default119 # List archive content & extract it by default 124 120 local inputs_list=$( eval " 125 for archive in ${TRUST_CFG_FORC}; do126 tar -tvf ${TRUST_DIR_FORC}/\$archive >> inputs_list.txt;127 128 121 for archive in ${TRUST_IO_FORC_TAR}; do 122 tar -tvf ${TRUST_IO_FORC_PATH}/\$archive >> inputs_list.txt; 123 done 124 " ) 129 125 local inputs_get=$( eval " 130 for archive in ${TRUST_CFG_FORC}; do131 tar -vxf ${TRUST_DIR_FORC}/\$archive > /dev/null;132 133 134 126 for archive in ${TRUST_IO_FORC_TAR}; do 127 tar -vxf ${TRUST_IO_FORC_PATH}/\$archive > /dev/null; 128 done 129 " ) 130 135 131 ## List & copy files without archive 136 if [ -z "${TRUST_ CFG_FORC}" ]; then137 inputs_list=" ls -lh ${TRUST_DIR_FORC}/* >> inputs_list.txt"138 inputs_get=" \cp ${TRUST_DIR_FORC}/* . "132 if [ -z "${TRUST_IO_FORC_TAR}" ]; then 133 inputs_list=" ls -lh ${TRUST_IO_FORC_PATH}/* >> inputs_list.txt" 134 inputs_get=" \cp ${TRUST_IO_FORC_PATH}/* . " 139 135 fi 140 136 141 137 ${inputs_list}; ${inputs_get} 138 139 # for entry in ${TRUST_IO_FORC_PATH}; do 140 # 141 # If path to file (assuming it is an archive) 142 # if [ -e $entry ]; then 143 # tar -tvf $entry >> inputs_list.txt; 144 # tar -vxf $entry > /dev/null; 145 # If path to directory 146 # elif [ -d $entry ]; then 147 # inputs_list=" ls -lh ${TRUST_IO_FORC_PATH}/* >> inputs_list.txt" 148 # inputs_get=" \cp ${TRUST_IO_FORC_PATH}/* . " 149 # fi 150 151 # done 142 152 143 153 if [ $( find -name '*.gz' -print -quit ) ]; then … … 150 160 local files_list='' mesg='Same' 151 161 162 ################################### 163 ## Think of copying initial test ## 164 ################################### 165 152 166 ## Simple diff 153 for file in 'inputs_list.txt' *namelist_* *.xml cpp_*; do167 for file in cpp_* 'inputs_list.txt' *namelist_* *.xml; do 154 168 dif='' 155 169 156 170 ## Continue even if input file is not in here (see after) 157 if [ -e ${TRUST_ DIR_STORE}/$file ]; then158 dif=$( diff -q $file ${TRUST_ DIR_STORE}/$file )171 if [ -e ${TRUST_TEST_BENCHMARK}/$file ]; then 172 dif=$( diff -q $file ${TRUST_TEST_BENCHMARK}/$file ) 159 173 else 160 174 dif=0 … … 209 223 local files_list='' mesg='Same' 210 224 225 ################################### 226 ## Think of copying initial test ## 227 ################################### 228 211 229 ## Simple diff 212 230 for file in 'ocean.output' *.stat; do 213 231 ## Stop if no minimal benchmark files (ocean.output, eventual stat files) 214 if [ ! -e ${TRUST_DIR_STORE}/$file ]; then 215 TRUST_FLAG_RESULT='FAILED' 216 get_out 7 217 fi 218 219 diff -q $file ${TRUST_DIR_STORE}/$file 232 [ ! -e ${TRUST_TEST_BENCHMARK}/$file ] && get_out 7 233 234 diff -q $file ${TRUST_TEST_BENCHMARK}/$file 220 235 221 236 ## Continue even if it differs 222 if [ $? -ne 0 ]; then 223 TRUST_FLAG_RESULT='FAILED' 224 mesg='Different' 225 files_list+=$file' ' 226 fi 237 if [ $? -ne 0 ]; then mesg='Different'; files_list+=$file' '; fi 227 238 228 239 done … … 241 252 ## Find all restart files to rebuild 242 253 if [ $( find -regex ".*_restart.*[0-9]\.nc" -print -quit ) ]; then 243 ############################################################### #244 ## Think to set the conf giguration name in the 'namelist_cfg' ##245 ############################################################### #254 ############################################################### 255 ## Think to set the configuration name in the 'namelist_cfg' ## 256 ############################################################### 246 257 filebases=$( find -regextype sed -regex ".*${TRUST_CFG_NEW}.*_[0-9]\{4\}\.nc" \ 247 258 | sed 's/\(.*\)_.*/\1/' | sort -u ) … … 252 263 | wc -l | awk '{print $1}' ) 253 264 254 [ $ndomain -eq 0 ] && TRUST_FLAG_RESULT='FAILED' && get_out 8 265 [ $ndomain -eq 0 ] && get_out X 266 267 ##################################################### 268 ## Handle 2 possibilities of 'rebuild_nemo' origin ## 269 ##################################################### 255 270 256 271 ${TRUST_DIR_NEMOGCM}/TOOLS/REBUILD_NEMO/rebuild_nemo \ … … 259 274 260 275 ## Possibility of remaining decomposed restarts (even after rebuild) 261 [ $? -eq 0 ] && rm -f ${filebase}_[0-9]*.nc \ 262 > /dev/null 276 if [ $? -eq 0 ]; then 277 rm -f ${filebase}_[0-9]*.nc \ 278 > /dev/null 279 else 280 get_out X 281 fi 263 282 264 283 ## Stop if no benchmark files (restart file) 265 if [ -e ${TRUST_ DIR_STORE}/$filebase.nc ]; then284 if [ -e ${TRUST_TEST_BENCHMARK}/$filebase.nc ]; then 266 285 267 286 #bcmk='true' 268 cdo diffn $filebase.nc ${TRUST_ DIR_STORE}/$filebase.nc \287 cdo diffn $filebase.nc ${TRUST_TEST_BENCHMARK}/$filebase.nc \ 269 288 > cdo_diff.out 2> /dev/null 270 289 … … 275 294 276 295 if [ -n "$dif" ]; then 277 export TRUST_FLAG_RESULT='FAILED'278 296 files_list+=$filebase' ' && echo $filebase'.nc: '$dif 279 297 let dif_sum+=$( echo $dif | sed '|^\([0-9]*\).*|\1|' ) … … 283 301 284 302 done 285 286 ## No benchmark files287 #if [ $bcmk == 'false' ]; then288 # TRUST_FLAG_RESULT='FAILED'289 # get_out 7290 #fi291 303 292 304 ## List modified restart(s) for web comment with sum of differences … … 384 396 385 397 For more details, look into the testing folder at: 386 ${TRUST_ DIR_SCRATCH}398 ${TRUST_TEST_DIR} 387 399 An archive is also available to share the questionable configuration: 388 ${TRUST_ DIR_STORE}/${TRUST_TEST_BACKUP}400 ${TRUST_TEST_BENCHMARK}/${TRUST_TEST_BACKUP} 389 401 390 402 END_MAIL … … 392 404 ## Send with detailed subject 393 405 mail -s "[NEMO Trusting][${TRUST_CFG_REF}][${TRUST_SVN_BRANCH}] \ 394 ${TRUST_FLAG_RESULT} ${TRUST_FLAG_ERROR}" 395 ${TRUST_TEST_MAILING} \406 ${TRUST_FLAG_RESULT} ${TRUST_FLAG_ERROR}" \ 407 ${TRUST_TEST_MAILING} \ 396 408 < trusting.mail 397 409 fi … … 408 420 409 421 ## In case of compilation error 410 cd ${TRUST_ DIR_SCRATCH}422 cd ${TRUST_TEST_DIR} 411 423 412 424 if [ ${TRUST_FLAG_RESULT} == 'FAILED' ]; then … … 455 467 ## Save tested configuration if trusting failed in production mode (-p|--prod) 456 468 if [[ ${TRUST_FLAG_RESULT} == 'FAILED' && ${TRUST_FLAG_PROD} -eq 1 ]]; then 457 echo 'Creating archive '${TRUST_TEST_BACKUP}' under '${TRUST_ DIR_STORE}458 tar -czf ${TRUST_ DIR_STORE}/${TRUST_TEST_BACKUP} * \469 echo 'Creating archive '${TRUST_TEST_BACKUP}' under '${TRUST_TEST_BENCHMARK} 470 tar -czf ${TRUST_TEST_BENCHMARK}/${TRUST_TEST_BACKUP} * \ 459 471 -C ${TRUST_DIR_NEMOGCM}/CONFIG/${TRUST_CFG_NEW}/MY_SRC . \ 460 472 -C ${TRUST_DIR_NEMOGCM}/CONFIG/${TRUST_CFG_NEW} \ -
branches/2015/dev_r5092_CNRS18_TRUST/NEMOGCM/TRUST/trusting.sh
r8808 r8818 4 4 cd $( dirname $0 ) 5 5 6 ## Set defaults 7 ##--------------------------------------------------- 6 ## Set flags & defaults 7 ##-------------------------------------------------------------------------------- 8 8 9 TRUST_MAIN_DIR=$PWD 10 9 11 TRUST_FLAG_DEBUG=0; TRUST_FLAG_PROD=0; TRUST_FLAG_HELP=0 12 TRUST_FLAG_RESULT='FAILED'; TRUST_FLAG_ERROR=0 13 10 14 ## No update on SVN directories & 'FAILED' result for 'Unknown error' ) 11 15 TRUST_SVN_ACTION='svn status' 12 TRUST_FLAG_RESULT='FAILED'; TRUST_FLAG_ERROR=013 16 14 17 xios_mode='--full'; stdout_redir='>&' … … 17 20 18 21 ## Get options (replacing initials settings) 19 ##--------------------------------------------------- 22 ##-------------------------------------------------------------------------------- 23 20 24 while [ $# -ne 0 ]; do 21 25 22 26 case $1 in 23 '-a'|'--archive') TRUST_ CFG_FORC=$2; shift 2;; '-b'|'--branch' ) TRUST_SVN_BRANCH=$2; shift 2;;27 '-a'|'--archive') TRUST_IO_FORC_TAR=$2; shift 2;; '-b'|'--branch' ) TRUST_SVN_BRANCH=$2; shift 2;; 24 28 '-d'|'--debug' ) TRUST_FLAG_DEBUG=1 ; shift ;; '-e'|'--email' ) TRUST_TEST_MAILING=$2; shift 2;; 25 '-f'|'--forcdir') TRUST_ DIR_FORC=$2; shift 2;; '-j'|'--job' ) TRUST_COMPILE_NPROC=$2; shift 2;;29 '-f'|'--forcdir') TRUST_IO_FORC_PATH=$2; shift 2;; '-j'|'--job' ) TRUST_COMPILE_NPROC=$2; shift 2;; 26 30 '-h'|'--help' ) TRUST_FLAG_HELP=1 ; shift ;; '-m'|'--machine') TRUST_MAIN_HPCC=$2; shift 2;; 27 31 '-n'|'--newconf') TRUST_CFG_NEW=$2; shift 2;; '-r'|'--refconf') TRUST_CFG_REF=$2; shift 2;; … … 35 39 36 40 ## Initialization (HPC & user environment) 37 ##--------------------------------------------------- 41 ##-------------------------------------------------------------------------------- 42 38 43 if [[ ! -e cfg/${TRUST_MAIN_USER}.cfg || ! -e cfg/${TRUST_MAIN_HPCC}.cfg || ${TRUST_FLAG_HELP} -eq 1 ]]; then 39 44 cat ./inc/trusting_help.txt … … 69 74 70 75 ## Display contextual summary of trusting test 71 ##--------------------------------------------------- 76 ##-------------------------------------------------------------------------------- 77 72 78 echo 73 79 … … 82 88 echo '****************************************************************************************************' 83 89 echo 90 printf "\t§ (Super)Computer\t\t%s\n" ${TRUST_MAIN_HPCC} 91 printf "\t§ User installation\t\t%s\n\n" ${TRUST_MAIN_USER} 92 echo 84 93 printf "\t§ Testing configuration\t\t%s based on %s\n" ${TRUST_CFG_NEW} ${TRUST_CFG_REF} 85 94 printf "\t§ SVN working copy\t\t%s/%s\n" ${TRUST_DIR_WORK} ${TRUST_SVN_BRANCH} 86 printf "\t§ Benchmark folder\t\t%s\n" ${TRUST_DIR_STORE} 87 printf "\t§ (Super)Computer\t\t%s\n" ${TRUST_MAIN_HPCC}88 printf "\t§ User installation\t\t%s\n\n" ${TRUST_MAIN_USER} 95 if [ ${TRUST_TEST_BENCHMARK} ]; then 96 printf "\t§ Benchmark folder\t\t%s\n" ${TRUST_TEST_BENCHMARK} 97 fi 89 98 90 99 91 100 ## Make timestamped directory with messenger files 92 ##--------------------------------------------------- 101 ##-------------------------------------------------------------------------------- 102 93 103 print_step 'Timestamped testing directory' 94 104 95 mkdir -p ${TRUST_ DIR_SCRATCH} ${TRUST_DIR_STORE}96 cd ${TRUST_ DIR_SCRATCH}97 echo ${TRUST_ DIR_SCRATCH}105 mkdir -p ${TRUST_TEST_DIR} ${TRUST_TEST_BENCHMARK} 106 cd ${TRUST_TEST_DIR} 107 echo ${TRUST_TEST_DIR} 98 108 99 109 init_files … … 103 113 104 114 ## Get SVN revision on XIOS & NEMO essentials directories 105 ##--------------------------------------------------- 115 ##-------------------------------------------------------------------------------- 116 106 117 print_step "SVN action on NEMO directories: ${TRUST_SVN_ACTION}" 107 118 … … 110 121 111 122 ## Check softwares versions (after sourced arch environment) 112 ##--------------------------------------------------- 123 ##-------------------------------------------------------------------------------- 124 113 125 print_step 'Get testing environement' 114 126 … … 120 132 121 133 ## XIOS compilation from scratch 122 ##--------------------------------------------------- 134 ##-------------------------------------------------------------------------------- 135 123 136 print_step 'Compile XIOS' 124 137 125 cd ${TRUST_ DIR_XIOS}138 cd ${TRUST_IO_XIOS} 126 139 127 140 eval ./make_xios ${xios_mode} --arch ${TRUST_MAIN_HPCC} --job ${TRUST_COMPILE_NPROC} \ … … 132 145 133 146 ## NEMO compilation from scratch 134 ##--------------------------------------------------- 147 ##-------------------------------------------------------------------------------- 148 135 149 print_step "Compile ${TRUST_CFG_REF} configuration" 136 150 137 cd ${TRUST_ DIR_NEMOGCM}/CONFIG151 cd ${TRUST_SVN_NEMOGCM}/CONFIG 138 152 139 153 if [[ -d ${TRUST_CFG_NEW} && ${TRUST_FLAG_DEBUG} -eq 0 ]]; then … … 153 167 154 168 ## Get all inputs for running 155 ##--------------------------------------------------- 169 ##-------------------------------------------------------------------------------- 170 156 171 print_step 'Set job (copying or extracting inputs)' 157 172 158 cd ${TRUST_ DIR_SCRATCH}173 cd ${TRUST_TEST_DIR} 159 174 160 175 get_inputs 161 176 162 cp ${TRUST_ DIR_NEMOGCM}/CONFIG/${TRUST_CFG_NEW}/cpp_* .163 find ${TRUST_ DIR_NEMOGCM}/CONFIG/${TRUST_CFG_NEW}/EXP00 \177 cp ${TRUST_SVN_NEMOGCM}/CONFIG/${TRUST_CFG_NEW}/cpp_* . 178 find ${TRUST_SVN_NEMOGCM}/CONFIG/${TRUST_CFG_NEW}/EXP00 \ 164 179 -regex '.*\(_cfg\|.in\|opa\|_ref\|.xml\)' \ 165 180 -exec cp {} . \; … … 167 182 168 183 ## Check inputs 169 ##--------------------------------------------------- 184 ##-------------------------------------------------------------------------------- 185 170 186 print_step 'Compare inputs' 171 187 … … 174 190 175 191 ## Job submission & computation 176 ##--------------------------------------------------- 192 ##-------------------------------------------------------------------------------- 193 177 194 print_step 'Submit job' 178 195 179 196 ## Copy the submitting script to testing folder 180 cp ${TRUST_JOB_SCRIPT} ${TRUST_ DIR_SCRATCH}197 cp ${TRUST_JOB_SCRIPT} ${TRUST_TEST_DIR} 181 198 TRUST_JOB_ID=$( eval ${TRUST_JOB_SUBMIT} ) 182 199 … … 191 208 192 209 ## Check job state & get computation performances if succeeded 193 ##--------------------------------------------------- 210 ##-------------------------------------------------------------------------------- 211 194 212 print_step 'Test job state' 195 213 … … 208 226 209 227 ## Check outputs 210 ##--------------------------------------------------- 228 ##-------------------------------------------------------------------------------- 229 211 230 TRUST_FLAG_RESULT='OK' ## 'OK' by default 212 231 … … 223 242 224 243 ## End, at least nothing major has changed ;-) 225 ##--------------------------------------------------- 244 ##-------------------------------------------------------------------------------- 245 226 246 get_out 0
Note: See TracChangeset
for help on using the changeset viewer.