Ignore:
Timestamp:
09/17/22 15:29:59 (19 months ago)
Author:
ssenesi
Message:

Improve handling Cesmep

Location:
branches/libIGCM_CESMEP
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/libIGCM_CESMEP/AA_create_se

    r1554 r1559  
    720720 
    721721# Execute C-ESM-EP driver (which launches jobs) 
    722 set -x 
    723722if [ $PostCesmep = SE ] ; then 
    724723    ${SUBMIT_DIR}/cesmep_lite/libIGCM_post.sh $DateBegin $PeriodDateEnd 
  • branches/libIGCM_CESMEP/ins_job

    r1554 r1559  
    660660IGCM_card_DefineVariableFromOption ${prefix}config.card Post Cesmep 
    661661 
    662 # Compute mail adress - inspired by libIGCM_post.ksh - should be turned in a function  
    663 if [ ! -z ${config_UserChoices_MailName} ] ; then 
    664     MailAdress=${config_UserChoices_MailName} 
    665 elif [ -f ~/.forward ] ; then 
    666     MailAdress=$( cat ~/.forward ) 
    667 else 
    668     MailAdress=${USER} 
    669 fi 
    670  
    671 # 
    672662if [ ${config_Post_Cesmep} != FALSE ]; then 
    673     if [ X"${SYSTEM}" == "Xirene" ] ; then 
    674        IGCM_card_DefineVariableFromOption ${prefix}config.card Post CesmepCode 
    675        IGCM_card_DefineVariableFromOption ${prefix}config.card Post CesmepComparison 
    676        IGCM_card_DefineVariableFromOption ${prefix}config.card UserChoices DateBegin 
    677        # Need R_SAVE  
    678        IGCM_config_CommonConfiguration ${prefix}config.card 
    679        ${config_Post_CesmepCode}/libIGCM_install.sh $(pwd)/${prefix} \ 
     663    IGCM_config_CommonConfiguration ${prefix}config.card 
     664    # Compute mail adress - inspired by libIGCM_post.ksh - should be turned in a function  
     665    if [ ! -z ${config_UserChoices_MailName} ] ; then 
     666        MailAdress=${config_UserChoices_MailName} 
     667    elif [ -f ~/.forward ] ; then 
     668        MailAdress=$( cat ~/.forward ) 
     669    else 
     670        MailAdress=${USER} 
     671    fi 
     672    # 
     673    components="," 
     674    for comp in ${config_ListOfComponents[*]} ; do 
     675        components=${components}${comp}, ; 
     676    done 
     677    if [ X"${SYSTEM}" == "Xirene" ] || [ X"${SYSTEM}" == "Xirene-amd" ] ; then 
     678        IGCM_card_DefineVariableFromOption ${prefix}config.card UserChoices DateBegin 
     679        ${config_Post_CesmepCode}/libIGCM_install.sh $(pwd)/${prefix} \ 
    680680                   ${config_Post_CesmepComparison} $JobName ${R_SAVE} ${ProjectID} \ 
    681                    ${MailAdress} ${config_UserChoices_DateBegin} ${config_Post_Cesmep}  
     681                   ${MailAdress} ${config_UserChoices_DateBegin//-/} \ 
     682                   ${config_Post_Cesmep} ${CesmepPeriod} ${config_Post_CesmepSlices} $components 
    682683   else 
    683        echo "\nERROR Cannot yet handle CESMEP on this computer system" 
     684       echo -e "\nERROR Cannot (yet) handle CESMEP atlas on this computer system" 
    684685       echo "=> Variable Cesmep in config.card's section Post must be set to FALSE" 
    685686       exit 5 
  • branches/libIGCM_CESMEP/libIGCM_config/libIGCM_config.ksh

    r1554 r1559  
    183183  #==================================================== 
    184184  # Cesmep : apply default value FALSE if not defined, and if TRUE 
    185   # set it based on an adhoc algorithm 
    186   if ( [ X${config_Post_Cesmep} = XNONE ] || [ X${config_Post_Cesmep} = X ] ) ; then 
     185  # or *Y set it based on an adhoc algorithm 
     186  if ( [ X${config_Post_Cesmep} = X${NULL_STR} ] || [ X${config_Post_Cesmep} = XNONE ] || \ 
     187       [ X${config_Post_Cesmep} = X ] ) ; then 
    187188    config_Post_Cesmep=FALSE 
    188   elif [ X${config_Post_Cesmep} = XTRUE ]; then  
    189     if ([ ! X${config_Post_SeasonalFrequency} = XNONE ] && [ ! X${config_Post_SeasonalFrequency} = X ] ) ; then 
    190       config_Post_Cesmep="SE" 
    191     elif ([ ! X${config_Post_TimeSeriesFrequency} = XNONE ] && [ ! X${config_Post_TimeSeriesFrequency} = X ] ) ; then 
    192       config_Post_Cesmep="TS" 
    193     elif ([ ! X${config_Post_PackFrequency} = XNONE ] && [ ! X${config_Post_PackFrequency} = X ] ) ; then 
    194       config_Post_Cesmep="Pack" 
    195     else 
    196       # This covers case SpaceName=TEST with no SE nor TS (nor Pack) 
    197       config_Post_Cesmep="AtEnd" 
    198     fi 
    199     # 
     189  elif [ X${config_Post_Cesmep} = XTRUE ] || [[ X${config_Post_Cesmep} =~ X[1-9][0-9]?Y ]] ; then 
     190      if [[ X${config_Post_Cesmep} =~ X[1-9][0-9]?Y ]] ; then 
     191          CesmepPeriod=${config_Post_Cesmep%Y} 
     192      fi 
     193      if ([ ! X${config_Post_SeasonalFrequency} = XNONE ] && [ ! X${config_Post_SeasonalFrequency} = X ] ) ; then 
     194          config_Post_Cesmep="SE" 
     195      elif ([ ! X${config_Post_TimeSeriesFrequency} = XNONE ] && [ ! X${config_Post_TimeSeriesFrequency} = X ] ) ; then 
     196          config_Post_Cesmep="TS" 
     197      elif ([ ! X${config_Post_PackFrequency} = XNONE ] && [ ! X${config_Post_PackFrequency} = X ] ) ; then 
     198          config_Post_Cesmep="Pack" 
     199      else 
     200          # This covers case SpaceName=TEST with no SE nor TS (nor Pack) 
     201          config_Post_Cesmep="AtEnd" 
     202      fi 
     203  fi 
     204  # 
     205  if ([ X${config_Post_Cesmep} = XSE ]) ; then 
     206      if ([ X${config_Post_SeasonalFrequency} = XNONE ] || [ X${config_Post_SeasonalFrequency} = X ] ) ; then 
     207          IGCM_debug_Exit "Cannot use SE for Cesmep : SE post-processing is not active" 
     208      else 
     209          [ -z $CesmepPeriod ] && CesmepPeriod=X${config_Post_SeasonalFrequency%Y} 
     210      fi 
     211  elif ([ X${config_Post_Cesmep} = XTS ]) ; then 
     212      if ([ X${config_Post_TimeSeriesFrequency} = XNONE ] || [ X${config_Post_TimeSeriesFrequency} = X ] ) ; then 
     213          IGCM_debug_Exit "Cannot use TS for Cesmep : TS post-processing is not active" 
     214      else 
     215          [ -z $CesmepPeriod ] && CesmepPeriod=X${config_Post_TimeSeriesFrequency%Y} 
     216      fi 
     217  elif ([ X${config_Post_Cesmep} = XPack ]) ; then 
     218      if ([ X${config_Post_PackFrequency} = XNONE ] || [ X${config_Post_PackFrequency} = X ] ) ; then 
     219          IGCM_debug_Exit "Cannot use Packed output for Cesmep : Pack post-processing is not active" 
     220      else 
     221          [ -z $CesmepPeriod ] && CesmepPeriod=X${config_Post_PackFrequency%Y} 
     222      fi 
     223  elif ([ X${config_Post_Cesmep} != XAtend ]) ; then 
     224      IGCM_debug_Exit "config.card Post section value for Cesmep is invalid (use SE, TS, Pack, AtEnd or TRUE) : ${config_Post_Cesmep}" 
    200225  else 
    201       # Check that user-provided value make sense 
    202       if ([ X${config_Post_Cesmep} = XSE ]) ; then 
    203           if ([ X${config_Post_SeasonalFrequency} = XNONE ] || [ X${config_Post_SeasonalFrequency} = X ] ) ; then 
    204               IGCM_debug_Exit "Cannot use SE for Cesmep : SE post-processing is not active" 
    205           fi 
    206       elif ([ X${config_Post_Cesmep} = XTS ]) ; then 
    207           if ([ X${config_Post_TimeSeriesFrequency} = XNONE ] || [ X${config_Post_TimeSeriesFrequency} = X ] ) ; then 
    208               IGCM_debug_Exit "Cannot use TS for Cesmep : TS post-processing is not active" 
    209           fi 
    210       elif ([ X${config_Post_Cesmep} = XPack ]) ; then 
    211           if ([ X${config_Post_PackFrequency} = XNONE ] || [ X${config_Post_PackFrequency} = X ] ) ; then 
    212               IGCM_debug_Exit "Cannot use Packed output for Cesmep : Pack post-processing is not active" 
    213           fi 
    214       elif ([ X${config_Post_Cesmep} != XAtend ]) ; then 
    215           IGCM_debug_Exit "config.card Post section value for Cesmep is invalid (use SE, TS, Pack, AtEnd or TRUE) : ${config_Post_Cesmep}" 
    216       fi 
    217   fi 
     226        CesmepPeriod=NONE 
     227  fi 
     228 
    218229  if ( [ X${config_Post_CesmepComparison} = XNONE ] || [ X${config_Post_CesmepComparison} = X ] ) ; then 
    219       config_Post_CesmepComparison=standard_comparison 
     230      config_Post_CesmepComparison=run_comparison 
    220231  fi 
    221232  if ( [ X${config_Post_CesmepCode} = XNONE ] || [ X${config_Post_CesmepCode} = X ] ) ; then 
    222233      config_Post_CesmepCode=/ccc/work/cont003/gen0826/senesis/cesmep 
    223234  fi 
    224  
     235  if ( [ X${config_Post_CesmepSlices} = XNONE ] || [ X${config_Post_CesmepSlices} = X ] ) ; then 
     236      config_Post_CesmepSlices=10 
     237  fi 
    225238  #==================================================== 
    226239  # IgnoreNonMonotonic : apply default value if not defined 
  • branches/libIGCM_CESMEP/libIGCM_post/libIGCM_post.ksh

    r1554 r1559  
    676676  #========== CESMEP POST-PROCESSING at job end  ========# 
    677677 
    678   IGCM_debug_Print 1 "Possibly launching C-ESM-EP run script" 
    679678  if [ ${CesmepAtEnd} = true ] ; then 
    680679      # 
Note: See TracChangeset for help on using the changeset viewer.