Changeset 2049 in lmdz_wrf


Ignore:
Timestamp:
Aug 7, 2018, 7:05:26 PM (7 years ago)
Author:
lfita
Message:

Adding case when there are no diagnostics in sfc map

File:
1 edited

Legend:

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

    r2048 r2049  
    314314
    315315  # Computing sfc diagnostics
    316   sfcmapdiagd='Time@WRFtime:south_north@XLAT:west_east@XLONG'
    317   diagns=`echo ${sfcdiagnames} | tr ':' ' '`
    318 
    319   # getting that variables only required for the diagnostics
    320   vardiags=''
    321   idiag=1
    322   for diagn in ${diagns}; do
    323     diagv=`cat $pyHOME/diagnostics.inf | grep WRF | grep ${diagn}',' | tr ',' ' ' |  \
    324       awk '{print $2"|"$3}'`
    325     if test ${idiag} -eq 1; then
    326       sfcdiagvals=${diagv}
    327       vardiags=`echo ${diagv} | tr '|' ' ' | awk '{print $2}' | tr '@' ':'`
    328     else
    329       sfcdiagvals=${sfcdiagvals}','${diagv}
    330       vardiag=`echo ${diagv} | tr '|' ' ' | awk '{print $2}' | tr '@' ' '`
    331       for vd in ${vardiag}; do
    332         if ! $(isin_list ${vardiags} ${vd}); then vardiags=${vardiags}':'${vd}; fi
     316  if test ! ${sfcdiagnames} = 'None'; then
     317    sfcmapdiagd='Time@WRFtime:south_north@XLAT:west_east@XLONG'
     318    diagns=`echo ${sfcdiagnames} | tr ':' ' '`
     319
     320    # getting that variables only required for the diagnostics
     321    vardiags=''
     322    idiag=1
     323    for diagn in ${diagns}; do
     324      diagv=`cat $pyHOME/diagnostics.inf | grep WRF | grep ${diagn}',' | tr ',' ' ' |  \
     325        awk '{print $2"|"$3}'`
     326      if test ${idiag} -eq 1; then
     327        sfcdiagvals=${diagv}
     328        vardiags=`echo ${diagv} | tr '|' ' ' | awk '{print $2}' | tr '@' ':'`
     329      else
     330        sfcdiagvals=${sfcdiagvals}','${diagv}
     331        vardiag=`echo ${diagv} | tr '|' ' ' | awk '{print $2}' | tr '@' ' '`
     332        for vd in ${vardiag}; do
     333          if ! $(isin_list ${vardiags} ${vd}); then vardiags=${vardiags}':'${vd}; fi
     334        done
     335      fi
     336      idiag=`expr ${idiag} + 1`
     337    done
     338
     339    # Inlcuding non-diagnostics
     340    if test ! ${nondiagvs} = 'None'; then
     341      nvns=`echo ${nondiagvs} | tr ':' ' '`
     342      for vn in ${nvns}; do
     343        if ! $(isin_list ${vardiags} ${vn}); then vardiags=${vardiags}':'${vn}; fi
    333344      done
    334345    fi
    335     idiag=`expr ${idiag} + 1`
    336   done
    337 
    338   # Inlcuding non-diagnostics
    339   if test ! ${nondiagvs} = 'None'; then
    340     nvns=`echo ${nondiagvs} | tr ':' ' '`
    341     for vn in ${nvns}; do
    342       if ! $(isin_list ${vardiags} ${vn}); then vardiags=${vardiags}':'${vn}; fi
    343     done
    344   fi
     346  else
     347    vardiags=${nondiagvs}
     348  fi
     349
    345350  vardiag=`echo ${vardiags} | tr ':' ','`
    346351 
     
    369374
    370375  if ${fscratch}; then rm ${simsfcmapdiagsf}; fi
    371   if test ! -f ${simsfcmapdiagsf}; then
    372     python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d ${sfcmapdiagd}               \
    373       -v ${sfcdiagvals}
    374     if test $? -ne 0; then
    375       echo ${errmsg}
    376       echo "  python failed!!"
     376    if test ! ${sfcdiagnames} = 'None'; then
     377      if test ! -f ${simsfcmapdiagsf}; then
     378      python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d ${sfcmapdiagd}             \
     379        -v ${sfcdiagvals}
     380      if test $? -ne 0; then
     381        echo ${errmsg}
     382        echo "  python failed!!"
     383        echo python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d "'"${sfcmapdiagd}"'"\
     384          -v "'"${sfcdiagvals}"'"
     385        exit
     386      fi
     387      echo "* diagnostics for sfc 2D map: " >> ${ofileins}
    377388      echo python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d "'"${sfcmapdiagd}"'"  \
    378         -v "'"${sfcdiagvals}"'"
    379       exit
    380     fi
    381     echo "* diagnostics for sfc 2D map: " >> ${ofileins}
    382     echo python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d "'"${sfcmapdiagd}"'"    \
    383       -v "'"${sfcdiagvals}"'" >> ${ofileins}
    384     echo " " >> ${ofileins}
    385     mv diagnostics.nc ${simsfcmapdiagsf}
    386     if $(isin_list ${sfcdiagnames} wds); then
    387       #To rad
    388       python ${pyHOME}/nc_var.py -o valmod -S mulc,0.0174532925199                   \
    389         -f ${simsfcmapdiagsf} -v wds
    390       python ${pyHOME}/nc_var.py -o varaddattr -S 'units|rad' -f ${simsfcmapdiagsf}  \
    391         -v wds
    392     fi
    393 
     389        -v "'"${sfcdiagvals}"'" >> ${ofileins}
     390      echo " " >> ${ofileins}
     391      mv diagnostics.nc ${simsfcmapdiagsf}
     392      if $(isin_list ${sfcdiagnames} wds); then
     393        #To rad
     394        python ${pyHOME}/nc_var.py -o valmod -S mulc,0.0174532925199                 \
     395          -f ${simsfcmapdiagsf} -v wds
     396        python ${pyHOME}/nc_var.py -o varaddattr -S 'units|rad' -f ${simsfcmapdiagsf}\
     397          -v wds
     398      fi
     399    fi
     400    # If there was not diagnostics
     401    if test ! -f ${simsfcmapdiagsf}; then
     402      dddv='Time@time'
     403      selvars='XLONG,XLAT,time'
     404      python ${pyHOME}/nc_var.py -o selvar -S ${dddv} -f ${simsfcmapf} -v ${selvars}
     405      if test $? -ne 0; then
     406        echo ${errmsg}
     407        echo "  python failed!!"
     408        echo python ${pyHOME}/nc_var.py -o selvar -S "'"${ddv}"'" -f ${simsfmapf}    \
     409          -v ${vars}
     410        exit
     411        rm ${simsfcmapf}
     412      fi
     413      echo "* creation of diagnostics file for 2D map:" >>  ${ofileins}
     414      echo python ${pyHOME}/nc_var.py -o selvar -S "'"${dddv}"'" -f ${simsfcmapf}    \
     415          -v ${selvars} >> ${ofileins}
     416      echo " " >> ${ofileins}
     417      mv selvar_new.nc ${simsfcmapdiagsf}
     418    fi
    394419    #Adding non-diagnostic variables
    395420    if test ! ${nondiagvs} = 'None'; then
Note: See TracChangeset for help on using the changeset viewer.