Changeset 738


Ignore:
Timestamp:
10/30/12 19:38:03 (12 years ago)
Author:
sdipsl
Message:
  • find restart that has been packed and apply noise to it.
  • many part will have to evolve as a function ; orchidee spin-up will also benefit from that.
File:
1 edited

Legend:

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

    r737 r738  
    202202        IGCM_sys_Cp Job_${ensemble_Ens_PERTURB_NAME} ${SUBMIT_DIR}/${StartDir}/${MemberDir}/${JobName} 
    203203 
     204        ############################## 
     205        # TO BE A SYS FUNCTION BEGIN # 
     206        ############################## 
     207 
    204208        # Dump command to be lauched in Qsub.txt 
    205209        echo "cd ${StartDir}/${MemberDir}/ ;"  >> Qsub.txt 
     
    207211        echo "mv ${JobName}.tmp ${JobName} ; " >> Qsub.txt 
    208212        echo "ccc_msub ${JobName} ; cd -"      >> Qsub.txt 
     213 
     214        ############################ 
     215        # TO BE A SYS FUNCTION END # 
     216        ############################ 
    209217 
    210218      fi 
     
    311319        IGCM_sys_Cp Job_${ensemble_Ens_PERTURB_NAME} ${SUBMIT_DIR}/${StartDir}/${MemberDir}/Job_${MemberDir} 
    312320 
     321        ############################## 
     322        # TO BE A SYS FUNCTION BEGIN # 
     323        ############################## 
     324 
    313325        # Dump command to be lauched in Qsub.txt 
    314326        echo "cd ${StartDir}/${MemberDir}/ ;"  >> Qsub.txt 
     
    316328        echo "mv ${JobName}.tmp ${JobName} ; " >> Qsub.txt 
    317329        echo "ccc_msub ${JobName} ; cd -"      >> Qsub.txt 
     330 
     331        ############################ 
     332        # TO BE A SYS FUNCTION END # 
     333        ############################ 
     334 
    318335      fi 
    319336 
     
    338355{ 
    339356  IGCM_debug_PushStack "IGCM_ensemble_CastFilesUpdate" 
    340  
    341 #  set -vx 
    342357 
    343358  # Debug Print : 
     
    365380  done 
    366381  # ==> Job 
    367   # SD : to be encapsulated in a sys function 
     382  ############################## 
     383  # TO BE A SYS FUNCTION BEGIN # 
     384  ############################## 
     385 
    368386  sed -e "s/\(#MSUB -r \)[A-Za-z0-9]*\( *#.*\)/\1 ${MemberDir} \2/"           \ 
    369387      -e "s/\(#MSUB -o Script_Output_\)[A-Za-z0-9]*\(\.*\)/\1${MemberDir}\2/" \ 
     
    372390  IGCM_sys_Mv Job_${MemberDir}.tmp ${SUBMIT_DIR}/${StartDir}/${MemberDir}/Job_${MemberDir} 
    373391 
     392  ############################ 
     393  # TO BE A SYS FUNCTION END # 
     394  ############################ 
     395 
    374396  IGCM_debug_PopStack "IGCM_ensemble_CastFilesUpdate" 
    375397} 
     
    383405  IGCM_debug_Print 1 "IGCM_ensemble_CastDirectoryName :" 
    384406  echo 
    385  
    386 #  set -vx 
    387407 
    388408  Name=$1 
     
    422442  #.. FileIn ? => RestartDate .. 
    423443  DirIn="${ensemble_Ens_PERTURB_INITPATH}/${ensemble_Ens_PERTURB_INITFROM}/${PerturbComp}/Restart" 
    424   FileIn="${PerturbComp}_${ensemble_Ens_PERTURB_INITFROM}_${RestartDate}_${PerturbFile}.nc" 
     444  DirInTar="${ensemble_Ens_PERTURB_INITPATH}/${ensemble_Ens_PERTURB_INITFROM}/RESTART" 
     445  FileIn="${ensemble_Ens_PERTURB_INITFROM}_${RestartDate}_${PerturbFile}" 
    425446  DirOut="${RestartDir}/${MemberDir}/${PerturbComp}/Restart" 
    426 #  FileOut="${ensemble_Ens_PERTURB_INITFROM}_${RestartDate}_${PerturbFile}_${MemberDir}.nc" 
    427 #  FileOut=${FileIn} 
    428   FileOut="${MemberDir}_${RestartDate}_${PerturbFile}.nc" 
    429   IGCM_debug_Print 1 "FileIn  = ${DirIn}/${FileIn}" 
    430   IGCM_debug_Print 1 "FileOut = ${DirOut}/${FileOut}" 
    431447 
    432448  # * Create member restart directory 
     
    437453  fi 
    438454 
    439   IGCM_sys_TestFileArchive ${DirOut}/${FileOut} 
     455  FileOut="${MemberDir}_${RestartDate}_${PerturbFile}" 
     456  IGCM_debug_Print 1 "FileOut = ${DirOut}/${FileOut}.nc" 
     457 
     458  #IGCM_debug_Print 1 "FileIn  = ${DirIn}/${FileIn}" 
     459 
     460  IGCM_sys_TestFileArchive ${DirOut}/${FileOut}.nc 
    440461  RET=$? 
    441462  if [ $RET -gt 0 ] ; then 
    442463 
    443 #    ${PerturbExe} ${DirIn}/${FileIn} ${DirOut}/${FileOut} \ 
    444 #                  ${PerturbVar} ${PerturbAmp} 
    445 #    IGCM_sys_Cp ${DirIn}/${FileIn} ${DirOut}/${FileOut} 
    446 #    IGCM_sys_Chmod u+w ${DirOut}/${FileOut} 
    447 #    ${PerturbExe} ${DirOut}/${FileOut} ${PerturbVar} ${PerturbAmp} 
    448  
    449     IGCM_sys_Get ${DirIn}/${FileIn} ${RUN_DIR}/${FileOut} 
    450     IGCM_sys_Chmod 744 ${RUN_DIR}/${FileOut} 
    451  
    452     IGCM_debug_Print 1 "${PerturbExe} ${RUN_DIR}/${FileOut} ${PerturbVar} ${PerturbAmp}" 
     464    # * Look for the restart file we apply the noise to 
     465 
     466    ########################## 
     467    # TO BE A FUNCTION BEGIN # 
     468    ########################## 
     469 
     470    if [ $( IGCM_sys_TestFileBuffer ${DirIn}/${FileIn}*.nc ; echo $? ) = 0 ] ; then 
     471      IGCM_debug_Print 3 "Buffered restart" 
     472      Buffered=true 
     473      Archived=false 
     474      Tared=false 
     475      nb_restart_file=$(IGCM_sys_CountFileBuffer ${DirIn}/${FileIn}_????.nc) 
     476    elif [ $( IGCM_sys_TestFileArchive ${DirIn}/${FileIn}*.nc ; echo $? ) = 0 ] ; then 
     477      IGCM_debug_Print 3 "Archived restart" 
     478      Buffered=false 
     479      Archived=true 
     480      Tared=false 
     481      nb_restart_file=$(IGCM_sys_CountFileArchive ${DirIn}/${FileIn}_????.nc) 
     482    else 
     483      IGCM_debug_Print 3 "Tared restart" 
     484      Buffered=false 
     485      Archived=false 
     486      Tared=true 
     487      # Look for the tar file we want if we did not found it already 
     488      #if [ X${IsMatching} = X ] ; then 
     489        for PotentialTarFile in $( find ${ensemble_Ens_PERTURB_INITPATH}/${ensemble_Ens_PERTURB_INITFROM}/RESTART -name "${ensemble_Ens_PERTURB_INITFROM}_*_restart.tar" -print ) ; do 
     490          IsMatching=$( echo ${PotentialTarFile##*/} | sed "s:^${ensemble_Ens_PERTURB_INITFROM}_::" | sed "s:\.restart\.tar$::" | gawk -F_ -v restartdate=${RestartDate} '{if (($1 < restartdate) && ($2 >= restartdate)) {print $1"_"$2}}' ) 
     491          if [ ! X${IsMatching} = X ] ; then 
     492            TarFileFound=${PotentialTarFile} 
     493            break 
     494          fi 
     495        done 
     496      #fi 
     497      # already specialized for CPL sstoc and flxat! 
     498      IGCM_debug_Print 1 "tar xvf ${TarFileFound} ${PerturbComp}_${FileIn}*.nc ${PerturbComp}_${ensemble_Ens_PERTURB_INITFROM}_${RestartDate}_flxat.nc" 
     499      tar xvf ${TarFileFound} ${PerturbComp}_${FileIn}*.nc ${PerturbComp}_${ensemble_Ens_PERTURB_INITFROM}_${RestartDate}_flxat.nc 
     500      nb_restart_file=$( IGCM_sys_CountFileBuffer ${PerturbComp}_${FileIn}_????.nc ) 
     501    fi 
     502 
     503    if [ ${nb_restart_file} -gt 1 ] ; then 
     504      j=0 
     505      until [ $j -ge $nb_restart_file ]; do 
     506        j4=${j} 
     507        if [ X${Buffered} = Xtrue ] ; then 
     508          IGCM_sys_GetBuffer ${DirIn}/${FileIn}_${j4}.nc ${RUN_DIR}/${FileOut}_${j4}.nc 
     509        elif [ X${Archived} = Xtrue ] ; then 
     510          IGCM_sys_Get ${DirIn}/${FileIn}_${j4}.nc ${RUN_DIR}/${FileOut}_${j4}.nc 
     511        elif [ X${Tared} = Xtrue ] ; then 
     512          IGCM_sys_Mv ${PerturbComp}_${FileIn}_${j4}.nc ${RUN_DIR}/${FileOut}_${j4}.nc 
     513        fi 
     514        (( j=j+1 )) 
     515      done 
     516    else 
     517      if [ X${Buffered} = Xtrue ] ; then 
     518        IGCM_sys_GetBuffer ${DirIn}/${FileIn}.nc ${RUN_DIR}/${FileOut}.nc 
     519        # already specialized for CPL sstoc and flxat! 
     520        IGCM_sys_RshArchive "cd ${DirOut} ; ln -s ${DirIn}/${ensemble_Ens_PERTURB_INITFROM}_${RestartDate}_flxat.nc ${MemberDir}_${RestartDate}_flxat.nc" 
     521      elif [ X${Archived} = Xtrue ] ; then 
     522        IGCM_sys_Get ${DirIn}/${FileIn}.nc ${RUN_DIR}/${FileOut}.nc 
     523        # already specialized for CPL sstoc and flxat! 
     524        IGCM_sys_RshArchive "cd ${DirOut} ; ln -s ${DirIn}/${ensemble_Ens_PERTURB_INITFROM}_${RestartDate}_flxat.nc ${MemberDir}_${RestartDate}_flxat.nc" 
     525      elif [ X${Tared} = Xtrue ] ; then 
     526        IGCM_sys_Mv ${PerturbComp}_${FileIn}.nc ${RUN_DIR}/${FileOut}.nc 
     527        # already specialized for CPL sstoc and flxat! 
     528        IGCM_sys_Mv ${PerturbComp}_${ensemble_Ens_PERTURB_INITFROM}_${RestartDate}_flxat.nc ${DirOut}/${MemberDir}_${RestartDate}_flxat.nc 
     529      fi 
     530    fi 
     531 
     532    ######################## 
     533    # TO BE A FUNCTION END # 
     534    ######################## 
     535 
     536    IGCM_sys_Chmod 644 ${RUN_DIR}/${FileOut}.nc 
     537    IGCM_debug_Print 1 "${PerturbExe} ${RUN_DIR}/${FileOut}.nc ${PerturbVar} ${PerturbAmp}" 
    453538    echo 
    454     ${PerturbExe} ${RUN_DIR}/${FileOut} ${PerturbVar} ${PerturbAmp} > /dev/null 2>&1 
     539    ${PerturbExe} ${RUN_DIR}/${FileOut}.nc ${PerturbVar} ${PerturbAmp} > /dev/null 2>&1 
    455540 
    456541    if [ $? -ne 0 ] ; then 
     
    458543      return 
    459544    fi 
    460  
    461     IGCM_sys_Put_Out ${RUN_DIR}/${FileOut} ${DirOut}/ 744 
    462  
    463 #    IGCM_sys_Cd ${DirOut} 
    464 #    ln -s ${DirIn}/${ensemble_Ens_PERTURB_INITFROM}_${RestartDate}_flxat.nc ${MemberDir}_${RestartDate}_flxat.nc 
    465 #    IGCM_sys_Cd - 
    466     IGCM_sys_RshArchive "cd ${DirOut} ; ln -s ${DirIn}/${ensemble_Ens_PERTURB_INITFROM}_${RestartDate}_flxat.nc ${MemberDir}_${RestartDate}_flxat.nc" 
     545    IGCM_sys_Put_Out ${RUN_DIR}/${FileOut}.nc ${DirOut}/ 644 
    467546  fi 
    468547 
Note: See TracChangeset for help on using the changeset viewer.