Changeset 1361


Ignore:
Timestamp:
10/21/16 15:43:43 (8 years ago)
Author:
sdipsl
Message:
  • Cleanup and coherency enhancements. Documentation has been updated too.

NL

Location:
trunk/libIGCM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/ins_job

    r1359 r1361  
    409409  #.. Read input data from ensemble.card .. 
    410410  SUBMIT_DIR=${SUBMIT_DIR_ENS} 
    411   RUN_DIR="${WORKDIR}/ENSEMBLE" 
     411  RUN_DIR="${WORKDIR}/ENSEMBLE_TMP" 
    412412  # 
    413413  # Copy initial things around and define variables (hindcast/forecast case) 
     
    445445    IGCM_ensemble_CastMemberList 
    446446    # Done 
    447     IGCM_sys_Cp ${RUN_DIR}/CreatedDir.txt ${SUBMIT_DIR} 
     447    #IGCM_sys_Cp ${RUN_DIR}/CreatedDir.txt ${SUBMIT_DIR} 
    448448    IGCM_sys_Cd ${SUBMIT_DIR} 
    449449    # Clean 
  • trunk/libIGCM/libIGCM_ensemble/libIGCM_ensemble.ksh

    r1344 r1361  
    7575    IGCM_sys_Cp ${SUBMIT_DIR}/Qclean.*      ${RUN_DIR} 
    7676  fi 
    77  
     77   
     78  ## Init some variables 
     79  CastPeriodicStart=false 
     80  CastNonPeriodicStart=false 
     81  CastRestartNonPer=false 
     82  CastLengthNonPer=false 
     83   
    7884  # Useful? 
    7985  #if [ -f  ${SUBMIT_DIR}/CreatedDir.txt ] ; then 
     
    9298  IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_PERTURB PERIODICITY 
    9399  IGCM_card_DefineArrayFromOption    ${F_CFG_ENS} Ens_PERTURB NONPERIODIC 
     100  IGCM_card_DefineArrayFromOption    ${F_CFG_ENS} Ens_PERTURB RESTART_NONPERIODIC 
    94101  IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_PERTURB LENGTH 
    95102  IGCM_card_DefineArrayFromOption    ${F_CFG_ENS} Ens_PERTURB LENGTH_NONPERIODIC 
    96103  IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_PERTURB MEMBER 
    97   IGCM_card_DefineArrayFromOption    ${F_CFG_ENS} Ens_PERTURB MEMBER_LIST 
     104  IGCM_card_DefineArrayFromOption    ${F_CFG_ENS} Ens_PERTURB PERTU_MAP_LIST 
    98105  IGCM_card_DefineArrayFromOption    ${F_CFG_ENS} Ens_PERTURB MEMBER_NAMESLIST 
    99106  IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_PERTURB MEMBER_INITFROM 
     
    115122  IGCM_debug_Print 1 "PERIODICITY       = ${ensemble_Ens_PERTURB_PERIODICITY}" 
    116123  IGCM_debug_Print 1 "NONPERIODIC       = ${ensemble_Ens_PERTURB_NONPERIODIC[*]}" 
    117   IGCM_debug_Print 1 "LENGTH             = ${ensemble_Ens_PERTURB_LENGTH}" 
    118   IGCM_debug_Print 1 "LENGTH_NONPERIODIC = ${ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[*]}" 
     124  IGCM_debug_Print 1 "RESTART_NONPERIODIC=${ensemble_Ens_PERTURB_RESTART_NONPERIODIC[*]}" 
     125  IGCM_debug_Print 1 "LENGTH            = ${ensemble_Ens_PERTURB_LENGTH}" 
     126  IGCM_debug_Print 1 "LENGTH_NONPERIODIC= ${ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[*]}" 
    119127  IGCM_debug_Print 1 "MEMBER            = ${ensemble_Ens_PERTURB_MEMBER}" 
    120   IGCM_debug_Print 1 "MEMBER_LIST       = ${ensemble_Ens_PERTURB_MEMBER_LIST[*]}" 
     128  IGCM_debug_Print 1 "PERTU_MAP_LIST    = ${ensemble_Ens_PERTURB_PERTU_MAP_LIST[*]}" 
    121129  IGCM_debug_Print 1 "MEMBER_NAMESLIST  = ${ensemble_Ens_PERTURB_MEMBER_NAMESLIST[*]}" 
    122130  IGCM_debug_Print 1 "MEMBER_INITFROM   = ${ensemble_Ens_PERTURB_MEMBER_INITFROM}" 
     
    130138  IGCM_debug_Print 1 "ListOfComponents  = ${config_ListOfComponents[*]}" 
    131139 
     140  ### Retro compatibility with former param name ### 
     141  if [ X"${ensemble_Ens_PERTURB_MEMBER_LIST[0]}" != "XOption" ]; 
     142  then 
     143      if [ X"${ensemble_Ens_PERTURB_PERTU_MAP_LIST[0]}" = "XOption" ]; 
     144      then 
     145          ensemble_Ens_PERTURB_PERTU_MAP_LIST=${ensemble_Ens_PERTURB_MEMBER_LIST} 
     146          IGCM_debug_Print 1 "WARNING: PERTU_MAP_LIST is deprecacated, please use PERTURB_PERTU_MAP_LIST instead." 
     147      else 
     148          IGCM_debug_Print 1 "WARNING: both PERTURB_PERTU_MAP_LIST and PERTU_MAP_LIST are specified!" 
     149          IGCM_debug_Print 1 "Ignore PERTU_MAP_LIST which is deprecated." 
     150      fi 
     151  fi 
     152  ####### End of retro compatibility code ####### 
     153 
     154  ### Check unset variables and set them to empty 
     155  # Following var are set because they could be unset in some  
     156  # use case (ex: non periodic if periodic is active...) 
     157  if [[ X"${ensemble_Ens_PERTURB_RESTART_NONPERIODIC[0]}" = "XOption" || X"${ensemble_Ens_PERTURB_RESTART_NONPERIODIC[0]}" = "X" ]]; 
     158  then  
     159      ensemble_Ens_PERTURB_RESTART_NONPERIODIC[0]=_0_ 
     160      CastRestartNonPer=false 
     161  else 
     162      CastRestartNonPer=true 
     163  fi 
     164  if [[ X"${ensemble_Ens_PERTURB_PERTU_MAP_LIST[0]}" = "XOption" || X"${ensemble_Ens_PERTURB_PERTU_MAP_LIST[0]}" = "X" ]]; 
     165  then  
     166      ensemble_Ens_PERTURB_PERTU_MAP_LIST[0]=_0_ 
     167  fi 
     168  if [[ X"${ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[0]}" = "XOption" || X"${ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[0]}" = "X" ]]; 
     169  then  
     170      CastLengthNonPer=false 
     171      ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[0]=_0_ 
     172  else 
     173      CastLengthNonPer=true 
     174  fi 
     175  if [ X"${ensemble_Ens_PERTURB_NONPERIODIC[0]}" = "XOption" ]; 
     176  then  
     177      ensemble_Ens_PERTURB_NONPERIODIC[0]=_0_ 
     178  fi 
     179  if [[ "${ensemble_Ens_PERTURB_PERIODICITY}" = _0_ || "${ensemble_Ens_PERTURB_PERIODICITY}" = '' ]]; 
     180  then  
     181      ensemble_Ens_PERTURB_PERIODICITY=NONE 
     182  fi 
     183  if [[ "${ensemble_Ens_PERTURB_MEMBER}" = _0_ || "${ensemble_Ens_PERTURB_MEMBER}" = '' ]]; 
     184  then  
     185      ensemble_Ens_PERTURB_MEMBER=NONE 
     186  fi 
     187  if [[ "${ensemble_Ens_PERTURB_END_INIT}" = _0_ || "${ensemble_Ens_PERTURB_END_INIT}" = '' ]]; 
     188  then  
     189      ensemble_Ens_PERTURB_END_INIT=${ensemble_Ens_PERTURB_BEGIN_INIT} 
     190  fi 
     191 
     192  ### End check unset variables ### 
    132193  PerturbExe=${ensemble_Ens_PERTURB_PERTURB_BIN[0]} 
    133194 
     
    152213 
    153214    IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_PERTURB MASKPATH 
    154  
     215     
    155216    IGCM_debug_Print 1 "PerturbExe  = ${PerturbExe}" 
    156217    IGCM_debug_Print 1 "PerturbFile = ${PerturbFile}" 
     
    161222    ;; 
    162223  esac 
    163  
    164224  IGCM_ensemble_SetAlpha ${ensemble_Ens_PERTURB_MEMBER} 
    165225 
     
    190250  esac 
    191251 
     252################################ 
     253  if [[ ${#ensemble_Ens_PERTURB_NONPERIODIC[*]} != ${#ensemble_Ens_PERTURB_RESTART_NONPERIODIC[*]} && CastRestartNonPer = "true" ]] ; then 
     254    IGCM_debug_Exit "IGCM_ensemble_CastInit: NONPERIODIC and RESTART_NONPERIODIC lists have different sizes" 
     255    IGCM_debug_Verif_Exit 
     256  fi 
     257  if [[ ${#ensemble_Ens_PERTURB_NONPERIODIC[*]} > 0 ]] && [[ ${ensemble_Ens_PERTURB_NONPERIODIC[0]} != _0_ ]]; then 
     258    DateNonPeriodicStart=true 
     259     
     260    # Use LENGTH if no NONPERIODIC_LENGTH given 
     261    if [[ ${#ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[*]} < ${#ensemble_Ens_PERTURB_NONPERIODIC[*]} || ${ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[0]} = _0_ ]] ; then 
     262      IGCM_debug_Print 1 "WARNING: LENGTH_NONPERIODIC is not fill (or not correctly). Use LENGTH value '${ensemble_Ens_PERTURB_LENGTH}' for all NONPERIODIC runs" 
     263      echo "WARNING: LENGTH_NONPERIODIC is not fill (or not correctly). Use LENGTH value '${ensemble_Ens_PERTURB_LENGTH}' for all NONPERIODIC runs" 
     264      DateNum=0 
     265      while [ ${DateNum} -lt ${#ensemble_Ens_PERTURB_NONPERIODIC[*]} ] ; do 
     266        ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[${DateNum}]=${ensemble_Ens_PERTURB_LENGTH} 
     267        (( DateNum = DateNum + 1 )) 
     268      done 
     269    fi 
     270    # Check lengths 
     271    DateNum=0 
     272    while [ ${DateNum} -lt ${#ensemble_Ens_PERTURB_NONPERIODIC[*]} ] ; do 
     273        # - Check LENGTH_NONPERIODIC 
     274        case ${ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[${DateNum}]} in 
     275            _0_) 
     276                IGCM_debug_Print 1 "non-periodic start not active" 
     277                CastNonPeriodicStart=false 
     278                break 
     279                ;; 
     280            *[Yy]|*[Mm]) 
     281                IGCM_debug_Print 1 "Non-periodic duration : ${ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[${DateNum}]}" 
     282                CastNonPeriodicStart=true 
     283                ;; 
     284            *) 
     285                IGCM_debug_Exit "IGCM_ensemble_CastInit ${ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[${DateNum}]} : invalid LENGTH" 
     286                IGCM_debug_Exit "choose in *Y or *M" 
     287                IGCM_debug_Verif_Exit ;; 
     288        esac 
     289        (( DateNum = DateNum + 1 )) 
     290         
     291        # - Check RESTART_NONPERIODIC 
     292        if [[ DateNonPeriodicStart ]]; then 
     293            case ${ensemble_Ens_PERTURB_RESTART_NONPERIODIC[${DateNum}]} in 
     294                _0_) 
     295                    IGCM_debug_Exit "IGCM_ensemble_CastInit ${ensemble_Ens_PERTURB_RESTART_NONPERIODIC[${DateNum}]} : invalid NON PERIODIC RESTART" 
     296                    IGCM_debug_Verif_Exit ;; 
     297            esac 
     298        fi 
     299    done 
     300     
     301    # Use INITFROM if no INITFROM_NONPERIODIC given 
     302    if [ ${#ensemble_Ens_PERTURB_INITFROM_NONPERIODIC[*]} -lt ${#ensemble_Ens_PERTURB_NONPERIODIC[*]} ] ; then 
     303      IGCM_debug_Print 1 "WARNING: INITFROM_NONPERIODIC is not fill (or not correctly). Use INITFROM value '${ensemble_Ens_PERTURB_INITFROM}' for all NONPERIODIC runs" 
     304      DateNum=0 
     305      while [ ${DateNum} -lt ${#ensemble_Ens_PERTURB_NONPERIODIC[*]} ] ; do 
     306        ensemble_Ens_PERTURB_INITFROM_NONPERIODIC[${DateNum}]=${ensemble_Ens_PERTURB_INITFROM} 
     307        (( DateNum = DateNum + 1 )) 
     308      done 
     309    fi 
     310     
     311    # Use INITPATH if no INITPATH_NONPERIODIC given 
     312    if [ ${#ensemble_Ens_PERTURB_INITPATH_NONPERIODIC[*]} -lt ${#ensemble_Ens_PERTURB_NONPERIODIC[*]} ] ; then 
     313      IGCM_debug_Print 1 "WARNING: INITPATH_NONPERIODIC is not fill (or not correctly). Use INITPATH value '${ensemble_Ens_PERTURB_INITPATH}' for all NONPERIODIC runs" 
     314      DateNum=0 
     315      while [ ${DateNum} -lt ${#ensemble_Ens_PERTURB_NONPERIODIC[*]} ] ; do 
     316        ensemble_Ens_PERTURB_INITPATH_NONPERIODIC[${DateNum}]=${ensemble_Ens_PERTURB_INITPATH} 
     317        (( DateNum = DateNum + 1 )) 
     318      done 
     319    fi 
     320  else 
     321    IGCM_debug_Print 1 "Non-Periodic start NOT ACTIVE" 
     322    DateNonPeriodicStart=false 
     323  fi 
     324################################ 
     325 
    192326  # A few checks for the Non-Periodic case: 
    193   DateNum=0 
    194   while [ ${DateNum} -lt ${#ensemble_Ens_PERTURB_NONPERIODIC[*]} ] ; do 
    195  
    196     # - Check LENGTH_NONPERIODIC 
    197     case ${ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[${DateNum}]} in 
    198     _0_) 
    199       IGCM_debug_Print 1 "non-periodic start not active" 
    200       CastNonPeriodicStart=false 
    201       ;; 
    202     *[Yy]|*[Mm]) 
    203       IGCM_debug_Print 1 "Non-periodic duration : ${ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[${DateNum}]}" 
    204       CastNonPeriodicStart=true 
    205       ;; 
    206     *) 
    207       IGCM_debug_Exit "IGCM_ensemble_CastInit ${ensemble_Ens_PERTURB_LENGTH_NONPERIODIC[${DateNum}]} : invalid LENGTH" 
    208       IGCM_debug_Exit "choose in *Y or *M" 
    209       IGCM_debug_Verif_Exit ;; 
    210     esac 
    211     (( DateNum = DateNum + 1 )) 
    212   done 
    213  
    214   # A few checks for the MEMBER_LIST case: 
    215   case ${ensemble_Ens_PERTURB_MEMBER_LIST[0]} in 
     327   
     328  # A few checks for the PERTU_MAP_LIST case: 
     329  case ${ensemble_Ens_PERTURB_PERTU_MAP_LIST[0]} in 
    216330  _0_) 
    217331    IGCM_debug_Print 1 "list of perturbation maps not active" 
     
    227341    fi 
    228342 
    229     # test that MEMBER_NAMESLIST and MEMBER_LIST have the same size 
    230  
    231     if [ ${#ensemble_Ens_PERTURB_MEMBER_LIST[*]} -ne ${#ensemble_Ens_PERTURB_MEMBER_NAMESLIST[*]} ] ; then 
    232       IGCM_debug_Exit "number of elements in MEMBER_LIST and MEMBER_NAMESLIST differ" 
     343    # test that MEMBER_NAMESLIST and PERTU_MAP_LIST have the same size 
     344 
     345    if [ ${#ensemble_Ens_PERTURB_PERTU_MAP_LIST[*]} -ne ${#ensemble_Ens_PERTURB_MEMBER_NAMESLIST[*]} ] ; then 
     346      IGCM_debug_Exit "number of elements in PERTU_MAP_LIST and MEMBER_NAMESLIST differ" 
    233347      IGCM_debug_Verif_Exit 
    234348    fi 
    235349 
    236     IGCM_debug_Print 1 "list of perturbation maps : ${ensemble_Ens_PERTURB_MEMBER_LIST[*]}" 
     350    IGCM_debug_Print 1 "list of perturbation maps : ${ensemble_Ens_PERTURB_PERTU_MAP_LIST[*]}" 
    237351    IGCM_debug_Print 1 "list of members names : ${ensemble_Ens_PERTURB_MEMBER_NAMESLIST[*]}" 
    238352    CastMemberList=true 
     
    240354  esac 
    241355 
    242 #  IGCM_debug_Exit "fin du test MEMBER_LIST" 
     356#  IGCM_debug_Exit "fin du test PERTU_MAP_LIST" 
    243357#  IGCM_debug_Verif_Exit 
    244358 
     
    334448 
    335449        # Dump command to be lauched 
    336         echo "cd ${StartDir}/${MemberDir}/ ;"               >> ${RUN_DIR}/Qsub.${StartDir}.sh 
    337         echo "${SUBMIT} ${JobName} ; cd -"                  >> ${RUN_DIR}/Qsub.${StartDir}.sh 
    338  
    339         echo "cd ${StartDir}/${MemberDir}/ ;"               >> ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh 
    340         echo "${libIGCM}/clean_PeriodLenght.job ; cd -"     >> ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh 
    341  
    342         echo "cd ${StartDir}/${MemberDir}/ ;"               >> ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh 
    343         echo "${libIGCM}/clean_latestPackPeriod.job ; cd -" >> ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh 
     450        echo "cd ${StartDir}/${MemberDir}/ ;"    >> ${RUN_DIR}/Qsub.${StartDir}.sh 
     451        echo "${SUBMIT} ${JobName} ; cd -"       >> ${RUN_DIR}/Qsub.${StartDir}.sh 
     452 
     453        echo "cd ${StartDir}/${MemberDir}/ ;"    >> ${RUN_DIR}/Qclean.month.${StartDir}.sh 
     454        echo "${libIGCM}/clean_month.job ; cd -" >> ${RUN_DIR}/Qclean.month.${StartDir}.sh 
     455 
     456        echo "cd ${StartDir}/${MemberDir}/ ;"    >> ${RUN_DIR}/Qclean.year.${StartDir}.sh 
     457        echo "${libIGCM}/clean_year.job ; cd -"  >> ${RUN_DIR}/Qclean.year.${StartDir}.sh 
    344458 
    345459        # * Update files : config.card, Job_, COMP/comp.card 
     
    355469    # Done. Save ${StartDir} submission text file 
    356470    IGCM_sys_Cp ${RUN_DIR}/Qsub.${StartDir}.sh ${SUBMIT_DIR} 
    357     IGCM_sys_Cp ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh ${SUBMIT_DIR} 
    358     IGCM_sys_Cp ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh ${SUBMIT_DIR} 
     471    IGCM_sys_Cp ${RUN_DIR}/Qclean.month.${StartDir}.sh ${SUBMIT_DIR} 
     472    IGCM_sys_Cp ${RUN_DIR}/Qclean.year.${StartDir}.sh ${SUBMIT_DIR} 
    359473 
    360474  # - Next DateBegin 
     
    408522 
    409523  # - Determine RestartDate 
    410     (( Offset = -1 )) 
    411     (( RestartDate = $( IGCM_date_AddDaysToGregorianDate ${DateBegin} ${Offset} ) )) 
    412  
     524    if [[ ${CastRestartNonPer} == "true" ]]; then 
     525        RestartDate=${ensemble_Ens_PERTURB_RESTART_NONPERIODIC[${DateNum}]} 
     526    else 
     527        (( Offset = -1 )) 
     528        (( RestartDate = $( IGCM_date_AddDaysToGregorianDate ${DateBegin} ${Offset} ) )) 
     529    fi 
     530     
    413531    IGCM_debug_Print 2 "${DateBegin} => ${DateEnd} : ${StartDir}" 
    414532 
     
    452570 
    453571        # Dump command to be lauched 
    454         echo "cd ${StartDir}/${MemberDir}/ ;"              >> Qsub.${StartDir}.sh 
    455         echo "${SUBMIT} ${JobName} ; cd -"                 >> Qsub.${StartDir}.sh 
    456  
    457         echo "cd ${StartDir}/${MemberDir}/ ;"              >> ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh 
    458         echo "${libIGCM}/clean_PeriodLenght.job ; cd -"    >> ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh 
    459  
    460         echo "cd ${StartDir}/${MemberDir}/ ;"               >> ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh 
    461         echo "${libIGCM}/clean_latestPackPeriod.job ; cd -" >> ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh 
     572        echo "cd ${StartDir}/${MemberDir}/ ;"    >> Qsub.${StartDir}.sh 
     573        echo "${SUBMIT} ${JobName} ; cd -"       >> Qsub.${StartDir}.sh 
     574 
     575        echo "cd ${StartDir}/${MemberDir}/ ;"    >> ${RUN_DIR}/Qclean.month.${StartDir}.sh 
     576        echo "${libIGCM}/clean_month.job ; cd -" >> ${RUN_DIR}/Qclean.month.${StartDir}.sh 
     577 
     578        echo "cd ${StartDir}/${MemberDir}/ ;"    >> ${RUN_DIR}/Qclean.year.${StartDir}.sh 
     579        echo "${libIGCM}/clean_year.job ; cd -"  >> ${RUN_DIR}/Qclean.year.${StartDir}.sh 
    462580 
    463581        # * Update files : config.card, Job_, COMP/comp.card 
     
    466584          DateEnd=${PeriodDateEnd} 
    467585        fi 
     586         
    468587        IGCM_ensemble_CastFilesUpdate ${DateBegin} ${DateEnd} ${RestartDate} 
    469588 
     
    477596    # Done. Save ${StartDir} submission text file 
    478597    IGCM_sys_Cp ${RUN_DIR}/Qsub.${StartDir}.sh ${SUBMIT_DIR} 
    479     IGCM_sys_Cp ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh ${SUBMIT_DIR} 
    480     IGCM_sys_Cp ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh ${SUBMIT_DIR} 
     598    IGCM_sys_Cp ${RUN_DIR}/Qclean.month.${StartDir}.sh ${SUBMIT_DIR} 
     599    IGCM_sys_Cp ${RUN_DIR}/Qclean.year.${StartDir}.sh ${SUBMIT_DIR} 
    481600 
    482601    (( DateNum = DateNum + 1 )) 
     
    537656  # - Loop over members 
    538657  i=0 
    539   nbmember=${#ensemble_Ens_PERTURB_MEMBER_LIST[*]} 
     658  nbmember=${#ensemble_Ens_PERTURB_PERTU_MAP_LIST[*]} 
    540659  while [ $i -lt $nbmember ] ; do 
    541660    MemberDir=${ensemble_Ens_PERTURB_MEMBER_NAMESLIST[${i}]} 
    542     MemberVec=${ensemble_Ens_PERTURB_MEMBER_LIST[${i}]} 
     661    MemberVec=${ensemble_Ens_PERTURB_PERTU_MAP_LIST[${i}]} 
    543662 
    544663    JobName="Job_${MemberDir}" 
     
    559678 
    560679      # Dump command to be lauched 
    561       echo "cd ${StartDir}/${MemberDir}/ ;"                >> ${RUN_DIR}/Qsub.${StartDir}.sh 
    562       echo "${SUBMIT} ${JobName} ; cd -"                   >> ${RUN_DIR}/Qsub.${StartDir}.sh 
    563  
    564       echo "cd ${StartDir}/${MemberDir}/ ;"                >> ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh 
    565       echo "${libIGCM}/clean_PeriodLenght.job ; cd -"      >> ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh 
    566  
    567       echo "cd ${StartDir}/${MemberDir}/ ;"                >> ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh 
    568       echo "${libIGCM}/clean_latestPackPeriod.job ; cd -"  >> ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh 
     680      echo "cd ${StartDir}/${MemberDir}/ ;"     >> ${RUN_DIR}/Qsub.${StartDir}.sh 
     681      echo "${SUBMIT} ${JobName} ; cd -"        >> ${RUN_DIR}/Qsub.${StartDir}.sh 
     682 
     683      echo "cd ${StartDir}/${MemberDir}/ ;"     >> ${RUN_DIR}/Qclean.month.${StartDir}.sh 
     684      echo "${libIGCM}/clean_month.job ; cd -"  >> ${RUN_DIR}/Qclean.month.${StartDir}.sh 
     685 
     686      echo "cd ${StartDir}/${MemberDir}/ ;"     >> ${RUN_DIR}/Qclean.year.${StartDir}.sh 
     687      echo "${libIGCM}/clean_year.job ; cd -"   >> ${RUN_DIR}/Qclean.year.${StartDir}.sh 
    569688 
    570689      # * Update files : config.card, Job_, COMP/comp.card 
     
    580699  # Done. Save ${StartDir} submission text file 
    581700  IGCM_sys_Cp ${RUN_DIR}/Qsub.${StartDir}.sh ${SUBMIT_DIR} 
    582   IGCM_sys_Cp ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh ${SUBMIT_DIR} 
    583   IGCM_sys_Cp ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh ${SUBMIT_DIR} 
     701  IGCM_sys_Cp ${RUN_DIR}/Qclean.month.${StartDir}.sh ${SUBMIT_DIR} 
     702  IGCM_sys_Cp ${RUN_DIR}/Qclean.year.${StartDir}.sh ${SUBMIT_DIR} 
    584703 
    585704  IGCM_debug_PopStack "IGCM_ensemble_CastMemberList" 
     
    601720  IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleName ${ensemble_Ens_PERTURB_NAME} 
    602721  IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleDate ${StartDir} 
     722  IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleType "Ens_PERTURB" 
    603723 
    604724  IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card UserChoices JobName   ${MemberDir} 
     
    11441264 
    11451265        # Dump command to be lauched 
    1146         echo "cd ${StartDir}/${MemberDir}/ ;"               >> ${RUN_DIR}/Qsub.${StartDir}.sh 
    1147         echo "${SUBMIT} ${JobName} ; cd -"                  >> ${RUN_DIR}/Qsub.${StartDir}.sh 
    1148  
    1149         echo "cd ${StartDir}/${MemberDir}/ ;"               >> ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh 
    1150         echo "${libIGCM}/clean_PeriodLenght.job ; cd -"     >> ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh 
    1151  
    1152         echo "cd ${StartDir}/${MemberDir}/ ;"               >> ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh 
    1153         echo "${libIGCM}/clean_latestPackPeriod.job ; cd -" >> ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh 
     1266        echo "cd ${StartDir}/${MemberDir}/ ;"    >> ${RUN_DIR}/Qsub.${StartDir}.sh 
     1267        echo "${SUBMIT} ${JobName} ; cd -"       >> ${RUN_DIR}/Qsub.${StartDir}.sh 
     1268 
     1269        echo "cd ${StartDir}/${MemberDir}/ ;"    >> ${RUN_DIR}/Qclean.month.${StartDir}.sh 
     1270        echo "${libIGCM}/clean_month.job ; cd -" >> ${RUN_DIR}/Qclean.month.${StartDir}.sh 
     1271 
     1272        echo "cd ${StartDir}/${MemberDir}/ ;"    >> ${RUN_DIR}/Qclean.year.${StartDir}.sh 
     1273        echo "${libIGCM}/clean_year.job ; cd -"  >> ${RUN_DIR}/Qclean.year.${StartDir}.sh 
    11541274 
    11551275        # * Update files : config.card, Job_, COMP/comp.card 
     
    11741294  # Done. Save ${StartDir} submission text file 
    11751295  IGCM_sys_Cp ${RUN_DIR}/Qsub.${StartDir}.sh ${SUBMIT_DIR} 
    1176   IGCM_sys_Cp ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh ${SUBMIT_DIR} 
    1177   IGCM_sys_Cp ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh ${SUBMIT_DIR} 
     1296  IGCM_sys_Cp ${RUN_DIR}/Qclean.month.${StartDir}.sh ${SUBMIT_DIR} 
     1297  IGCM_sys_Cp ${RUN_DIR}/Qclean.year.${StartDir}.sh ${SUBMIT_DIR} 
    11781298 
    11791299  IGCM_debug_PopStack "IGCM_ensemble_DatePeriodicStarts" 
     
    12491369 
    12501370        # Dump command to be lauched 
    1251         echo "cd ${StartDir}/${MemberDir}/ ;"                >> ${RUN_DIR}/Qsub.${StartDir}.sh 
    1252         echo "${SUBMIT} ${JobName} ; cd -"                   >> ${RUN_DIR}/Qsub.${StartDir}.sh 
    1253  
    1254         echo "cd ${StartDir}/${MemberDir}/ ;"                >> ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh 
    1255         echo "${libIGCM}/clean_PeriodLenght.job ; cd -"      >> ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh 
    1256  
    1257         echo "cd ${StartDir}/${MemberDir}/ ;"                >> ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh 
    1258         echo "${libIGCM}/clean_latestPackPeriod.job ; cd -"  >> ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh 
     1371        echo "cd ${StartDir}/${MemberDir}/ ;"     >> ${RUN_DIR}/Qsub.${StartDir}.sh 
     1372        echo "${SUBMIT} ${JobName} ; cd -"        >> ${RUN_DIR}/Qsub.${StartDir}.sh 
     1373 
     1374        echo "cd ${StartDir}/${MemberDir}/ ;"     >> ${RUN_DIR}/Qclean.month.${StartDir}.sh 
     1375        echo "${libIGCM}/clean_month.job ; cd -"  >> ${RUN_DIR}/Qclean.month.${StartDir}.sh 
     1376 
     1377        echo "cd ${StartDir}/${MemberDir}/ ;"     >> ${RUN_DIR}/Qclean.year.${StartDir}.sh 
     1378        echo "${libIGCM}/clean_year.job ; cd -"   >> ${RUN_DIR}/Qclean.year.${StartDir}.sh 
    12591379 
    12601380        # * Update files : config.card, Job_, COMP/comp.card 
     
    12671387    # Done. Save ${StartDir} submission text file 
    12681388    IGCM_sys_Cp ${RUN_DIR}/Qsub.${StartDir}.sh ${SUBMIT_DIR} 
    1269     IGCM_sys_Cp ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh ${SUBMIT_DIR} 
    1270     IGCM_sys_Cp ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh ${SUBMIT_DIR} 
     1389    IGCM_sys_Cp ${RUN_DIR}/Qclean.month.${StartDir}.sh ${SUBMIT_DIR} 
     1390    IGCM_sys_Cp ${RUN_DIR}/Qclean.year.${StartDir}.sh ${SUBMIT_DIR} 
    12711391 
    12721392    (( DateNum = DateNum + 1 )) 
     
    12751395  # Done. Save ${StartDir} submission text file 
    12761396  IGCM_sys_Cp ${RUN_DIR}/Qsub.${StartDir}.sh ${SUBMIT_DIR} 
    1277   IGCM_sys_Cp ${RUN_DIR}/Qclean.PeriodLenght.${StartDir}.sh ${SUBMIT_DIR} 
    1278   IGCM_sys_Cp ${RUN_DIR}/Qclean.latestPackPeriod.${StartDir}.sh ${SUBMIT_DIR} 
     1397  IGCM_sys_Cp ${RUN_DIR}/Qclean.month.${StartDir}.sh ${SUBMIT_DIR} 
     1398  IGCM_sys_Cp ${RUN_DIR}/Qclean.year.${StartDir}.sh ${SUBMIT_DIR} 
    12791399 
    12801400  IGCM_debug_PopStack "IGCM_ensemble_DateNonPeriodicStarts" 
Note: See TracChangeset for help on using the changeset viewer.