Changeset 151


Ignore:
Timestamp:
08/13/09 19:22:53 (15 years ago)
Author:
sdipsl
Message:
  • Reduce restart movement between iteration (--> mv restart start)
  • Reduce binary movement between iteration (reuse same binary if size does not change)
Location:
trunk/libIGCM
Files:
2 edited

Legend:

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

    r149 r151  
    433433        eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1 
    434434        eval comptagname=\${config_ListOfComponents_${comp}[1]} > /dev/null 2>&1 
     435        # 
     436        card=${SUBMIT_DIR}/COMP/${compname}.card 
     437        # 
     438        IGCM_card_DefineArrayFromOption ${card} RestartFiles List 
     439        ListFilesName=${compname}_RestartFiles_List 
     440        eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1 
    435441 
    436442        # Debug Print : 
    437443        IGCM_debug_Print 3 "restart ${compname}" 
    438  
    439         card=${SUBMIT_DIR}/COMP/${compname}.card         
    440444 
    441445        if ( ${FirstInitialize} ) ; then 
     
    471475            if [ "${do_start}" = "y" ] ; then 
    472476 
    473                 IGCM_card_DefineArrayFromOption ${card} RestartFiles List 
    474                 ListFilesName=${compname}_RestartFiles_List 
    475                 eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1 
    476                  
    477477                if ( [ X${FileName0} != X${NULL_STR} ] && [ X${FileName0} != XNONE ] ) ; then 
    478478                    eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1 
     
    503503                                j4=${j} 
    504504                                eval IGCM_sys_Get ${Path_r}/${generic_restart_file_name_in}_${j4}.nc ${generic_restart_file_name_out}_${j4}.nc 
    505                                 IGCM_comp_PrepareDeletedFiles ${generic_restart_file_name_in}_${j4}.nc ${generic_restart_file_name_out}_${j4}.nc 
    506                                 eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${generic_restart_file_name_out}_${j4}.nc" > /dev/null 2>&1 
     505                                #IGCM_comp_PrepareDeletedFiles ${generic_restart_file_name_in}_${j4}.nc ${generic_restart_file_name_out}_${j4}.nc 
     506                                #eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${generic_restart_file_name_out}_${j4}.nc" > /dev/null 2>&1 
    507507                                (( j=j+1 )) 
    508508                            done 
    509509                        else 
    510510                            eval IGCM_sys_Get ${Path_r}/${file_in_Name} ${file_out}   
    511                             IGCM_comp_PrepareDeletedFiles ${file_in} ${file_out} 
     511                            #IGCM_comp_PrepareDeletedFiles ${file_in} ${file_out} 
    512512                        fi 
    513513                 
     
    522522                fi 
    523523            fi 
    524         else 
    525             # if not FirstInitialize 
     524        elif [ ${Period} -eq 1 ] ; then 
     525            # if not FirstInitialize and first loop of this job 
    526526 
    527527            # Restore Restarts files 
    528528            #----------------------- 
    529             IGCM_card_DefineArrayFromOption ${card} RestartFiles List 
    530             ListFilesName=${compname}_RestartFiles_List 
    531             eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1 
    532              
    533529            if ( [ X${FileName0} != X${NULL_STR} ] && [ X${FileName0} != XNONE ] ) ; then 
    534530                eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1 
     
    555551                            j4=${j} 
    556552                            eval IGCM_sys_Get \${R_OUT_${comp}_R}/${generic_restart_file_name_in}_${j4}.nc ${generic_restart_file_name_out}_${j4}.nc 
    557                             IGCM_comp_PrepareDeletedFiles ${generic_restart_file_name_in}_${j4}.nc ${generic_restart_file_name_out}_${j4}.nc 
    558                             eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${generic_restart_file_name_out}_${j4}.nc" > /dev/null 2>&1 
     553                            #IGCM_comp_PrepareDeletedFiles ${generic_restart_file_name_in}_${j4}.nc ${generic_restart_file_name_out}_${j4}.nc 
     554                            #eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${generic_restart_file_name_out}_${j4}.nc" > /dev/null 2>&1 
    559555 
    560556                            (( j=j+1 )) 
     
    562558                    else 
    563559                        eval IGCM_sys_Get \${R_OUT_${comp}_R}/${file_in_Name} ${file_out} 
    564                         IGCM_comp_PrepareDeletedFiles ${file_in} ${file_out} 
     560                        #IGCM_comp_PrepareDeletedFiles ${file_in} ${file_out} 
    565561                    fi 
    566562 
     
    601597        eval ExeNameIn=\${config_Executable_${comp}[0]} 
    602598        eval ExeNameOut=\${config_Executable_${comp}[1]} 
    603         if [ -f ${R_EXE}/${ExeNameIn} ]  ; then 
     599 
     600        if [ ${Period} -eq 1 ] && [ -f ${R_EXE}/${ExeNameIn} ] ; then 
    604601            eval IGCM_sys_Cp ${R_EXE}/${ExeNameIn} ${ExeNameOut} 
    605602            if [ -f ${RUN_DIR}/${ExeNameOut} ] ; then 
    606603                eval IGCM_sys_Chmod +rx ${RUN_DIR}/${ExeNameOut} 
    607             fi 
     604            fi 
     605        elif [ -f ${R_EXE}/${ExeNameIn} ] && [ ! -f ${RUN_DIR}/${ExeNameOut} ] ; then 
     606            eval IGCM_sys_Cp ${R_EXE}/${ExeNameIn} ${ExeNameOut} 
     607            if [ -f ${RUN_DIR}/${ExeNameOut} ] ; then 
     608                eval IGCM_sys_Chmod +rx ${RUN_DIR}/${ExeNameOut} 
     609            fi 
    608610        fi 
    609611 
     
    630632    typeset ListTextName TextName0 
    631633    typeset comp compname comptagname card ListFilesName FileName0 NbFiles SaveOnArchive 
    632     typeset i i_ file_in file_in_ file_out file_out_ generic_file_name nb_rebuild_file 
     634    typeset i i_ file_in file_in_ file_out file_out_ file_outin file_outin_ generic_file_name nb_rebuild_file 
    633635    typeset -Z4 j4 
    634636    for comp in ${config_ListOfComponents[*]} ; do 
     
    661663                eval file_out_=\${${ListFilesName}[$i_]} > /dev/null 2>&1 
    662664                eval file_out=${file_out_} 
    663                  
    664                 generic_restart_file_name_in=$( basename ${file_in} .nc ) 
    665                 generic_restart_file_name_out=$( basename ${config_UserChoices_JobName}_${PeriodDateEnd}_${file_out} .nc ) 
     665 
     666                (( i_ = i+2 )) 
     667                eval file_outin_=\${${ListFilesName}[$i_]} > /dev/null 2>&1 
     668                eval file_outin=${file_outin_} 
     669 
     670                generic_restart_file_name_in=$(    basename ${file_in} .nc ) 
     671                generic_restart_file_name_out=$(   basename ${config_UserChoices_JobName}_${PeriodDateEnd}_${file_out} .nc ) 
     672                generic_restart_file_name_outin=$( basename ${file_outin} .nc ) 
    666673                         
    667674                nb_restart_file=$( ls ${generic_restart_file_name_in}_????.nc 2>/dev/null | wc -l )  
     
    671678                        j4=${j} 
    672679                        eval IGCM_sys_Put_Rest ${generic_restart_file_name_in}_${j4}.nc \${R_OUT_${comp}_R}/${generic_restart_file_name_out}_${j4}.nc 
    673                         eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${generic_restart_file_name_in}_${j4}.nc" > /dev/null 2>&1 
     680                        [ ! ${file_in} = ${file_outin} ] && IGCM_sys_Mv ${generic_restart_file_name_in}_${j4}.nc ${generic_restart_file_name_outin}_${j4}.nc 
     681                        #eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${generic_restart_file_name_in}_${j4}.nc" > /dev/null 2>&1 
    674682                        (( j=j+1 )) 
    675683                    done 
    676684                else 
    677685                    eval IGCM_sys_Put_Rest ${file_in} \${R_OUT_${comp}_R}/${config_UserChoices_JobName}_${PeriodDateEnd}_${file_out} 
    678                     eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file_in}" > /dev/null 2>&1 
     686                    [ ! ${file_in} = ${file_outin} ] && IGCM_sys_Mv ${file_in} ${file_outin} 
     687                    #eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file_in}" > /dev/null 2>&1 
    679688                fi 
    680689 
  • trunk/libIGCM/libIGCM_config/libIGCM_config.ksh

    r146 r151  
    486486            fi 
    487487            ExeDate=${ExeDate}_${LS_comp[7]} 
    488  
    489             eval FileToBeDeleted[${#FileToBeDeleted[@]}]=${ExeNameOut} 
    490488        fi 
    491489 
     
    499497        (( i=i+1 )) 
    500498 
    501         if [ ${ExeSize} -ne ${LastCompExeSize} ] ; then  
     499        if [ ${ExeSize} -ne ${LastCompExeSize} ] ; then 
    502500            if ( ${FirstInitialize} ) ; then 
    503501                IGCM_debug_Print 1 "Put first ${ExeNameIn} in ${R_OUT_EXE} !" 
    504502            else 
    505503                IGCM_debug_Print 1 "${ExeNameIn} has changed in ${R_EXE} !" 
     504                eval FileToBeDeleted[${#FileToBeDeleted[@]}]=${ExeNameOut} 
    506505            fi 
    507506            eval IGCM_sys_Put_Out ${ExeNameOut} ${R_OUT_EXE}/${PREFIX}_${ExeNameIn} 
     507            IGCM_sys_Chmod u+xw ${ExeNameOut} 
    508508        fi 
    509509    done 
Note: See TracChangeset for help on using the changeset viewer.