Changeset 22 for trunk/libIGCM/libIGCM_comp
- Timestamp:
- 10/28/08 17:40:40 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libIGCM/libIGCM_comp/libIGCM_comp.ksh
r5 r22 528 528 529 529 typeset ListTextName TextName0 530 typeset comp compname comptagname card ListFilesName FileName0 NbFiles 530 typeset comp compname comptagname card ListFilesName FileName0 NbFiles SaveOnArchive 531 531 typeset i i_ file_in file_in_ file_out file_out_ generic_file_name nb_rebuild_file 532 532 for comp in ${config_ListOfComponents[*]} ; do … … 585 585 (( i=0 )) 586 586 until [ $i -ge $NbFiles ]; do 587 SaveOnArchive=true 587 588 eval file_in_=\${${ListFilesName}[$i]} > /dev/null 2>&1 588 589 eval file_in=${file_in_} … … 590 591 eval file_out_=\${${ListFilesName}[$i_]} > /dev/null 2>&1 591 592 eval file_out=${file_out_} 592 593 # 593 594 generic_file_name=$( basename ${file_in} .nc ) 594 595 nb_rebuild_file=$( ls | grep "${generic_file_name}[_0-9]*.nc" | wc -l ) 595 if [ ${nb_rebuild_file} -gt 1 ] ; then 596 IGCM_debug_Print 2 "Rebuilding ${file_in}" 597 IGCM_sys_rebuild ${file_in} ${generic_file_name}_*.nc 598 # DEBUG Rebuild : 599 #eval IGCM_sys_Cp ${generic_file_name}_*.nc \${R_OUT_${comp}_O_M}/ 600 elif [ -f ${generic_file_name}_0000.nc ] ; then 596 # 597 if ( [ ${nb_rebuild_file} -eq 1 ] && [ -f ${generic_file_name}_0000.nc ] ) ; then 598 IGCM_debug_Print 2 "Parallelism with 1 process. Rebuilding ${file_in} not needed" 601 599 IGCM_sys_Mv ${generic_file_name}_0000.nc ${file_in} 600 elif [ ${nb_rebuild_file} -gt 1 ] ; then 601 IGCM_debug_Print 2 "Parallelism detected rebuilding ${file_in} is needed" 602 if ( [ X${config_Post_RebuildFrequency} = X${NULL_STR} ] || [ X${config_Post_RebuildFrequency} = XNONE ] ) ; then 603 IGCM_debug_Print 2 "Rebuilding ${file_in} online" 604 IGCM_sys_rebuild ${file_in} ${generic_file_name}_*.nc 605 else 606 IGCM_debug_Print 2 "Preparing offline rebuild for ${file_in}" 607 IGCM_sys_Mkdir ${RUN_DIR}/REBUILD_${PeriodDateBegin} 608 IGCM_sys_Mv ${generic_file_name}_????.nc ${RUN_DIR}/REBUILD_${PeriodDateBegin} 609 # Prepare headers for the shell dedicated to offline rebuild 610 if [ ! -f ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh ] ; then 611 echo \#!/bin/ksh > ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 612 echo function IGCM_FlushRebuild >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 613 echo { >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 614 echo IGCM_debug_PushStack "IGCM_FlushRebuild" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 615 echo echo >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 616 echo IGCM_debug_Print 1 "IGCM_FlushRebuild :" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 617 echo echo >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 618 fi 619 # Prepare the shell dedicated to offline rebuild 620 echo IGCM_sys_rebuild ${file_in} ${generic_file_name}_*.nc >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 621 echo IGCM_sys_Put_Out ${file_in} ${file_out} >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 622 echo IGCM_sys_Rm ${generic_file_name}_*.nc >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 623 SaveOnArchive=false 624 fi 602 625 fi 603 604 IGCM_sys_Put_Out ${file_in} ${file_out}605 if [ $? -eq 0 ] ; then606 eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file_in}" > /dev/null 2>&1626 # 627 if [ ${SaveOnArchive} = true ] ; then 628 IGCM_sys_Put_Out ${file_in} ${file_out} 629 [ $? -eq 0 ] && eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file_in}" > /dev/null 2>&1 607 630 if [ ${nb_rebuild_file} -gt 1 ] ; then 608 eval FileToBeDeleted[${#FileToBeDeleted[@]}]=$( ls | grep "${generic_file_name}_[0-9]*.nc" ) > /dev/null 2>&1 631 for DelFile in $( ls | grep "${generic_file_name}[_0-9]*.nc" ) ; do 632 eval FileToBeDeleted[${#FileToBeDeleted[@]}]=${DelFile} > /dev/null 2>&1 633 done 609 634 fi 610 635 fi
Note: See TracChangeset
for help on using the changeset viewer.