Changeset 157 for trunk/libIGCM


Ignore:
Timestamp:
08/14/09 17:58:55 (15 years ago)
Author:
sdipsl
Message:
  • RebuildFromWorkdir? is back. Will use BIG_DIR as temp storage directory
    • ideally RUN_DIR_PATH and BIG_DIR are on the same filesystem (mv REBUILD_DIR BIG_DIR)
    • save lot of time between iteration for IO intensive simulation up to 3 minutes by iteration for CMIP5 like IO.
  • rebuild.ksh will be usable as it is (in case you need to run it by hand)
  • clean Up : if rebuild run smoothly we clean everything (either FromArchive? or FromWorkdir?)
  • Watch your quota on the BIG_DIR (SCRATCHDIR OR WORKDIR depending on machine) before you play with that.
Location:
trunk/libIGCM
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/AA_job

    r154 r157  
    132132#SUBMIT_DIR=$( pwd ) 
    133133 
     134#D- Define BIG_DIR directory 
     135#D- Default=(strongly machine dependant/see libIGCM_sys for details) 
     136#BIG_DIR=/somewhere/with/lot/of/space/scratchdir/may/be 
     137 
    134138#D- Turn in dry run mode ? (0,1,2,3) 
    135139#D- Default=0 
  • trunk/libIGCM/AA_rebuild_fromArchive

    r147 r157  
    123123#set -vx 
    124124 
    125 if [ ${RebuildFromArchive} = true ] ; then 
    126     RUN_DIR=${RUN_DIR_PATH} 
    127     ListAllRebuildDir=$( IGCM_sys_RshArchive ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${PeriodDateBegin} ) 
    128 else 
    129     RUN_DIR=${REBUILD_DIR} 
    130     ListAllRebuildDir=$( ls -d ${REBUILD_DIR}/REBUILD_* | grep  ${PeriodDateBegin} | tail -${NbRebuildDir} ) 
    131 fi 
     125RUN_DIR=${RUN_DIR_PATH} 
     126ListAllRebuildDir=$( IGCM_sys_RshArchive ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${PeriodDateBegin} ) 
     127# 
    132128IGCM_sys_Cd ${RUN_DIR} 
    133129 
    134130for directory in ${ListAllRebuildDir} ; do 
    135131    # 
    136     if [ ${RebuildFromArchive} = true ] ; then 
    137         IGCM_sys_Get_Dir ${directory} ${RUN_DIR} 
    138     fi 
     132    IGCM_sys_Get_Dir ${directory} ${RUN_DIR} 
     133    # 
    139134    IGCM_sys_Cd ${RUN_DIR}/$( basename ${directory} ) 
    140     # -------------------------------------------------------------------- 
    141     # Function define in rebuild.ksh has not been closed yet. Do it now 
    142     # -------------------------------------------------------------------- 
    143     echo IGCM_debug_PopStack "IGCM_FlushRebuild" >> rebuild.ksh 
    144     echo }                                       >> rebuild.ksh 
    145135 
    146     IGCM_sys_Put_Out rebuild.ksh ${directory} 
    147136    # -------------------------------------------------------------------- 
    148137    # Source function include in the REBUILD ksh and rebuild 
     
    153142    IGCM_sys_Cd ${RUN_DIR} 
    154143    # Clean Up 
    155     #IGCM_sys_RshArchive IGCM_sys_Rm -rf ${directory} 
     144    IGCM_sys_RshArchive rm -rf ${directory} 
    156145done 
  • trunk/libIGCM/AA_rebuild_fromWorkdir

    r147 r157  
    124124#set -vx 
    125125 
    126 if [ ${RebuildFromArchive} = true ] ; then 
    127     RUN_DIR=${RUN_DIR_PATH} 
    128     ListAllRebuildDir=$( IGCM_sys_RshArchive ls -d ${REBUILD_DIR}/REBUILD_* | grep  ${PeriodDateBegin} | tail -${NbRebuildDir} ) 
    129 else 
    130     RUN_DIR=${REBUILD_DIR} 
    131     ListAllRebuildDir=$( ls -d ${REBUILD_DIR}/REBUILD_* | grep  ${PeriodDateBegin} | tail -${NbRebuildDir} ) 
    132 fi 
     126RUN_DIR=${REBUILD_DIR} 
     127ListAllRebuildDir=$( ls -d ${REBUILD_DIR}/REBUILD_* | grep  ${PeriodDateBegin} | tail -${NbRebuildDir} ) 
     128# 
    133129IGCM_sys_Cd ${RUN_DIR} 
    134130 
    135131for directory in ${ListAllRebuildDir} ; do 
    136132    # 
    137     if [ ${RebuildFromArchive} = true ] ; then 
    138         IGCM_sys_Get_Dir ${directory} ${RUN_DIR} 
    139     fi 
    140133    IGCM_sys_Cd ${RUN_DIR}/$( basename ${directory} ) 
    141     # -------------------------------------------------------------------- 
    142     # Function define in rebuild.ksh has not been closed yet. Do it now 
    143     # -------------------------------------------------------------------- 
    144     echo IGCM_debug_PopStack "IGCM_FlushRebuild" >> rebuild.ksh 
    145     echo }                                       >> rebuild.ksh 
    146134 
    147     IGCM_sys_Put_Out rebuild.ksh ${directory} 
    148135    # -------------------------------------------------------------------- 
    149136    # Source function include in the REBUILD ksh and rebuild 
  • trunk/libIGCM/libIGCM_comp/libIGCM_comp.ksh

    r155 r157  
    753753                        # Prepare the shell dedicated to offline rebuild 
    754754                        echo IGCM_sys_rebuild ${file_in} ${generic_file_name}_*.nc    >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     755                        echo IGCM_debug_Verif_Exit                                    >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    755756                        # 
    756757                        # Load Patch we need to apply and apply 
     
    763764                        # 
    764765                        echo IGCM_sys_Put_Out ${file_in} ${file_out}                  >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     766                        echo IGCM_debug_Verif_Exit                                    >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    765767                        echo IGCM_sys_Rm ${generic_file_name}_*.nc                    >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    766768                        SaveOnArchive=false 
     
    783785                            # 
    784786                            echo IGCM_sys_Put_Out ${file_in} ${file_out}                  >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     787                            echo IGCM_debug_Verif_Exit                                    >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    785788                            # 
    786789                        fi 
  • trunk/libIGCM/libIGCM_config/libIGCM_config.ksh

    r154 r157  
    197197        IGCM_sys_MkdirArchive ${REBUILD_DIR} 
    198198    else 
    199         REBUILD_DIR=${RUN_DIR} 
    200     fi 
    201  
    202     IGCM_debug_Print 1 "For now force RebuildFromArchive=true in libIGM_config" 
    203     config_Post_RebuildFromArchive=true 
    204     IGCM_debug_Print 3 "RebuildFromArchive : true" 
     199        REBUILD_DIR=${BIG_DIR}/${config_UserChoices_TagName}/${config_UserChoices_JobName} 
     200        IGCM_sys_MkdirWork ${REBUILD_DIR} 
     201    fi 
    205202 
    206203    #==================================================== 
  • trunk/libIGCM/libIGCM_debug/libIGCM_debug.ksh

    r113 r157  
    9090            let $((i=i+1)) 
    9191        done 
    92     fi 
    93     echo "!------------------------!" 
     92        echo "!------------------------!" 
     93    fi 
    9494} 
    9595 
  • trunk/libIGCM/libIGCM_post/libIGCM_post.ksh

    r152 r157  
    563563        done 
    564564    fi 
    565  
    566565    set +vx 
    567566 
     
    627626 
    628627    #============== REBUILD POST-TREATMENT =============# 
    629  
    630     if ( [ ${config_Post_RebuildFromArchive} = true ] && [ ! X${config_Post_RebuildFrequency} = X${NULL_STR} ] && [ ! X${config_Post_RebuildFrequency} = XNONE ] ) ; then 
    631         IGCM_sys_Put_Dir REBUILD_${PeriodDateBegin} ${REBUILD_DIR} 
     628    if ( [ ! X${config_Post_RebuildFrequency} = X${NULL_STR} ] && [ ! X${config_Post_RebuildFrequency} = XNONE ] ) ; then 
     629        # ----------------------------------------------------------------------------------- 
     630        # Function IGCM_FlushRebuild define in rebuild.ksh has not been closed yet. Do it now 
     631        # ----------------------------------------------------------------------------------- 
     632        echo IGCM_debug_PopStack "IGCM_FlushRebuild" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     633        echo }                                       >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     634        if [ ${config_Post_RebuildFromArchive} = true ] ; then 
     635            IGCM_sys_Put_Dir REBUILD_${PeriodDateBegin} ${REBUILD_DIR} 
     636        else 
     637            IGCM_sys_Mv      REBUILD_${PeriodDateBegin} ${REBUILD_DIR} 
     638        fi 
    632639    fi 
    633640    # 
     
    635642        # 
    636643        if ( [ ${config_Post_RebuildFromArchive} = true ] ) ; then 
    637         # 
    638         IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM ARCHIVE:" 
    639         echo 
    640         # 
    641         typeset listVarEnv 
    642         listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,REBUILD_DIR,RebuildFromArchive,POST_DIR,DateBegin,PeriodDateBegin,PeriodDateEnd,NbRebuildDir,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_SRF" 
    643         IGCM_sys_RshPost <<-EOF 
    644         export DEBUG_debug=${DEBUG_debug} 
    645         export MODIPSL=${MODIPSL} 
    646         export libIGCM_SX=${libIGCM} 
    647         export libIGCM=${libIGCM_POST} 
    648         export SUBMIT_DIR=${SUBMIT_DIR} 
    649         export RebuildFromArchive=${config_Post_RebuildFromArchive} 
    650         export REBUILD_DIR=${REBUILD_DIR} 
    651         export POST_DIR=${POST_DIR} 
    652         export DateBegin=${DateBegin} 
    653         export PeriodDateBegin=${PeriodDateBegin} 
    654         export PeriodDateEnd=${PeriodDateEnd} 
    655         export NbRebuildDir=${NbRebuildDir} 
    656         export StandAlone=false 
    657         export RESOL_ATM=${RESOL_ATM} 
    658         export RESOL_OCE=${RESOL_OCE} 
    659         export RESOL_ICE=${RESOL_ICE} 
    660         export RESOL_SRF=${RESOL_SRF} 
    661         export listVarEnv=${listVarEnv} 
    662         . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 
    663         . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 
    664         IGCM_sys_MkdirWork ${POST_DIR} 
    665         IGCM_debug_Verif_Exit 
    666         IGCM_sys_QsubPost rebuild_fromArchive 
     644            # 
     645            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM ARCHIVE:" 
     646            echo 
     647            # 
     648            typeset listVarEnv 
     649            listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,REBUILD_DIR,POST_DIR,DateBegin,PeriodDateBegin,PeriodDateEnd,NbRebuildDir,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_SRF" 
     650            IGCM_sys_RshPost <<-EOF 
     651            export DEBUG_debug=${DEBUG_debug} 
     652            export MODIPSL=${MODIPSL} 
     653            export libIGCM_SX=${libIGCM} 
     654            export libIGCM=${libIGCM_POST} 
     655            export SUBMIT_DIR=${SUBMIT_DIR} 
     656            export REBUILD_DIR=${REBUILD_DIR} 
     657            export POST_DIR=${POST_DIR} 
     658            export DateBegin=${DateBegin} 
     659            export PeriodDateBegin=${PeriodDateBegin} 
     660            export PeriodDateEnd=${PeriodDateEnd} 
     661            export NbRebuildDir=${NbRebuildDir} 
     662            export StandAlone=false 
     663            export RESOL_ATM=${RESOL_ATM} 
     664            export RESOL_OCE=${RESOL_OCE} 
     665            export RESOL_ICE=${RESOL_ICE} 
     666            export RESOL_SRF=${RESOL_SRF} 
     667            export listVarEnv=${listVarEnv} 
     668            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 
     669            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 
     670            IGCM_sys_MkdirWork ${POST_DIR} 
     671            IGCM_debug_Verif_Exit 
     672            IGCM_sys_QsubPost rebuild_fromArchive 
    667673EOF 
    668  
    669         else  
    670         # 
    671         IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM WORKDIR :" 
    672         echo 
    673         IGCM_debug_Print 2 "NOT FULLY SUPPORTED" 
    674         IGCM_debug_Print 2 "EXIT NOW TO AVOID BIG PROBLEM" 
    675         IGCM_debug_Print 2 "Contact libIGCM developpers" 
    676         # 
    677         IGCM_debug_Exit "FATAL ERROR IN REBUILD CONFIGURATION" 
    678         IGCM_debug_Verif_Exit  
    679         # 
    680  
    681 #        typeset listVarEnv 
    682 #        listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,REBUILD_DIR,RebuildFromArchive,POST_DIR,DateBegin,PeriodDateBegin,PeriodDateEnd,NbRebuildDir,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_SRF" 
    683 #        export DEBUG_debug=${DEBUG_debug} 
    684 #        export MODIPSL=${MODIPSL} 
    685 #        export libIGCM_SX=${libIGCM} 
    686 #        export libIGCM=${libIGCM} 
    687 #        export SUBMIT_DIR=${SUBMIT_DIR} 
    688 #        export RebuildFromArchive=${config_Post_RebuildFromArchive} 
    689 #        export REBUILD_DIR=${REBUILD_DIR} 
    690 #        export POST_DIR=${libIGCM} 
    691 #        export DateBegin=${DateBegin} 
    692 #        export PeriodDateBegin=${PeriodDateBegin} 
    693 #        export PeriodDateEnd=${PeriodDateEnd} 
    694 #        export NbRebuildDir=${NbRebuildDir} 
    695 #        export StandAlone=false 
    696 #        export RESOL_ATM=${RESOL_ATM} 
    697 #        export RESOL_OCE=${RESOL_OCE} 
    698 #        export RESOL_ICE=${RESOL_ICE} 
    699 #        export RESOL_SRF=${RESOL_SRF} 
    700 #        export listVarEnv=${listVarEnv} 
    701 #        IGCM_sys_Qsub rebuild_fromWorkdir ${libIGCM} 
    702  
     674        else 
     675            # 
     676            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM WORKDIR:" 
     677            echo 
     678            # 
     679            typeset listVarEnv 
     680            listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,REBUILD_DIR,POST_DIR,DateBegin,PeriodDateBegin,PeriodDateEnd,NbRebuildDir,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_SRF" 
     681            IGCM_sys_RshPost <<-EOF 
     682            export DEBUG_debug=${DEBUG_debug} 
     683            export MODIPSL=${MODIPSL} 
     684            export libIGCM_SX=${libIGCM} 
     685            export libIGCM=${libIGCM} 
     686            export SUBMIT_DIR=${SUBMIT_DIR} 
     687            export REBUILD_DIR=${REBUILD_DIR} 
     688            export POST_DIR=${libIGCM} 
     689            export DateBegin=${DateBegin} 
     690            export PeriodDateBegin=${PeriodDateBegin} 
     691            export PeriodDateEnd=${PeriodDateEnd} 
     692            export NbRebuildDir=${NbRebuildDir} 
     693            export StandAlone=false 
     694            export RESOL_ATM=${RESOL_ATM} 
     695            export RESOL_OCE=${RESOL_OCE} 
     696            export RESOL_ICE=${RESOL_ICE} 
     697            export RESOL_SRF=${RESOL_SRF} 
     698            export listVarEnv=${listVarEnv} 
     699            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 
     700            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 
     701            IGCM_sys_MkdirWork ${POST_DIR} 
     702            IGCM_debug_Verif_Exit 
     703            IGCM_sys_QsubPost rebuild_fromWorkdir 
     704EOF 
    703705        fi 
    704706    fi 
Note: See TracChangeset for help on using the changeset viewer.