Ignore:
Timestamp:
09/20/23 15:28:50 (8 months ago)
Author:
falletti
Message:

Integration of C-ESM-EP (post-processing) in libIGCM. From the work done by Stephane Senesi. To be activated in config.card [Post] with the keyword Cesmep (default: FALSE).

Location:
trunk/libIGCM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM

    • Property svn:ignore set to
      *.job
  • trunk/libIGCM/libIGCM_config/libIGCM_config.ksh

    r1565 r1598  
    225225    config_Post_MetricsPCMDI=FALSE 
    226226  fi 
    227  
     227  #==================================================== 
     228  # Cesmep : apply default value FALSE if not defined, and if TRUE 
     229  # or *Y set it based on an adhoc algorithm 
     230  if ( [ X${config_Post_Cesmep} = X${NULL_STR} ] || [ X${config_Post_Cesmep} = XNONE ] || \ 
     231       [ X${config_Post_Cesmep} = X ] || [ X${config_Post_Cesmep} = XFALSE ] ) ; then 
     232    config_Post_Cesmep=FALSE 
     233  elif [ X${config_Post_Cesmep} = XTRUE ] || [[ X${config_Post_Cesmep} =~ X[1-9][0-9]?Y ]] ; then 
     234      if [[ X${config_Post_Cesmep} =~ X[1-9][0-9]?Y ]] ; then 
     235          CesmepPeriod=${config_Post_Cesmep%Y} 
     236      fi 
     237      if ([ ! X${config_Post_SeasonalFrequency} = XNONE ] && [ ! X${config_Post_SeasonalFrequency} = X ] ) ; then 
     238          config_Post_Cesmep="SE" 
     239      elif ([ ! X${config_Post_TimeSeriesFrequency} = XNONE ] && [ ! X${config_Post_TimeSeriesFrequency} = X ] ) ; then 
     240          config_Post_Cesmep="TS" 
     241      elif ([ ! X${config_Post_PackFrequency} = XNONE ] && [ ! X${config_Post_PackFrequency} = X ] ) ; then 
     242          config_Post_Cesmep="Pack" 
     243      else 
     244          # This covers case SpaceName=TEST with no SE nor TS (nor Pack) 
     245          config_Post_Cesmep=AtEnd 
     246      fi 
     247  fi 
     248  # 
     249  if [ X${config_Post_Cesmep} != XFALSE ] ; then 
     250      if [ X${config_Post_Cesmep} = XSE ] ; then 
     251          if ([ X${config_Post_SeasonalFrequency} = XNONE ] || [ X${config_Post_SeasonalFrequency} = X ] ) ; then 
     252              IGCM_debug_Exit "Cannot use SE for Cesmep : SE post-processing is not active" 
     253          else 
     254              [ -z $CesmepPeriod ] && CesmepPeriod=${config_Post_SeasonalFrequency%Y} 
     255          fi 
     256      elif [ X${config_Post_Cesmep} = XTS ] ; then 
     257          if ([ X${config_Post_TimeSeriesFrequency} = XNONE ] || [ X${config_Post_TimeSeriesFrequency} = X ] ) ; then 
     258              IGCM_debug_Exit "Cannot use TS for Cesmep : TS post-processing is not active" 
     259          else 
     260              [ -z $CesmepPeriod ] && CesmepPeriod=${config_Post_TimeSeriesFrequency%Y} 
     261          fi 
     262      elif [ X${config_Post_Cesmep} = XPack ] ; then 
     263          if ([ X${config_Post_PackFrequency} = XNONE ] || [ X${config_Post_PackFrequency} = X ] ) ; then 
     264              IGCM_debug_Exit "Cannot use Packed output for Cesmep : Pack post-processing is not active" 
     265          else 
     266              [ -z $CesmepPeriod ] && CesmepPeriod=${config_Post_PackFrequency%Y} 
     267          fi 
     268      elif [ X${config_Post_Cesmep} != XAtEnd ] ; then 
     269          IGCM_debug_Exit "config.card's Post section's value for Cesmep (${config_Post_Cesmep}) is invalid; use SE, TS, Pack, AtEnd, TRUE or <n>Y" 
     270      else 
     271          [ -z $CesmepPeriod ] && CesmepPeriod=0 
     272      fi 
     273 
     274      if ( [ X${config_Post_CesmepComparison} = XNONE ] || [ X${config_Post_CesmepComparison} = X ] ) ; then 
     275          config_Post_CesmepComparison=run_comparison 
     276      fi 
     277       
     278      if ( [ X${config_Post_CesmepCode} = XNONE ] || [ X${config_Post_CesmepCode} = X ] ) ; then 
     279          if ( [ X"${SYSTEM}" == "Xirene" ] || [ X"${SYSTEM}" == "Xirene-amd" ] ); then  
     280              config_Post_CesmepCode=/ccc/cont003/home/igcmg/igcmg/Tools/cesmep 
     281          elif ( [ X"${SYSTEM}" == "Xjeanzay" ] ); then 
     282              config_Post_CesmepCode=/gpfswork/rech/psl/commun/Tools/cesmep 
     283          elif ( [ X"${SYSTEM}" == "Xmesoipsl" ] ); then 
     284              config_Post_CesmepCode=/net/nfs/tools/Users/SU/jservon/cesmep_installs/cesmep_for_libIGCM 
     285          elif [ ${config_Post_Cesmep} != FALSE ] ; then 
     286              IGCM_debug_Exit "Cannot locate a default C-ESM-EP code on $SYSTEM, please set CesmepCode in section Post" 
     287          fi 
     288      fi 
     289      if ( [ X${config_Post_CesmepSlices} = XNONE ] || [ X${config_Post_CesmepSlices} = X ] ) ; then 
     290          config_Post_CesmepSlices=8 
     291      fi 
     292  fi 
     293  IGCM_debug_Print 3 "config_Post_Cesmep=${config_Post_Cesmep}, CesmepPeriod=$CesmepPeriod, config_Post_CesmepSlices=$config_Post_CesmepSlices  " 
    228294  #==================================================== 
    229295  # IgnoreNonMonotonic : apply default value if not defined 
Note: See TracChangeset for help on using the changeset viewer.