Ignore:
Timestamp:
04/25/23 14:26:44 (12 months ago)
Author:
ssenesi
Message:

merge branch libIGCM_CESMEP with trunk that handles RedHat8 on Irene

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/libIGCM_CESMEP/libIGCM_ensemble/libIGCM_ensemble.ksh

    r1489 r1585  
    2929#                         : removed Ens_PERTURB_PERTU_MAP_LIST case 
    3030#  
    31 # Author: Simona Flavoni & Nicola Lebas 
    32 # Contact: Simona.Flavoni__at__locean-ipsl.upmc.fr 
     31# Author: Simona Flavoni & Nicolas Lebas 
     32# Contact: Simona.Flavoni__at__locean.ipsl.fr & Nicolas.Lebas__at__locean.ipsl.fr 
    3333# IPSL (2019) 
    3434#************************************************************** 
     
    3838{ 
    3939  IGCM_debug_PushStack "IGCM_ensemble_Init" 
    40  
     40   
    4141  IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_PERTURB active 
    4242  IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE active 
    43   
    44   Job_Period=10 # PARAMETER USED in function IGCM_ensemble_FilesUpdate 
    45  
     43   
     44  Job_Period=10 # Default PARAMETER USED in function IGCM_ensemble_FilesUpdate 
     45  answer="" 
     46  print - "\nHit Enter or give PERIOD_NB for all member's Job (default is 10)" 
     47  read answer 
     48   
     49  if [ "X${answer}" != "X" ] ; then 
     50      Job_Period=${answer} 
     51  fi 
     52  print "\nPeriodNb in ensemble Jobs is ${Job_Period}" 
     53   
    4654  IGCM_debug_Print 1 "Ens_PERTURB ACTIVE     = ${ensemble_Ens_PERTURB_active}" 
    4755  IGCM_debug_Print 1 "Ens_DATE ACTIVE        = ${ensemble_Ens_DATE_active}" 
    4856  echo "" 
    49  
     57   
    5058  #==================================================== 
    5159  # Define ARCHIVE : Dedicated to large files 
     
    5563  # Define R_BUF   : USELESS and DEPRECATED output tree. 
    5664  IGCM_sys_defineArchives 
    57  
     65   
    5866  IGCM_debug_PopStack "IGCM_ensemble_Init" 
    5967} 
     
    139147  # ==> config.card 
    140148  # [ENSEMBLE] 
    141   IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleRun 'y' 
    142149  IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleName $(eval echo $\ensemble_Ens_${EnsembleType}_NAME) 
    143150  IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleDate ${HumanDateBegin} 
    144151  IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleType "Ens_${EnsembleType}" 
     152  IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleMergeSave ${ensemble_Ens_DATE_MERGE_SAVE} 
    145153   
    146154  # [UserChoices] 
     
    369377      IGCM_sys_Mkdir ${SUBMIT_DIR}/${StartDir} 
    370378      IGCM_sys_Cd ${SUBMIT_DIR}/${StartDir} 
    371       ln -s ../../.resol . 
    372       ln -s ../../.libmpi . 
     379      ln -s ../../.resol .                        # TODO: remove for future version (>6.1) 
     380      ln -s ../../.libmpi .                       # TODO: remove for future version (>6.1) 
     381      ln -s ../../SOURCES . 
     382      ln -s ../../ARCH . 
    373383      IGCM_sys_Cd ${RUN_DIR} 
    374384    fi 
     
    470480    IGCM_sys_Mkdir ${SUBMIT_DIR}/${StartDir} 
    471481    IGCM_sys_Cd ${SUBMIT_DIR}/${StartDir} 
    472     ln -s ../../.resol . 
    473     ln -s ../../.libmpi . 
     482    ln -s ../../.resol .                        # TODO: remove for future version (>6.1) 
     483    ln -s ../../.libmpi .                       # TODO: remove for future version (>6.1) 
     484    ln -s ../../SOURCES . 
     485    ln -s ../../ARCH . 
    474486    IGCM_sys_Cd ${RUN_DIR} 
    475487  fi 
     
    773785  IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE active 
    774786  IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE NAME 
    775   IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE BEGIN_INIT 
    776   IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE BEGIN_RESTART 
    777   IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE END_INIT 
     787  IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE MERGE_SAVE 
    778788  IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE STARTDATE 
    779789  IGCM_card_DefineArrayFromOption    ${F_CFG_ENS} Ens_DATE NONPERIODIC 
     
    794804  IGCM_debug_Print 1 "ACTIVE               = ${ensemble_Ens_DATE_active}" 
    795805  IGCM_debug_Print 1 "NAME                 = ${ensemble_Ens_DATE_NAME}" 
    796   IGCM_debug_Print 1 "BEGIN_INIT           = ${ensemble_Ens_DATE_BEGIN_INIT}" 
    797   IGCM_debug_Print 1 "END_INIT             = ${ensemble_Ens_DATE_END_INIT}" 
    798   IGCM_debug_Print 1 "BEGIN_RESTART        = ${ensemble_Ens_DATE_BEGIN_RESTART}" 
     806  IGCM_debug_Print 1 "MERGE_SAVE           = ${ensemble_Ens_DATE_MERGE_SAVE}" 
    799807  IGCM_debug_Print 1 "STARTDATE            = ${ensemble_Ens_DATE_STARTDATE}" 
    800808  IGCM_debug_Print 1 "NONPERIODIC          = ${ensemble_Ens_DATE_NONPERIODIC[*]}" 
     
    828836  # A few checks for the Non-Periodic case: 
    829837  # *************************************** 
    830 #  if [[ ${#ensemble_Ens_DATE_NONPERIODIC[*]} != ${#ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} ]] ; then 
    831 #    IGCM_debug_Exit "IGCM_ensemble_DateInit: NONPERIODIC and RESTART_NONPERIODIC lists have different sizes" 
    832 #    IGCM_debug_Verif_Exit 
    833 #  fi 
    834838 
    835839  if [[ ${#ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} > 0 ]] && [[ ${ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} != _0_ ]]; then 
     
    837841 
    838842    # Use LENGTH if no NONPERIODIC_LENGTH given 
    839     if [[ ${#ensemble_Ens_DATE_LENGTH_NONPERIODIC[*]} < ${#ensemble_Ens_DATE_NONPERIODIC[*]} ]] || 
    840            [[ X"${ensemble_Ens_DATE_LENGTH_NONPERIODIC[0]}" = "XOption" ]] ; then 
     843    if ( [ ${#ensemble_Ens_DATE_LENGTH_NONPERIODIC[*]} -lt ${#ensemble_Ens_DATE_NONPERIODIC[*]} ] || [[ "X${ensemble_Ens_DATE_LENGTH_NONPERIODIC[0]}" = "XOption" ]] ) ; then 
    841844        IGCM_debug_Print 1 "WARNING: LENGTH_NONPERIODIC is not fill (or not correctly). " 
    842845        IGCM_debug_Print 1 "Use LENGTH value '${ensemble_Ens_DATE_LENGTH}' for all NONPERIODIC runs" 
    843       DateNum=0 
    844       while [ ${DateNum} -lt ${#ensemble_Ens_DATE_NONPERIODIC[*]} ] ; do 
    845         ensemble_Ens_DATE_LENGTH_NONPERIODIC[${DateNum}]=${ensemble_Ens_DATE_LENGTH} 
    846         (( DateNum = DateNum + 1 )) 
    847       done 
     846        DateNum=0 
     847        while [ ${DateNum} -lt ${#ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} ] ; do 
     848            ensemble_Ens_DATE_LENGTH_NONPERIODIC[${DateNum}]=${ensemble_Ens_DATE_LENGTH} 
     849            (( DateNum = DateNum + 1 )) 
     850        done 
    848851    fi 
    849852     
     
    864867      IGCM_debug_Print 1 "WARNING: INITFROM_NONPERIODIC is not fill (or not correctly). Use INITFROM value '${ensemble_Ens_DATE_INITFROM}' for all NONPERIODIC runs" 
    865868      DateNum=0 
    866       while [ ${DateNum} -lt ${#ensemble_Ens_DATE_NONPERIODIC[*]} ] ; do 
     869      while [ ${DateNum} -lt ${#ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} ] ; do 
    867870        ensemble_Ens_DATE_INITFROM_NONPERIODIC[${DateNum}]=${ensemble_Ens_DATE_INITFROM} 
    868871        (( DateNum = DateNum + 1 )) 
     
    874877      IGCM_debug_Print 1 "WARNING: INITPATH_NONPERIODIC is not fill (or not correctly). Use INITPATH value '${ensemble_Ens_DATE_INITPATH}' for all NONPERIODIC runs" 
    875878      DateNum=0 
    876       while [ ${DateNum} -lt ${#ensemble_Ens_DATE_NONPERIODIC[*]} ] ; do 
     879      while [ ${DateNum} -lt ${#ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} ] ; do 
    877880        ensemble_Ens_DATE_INITPATH_NONPERIODIC[${DateNum}]=${ensemble_Ens_DATE_INITPATH} 
    878881        (( DateNum = DateNum + 1 )) 
     
    934937    IGCM_sys_Mkdir ${SUBMIT_DIR}/${StartDir} 
    935938    IGCM_sys_Cd ${SUBMIT_DIR}/${StartDir} 
    936     ln -s ../../.resol . 
    937     ln -s ../../.libmpi . 
     939    ln -s ../../.resol .                        # TODO: remove for future version (>6.1) 
     940    ln -s ../../.libmpi .                       # TODO: remove for future version (>6.1) 
     941    ln -s ../../SOURCES . 
     942    ln -s ../../ARCH . 
    938943    IGCM_sys_Cd ${RUN_DIR} 
    939944  fi 
     
    949954    (( ii=DateNum + 1 )) 
    950955     
    951     MemberDir="${ensemble_Ens_DATE_NAME}${ii}" 
     956    # Member number on 2 digits (01 02 ... 10 11) 
     957    if (( ii < 10)) then 
     958        MemberDir="${ensemble_Ens_DATE_NAME}-0${ii}" 
     959    else 
     960         MemberDir="${ensemble_Ens_DATE_NAME}-${ii}" 
     961    fi 
    952962    IGCM_debug_Print 3 "${MemberDir}" 
    953963    echo "Create: ${MemberDir}" 
Note: See TracChangeset for help on using the changeset viewer.