Ignore:
Timestamp:
10/25/23 14:34:02 (7 months ago)
Author:
aclsce
Message:
  • Changed libIGCM behaviour in case of pb in pack_output.job : now, we exit from the job if there is any problem, whatever we are in PROD, DEVT, TEST mode.
  • Specification of pack frequency per file :

In order to reduce the number of inodes, it is possible to specify by file the frequency of packing. The syntax to do that is in the 4th column of OutputFiles? section of the component.card, for example as follows in lmdz.card :
[OutputFiles?]
List= (histmth.nc, ${R_OUT_ATM_O_M}/${PREFIX}_1M_histmth.nc, Post_1M_histmth, 100Y), \

(histday.nc, ${R_OUT_ATM_O_D}/${PREFIX}_1D_histday.nc, Post_1D_histday, 10Y), \

...

In this example, histmth files will be packed every 100 years and histday files will be packed every 10 years.
The pack frequency you defined in config.card is the frequency of pack by default, that means if a specific frequency of pack is specified for a file in a component.card, this file will be packed at the specific frequency whereas all other files will be packed at global pack frequency (specified in config.card) and in this case, the frequency pack (from the config.card) is the frequency the pack_output job will be launched at.
There is a constraint to use this fonctionality : the Packfrequency you defined in config.card must be greater or equal to the pack frequencies you specified for each type of file in component.card, otherwise the computing job will be stopped (with an explicit error message).
Surpack mode :
A surpack mode functionality is available through the use of pack_output.job. To enable this functionality, you have to put "surpack_mode=y" (default value is n). The way to use is similar to restart post-processing pack_output jobs, as indicated here : http://forge.ipsl.jussieu.fr/igcmg_doc/wiki/Doc/CheckDebug#RestartPack_output. You can either use a global pack frequency in config.card or specific pack frequency per file, as explained above.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/libIGCM_config/libIGCM_config.ksh

    r1599 r1603  
    692692    Pack=false 
    693693  fi 
     694  # Loop over components 
     695  for comp in ${config_ListOfComponents[*]} ; do 
     696     
     697    IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/config.card ListOfComponents ${comp} 
     698    eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1 
     699    card=${SUBMIT_DIR}/COMP/${compname}.card 
     700    IGCM_card_DefineArrayFromOption ${card} OutputFiles List 
     701    ListFilesName=${compname}_OutputFiles_List 
     702    eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1 
     703    if [ X${FileName0} != X${NULL_STR} ] ; then 
     704        eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1 
     705                     
     706        (( i=0 )) 
     707        until [ $i -ge $NbFiles ]; do 
     708            (( i_ = i+3 )) 
     709            eval Testvar_=\${${ListFilesName}[$i_]} > /dev/null 2>&1 
     710            eval Testvar=${Testvar_} 
     711            if [[ ${Testvar} =~ [0-9][DMY]$ ]] ; then 
     712                IGCM_debug_Print 1 "Check coherence between PackFrequency and specific pack frequencies" 
     713                DaysTemp1=$( IGCM_date_DaysInPreviousPeriod ${DateBegin} ${Testvar} ) 
     714                DaysTemp2=$( IGCM_date_DaysInPreviousPeriod ${DateBegin} ${config_Post_PackFrequency} ) 
     715                if [ ${DaysTemp2} -lt ${DaysTemp1} ] ; then 
     716                    IGCM_debug_Print 1 "PackFrequency in config.card is smaller than the specific pack frequency" 
     717                    IGCM_debug_Print 1 "we found in ${compname}.card" 
     718                    IGCM_debug_Exit "ERROR You have to modify the PackFrequency in config.card to be always greater or equal to specific pack frequencies defined in comp.card" 
     719                    IGCM_debug_Verif_Exit 
     720                fi 
     721                ((i = i+4)) 
     722            else 
     723                ((i = i+3)) 
     724            fi 
     725        done 
     726    fi 
     727  done 
    694728 
    695729  # modulo (TimeSeriesFrequency and all Chunck2D) must be zero 
Note: See TracChangeset for help on using the changeset viewer.