[5268] | 1 | #!/bin/bash |
---|
| 2 | |
---|
| 3 | |
---|
[8818] | 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 | |
---|
[8808] | 22 | ## Source user & (super)computer configurations |
---|
[8818] | 23 | ##-------------------------------------------------------------------------------- |
---|
[8808] | 24 | . ./cfg/${TRUST_MAIN_USER}.cfg |
---|
| 25 | . ./cfg/${TRUST_MAIN_HPCC}.cfg |
---|
[5268] | 26 | |
---|
[5280] | 27 | |
---|
[8818] | 28 | ## Checking and export environment variables |
---|
| 29 | ##-------------------------------------------------------------------------------- |
---|
| 30 | |
---|
| 31 | ## Trusting installation |
---|
| 32 | ## --------------------- |
---|
| 33 | |
---|
| 34 | [ -z "${TRUST_DIR_WORK}" ] && TRUST_DIR_WORK=${TRUST_MAIN_DIR}/../CONFIG |
---|
| 35 | [ -z "${TRUST_DIR_SCRATCH}" ] && TRUST_DIR_SCRATCH=${TRUST_MAIN_DIR} |
---|
[8808] | 36 | export TRUST_DIR_WORK TRUST_DIR_SCRATCH TRUST_DIR_STORE |
---|
[8818] | 37 | |
---|
| 38 | |
---|
| 39 | ## Branch checkout (./install_new_branch.sh) |
---|
| 40 | ##------------------------------------------ |
---|
| 41 | |
---|
[8808] | 42 | export TRUST_SVN_REPO='https://forge.ipsl.jussieu.fr/nemo/svn' |
---|
[8826] | 43 | export TRUST_SVN_CO=( 'ARCH CONFIG NEMO |
---|
| 44 | EXTERNAL/AGRIF EXTERNAL/fcm EXTERNAL/IOIPSL |
---|
| 45 | TOOLS/COMPILE TOOLS/maketools TOOLS/REBUILD_NEMO |
---|
| 46 | TRUST ' ) |
---|
| 47 | export TRUST_SVN_UP=( 'ARCH CONFIG NEMO |
---|
| 48 | EXTERNAL/AGRIF EXTERNAL/fcm EXTERNAL/IOIPSL |
---|
| 49 | TOOLS/COMPILE ' ) |
---|
[8818] | 50 | |
---|
[8808] | 51 | export TRUST_SVN_BRANCH |
---|
[8818] | 52 | export TRUST_SVN_NEMOGCM=${TRUST_DIR_WORK}/${TRUST_SVN_BRANCH}/NEMOGCM |
---|
[5799] | 53 | |
---|
[8818] | 54 | |
---|
| 55 | ## NEMO Configuration |
---|
| 56 | ##------------------- |
---|
| 57 | |
---|
| 58 | ## Forcing archive unset |
---|
| 59 | if [[ ! ${TRUST_IO_FORC_TAR} && ${TRUST_IO_FORC_TAR-_} ]]; then |
---|
| 60 | |
---|
| 61 | ## Forcing directory set |
---|
| 62 | if [ ${TRUST_IO_FORC_PATH} ]; then |
---|
| 63 | ## Default forcing archive from trunk |
---|
| 64 | TRUST_IO_FORC_TAR='ORCA2_LIM_nemo_v3.7.tar INPUTS_PISCES_v3.6st.tar' |
---|
| 65 | [ ${TRUST_CFG_REF} == 'AMM12' ] && TRUST_IO_FORC_TAR='AMM12_v3.7.tar' |
---|
| 66 | |
---|
| 67 | if [ ${TRUST_SVN_BRANCH} == 'nemo_v3_6_STABLE' ]; then |
---|
| 68 | TRUST_IO_FORC_TAR='ORCA2_LIM_nemo_v3.6.tar' |
---|
| 69 | |
---|
| 70 | if [ ${TRUST_CFG_REF} == 'ORCA1_LIM3_PISCES' ]; then |
---|
| 71 | TRUST_IO_FORC_TAR='INPUTS_ORCA1_LIM3_PISCES_V10.tar' |
---|
| 72 | elif [ ${TRUST_CFG_REF} == 'AMM12' ]; then |
---|
| 73 | TRUST_IO_FORC_TAR='AMM12_v3.6.tar' |
---|
| 74 | fi |
---|
| 75 | |
---|
| 76 | fi |
---|
| 77 | |
---|
| 78 | fi |
---|
| 79 | |
---|
| 80 | fi |
---|
| 81 | |
---|
| 82 | [ -z "${TRUST_CFG_NEW}" ] && TRUST_CFG_NEW=${TRUST_CFG_REF}'_trust' |
---|
| 83 | export TRUST_CFG_NEW TRUST_CFG_REF |
---|
| 84 | export TRUST_CFG_KEY_ADD TRUST_CFG_KEY_DEL |
---|
| 85 | |
---|
| 86 | |
---|
| 87 | ## Inputs/Outputs |
---|
| 88 | ## -------------- |
---|
| 89 | |
---|
[8826] | 90 | [ -z "${TRUST_IO_XIOS}" ] && get_out A |
---|
| 91 | export TRUST_IO_XIOS |
---|
| 92 | export TRUST_IO_FORC_PATH TRUST_IO_FORC_TAR |
---|
[8818] | 93 | export TRUST_IO_CDO |
---|
| 94 | |
---|
| 95 | |
---|
[8808] | 96 | ## Compilation & Running |
---|
[8818] | 97 | ##---------------------- |
---|
| 98 | |
---|
[8826] | 99 | if [ -z "${TRUST_JOB_ENV}" ]; then |
---|
| 100 | TRUST_JOB_ENV=${TRUST_IO_XIOS}/arch/arch-${TRUST_MAIN_HPCC}.env |
---|
| 101 | fi |
---|
| 102 | |
---|
[8808] | 103 | export TRUST_JOB_ENV |
---|
[5799] | 104 | |
---|
[8826] | 105 | [ -z "${TRUST_COMPILE_NPROC}" ] && TRUST_COMPILE_NPROC='4' |
---|
| 106 | export TRUST_COMPILE_NPROC |
---|
[8818] | 107 | |
---|
[8826] | 108 | export TRUST_COMPILE_FORTRAN TRUST_COMPILE_MPI TRUST_COMPILE_NETCDF |
---|
| 109 | |
---|
| 110 | if [ -z "${TRUST_JOB_SCRIPT}" ]; then |
---|
| 111 | TRUST_JOB_SCRIPT=${TRUST_MAIN_DIR}/batch/${TRUST_MAIN_HPCC}.sh || get_out A |
---|
| 112 | fi |
---|
| 113 | |
---|
| 114 | export TRUST_JOB_SCRIPT |
---|
| 115 | |
---|
| 116 | |
---|
| 117 | if [[ -z "${TRUST_JOB_SUBMIT}" || -z "${TRUST_JOB_STATE}" \ |
---|
| 118 | || -z "${TRUST_JOB_KILL}" ]]; then |
---|
| 119 | get_out A |
---|
| 120 | fi |
---|
| 121 | |
---|
| 122 | export TRUST_JOB_SUBMIT TRUST_JOB_STATE TRUST_JOB_KILL |
---|
| 123 | |
---|
| 124 | [ -z "${TRUST_JOB_TIMEOUT}" ] && TRUST_JOB_TIMEOUT='10800' |
---|
| 125 | export TRUST_JOB_TIMEOUT |
---|
| 126 | |
---|
| 127 | export TRUST_JOB_INFO TRUST_JOB_TIME TRUST_JOB_RAM_P TRUST_JOB_RAM_V |
---|
| 128 | |
---|
| 129 | |
---|
[8808] | 130 | ## Trusting test |
---|
[8818] | 131 | ##-------------- |
---|
| 132 | |
---|
[8808] | 133 | export TRUST_TEST_NAME=${TRUST_MAIN_USER}'_'${TRUST_MAIN_HPCC} |
---|
| 134 | export TRUST_TEST_DATE=$( date -u +"%Y%m%d%Z%H%M" ) |
---|
[8818] | 135 | |
---|
[8808] | 136 | export TRUST_TEST_SUMMARY=trusting_${TRUST_TEST_DATE}_${TRUST_TEST_NAME}.txt |
---|
[8818] | 137 | export TRUST_TEST_BACKUP=trusting_${TRUST_TEST_DATE}_${TRUST_TEST_NAME}.tgz |
---|
| 138 | |
---|
| 139 | ## TRUST_TEST_DIR unset |
---|
| 140 | if [[ ! ${TRUST_TEST_DIR} && ${TRUST_TEST_DIR-_} ]]; then |
---|
[8826] | 141 | TRUST_TEST_DIR=${TRUST_DIR_SCRATCH}/${TRUST_CFG_REF}/${TRUST_SVN_BRANCH} |
---|
| 142 | TRUST_TEST_DIR+=/${TRUST_TEST_DATE} |
---|
[8818] | 143 | export TRUST_TEST_DIR |
---|
| 144 | fi |
---|
| 145 | |
---|
| 146 | ## TRUST_TEST_BENCHMARK unset |
---|
| 147 | if [[ ! ${TRUST_TEST_BENCHMARK} && ${TRUST_TEST_BENCHMARK-_} ]]; then |
---|
| 148 | TRUST_TEST_BENCHMARK=${TRUST_DIR_STORE}/${TRUST_CFG_REF}/${TRUST_SVN_BRANCH} |
---|
| 149 | export TRUST_TEST_BENCHMARK |
---|
| 150 | fi |
---|
| 151 | |
---|
| 152 | export TRUST_TEST_LOG=${TRUST_DIR_BENCHMARK}/trusting_${TRUST_TEST_NAME}.txt |
---|
| 153 | |
---|
[8808] | 154 | export TRUST_TEST_MAILING |
---|