Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#173 closed defect (fixed)

rebuild/output fichiers avec noms similaires

Reported by: jgipsl Owned by: jgipsl
Priority: minor Milestone: libIGCM_v2.2 metrics
Component: treatment Version:
Keywords: Cc:

Description

J'ai des soucis mineur avec des suffix des fichiers dignostiques. Voici un exmple pour expliquer. Dans sechiba.card, j'ai les 2 fichiers diagnostiques :

[OutputFiles]
List=   (sechiba_history.nc, ${R_OUT_SRF_O_M}/${PREFIX}_1M_sechiba_history.nc, Post_1M_sechiba_history), \
        (sechiba_history_xios.nc, ${R_OUT_SRF_O_M}/${PREFIX}_1M_sechiba_history_xios.nc, NONE), \

Ca ne marche pas car dans libIGCM_comp.ksh on suppose que tous les fichiers sechiba_history_????.nc doivent etre rebuild en sechiba_history.nc or ce n'est pas le cas.

Dans la proposition suivant, je suppose uniquement que les fichiers sechiba_history_[0-9]*.nc doivent etre rebuild en sechiba_history.nc. Voici ma proposition de correction dans libIGCM_comp.ksh, testé en asyncronous seulement, avec le tag libIGCM_v2.1.1 :

libIGCM> svn diff
Index: libIGCM_comp/libIGCM_comp.ksh
===================================================================
--- libIGCM_comp/libIGCM_comp.ksh	(revision 977)
+++ libIGCM_comp/libIGCM_comp.ksh	(working copy)
@@ -1214,11 +1214,11 @@
           IGCM_debug_Print 2 "Parallelism detected and rebuilding ${file_in} is needed"
           if [ X${AsynchronousRebuild} = Xfalse ] ; then
             IGCM_debug_Print 2 "Rebuilding ${file_in} online"
-            IGCM_sys_rebuild ${file_in} ${generic_file_name}_*.nc
+            IGCM_sys_rebuild ${file_in} ${generic_file_name}_[0-9]*.nc
           else
             IGCM_debug_Print 2 "Preparing offline rebuild for ${file_in}"
             [ ! -d ${RUN_DIR}/REBUILD_${PeriodDateBegin} ] && IGCM_sys_Mkdir ${RUN_DIR}/REBUILD_${PeriodDateBegin}
-            IGCM_sys_Mv ${generic_file_name}_????.nc ${RUN_DIR}/REBUILD_${PeriodDateBegin}
+            IGCM_sys_Mv ${generic_file_name}_[0-9]*.nc ${RUN_DIR}/REBUILD_${PeriodDateBegin}
 
             # Prepare headers for the shell dedicated to offline rebuild
             if [ ! -f ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh ] ; then
@@ -1243,7 +1243,7 @@
               if [ ${file_in} = histstn.nc ] ; then
                 echo "IGCM_sys_rebuild_station ${file_in} ${generic_file_name}_*.nc" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
               else
-                echo "IGCM_sys_rebuild ${file_in} ${generic_file_name}_*.nc" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
+                echo "IGCM_sys_rebuild ${file_in} ${generic_file_name}_[0-9]*.nc" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
               fi
               echo "IGCM_debug_Verif_Exit_Post" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
             fi
@@ -1266,7 +1266,7 @@
                 echo "IGCM_sys_Put_Out ${file_in} ${file_out}           " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
               fi
               echo "IGCM_debug_Verif_Exit_Post                          " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
-              echo "IGCM_sys_Rm ${generic_file_name}_*.nc               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
+              echo "IGCM_sys_Rm ${generic_file_name}_[0-9]*.nc          " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
             fi
             SaveOnArchive=false
           fi

voir aussi le fichier modifié ici sur curie :
/ccc/work/cont003/dsm/p86ghatt/XIOS/AfterCommit/modipsl_xios446/libIGCM/libIGCM_comp/libIGCM_comp.ksh

En bonus, cette modification laisse aussi la possibilité d'avoir plus ou moins de chiffres dans le suffix, ce qui est le défaut pour xios (on a par exemple sechiba_history_xios_01.nc a la place de _0001.nc). Mais pour xios ca se change facilement avec un option pour forcer a 4 chiffres.

Change History (3)

comment:1 Changed 10 years ago by jgipsl

  • Owner changed from somebody to jgipsl
  • Status changed from new to assigned

comment:2 Changed 10 years ago by jgipsl

  • Resolution set to fixed
  • Status changed from assigned to closed

done rev [980]

comment:3 Changed 10 years ago by sdipsl

  • Milestone set to libIGCM_v2.2 metrics
Note: See TracTickets for help on using tickets.