Ignore:
Timestamp:
02/04/13 16:39:38 (11 years ago)
Author:
labetoulle
Message:

Cosmetics :

  • Convert tabs into space for better lisibility with different editors.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/AA_create_multi_se

    r770 r785  
    22#-Q- curie ## CURIE   TGCC/CEA ## 
    33#-Q- curie ###################### 
    4 #-Q- curie #MSUB -r MULTISE        # Nom du job                
     4#-Q- curie #MSUB -r MULTISE        # Nom du job 
    55#-Q- curie #MSUB -eo 
    66#-Q- curie #MSUB -n 1              # Reservation du processus 
     
    1717#-Q- ada # Nom du travail LoadLeveler 
    1818#-Q- ada # @ job_name   = MULTISE 
    19 #-Q- ada # Fichier de sortie standard du travail        
     19#-Q- ada # Fichier de sortie standard du travail 
    2020#-Q- ada # @ output     = $(job_name).$(jobid) 
    2121#-Q- ada # Fichier de sortie d'erreur du travail 
     
    4040#-Q- titane ## TITANE   CEA ## 
    4141#-Q- titane ###################### 
    42 #-Q- titane #MSUB -r MULTISE             # Nom du job                 
     42#-Q- titane #MSUB -r MULTISE             # Nom du job 
    4343#-Q- titane #MSUB -eo 
    4444#-Q- titane #MSUB -n 1              # Reservation du processus 
     
    152152 
    153153if [ ${StandAlone} = true ] ; then 
    154     CARD_DIR=${SUBMIT_DIR} 
     154  CARD_DIR=${SUBMIT_DIR} 
    155155else 
    156     CARD_DIR=${RUN_DIR_PATH} 
    157     IGCM_sys_Get_Master ${SUBMIT_DIR}/config.card ${RUN_DIR_PATH} 
    158     IGCM_sys_Get_Master ${SUBMIT_DIR}/run.card    ${RUN_DIR_PATH} 
    159     IGCM_sys_Get_Master ${SUBMIT_DIR}/COMP        ${RUN_DIR_PATH} 
    160     IGCM_sys_Get_Master ${SUBMIT_DIR}/POST        ${RUN_DIR_PATH} 
     156  CARD_DIR=${RUN_DIR_PATH} 
     157  IGCM_sys_Get_Master ${SUBMIT_DIR}/config.card ${RUN_DIR_PATH} 
     158  IGCM_sys_Get_Master ${SUBMIT_DIR}/run.card    ${RUN_DIR_PATH} 
     159  IGCM_sys_Get_Master ${SUBMIT_DIR}/COMP        ${RUN_DIR_PATH} 
     160  IGCM_sys_Get_Master ${SUBMIT_DIR}/POST        ${RUN_DIR_PATH} 
    161161fi 
    162162 
     
    185185FoundMultiSeasonal=false 
    186186for option in ${config_Post[*]} ; do 
    187     if [ ${option} = MultiSeasonalFrequency ] ; then 
    188         FoundMultiSeasonal=true 
    189         IGCM_card_DefineVariableFromOption ${CARD_DIR}/config.card Post MultiSeasonalFrequency 
    190     fi 
     187  if [ ${option} = MultiSeasonalFrequency ] ; then 
     188    FoundMultiSeasonal=true 
     189    IGCM_card_DefineVariableFromOption ${CARD_DIR}/config.card Post MultiSeasonalFrequency 
     190  fi 
    191191done 
    192192if [ ! X${FoundMultiSeasonal} = Xtrue ] ; then 
    193     config_Post_MultiSeasonalFrequency=50Y 
     193  config_Post_MultiSeasonalFrequency=50Y 
    194194fi 
    195195# 
     
    221221# 
    222222for comp in ${config_ListOfComponents[*]} ; do 
    223     # 
    224     IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp} 
    225     eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1 
    226     # 
    227     card=${CARD_DIR}/COMP/${compname}.card 
    228     IGCM_card_DefineArrayFromOption ${card} OutputFiles List 
    229     # 
    230     ListFilesName=${compname}_OutputFiles_List 
    231     eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1 
    232     # 
    233     if [ X${FileName0} != X${NULL_STR} ] ; then 
    234         # 
    235         # INITIALISATION 
    236         # 
    237         eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1 
    238         typeset i=2 
    239         # 
    240         until [ $i -gt $NbFiles ]; do 
    241             # 
    242             eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1 
    243             # 
    244             if [ X${flag_post} != XNONE ] ; then 
    245                 # 
    246                 # Check if seasonal is required for this file 
    247                 # 
    248                 IGCM_card_DefineArrayFromSection ${card} ${flag_post} 
    249                 # 
    250                 # Seasonal case : If option Seasonal is not found (old cards) put SEASONAL ON by default 
    251                 # 
    252                 # variable option allready typeset above 
    253                 for option in $( eval echo \${${compname}_${flag_post}[*]} ) ; do 
    254                     if [ ${option} = Seasonal ] ; then 
    255                         FoundSeasonal=true 
    256                         IGCM_card_DefineVariableFromOption ${card} ${flag_post} Seasonal 
    257                     fi 
    258                 done 
    259                 # 
    260                 if [ ! X${FoundSeasonal} = Xtrue ] ; then 
    261                     eval ${compname}_${flag_post}_Seasonal=ON 
    262                 fi 
    263                 # 
    264                 if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then 
    265                     (( i=i+3 )) 
    266                     continue 
    267                 fi 
    268                 # 
    269                 # CREATE LIST 
    270                 # 
    271                 FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' ) 
    272                 # 
    273                 DIRECTORY=${R_SAVE}/${comp}/Analyse/SE 
    274                 # 
    275                 MULTI_DIRECTORY=${R_SAVE}/${comp}/Analyse/${DIR_OUT} 
    276                 # 
    277                 TestedFile=${config_UserChoices_JobName}_SE_${an_multi_deb}_${an_multi_fin}_${FILE}.nc 
    278                 # 
    279                 IGCM_sys_TestFileArchive ${MULTI_DIRECTORY}/${TestedFile} 
    280                 if [ ! $? = 0 ] ; then 
    281                     eval set +A LISTE_FILE_${comp} \$\{LISTE_FILE_${comp}[*]} ${FILE} 
    282                 fi 
    283             fi 
    284             (( i=i+3 )) 
    285         done # until [ $i -eq $NbFiles ] 
     223  # 
     224  IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp} 
     225  eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1 
     226  # 
     227  card=${CARD_DIR}/COMP/${compname}.card 
     228  IGCM_card_DefineArrayFromOption ${card} OutputFiles List 
     229  # 
     230  ListFilesName=${compname}_OutputFiles_List 
     231  eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1 
     232  # 
     233  if [ X${FileName0} != X${NULL_STR} ] ; then 
     234    # 
     235    # INITIALISATION 
     236    # 
     237    eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1 
     238    typeset i=2 
     239    # 
     240    until [ $i -gt $NbFiles ]; do 
     241      # 
     242      eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1 
     243      # 
     244      if [ X${flag_post} != XNONE ] ; then 
     245        # 
     246        # Check if seasonal is required for this file 
     247        # 
     248        IGCM_card_DefineArrayFromSection ${card} ${flag_post} 
     249        # 
     250        # Seasonal case : If option Seasonal is not found (old cards) put SEASONAL ON by default 
     251        # 
     252        # variable option allready typeset above 
     253        for option in $( eval echo \${${compname}_${flag_post}[*]} ) ; do 
     254          if [ ${option} = Seasonal ] ; then 
     255            FoundSeasonal=true 
     256            IGCM_card_DefineVariableFromOption ${card} ${flag_post} Seasonal 
     257          fi 
     258        done 
     259        # 
     260        if [ ! X${FoundSeasonal} = Xtrue ] ; then 
     261          eval ${compname}_${flag_post}_Seasonal=ON 
     262        fi 
     263        # 
     264        if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then 
     265          (( i=i+3 )) 
     266          continue 
     267        fi 
     268        # 
     269        # CREATE LIST 
     270        # 
     271        FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' ) 
     272        # 
     273        DIRECTORY=${R_SAVE}/${comp}/Analyse/SE 
     274        # 
     275        MULTI_DIRECTORY=${R_SAVE}/${comp}/Analyse/${DIR_OUT} 
     276        # 
     277        TestedFile=${config_UserChoices_JobName}_SE_${an_multi_deb}_${an_multi_fin}_${FILE}.nc 
     278        # 
     279        IGCM_sys_TestFileArchive ${MULTI_DIRECTORY}/${TestedFile} 
     280        if [ ! $? = 0 ] ; then 
     281          eval set +A LISTE_FILE_${comp} \$\{LISTE_FILE_${comp}[*]} ${FILE} 
     282        fi 
     283      fi 
     284      (( i=i+3 )) 
     285    done # until [ $i -eq $NbFiles ] 
     286  fi 
     287done         # for comp 
     288 
     289for comp in ${config_ListOfComponents[*]} ; do 
     290  # 
     291  eval R_OUT_${comp}=${R_SAVE}/${comp} 
     292  # 
     293  i=0 
     294  for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do 
     295    # 
     296    RESULT_MULTI_SE=${config_UserChoices_JobName}_SE_${an_multi_deb}_${an_multi_fin}_${file}.nc 
     297    # Do not redo an existing SE 
     298    IGCM_sys_TestFileArchive ${R_SAVE}/${comp}/Analyse/${DIR_OUT}/${RESULT_MULTI_SE} 
     299    if [ $? = 0 ] ; then 
     300      continue 
    286301    fi 
    287 done         # for comp 
    288  
    289 for comp in ${config_ListOfComponents[*]} ; do 
    290     # 
    291     eval R_OUT_${comp}=${R_SAVE}/${comp} 
    292     # 
    293     i=0 
    294     for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do 
    295         # 
    296         RESULT_MULTI_SE=${config_UserChoices_JobName}_SE_${an_multi_deb}_${an_multi_fin}_${file}.nc 
    297         # Do not redo an existing SE 
    298         IGCM_sys_TestFileArchive ${R_SAVE}/${comp}/Analyse/${DIR_OUT}/${RESULT_MULTI_SE} 
    299         if [ $? = 0 ] ; then 
    300             continue 
    301         fi 
    302         # 
    303         eval file_path=\${R_OUT_${comp}}/Analyse/SE/ 
    304         # 
    305         (( an = an_multi_deb )) 
    306         # Initialize array 
    307         #set -A liste_file_se 
    308         #set -A liste_file_se_tmp 
    309         unset liste_file_se 
    310         unset liste_file_se_tmp 
    311         while [ ${an} -le ${an_multi_fin} ] ; do 
    312             # 
    313             an_deb=$(printf "%04i\n" ${an} ) 
    314             # 
    315             (( an_fin = an_deb + freq - 1 )) 
    316             date=${an_deb}_${an_fin} 
    317             #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc 
    318             #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc 
    319             liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_SE_${date}_${file}.nc 
    320             liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_SE_${date}_${file}.nc 
    321             (( an = an + freq )) 
    322         done 
    323         # 
    324         IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH} 
    325         IGCM_debug_Verif_Exit_Post 
    326         # Search of common list of variables to be treated 
    327         nbfile=0 
    328         for file_common_var in ${liste_file_se_tmp[*]} ; do 
    329             ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncra 
    330             (( nbfile = nbfile + 1 )) 
    331         done 
    332         list_var_final_ncra=`cat tmpfile_ncra | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','` 
    333         IGCM_sys_Rm tmpfile_ncra 
    334  
    335         # detect time counter : time or time_counter ie unlimited variable 
    336         var_unlim=$(ncdump -h ${liste_file_se_tmp[1]}|grep UNLIMITED|awk '{print $1}') 
    337  
    338         for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do 
    339         # 
    340             (( nb = ${mois} - 1 )) 
    341         # 
    342             OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc 
    343             IGCM_sys_ncra -O -v ${list_var_final_ncra} -d ${var_unlim},${nb},,12 ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]} 
    344         done 
    345         IGCM_sys_Rm ${liste_file_se_tmp[*]} 
    346         # 
    347  
    348         # Search of common list of variables to be treated 
    349         nbfile=0 
    350         for file_common_var in ${OUT_SE[*]} ; do 
    351            ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncrcat 
    352            (( nbfile = nbfile + 1 )) 
    353         done 
    354         list_var_final_ncrcat=`cat tmpfile_ncrcat | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','` 
    355         IGCM_sys_Rm tmpfile_ncrcat 
    356  
    357         IGCM_sys_ncrcat -O -v ${list_var_final_ncrcat} ${OUT_SE[*]} ${RESULT_MULTI_SE} 
    358         # 
    359         IGCM_sys_Rm ${OUT_SE[*]} 
    360          
    361         # Put correct climatological axis following calendar  
    362         case ${config_UserChoices_CalendarType} in 
    363                 360d|360_day) 
    364                         # 360 days 
    365                         ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15, 45, 75, 105, 135, 165, 195, 225, 255, 285, 315, 345.} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 30, 30, 60, 60, 90, 90, 120, 120, 150, 150, 180, 180, 210, 210, 240, 240, 270, 270, 300, 300, 330, 330, 360.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"360_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'" 
    366                         ;; 
    367                 noleap|365_day) 
    368                         # 365 days 
    369                         ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45, 74.5, 105, 135.5, 166, 196.5, 227.5, 258, 288.5, 319, 349.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59, 59, 90, 90, 120, 120, 151, 151, 181, 181, 212, 212, 243, 243, 273, 273, 304, 304, 334, 334, 365.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"365_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'" 
    370                         ;; 
    371                 all_leap|366_day) 
    372                         # 366 days 
    373                         ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.5, 75.5, 106, 136.5, 167, 197.5, 228.5, 259, 289.5, 320, 350.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 60, 60, 91, 91, 121, 121, 152, 152, 182, 182, 213, 213, 244, 244, 274, 274, 305, 305, 335, 335, 366.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"366_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'" 
    374                         ;; 
    375                 leap|gregorian|standard) 
    376                         # 365.2425 days 
    377                         ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.12125, 74.7425, 105.2425, 135.7425, 166.2425, 196.7425, 227.7425, 258.2425, 288.7425, 319.2425, 349.7425} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59.2425, 59.2425, 90.2425, 90.2425, 120.2425, 120.2425, 151.2425, 151.2425, 181.2425, 181.2425, 212.2425, 212.2425, 243.2425, 243.2425, 273.2425, 273.2425, 304.2425, 304.2425, 334.2425, 334.2425, 365.2425} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"gregorian\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'" 
    378                         ;; 
    379         esac 
    380         eval IGCM_sys_ncap2 -Oh -s $ncap2cmd ${RESULT_MULTI_SE} tmp.nc 
    381         IGCM_sys_Rm ${RESULT_MULTI_SE} 
    382         IGCM_sys_Mv tmp.nc ${RESULT_MULTI_SE} 
    383         # 
    384         eval IGCM_sys_Put_Out ${RESULT_MULTI_SE} \${R_OUT_${comp}}/Analyse/${DIR_OUT}/${RESULT_MULTI_SE} 
    385         IGCM_sys_Rm ${RESULT_MULTI_SE} 
    386         # 
     302    # 
     303    eval file_path=\${R_OUT_${comp}}/Analyse/SE/ 
     304    # 
     305    (( an = an_multi_deb )) 
     306    # Initialize array 
     307    #set -A liste_file_se 
     308    #set -A liste_file_se_tmp 
     309    unset liste_file_se 
     310    unset liste_file_se_tmp 
     311    while [ ${an} -le ${an_multi_fin} ] ; do 
     312      # 
     313      an_deb=$(printf "%04i\n" ${an} ) 
     314      # 
     315      (( an_fin = an_deb + freq - 1 )) 
     316      date=${an_deb}_${an_fin} 
     317      #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc 
     318      #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc 
     319      liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_SE_${date}_${file}.nc 
     320      liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_SE_${date}_${file}.nc 
     321      (( an = an + freq )) 
    387322    done 
     323    # 
     324    IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH} 
     325    IGCM_debug_Verif_Exit_Post 
     326    # Search of common list of variables to be treated 
     327    nbfile=0 
     328    for file_common_var in ${liste_file_se_tmp[*]} ; do 
     329      ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncra 
     330      (( nbfile = nbfile + 1 )) 
     331    done 
     332    list_var_final_ncra=`cat tmpfile_ncra | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','` 
     333    IGCM_sys_Rm tmpfile_ncra 
     334 
     335    # detect time counter : time or time_counter ie unlimited variable 
     336    var_unlim=$(ncdump -h ${liste_file_se_tmp[1]}|grep UNLIMITED|awk '{print $1}') 
     337 
     338    for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do 
     339      # 
     340      (( nb = ${mois} - 1 )) 
     341      # 
     342      OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc 
     343      IGCM_sys_ncra -O -v ${list_var_final_ncra} -d ${var_unlim},${nb},,12 ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]} 
     344    done 
     345    IGCM_sys_Rm ${liste_file_se_tmp[*]} 
     346    # 
     347 
     348    # Search of common list of variables to be treated 
     349    nbfile=0 
     350    for file_common_var in ${OUT_SE[*]} ; do 
     351      ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncrcat 
     352      (( nbfile = nbfile + 1 )) 
     353    done 
     354    list_var_final_ncrcat=`cat tmpfile_ncrcat | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','` 
     355    IGCM_sys_Rm tmpfile_ncrcat 
     356 
     357    IGCM_sys_ncrcat -O -v ${list_var_final_ncrcat} ${OUT_SE[*]} ${RESULT_MULTI_SE} 
     358    # 
     359    IGCM_sys_Rm ${OUT_SE[*]} 
     360 
     361    # Put correct climatological axis following calendar  
     362    case ${config_UserChoices_CalendarType} in 
     363      360d|360_day) 
     364      # 360 days 
     365        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15, 45, 75, 105, 135, 165, 195, 225, 255, 285, 315, 345.} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 30, 30, 60, 60, 90, 90, 120, 120, 150, 150, 180, 180, 210, 210, 240, 240, 270, 270, 300, 300, 330, 330, 360.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"360_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'" 
     366        ;; 
     367      noleap|365_day) 
     368      # 365 days 
     369        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45, 74.5, 105, 135.5, 166, 196.5, 227.5, 258, 288.5, 319, 349.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59, 59, 90, 90, 120, 120, 151, 151, 181, 181, 212, 212, 243, 243, 273, 273, 304, 304, 334, 334, 365.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"365_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'" 
     370        ;; 
     371      all_leap|366_day) 
     372      # 366 days 
     373        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.5, 75.5, 106, 136.5, 167, 197.5, 228.5, 259, 289.5, 320, 350.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 60, 60, 91, 91, 121, 121, 152, 152, 182, 182, 213, 213, 244, 244, 274, 274, 305, 305, 335, 335, 366.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"366_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'" 
     374        ;; 
     375      leap|gregorian|standard) 
     376      # 365.2425 days 
     377        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.12125, 74.7425, 105.2425, 135.7425, 166.2425, 196.7425, 227.7425, 258.2425, 288.7425, 319.2425, 349.7425} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59.2425, 59.2425, 90.2425, 90.2425, 120.2425, 120.2425, 151.2425, 151.2425, 181.2425, 181.2425, 212.2425, 212.2425, 243.2425, 243.2425, 273.2425, 273.2425, 304.2425, 304.2425, 334.2425, 334.2425, 365.2425} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"gregorian\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'" 
     378        ;; 
     379    esac 
     380    eval IGCM_sys_ncap2 -Oh -s $ncap2cmd ${RESULT_MULTI_SE} tmp.nc 
     381    IGCM_sys_Rm ${RESULT_MULTI_SE} 
     382    IGCM_sys_Mv tmp.nc ${RESULT_MULTI_SE} 
     383    # 
     384    eval IGCM_sys_Put_Out ${RESULT_MULTI_SE} \${R_OUT_${comp}}/Analyse/${DIR_OUT}/${RESULT_MULTI_SE} 
     385    IGCM_sys_Rm ${RESULT_MULTI_SE} 
     386    # 
     387  done 
    388388done 
    389389 
    390390# DODS copy 
    391391for comp in ${config_ListOfComponents[*]} ; do 
    392     IGCM_sys_TestDirArchive ${R_SAVE}/${comp}/Analyse/${DIR_OUT} 
    393     [ $? = 0 ] && IGCM_sys_Put_Dods ${comp}/Analyse/${DIR_OUT} 
     392  IGCM_sys_TestDirArchive ${R_SAVE}/${comp}/Analyse/${DIR_OUT} 
     393  [ $? = 0 ] && IGCM_sys_Put_Dods ${comp}/Analyse/${DIR_OUT} 
    394394done 
    395395 
     
    411411   [ ${config_UserChoices_TagName} = "IPSLCM4_v2" ]        || \ 
    412412   [ ${config_UserChoices_TagName} = "IPSL_ESM_V1" ] ; then 
    413     # 
    414     Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ; 
    415     IGCM_sys_QsubPost atlas_ORCHIDEE                   ; 
    416     Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ; 
    417     IGCM_sys_QsubPost atlas_LMDZ                       ; 
    418     Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ; 
    419     IGCM_sys_QsubPost atlas_ORCA_LIM                   ; 
    420     Script_Post_Output=additionnal.${PeriodDateEnd}    ; 
    421     IGCM_sys_QsubPost additionnal                      ; 
    422     # 
     413  # 
     414  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ; 
     415  IGCM_sys_QsubPost atlas_ORCHIDEE                   ; 
     416  Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ; 
     417  IGCM_sys_QsubPost atlas_LMDZ                       ; 
     418  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ; 
     419  IGCM_sys_QsubPost atlas_ORCA_LIM                   ; 
     420  Script_Post_Output=additionnal.${PeriodDateEnd}    ; 
     421  IGCM_sys_QsubPost additionnal                      ; 
     422  # 
    423423elif [ ${config_UserChoices_TagName} = "IPSLCM5" ]  || \ 
    424424     [ ${config_UserChoices_TagName} = "IPSLCM5A" ] || \ 
    425425     [ ${config_UserChoices_TagName} = "IPSLCM5B" ] || \ 
    426426     [ ${config_UserChoices_TagName} = "IPSLCM5A-MR" ] ; then 
    427     Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ; 
    428     IGCM_sys_QsubPost atlas_ORCHIDEE                   ; 
    429     Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ; 
    430     IGCM_sys_QsubPost atlas_LMDZ                       ; 
    431     Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ; 
    432     IGCM_sys_QsubPost atlas_ORCA_LIM                   ; 
    433     Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ; 
    434     IGCM_sys_QsubPost atlas_PISCES                     ; 
    435     # 
     427  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ; 
     428  IGCM_sys_QsubPost atlas_ORCHIDEE                   ; 
     429  Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ; 
     430  IGCM_sys_QsubPost atlas_LMDZ                       ; 
     431  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ; 
     432  IGCM_sys_QsubPost atlas_ORCA_LIM                   ; 
     433  Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ; 
     434  IGCM_sys_QsubPost atlas_PISCES                     ; 
     435  # 
    436436elif [ ${config_UserChoices_TagName} = "LMDZ4OR" ]  || \ 
    437437     [ ${config_UserChoices_TagName} = "LMDZOR" ]   || \ 
    438438     [ ${config_UserChoices_TagName} = "LMDZ4OR_v2" ] ; then 
    439     # 
    440     Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ; 
    441     IGCM_sys_QsubPost atlas_LMDZ                       ; 
    442     Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ; 
    443     IGCM_sys_QsubPost atlas_ORCHIDEE                   ; 
    444     # 
     439  # 
     440  Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ; 
     441  IGCM_sys_QsubPost atlas_LMDZ                       ; 
     442  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ; 
     443  IGCM_sys_QsubPost atlas_ORCHIDEE                   ; 
     444  # 
    445445elif [ ${config_UserChoices_TagName} = "LMDZ" ] ; then 
    446     # 
    447     Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ; 
    448     IGCM_sys_QsubPost atlas_LMDZ                       ; 
    449     # 
     446  # 
     447  Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ; 
     448  IGCM_sys_QsubPost atlas_LMDZ                       ; 
     449  # 
    450450elif [ ${config_UserChoices_TagName} = "OL" ]      || \ 
    451451     [ ${config_UserChoices_TagName} = "OL2" ] ; then 
    452     # 
    453     Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ; 
    454     IGCM_sys_QsubPost atlas_ORCHIDEE                   ; 
    455     # 
     452  # 
     453  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ; 
     454  IGCM_sys_QsubPost atlas_ORCHIDEE                   ; 
     455  # 
    456456elif [ ${config_UserChoices_TagName} = "ORCA2_LIM" ]       || 
    457457     [ ${config_UserChoices_TagName} = "ORCA2_LIM2" ] ; then 
    458     # 
    459     Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ; 
    460     IGCM_sys_QsubPost atlas_ORCA_LIM                   ; 
     458  # 
     459  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ; 
     460  IGCM_sys_QsubPost atlas_ORCA_LIM                   ; 
    461461elif [ ${config_UserChoices_TagName} = "ORCA2_LIM2_PISCES" ]  ; then 
    462     # 
    463     Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ; 
    464     IGCM_sys_QsubPost atlas_ORCA_LIM                   ; 
    465     Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ; 
    466     IGCM_sys_QsubPost atlas_PISCES                     ; 
     462  # 
     463  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ; 
     464  IGCM_sys_QsubPost atlas_ORCA_LIM                   ; 
     465  Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ; 
     466  IGCM_sys_QsubPost atlas_PISCES                     ; 
    467467elif [ ${config_UserChoices_TagName} = "ORCA2_OFF_PISCES" ]  ; then 
    468     # 
    469     Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ; 
    470     IGCM_sys_QsubPost atlas_PISCES                     ; 
    471     # 
     468  # 
     469  Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ; 
     470  IGCM_sys_QsubPost atlas_PISCES                     ; 
     471  # 
    472472fi 
    473473 
Note: See TracChangeset for help on using the changeset viewer.