Changeset 429


Ignore:
Timestamp:
03/14/11 09:53:50 (11 years ago)
Author:
mmaipsl
Message:

Compact text output in case of a parallel run. Please see this link for documentation :
https://forge.ipsl.jussieu.fr/libigcm/wiki/libIGCM/DocUtilisateur/FAQ?version=18#Compressiondunombredefichiers

File:
1 edited

Legend:

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

    r422 r429  
    817817    typeset i i_ file_in file_in_ file_out file_out_ file_outin file_outin_ generic_file_name nb_rebuild_file 
    818818    typeset -Z4 j4 
     819    typeset list_file nlist_file 
     820    typeset compactoutputs 
     821 
    819822    for comp in ${config_ListOfComponents[*]} ; do 
    820823        # Define component  
     
    10391042            eval NbFiles=\${#${ListTextName}[@]} > /dev/null 2>&1 
    10401043 
     1044            compactoutputs=false 
     1045 
    10411046            (( i=0 )) 
    10421047            until [ $i -eq $NbFiles ]; do 
     
    10441049                (( i=i+1 )) 
    10451050 
    1046                 nb_text_file=$( ls ${file_in}* 2>/dev/null | wc -l ) 
    1047                 if [ ${nb_text_file} -gt 1 ] ; then 
    1048                     list_file=$( ls ${file_in}* ) 
    1049                     for file in ${list_file} 
    1050                       do 
    1051                       eval IGCM_sys_Put_Out ${file} \${R_OUT_${comp}_D}/${PREFIX}_${file} 
    1052                       eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file}" > /dev/null 2>&1 
    1053                     done 
     1051                unset list_file 
     1052                set +A list_file -- $( ls ${file_in}* 2>/dev/null ) 
     1053                nlist_file=${#list_file[@]} 
     1054                if [ ${nlist_file} -gt 1 ] ; then 
     1055                    if [ X${JobType} != XRUN ] ; then 
     1056                        compactoutputs=true 
     1057                    elif [ X${config_UserChoices_CompactText} != Xn ] ; then 
     1058                        compactoutputs=true 
     1059                    fi 
     1060 
     1061                    if ( ${compactoutputs} ) ; then 
     1062                        eval file_out=${PREFIX}_${file_in} 
     1063 
     1064                        echo ${list_file[*]} > ${file_out} 
     1065                        echo " 
     1066" >> ${file_out} 
     1067 
     1068                        (( i_ = 0 )) 
     1069                        for file in ${list_file[@]} 
     1070                        do 
     1071                            echo "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ " >> ${file_out} 
     1072                            echo "| " ${i_} " " ${file} >> ${file_out} 
     1073                            echo "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " >> ${file_out} 
     1074                            cat ${file} | sed "s/\(.*\)/${i_}\1/" ${file} >> ${file_out} 
     1075                            echo " 
     1076" >> ${file_out} 
     1077                            eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file}" > /dev/null 2>&1 
     1078                            (( i_ = i_ + 1 )) 
     1079                        done 
     1080                        eval IGCM_sys_Put_Out ${file_out} \${R_OUT_${comp}_D}/${file_out} 
     1081                        eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file_out}" > /dev/null 2>&1 
     1082                    else 
     1083                        for file in ${list_file[@]} 
     1084                        do 
     1085                            eval IGCM_sys_Put_Out ${file} \${R_OUT_${comp}_D}/${PREFIX}_${file} 
     1086                            eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file}" > /dev/null 2>&1 
     1087                        done 
     1088                    fi 
    10541089                else 
    10551090                    if ( [ -f ${file_in}_0000 ] || [ -f ${file_in}0 ] ) ; then 
Note: See TracChangeset for help on using the changeset viewer.