Changeset 2016 in lmdz_wrf


Ignore:
Timestamp:
Aug 2, 2018, 5:57:00 PM (7 years ago)
Author:
lfita
Message:

Adding map of stations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/obs-sim_Comparison.bash

    r2013 r2016  
    1 #!/bin/bash -x
     1#!/bin/bash
    22# Shell script to compare observations with simulations using PyNCplot
    33#
     
    362362      python ${pyHOME}/nc_var.py -o varaddattr -S 'units|rad' -f ${simsfcdiagsf} -v wds
    363363    fi
    364   fi
    365 
    366   #Adding non-diagnostic variables
    367   if test ! ${nondiagvs} = 'None'; then
    368     varsadd=`echo ${nondiagvs} | tr ':' ' '`
    369     for vadd in ${varsadd}; do
    370       python ${pyHOME}/nc_var.py -o fvaradd -S ${simsfcptf},${vadd} -f ${simsfcdiagsf}
    371       if test $? -ne 0; then
    372         echo ${errmsg}
    373         echo "  python failed!!"
     364
     365    #Adding non-diagnostic variables
     366    if test ! ${nondiagvs} = 'None'; then
     367      varsadd=`echo ${nondiagvs} | tr ':' ' '`
     368      for vadd in ${varsadd}; do
     369        python ${pyHOME}/nc_var.py -o fvaradd -S ${simsfcptf},${vadd}                \
     370          -f ${simsfcdiagsf}
     371        if test $? -ne 0; then
     372          echo ${errmsg}
     373          echo "  python failed!!"
     374          echo python ${pyHOME}/nc_var.py -o fvaradd -S "'"${simsfcptf},${vadd}"'"   \
     375            -f ${simsfcdiagsf}
     376          exit
     377          rm ${simsfcdiagsf}
     378        fi
     379        echo "* adding variable '"${vadd}"' at sfc point: "${stlon}", "${stlat} >>   \
     380          ${ofileins}
    374381        echo python ${pyHOME}/nc_var.py -o fvaradd -S "'"${simsfcptf},${vadd}"'"     \
    375           -f ${simsfcdiagsf}
    376         exit
    377         rm ${simsfcdiagsf}
    378       fi
    379       echo "* adding variable '"${vadd}"' at sfc point: "${stlon}", "${stlat} >> ${ofileins}
    380       echo python ${pyHOME}/nc_var.py -o fvaradd -S "'"${simsfcptf},${vadd}"'"       \
    381         -f ${simsfcdiagsf} >> ${ofileins}
    382       echo " " >> ${ofileins}
    383       # CF varname
    384       CFvarn=`python $pyHOME/generic.py -o variables_values -S ${vadd} | tr ':' ' ' |\
    385         awk '{print $1}'`
    386       if test $? -ne 0; then
    387         echo ${errmsg}
    388         echo "  python failed!!"
    389         echo python $pyHOME/generic.py -o variables_values -S ${vadd}
    390         exit
    391         rm ${simsfcdiagsf}
    392       fi
    393       python $pyHOME/nc_var.py -o chvarname -S ${CFvarn} -f ${simsfcdiagsf} -v ${vadd}
    394       if test $? -ne 0; then
    395         echo ${errmsg}
    396         echo "  python failed!!"
    397         echo python ${pyHOME}/nc_var.py -o chvarname -S ${CFvarn} -f ${simsfcdiagsf} \
     382          -f ${simsfcdiagsf} >> ${ofileins}
     383        echo " " >> ${ofileins}
     384        # CF varname
     385        CFvarn=`python $pyHOME/generic.py -o variables_values -S ${vadd} |           \
     386          tr ':' ' ' | awk '{print $1}'`
     387        if test $? -ne 0; then
     388          echo ${errmsg}
     389          echo "  python failed!!"
     390          echo python $pyHOME/generic.py -o variables_values -S ${vadd}
     391          exit
     392          rm ${simsfcdiagsf}
     393        fi
     394        python $pyHOME/nc_var.py -o chvarname -S ${CFvarn} -f ${simsfcdiagsf}        \
    398395          -v ${vadd}
    399         exit
    400         rm ${simsfcdiagsf}
    401       fi
    402     done
     396        if test $? -ne 0; then
     397          echo ${errmsg}
     398          echo "  python failed!!"
     399          echo python ${pyHOME}/nc_var.py -o chvarname -S ${CFvarn}                  \
     400            -f ${simsfcdiagsf} -v ${vadd}
     401          exit
     402          rm ${simsfcdiagsf}
     403        fi
     404      done
     405    fi
    403406  fi
    404407}
     
    755758  echo "*** Instruction from all functions _______" > ${ofileins}
    756759  echo " " >> ${ofileins}
     760fi
     761if ${gscratch}; then
    757762  echo "*** Instruction from all figures _______" > ${ofilefigs}
    758763  echo " " >> ${ofilefigs}
     
    885890    grep NC | awk '{print $2}'`
    886891
    887   if test ${iost} -eq 1; then
     892  if test ! ${wdir}/stations.inf; then
    888893    oststids=${stid}'@'${ostf}
    889894    echo ${prn}","${stid}","${ostlon}","${ostlat}","${ostheight} > ${wdir}/stations.inf
     
    951956done
    952957
     958###
     959##
     960# Figures
     961##
     962###
     963
     964mkdir -p ${ofigdir}
     965
     966##
     967# Stations maps
     968##
     969ofig=${ofigdir}/stations.png
     970if ${gscratch}; then rm ${ofig} >& /dev/null; fi
     971if test ! -f ${ofig}; then
     972  fivals=${mapstchar}':'${mapv}':lonlatxtrms:'${figexperimentname}'!stations:'
     973  fivals=${fivals}${kfig}':true'
     974  python ${pyHOME}/drawing.py -o draw_stations_map -f ${wdir}/stations.inf           \
     975    -S ${fivals}
     976  if test $? -ne 0; then
     977    echo ${errmsg}
     978    echo "  python failed!!"
     979    echo python ${pyHOME}/drawing.py -o draw_stations_map -f ${wdir}/stations.inf    \
     980      -S "'"${fivals}"'"
     981    exit
     982  fi
     983  echo " * Map of the stations: " >> ${ofilefigs}
     984  echo python ${pyHOME}/drawing.py -o draw_stations_map -f ${wdir}/stations.inf      \
     985    -S "'"${fivals}"'" >> ${ofilefigs}
     986  echo " " >> ${ofilefigs}
     987  convert -trim stations_map.${kfig} ${ofig}
     988fi
     989
    953990exit
    954 
    955 diagns=`echo ${wrfsnddiags} | tr ':' ' '`
    956 snddiagd='time@time,bottom_top@P,south_north@XLAT,west_east@XLONG'
    957 snddiagvals=''
    958 idiag=1
    959 for diagn in ${diagns}; do
    960   diagv=`cat $pyHOME/diagnostics.inf | grep ${diagn}',' | tr ',' ' ' |               \
    961     awk '{print $2"|"$3}'`
    962   if test ${idiag} -eq 1; then
    963     snddiagvals=${diagv}
    964   else
    965     snddiagvals=${snddiagvals}','${diagv}
    966   fi
    967   idiag=`expr ${idiag} + 1`
    968 done
    969 
    970 if test ${sfcvars} != 'None'; then
    971 # surface diags
    972 diagns=`echo ${wrfsfcdiags} | tr ':' ' '`
    973 sfcdiagd='time@time,south_north@XLAT,west_east@XLONG'
    974 sfcdiagvals=''
    975 idiag=1
    976 iadv=1
    977 for diagn in ${diagns}; do
    978   diagv=`cat $pyHOME/diagnostics.inf | grep WRF | grep ${diagn}',' | tr ',' ' ' |    \
    979     awk '{print $2"|"$3}'`
    980   Ldiagv=`expr length $(echo ${diagv} | tr ' ' '@')0`
    981   if test ${Ldiagv} -lt 2; then
    982     echo ${errmsg}
    983     echo "  diagnostic '"${diagn}"' (for WRF) does not exist !!"
    984     if test ${iadv} -eq 1; then advs=${diagn}; iadv=`expr ${iadv} + 1`
    985     else advs=${adv}','${diagn}; fi
    986   else
    987     if test ${idiag} -eq 1; then
    988       sfcdiagvals=${diagv}
    989       idiag=`expr ${idiag} + 1`
    990     else
    991       sfcdiagvals=${sfcdiagvals}','${diagv}
    992     fi
    993   fi
    994 done
    995 fi
    996 
    997 exps=`echo ${sims} | tr ':' ' '`
    998 
    999 iexp=1
    1000 for exp in ${exps}; do
    1001   expf=`echo ${exp} | tr ',' ' ' | awk '{print $1}'`
    1002   expl=`echo ${exp} | tr ',' ' ' | awk '{print $2}'`
    1003   expn=`echo ${exp} | tr ',' ' ' | awk '{print $3}'`
    1004   expc=`echo ${exp} | tr ',' ' ' | awk '{print $4}'`
    1005 
    1006   # Joining files
    1007   simjoinselvars=${odir}'/simout_vars_'${expl}'.nc'
    1008   if ${fscratch}; then rm ${simjoinselvars}; fi
    1009   if test ! -f ${simjoinselvars}; then
    1010     values=${simdir}'/'${expf}','${simtimedimn}','${simtimevarn}
    1011     HMT=${simHMT}
    1012     python ${pyHOME}/nc_var.py -o netcdf_fold_concatenation_HMT -S ${values}         \
    1013      -f ${HMT} -v ${simvars}
    1014     if test $? -ne 0; then
    1015       echo ${errmsg}
    1016       echo "  python failed!!"
    1017       echo python ${pyHOME}/nc_var.py -o netcdf_fold_concatenation_HMT -S "'"${values}"'"  \
    1018         -f "'"${HMT}"'" -v "'"${simvars}"'"
    1019       exit
    1020     fi
    1021     mv netcdf_fold_concatenated_HMT.nc ${simjoinselvars}
    1022   fi
    1023 
    1024   # Computing sounding diagnostics
    1025   simdiagsf=${odir}'/simout_snddiags_'${expl}'.nc'
    1026   if ${fscratch}; then rm ${simdiagsf}; fi
    1027   if test ! -f ${simdiagsf}; then
    1028     python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d ${snddiagd} -v ${snddiagvals}
    1029     if test $? -ne 0; then
    1030       echo ${errmsg}
    1031       echo "  python failed!!"
    1032       echo python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d "'"${snddiagd}"'" -v "'"${snddiagvals}"'"
    1033       exit
    1034     fi
    1035     mv diagnostics.nc ${simdiagsf}
    1036     #To deg
    1037     python ${pyHOME}/nc_var.py -o valmod -S subc,273.15 -f ${simdiagsf} -v ta
    1038     #To Pa
    1039     python ${pyHOME}/nc_var.py -o valmod -S divc,100. -f ${simdiagsf} -v pres
    1040   fi
    1041 
    1042   if test ${sfcvars} != 'None'; then
    1043   # Computing surface diagnostics
    1044   simsfcdiagf=${odir}'/simout_sfcdiags_'${expl}'.nc'
    1045   if ${fscratch}; then rm ${simsfcdiagf}; fi
    1046   if test ! -f ${simsfcdiagf}; then
    1047     python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d ${sfcdiagd} -v ${sfcdiagvals}
    1048     if test $? -ne 0; then
    1049       echo ${errmsg}
    1050       echo "  python failed!!"
    1051       echo python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d "'"${sfcdiagd}"'" -v ${sfcdiagvals}
    1052       exit
    1053     fi
    1054     mv diagnostics.nc ${simsfcdiagf}
    1055     #To rad
    1056     python ${pyHOME}/nc_var.py -o valmod -S mulc,0.0174532925199 -f ${simsfcdiagf} -v wds
    1057     python ${pyHOME}/nc_var.py -o varaddattr -S 'units|rad' -f ${simsfcdiagf} -v wds
    1058   fi
    1059 
    1060   #Adding non-diagnostic variables
    1061   if test ${iadv} -ne 1; then
    1062     varsadd=`echo ${advs} | tr ',' ' '`
    1063     for vadd in ${varsadd}; do
    1064       python ${pyHOME}/nc_var.py -o fvaradd -S ${simjoinselvars},${vadd} -f ${simsfcdiagf}
    1065       if test $? -ne 0; then
    1066         echo ${errmsg}
    1067         echo "  python failed!!"
    1068         echo python ${pyHOME}/nc_var.py -o fvaradd -S "'"${simjoinselvars},${vadd}"'" -f ${simsfcdiagf}
    1069         exit
    1070         rm ${simsfcdiagf}
    1071       fi
    1072       # CF varname
    1073       CFvarn=`python $pyHOME/generic.py -o variables_values -S ${vadd} | tr ':' ' ' |  \
    1074         awk '{print $1}'`
    1075       if test $? -ne 0; then
    1076         echo ${errmsg}
    1077         echo "  python failed!!"
    1078         echo python $pyHOME/generic.py -o variables_values -S ${vadd}
    1079         exit
    1080         rm ${simsfcdiagf}
    1081       fi
    1082       python $pyHOME/nc_var.py -o chvarname -S ${CFvarn} -f ${simsfcdiagf} -v ${vadd}
    1083       if test $? -ne 0; then
    1084         echo ${errmsg}
    1085         echo "  python failed!!"
    1086         echo python ${pyHOME}/nc_var.py -o chvarname -S ${CFvarn} -f ${simsfcdiagf} -v ${vadd}
    1087         exit
    1088         rm ${simsfcdiagf}
    1089       fi
    1090     done
    1091   fi
    1092   fi
    1093 
    1094   iexp=`expr ${iexp} + 1`
    1095 
    1096 # End experiments
    1097 done
    1098 
    1099 mkdir -p ${ofigdir}
    1100991
    1101992###
Note: See TracChangeset for help on using the changeset viewer.