Changeset 2016 in lmdz_wrf
- Timestamp:
- Aug 2, 2018, 5:57:00 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/obs-sim_Comparison.bash
r2013 r2016 1 #!/bin/bash -x1 #!/bin/bash 2 2 # Shell script to compare observations with simulations using PyNCplot 3 3 # … … 362 362 python ${pyHOME}/nc_var.py -o varaddattr -S 'units|rad' -f ${simsfcdiagsf} -v wds 363 363 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} 374 381 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} \ 398 395 -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 403 406 fi 404 407 } … … 755 758 echo "*** Instruction from all functions _______" > ${ofileins} 756 759 echo " " >> ${ofileins} 760 fi 761 if ${gscratch}; then 757 762 echo "*** Instruction from all figures _______" > ${ofilefigs} 758 763 echo " " >> ${ofilefigs} … … 885 890 grep NC | awk '{print $2}'` 886 891 887 if test ${iost} -eq 1; then892 if test ! ${wdir}/stations.inf; then 888 893 oststids=${stid}'@'${ostf} 889 894 echo ${prn}","${stid}","${ostlon}","${ostlat}","${ostheight} > ${wdir}/stations.inf … … 951 956 done 952 957 958 ### 959 ## 960 # Figures 961 ## 962 ### 963 964 mkdir -p ${ofigdir} 965 966 ## 967 # Stations maps 968 ## 969 ofig=${ofigdir}/stations.png 970 if ${gscratch}; then rm ${ofig} >& /dev/null; fi 971 if 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} 988 fi 989 953 990 exit 954 955 diagns=`echo ${wrfsnddiags} | tr ':' ' '`956 snddiagd='time@time,bottom_top@P,south_north@XLAT,west_east@XLONG'957 snddiagvals=''958 idiag=1959 for diagn in ${diagns}; do960 diagv=`cat $pyHOME/diagnostics.inf | grep ${diagn}',' | tr ',' ' ' | \961 awk '{print $2"|"$3}'`962 if test ${idiag} -eq 1; then963 snddiagvals=${diagv}964 else965 snddiagvals=${snddiagvals}','${diagv}966 fi967 idiag=`expr ${idiag} + 1`968 done969 970 if test ${sfcvars} != 'None'; then971 # surface diags972 diagns=`echo ${wrfsfcdiags} | tr ':' ' '`973 sfcdiagd='time@time,south_north@XLAT,west_east@XLONG'974 sfcdiagvals=''975 idiag=1976 iadv=1977 for diagn in ${diagns}; do978 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; then982 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}; fi986 else987 if test ${idiag} -eq 1; then988 sfcdiagvals=${diagv}989 idiag=`expr ${idiag} + 1`990 else991 sfcdiagvals=${sfcdiagvals}','${diagv}992 fi993 fi994 done995 fi996 997 exps=`echo ${sims} | tr ':' ' '`998 999 iexp=11000 for exp in ${exps}; do1001 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 files1007 simjoinselvars=${odir}'/simout_vars_'${expl}'.nc'1008 if ${fscratch}; then rm ${simjoinselvars}; fi1009 if test ! -f ${simjoinselvars}; then1010 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; then1015 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 exit1020 fi1021 mv netcdf_fold_concatenated_HMT.nc ${simjoinselvars}1022 fi1023 1024 # Computing sounding diagnostics1025 simdiagsf=${odir}'/simout_snddiags_'${expl}'.nc'1026 if ${fscratch}; then rm ${simdiagsf}; fi1027 if test ! -f ${simdiagsf}; then1028 python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d ${snddiagd} -v ${snddiagvals}1029 if test $? -ne 0; then1030 echo ${errmsg}1031 echo " python failed!!"1032 echo python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d "'"${snddiagd}"'" -v "'"${snddiagvals}"'"1033 exit1034 fi1035 mv diagnostics.nc ${simdiagsf}1036 #To deg1037 python ${pyHOME}/nc_var.py -o valmod -S subc,273.15 -f ${simdiagsf} -v ta1038 #To Pa1039 python ${pyHOME}/nc_var.py -o valmod -S divc,100. -f ${simdiagsf} -v pres1040 fi1041 1042 if test ${sfcvars} != 'None'; then1043 # Computing surface diagnostics1044 simsfcdiagf=${odir}'/simout_sfcdiags_'${expl}'.nc'1045 if ${fscratch}; then rm ${simsfcdiagf}; fi1046 if test ! -f ${simsfcdiagf}; then1047 python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d ${sfcdiagd} -v ${sfcdiagvals}1048 if test $? -ne 0; then1049 echo ${errmsg}1050 echo " python failed!!"1051 echo python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d "'"${sfcdiagd}"'" -v ${sfcdiagvals}1052 exit1053 fi1054 mv diagnostics.nc ${simsfcdiagf}1055 #To rad1056 python ${pyHOME}/nc_var.py -o valmod -S mulc,0.0174532925199 -f ${simsfcdiagf} -v wds1057 python ${pyHOME}/nc_var.py -o varaddattr -S 'units|rad' -f ${simsfcdiagf} -v wds1058 fi1059 1060 #Adding non-diagnostic variables1061 if test ${iadv} -ne 1; then1062 varsadd=`echo ${advs} | tr ',' ' '`1063 for vadd in ${varsadd}; do1064 python ${pyHOME}/nc_var.py -o fvaradd -S ${simjoinselvars},${vadd} -f ${simsfcdiagf}1065 if test $? -ne 0; then1066 echo ${errmsg}1067 echo " python failed!!"1068 echo python ${pyHOME}/nc_var.py -o fvaradd -S "'"${simjoinselvars},${vadd}"'" -f ${simsfcdiagf}1069 exit1070 rm ${simsfcdiagf}1071 fi1072 # CF varname1073 CFvarn=`python $pyHOME/generic.py -o variables_values -S ${vadd} | tr ':' ' ' | \1074 awk '{print $1}'`1075 if test $? -ne 0; then1076 echo ${errmsg}1077 echo " python failed!!"1078 echo python $pyHOME/generic.py -o variables_values -S ${vadd}1079 exit1080 rm ${simsfcdiagf}1081 fi1082 python $pyHOME/nc_var.py -o chvarname -S ${CFvarn} -f ${simsfcdiagf} -v ${vadd}1083 if test $? -ne 0; then1084 echo ${errmsg}1085 echo " python failed!!"1086 echo python ${pyHOME}/nc_var.py -o chvarname -S ${CFvarn} -f ${simsfcdiagf} -v ${vadd}1087 exit1088 rm ${simsfcdiagf}1089 fi1090 done1091 fi1092 fi1093 1094 iexp=`expr ${iexp} + 1`1095 1096 # End experiments1097 done1098 1099 mkdir -p ${ofigdir}1100 991 1101 992 ###
Note: See TracChangeset
for help on using the changeset viewer.