Changeset 119


Ignore:
Timestamp:
05/05/09 12:33:43 (15 years ago)
Author:
mmaipsl
Message:

Modification of libIGCM behaviour :
To use this function, one must copu libIGCM.card from ${libIGCM} directory
and put it in ${SUBMIT_DIR} directory. Ater modifications of ${SUBMIT_DIR}/libIGCM.card,
variables define inside [UserChanges?] will be modifyd for next Period of libIGCM main loop.

Be carefull : it can give problems with post-treatment !

Location:
trunk/libIGCM
Files:
1 added
1 edited

Legend:

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

    r118 r119  
    531531 
    532532    #=================================================# 
     533    #         Modification of libIGCM behaviour       # 
     534    #=================================================# 
     535 
     536    # To use this function, one must copu libIGCM.card from ${libIGCM} directory 
     537    # and put it in ${SUBMIT_DIR} directory. Ater modifications of ${SUBMIT_DIR}/libIGCM.card, 
     538    # variables define inside [UserChanges] will be modifyd for next Period of libIGCM main loop.  
     539    if [ -f ${SUBMIT_DIR}/libIGCM.card ] ; then 
     540        echo 
     541        echo "########################################################################" 
     542        echo "!!!                 Modification of libIGCM behaviour                !!!" 
     543        echo 
     544 
     545        IGCM_debug_Print 1 "DefineArrayFromOption  : libIGCM_UserChanges in libIGCM.card" 
     546        IGCM_card_DefineArrayFromSection ${SUBMIT_DIR}/libIGCM.card UserChanges 
     547        IGCM_debug_Print 2 "libIGCM_UserChanges" ${libIGCM_UserChanges[*]} 
     548 
     549        # Special treatments for libIGCM internals 
     550        for option in ${libIGCM_UserChanges[*]} ; do 
     551            IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/libIGCM.card UserChanges ${option} 
     552 
     553            echo "We will change : ${option}." 
     554            eval echo "Previous value : " \${${option}} 
     555            eval echo "Change to : " \${libIGCM_UserChanges_${option}} 
     556             
     557            eval ${option}=\${libIGCM_UserChanges_${option}} 
     558 
     559            case ${option} in 
     560                config_UserChoices_DateEnd) 
     561                    IGCM_debug_PrintVariables 3 config_UserChoices_DateEnd 
     562                    DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} ) 
     563 
     564                    # Period Length In Days between DateBegin and DateEnd 
     565                    (( ExperienceLengthInDays=$( IGCM_date_DaysBetweenGregorianDate ${DateEnd} ${DateBegin} )  + 1 )) 
     566                    if [ ${ExperienceLengthInDays} -lt 0 ] ; then 
     567                        IGCM_debug_Print 1 "Problem with dates in libIGCM.card : ${DateEnd} < ${DateBegin} ! You must check that." 
     568                        IGCM_debug_Exit "IGCM_PeriodEnd" " Wrong Dates." 
     569                        IGCM_debug_Verif_Exit  
     570                    fi 
     571                    ;; 
     572                config_UserChoices_PeriodLength) 
     573                    ;; 
     574                PeriodNb) 
     575                    IGCM_debug_Print 3  "Loop in main Job with ${PeriodNb} period(s)" 
     576                    ;; 
     577                config_Post_RebuildFrequency) 
     578                    IGCM_debug_Print 3  "Change config_Post_RebuildFrequency=${config_Post_RebuildFrequency} : IGCM_post_Configure" 
     579                    IGCM_post_Configure 
     580                    ;; 
     581                config_Post_TimeSeriesFrequency) 
     582                    IGCM_debug_Print 3  "Change config_Post_TimeSeriesFrequency = ${config_Post_TimeSeriesFrequency} : IGCM_post_Initialize" 
     583                    IGCM_post_Initialize 
     584                    ;; 
     585                config_Post_SeasonalFrequency) 
     586                    IGCM_debug_Print 3  "Change config_Post_SeasonalFrequency = ${config_Post_SeasonalFrequency} : IGCM_post_Initialize" 
     587                    IGCM_post_Initialize 
     588                    ;; 
     589            esac 
     590        done 
     591 
     592        echo 
     593        echo "########################################################################" 
     594        echo 
     595    fi 
     596 
     597    #=================================================# 
    533598    #         Determine next computed period          # 
    534599    #=================================================# 
Note: See TracChangeset for help on using the changeset viewer.