Ignore:
Timestamp:
03/01/10 16:59:54 (14 years ago)
Author:
sdipsl
Message:
  • Slight modification in the way we read and interpret card for post-processing. Actual card will not work with this revision

List=(histmth.nc, ${R_OUT_ATM_O_M}/${PREFIX}_1M_histmth.nc, Post_1M_histmth), \

(histday.nc, ${R_OUT_ATM_O_D}/${PREFIX}_1D_histday.nc, Post_1D_histday), \
(histhf.nc, ${R_OUT_ATM_O_H}/${PREFIX}_HF_histhf.nc, Post_HF_histhf)

  • ChunckJob2D, ChunckJob3d have control over TS, with the folliwing keywords :

OFF (TimeSeries? not active), NONE (TimeSeries? active but without chunck), 10Y (TimeSeries? active, but produce as many as needed 10 years lenght time series)

  • Seasonnal (ON/OFF), have control over SE files production.
  • Patch can be applied systematicaly even if no Time Series or Seasonal post-proceesing are required
  • A first step towards the merge between rebuildFromArchive and rebuildFrowWorkdir jobs
  • We may change rebuildFromArchive job name as it is not that meaningful in this context
  • We may change ChunckJob2D/ChunckJob3D as it is not that meaningful in this context
  • Some bugfix and optimisation
  • For testing purpose only (still try to have backward compatibility)

Exemple :

[Post_1D_histday]
Patches= (Patch_20091030_histcom_time_axis)
GatherWithInternal? = (lon, lat, presnivs, time_counter)
TimeSeriesVars2D = (bils, cldh, ...)
ChunckJob2D = 50Y
TimeSeriesVars3D = (temp, theta, ovap, ovapinit, geop, ...)
ChunckJob3D = OFF
Seasonal=OFF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/AA_create_se

    r231 r236  
    230230    if [ X${FileName0} != X${NULL_STR} ] ; then 
    231231        # 
    232         #IGCM_debug_Print 1 "Component      : ${compname}" 
    233         # 
    234232        # INITIALISATION 
    235233        # 
    236234        eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1 
    237         typeset i=0 
     235        typeset i=2 
    238236        # 
    239237        until [ $i -eq $NbFiles ]; do 
    240238            # 
    241             eval file_in_=\${${ListFilesName}[$i]} > /dev/null 2>&1 
    242             eval file_in=${file_in_} 
    243             let $(( i_ = i+2 )) 
    244             eval flag_post_=\${${ListFilesName}[$i_]} > /dev/null 2>&1 
     239            eval flag_post_=\${${ListFilesName}[$i]} > /dev/null 2>&1 
    245240            eval flag_post=${flag_post_} 
    246241            # 
    247242            if [ X${flag_post} != XNONE ] ; then 
    248243                # 
    249                 # Initialize ${flag_post}_${compname}_${post_freq} 
     244                # Check if seasonal is required for this file 
    250245                # 
    251                 eval export ${flag_post}_${compname}_SeasonalFrequency=true 
     246                IGCM_card_DefineArrayFromOption ${card} ${flag_post} Seasonal 
     247                # 
     248                if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then 
     249                    continue 
     250                fi 
     251                # 
     252                # CREATE LIST 
     253                # 
     254                FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' ) 
     255                # 
     256                DIRECTORY=${R_SAVE}/${comp}/Analyse/SE 
     257                # 
     258                TestedFile=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${FILE}.nc 
     259                # 
     260                IGCM_sys_TestFileArchive ${DIRECTORY}/${TestedFile} 
     261                if [ ! $? = 0 ] ; then 
     262                    eval set +A LISTE_FILE_${comp} \$\{LISTE_FILE_${comp}[*]} ${FILE} 
     263                    if [ ! ${RebuildFrequency} = true ] ; then 
     264                        IGCM_card_DefineArrayFromOption ${card} Post_${FILE} Patches 
     265                        eval set +A LISTE_PATCHES_${FILE} \$\{${compname}_Post_${FILE}_Patches[*]} 
     266                        if [ X$( eval echo \${LISTE_PATCHES_${FILE}[0]} ) !=  X${NULL_STR} ]; then 
     267                            for Patch in $( eval echo \${LISTE_PATCHES_${FILE}[*]} ); do 
     268                                if [ Xload${Patch} != X ] ; then 
     269                                    . ${libIGCM}/libIGCM_post/IGCM_${Patch}.ksh 
     270                                    eval load${Patch}=loaded 
     271                                fi 
     272                            done 
     273                        fi 
     274                    fi 
     275                fi 
    252276            fi 
    253277            let $(( i=i+3 )) 
    254         done 
     278        done # until [ $i -eq $NbFiles ] 
    255279    fi 
    256  
    257     for element in $( env | grep Post_ | grep ${compname}_SeasonalFrequency | grep -i "=true" ) ; do 
    258         # 
    259         FILE=$( echo ${element} | awk -F "_${compname}_SeasonalFrequency" '{print $1}' | awk "-FPost_" '{print $2}' ) 
    260         # 
    261         # CREATE LIST 
    262         # 
    263         DIRECTORY=${R_SAVE}/${comp}/Analyse/SE 
    264         # 
    265         TestedFile=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${FILE}.nc 
    266         # 
    267         IGCM_sys_TestFileArchive ${DIRECTORY}/${TestedFile} 
    268         if [ ! $? = 0 ] ; then 
    269             eval set +A LISTE_FILE_${comp} \$\{LISTE_FILE_${comp}[*]} ${FILE} 
    270             if [ ! ${RebuildFrequency} = true ] ; then 
    271                 IGCM_card_DefineArrayFromOption ${card} Post_${FILE} Patches 
    272                 eval set +A LISTE_PATCHES_${FILE} \$\{${compname}_Post_${FILE}_Patches[*]} 
    273                 if [ X$( eval echo \${LISTE_PATCHES_${FILE}[0]} ) !=  X${NULL_STR} ]; then 
    274                     for Patch in $( eval echo \${LISTE_PATCHES_${FILE}[*]} ); do 
    275                         if [ Xload${Patch} != X ] ; then 
    276                             . ${libIGCM}/libIGCM_post/IGCM_${Patch}.ksh 
    277                             eval load${Patch}=loaded 
    278                         fi 
    279                     done 
    280                 fi 
    281             fi 
    282         fi 
    283              # 
    284     done     # for element 
    285280done         # for comp 
    286281 
Note: See TracChangeset for help on using the changeset viewer.