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

Improve handling Cesmep

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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 
Note: See TracChangeset for help on using the changeset viewer.