Changeset 2046 in lmdz_wrf


Ignore:
Timestamp:
Aug 7, 2018, 6:38:43 PM (7 years ago)
Author:
lfita
Message:

Adding non existence of diagnostics

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/get_WRFsounding-surface_data.bash

    r2045 r2046  
    496496   
    497497  # Computing sfc diagnostics
    498   sfcdiagd='Time@WRFtime'
    499   diagns=`echo ${sfcdiagnames} | tr ':' ' '`
    500 
    501   idiag=1
    502   for diagn in ${diagns}; do
    503     diagv=`cat $pyHOME/diagnostics.inf | grep WRF | grep ${diagn}',' | tr ',' ' ' |  \
    504       awk '{print $2"|"$3}'`
    505     if test ${idiag} -eq 1; then
    506       sfcdiagvals=${diagv}
    507     else
    508       sfcdiagvals=${sfcdiagvals}','${diagv}
    509     fi
    510     idiag=`expr ${idiag} + 1`
    511   done
    512 
    513   if ${fscratch}; then rm ${simsfcdiagsf}; fi
    514   if test ! -f ${simsfcdiagsf}; then
    515     python ${pyHOME}/diagnostics.py -f ${simsfcptf} -d ${sfcdiagd} -v ${sfcdiagvals}
    516     if test $? -ne 0; then
    517       echo ${errmsg}
    518       echo "  python failed!!"
     498  if test ! ${sfcdiagnames} = 'None'; then
     499    sfcdiagd='Time@WRFtime'
     500    diagns=`echo ${sfcdiagnames} | tr ':' ' '`
     501
     502    idiag=1
     503    for diagn in ${diagns}; do
     504      diagv=`cat $pyHOME/diagnostics.inf | grep WRF | grep ${diagn}',' | tr ',' ' ' |\
     505        awk '{print $2"|"$3}'`
     506      if test ${idiag} -eq 1; then
     507        sfcdiagvals=${diagv}
     508      else
     509        sfcdiagvals=${sfcdiagvals}','${diagv}
     510      fi
     511      idiag=`expr ${idiag} + 1`
     512    done
     513
     514    if ${fscratch}; then rm ${simsfcdiagsf}; fi
     515    if test ! -f ${simsfcdiagsf}; then
     516      python ${pyHOME}/diagnostics.py -f ${simsfcptf} -d ${sfcdiagd} -v ${sfcdiagvals}
     517      if test $? -ne 0; then
     518        echo ${errmsg}
     519        echo "  python failed!!"
     520        echo python ${pyHOME}/diagnostics.py -f ${simsfcptf} -d "'"${sfcdiagd}"'"    \
     521          -v "'"${sfcdiagvals}"'"
     522        exit
     523      fi
     524      echo "* diagnostics at sfc point: "${stlon}", "${stlat} >> ${ofileins}
    519525      echo python ${pyHOME}/diagnostics.py -f ${simsfcptf} -d "'"${sfcdiagd}"'"      \
    520         -v "'"${sfcdiagvals}"'"
    521       exit
    522     fi
    523     echo "* diagnostics at sfc point: "${stlon}", "${stlat} >> ${ofileins}
    524     echo python ${pyHOME}/diagnostics.py -f ${simsfcptf} -d "'"${sfcdiagd}"'"        \
    525       -v "'"${sfcdiagvals}"'" >> ${ofileins}
    526     echo " " >> ${ofileins}
    527     mv diagnostics.nc ${simsfcdiagsf}
     526        -v "'"${sfcdiagvals}"'" >> ${ofileins}
     527      echo " " >> ${ofileins}
     528      mv diagnostics.nc ${simsfcdiagsf}
     529    fi
    528530  fi
    529531
    530532  #Adding non-diagnostic variables
    531533  if test ! ${nondiagvs} = 'None'; then
     534    # If there was not diagnostics
     535    if test ! -f ${simsfcdiagsf}; then
     536      dddv='Time@time'
     537      vars='LON,LAT,time'
     538      python ${pyHOME}/nc_var.py -o selvar -S ${ddv} -f ${simsfcptf} -v ${vars}
     539      if test $? -ne 0; then
     540        echo ${errmsg}
     541        echo "  python failed!!"
     542        echo python ${pyHOME}/nc_var.py -o selvar -S "'"${ddv}"'" -f ${simsfcptf}    \
     543          -v ${vars}
     544        exit
     545        rm ${simsfcptf}
     546      fi
     547      echo "* creation of diagnostics file at sfc point: "${stlon}", "${stlat} >>    \
     548        ${ofileins}
     549      echo python ${pyHOME}/nc_var.py -o selvar -S "'"${ddv}"'" -f ${simsfcptf}      \
     550          -v ${vars} >> ${ofileins}
     551      echo " " >> ${ofileins}
     552      mv selvar_new.nc ${simsfcdiagsf}
     553    fi
    532554    varsadd=`echo ${nondiagvs} | tr ':' ' '`
    533555    for vadd in ${varsadd}; do
     
    584606
    585607  # Computing sfc diagnostics
    586   diagns=`echo ${sfcdiagnames} | tr ':' ' '`
    587 
    588   # getting that variables only required for the diagnostics
    589   vardiags=''
    590   idiag=1
    591   for diagn in ${diagns}; do
    592     diagv=`cat $pyHOME/diagnostics.inf | grep WRF | grep ${diagn}',' | tr ',' ' ' |  \
    593       awk '{print $2"|"$3}'`
    594     if test ${idiag} -eq 1; then
    595       sfcdiagvals=${diagv}
    596       vardiags=`echo ${diagv} | tr '|' ' ' | awk '{print $2}' | tr '@' ':'`
    597     else
    598       sfcdiagvals=${sfcdiagvals}','${diagv}
    599       vardiag=`echo ${diagv} | tr '|' ' ' | awk '{print $2}' | tr '@' ' '`
    600       for vd in ${vardiag}; do
    601         if ! $(isin_list ${vardiags} ${vd}); then vardiags=${vardiags}':'${vd}; fi
     608  if test ! ${sfcdiagnames} = 'None'; then
     609    diagns=`echo ${sfcdiagnames} | tr ':' ' '`
     610
     611    # getting that variables only required for the diagnostics
     612    vardiags=''
     613    idiag=1
     614    for diagn in ${diagns}; do
     615      diagv=`cat $pyHOME/diagnostics.inf | grep WRF | grep ${diagn}',' | tr ',' ' ' |  \
     616        awk '{print $2"|"$3}'`
     617      if test ${idiag} -eq 1; then
     618        sfcdiagvals=${diagv}
     619        vardiags=`echo ${diagv} | tr '|' ' ' | awk '{print $2}' | tr '@' ':'`
     620      else
     621        sfcdiagvals=${sfcdiagvals}','${diagv}
     622        vardiag=`echo ${diagv} | tr '|' ' ' | awk '{print $2}' | tr '@' ' '`
     623        for vd in ${vardiag}; do
     624          if ! $(isin_list ${vardiags} ${vd}); then vardiags=${vardiags}':'${vd}; fi
     625        done
     626      fi
     627      idiag=`expr ${idiag} + 1`
     628    done
     629
     630      # Inlcuding non-diagnostics
     631      if test ! ${nondiagvs} = 'None'; then
     632        nvns=`echo ${nondiagvs} | tr ':' ' '`
     633        for vn in ${nvns}; do
     634          if ! $(isin_list ${vardiags} ${vn}); then vardiags=${vardiags}':'${vn}; fi
    602635      done
    603     fi
    604     idiag=`expr ${idiag} + 1`
    605   done
    606 
    607   # Inlcuding non-diagnostics
    608   if test ! ${nondiagvs} = 'None'; then
    609     nvns=`echo ${nondiagvs} | tr ':' ' '`
    610     for vn in ${nvns}; do
    611       if ! $(isin_list ${vardiags} ${vn}); then vardiags=${vardiags}':'${vn}; fi
    612     done
    613     if ! $(isin_list ${vardiags} 'time'); then vardiags=${vardiags}':time'; fi
     636      if ! $(isin_list ${vardiags} 'time'); then vardiags=${vardiags}':time'; fi
     637    fi
     638  else
     639    vardiags=${nondiagvs}
    614640  fi
    615641  vardiag=`echo ${vardiags} | tr ':' ','`
     
    639665  if ${fscratch}; then rm ${simsfcmapdiagsf}; fi
    640666  if test ! -f ${simsfcmapdiagsf}; then
    641     python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d ${sfcmapdiagd}               \
    642       -v ${sfcdiagvals}
    643     if test $? -ne 0; then
    644       echo ${errmsg}
    645       echo "  python failed!!"
     667    if test ! ${sfcdiagnames} = 'None'; then 
     668      python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d ${sfcmapdiagd}             \
     669        -v ${sfcdiagvals}
     670      if test $? -ne 0; then
     671        echo ${errmsg}
     672        echo "  python failed!!"
     673        echo python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d "'"${sfcmapdiagd}"'"\
     674          -v "'"${sfcdiagvals}"'"
     675        exit
     676      fi
     677      echo "* diagnostics for sfc 2D map: " >> ${ofileins}
    646678      echo python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d "'"${sfcmapdiagd}"'"  \
    647         -v "'"${sfcdiagvals}"'"
    648       exit
    649     fi
    650     echo "* diagnostics for sfc 2D map: " >> ${ofileins}
    651     echo python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d "'"${sfcmapdiagd}"'"    \
    652       -v "'"${sfcdiagvals}"'" >> ${ofileins}
    653     echo " " >> ${ofileins}
    654     mv diagnostics.nc ${simsfcmapdiagsf}
     679        -v "'"${sfcdiagvals}"'" >> ${ofileins}
     680      echo " " >> ${ofileins}
     681      mv diagnostics.nc ${simsfcmapdiagsf}
     682    fi
     683    # If there was not diagnostics
     684    if test ! -f ${simsfcmapdiagsf}; then
     685      dddv='Time@time'
     686      vars='LON,LAT,time'
     687      python ${pyHOME}/nc_var.py -o selvar -S ${ddv} -f ${simsfcmapf} -v ${vars}
     688      if test $? -ne 0; then
     689        echo ${errmsg}
     690        echo "  python failed!!"
     691        echo python ${pyHOME}/nc_var.py -o selvar -S "'"${ddv}"'" -f ${simsfmapf}    \
     692          -v ${vars}
     693        exit
     694        rm ${simsfcmapf}
     695      fi
     696      echo "* creation of diagnostics file for 2D map:" >>  ${ofileins}
     697      echo python ${pyHOME}/nc_var.py -o selvar -S "'"${ddv}"'" -f ${simsfcmapf}     \
     698          -v ${vars} >> ${ofileins}
     699      echo " " >> ${ofileins}
     700      mv selvar_new.nc ${simsfcmapdiagsf}
     701    fi
    655702
    656703    #Adding non-diagnostic variables
Note: See TracChangeset for help on using the changeset viewer.