Changeset 1995 in lmdz_wrf
- Timestamp:
- Jul 31, 2018, 9:08:31 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/obs-sim_Comparison.bash
r1991 r1995 1 #!/bin/bash 1 #!/bin/bash -x 2 2 # Shell script to compare observations with simulations using PyNCplot 3 3 # … … 142 142 # timefS: date of the plot to be used for the figure name 143 143 # filen: file to use 144 # figheader: header of the figure's file name 144 145 145 146 valuesfig=$1 … … 152 153 timefS=`echo ${valuesfig} | tr '#' ' ' | awk '{print $6}'` 153 154 filen=`echo ${valuesfig} | tr '#' ' ' | awk '{print $7}'` 155 figheader=`echo ${valuesfig} | tr '#' ' ' | awk '{print $8}'` 154 156 155 157 values='pres|-1;time|'${it}':linepoint;multicol;pres;auto;auto;rainbow;auto:' 156 158 values=${values}${sndstn}'!sounding!WindRose!on!'${timeS}'!local!time:'${kfig} 157 159 values=${values}':cardinals:False:WindRose:True' 158 ofign=${ofigdir}'/ WindRose_'${sndstid}'_'${timefS}'.'${kfig}160 ofign=${ofigdir}'/'${figheader}'_'${sndstid}'_'${timefS}'.'${kfig} 159 161 if ${gscratch}; then rm ${ofign} >& /dev/null; fi 160 162 if test ! -f ${ofign}; then … … 164 166 echo ${errmsg} 165 167 echo " python failed!!" 166 echo python ${pyHOME}/drawing.py -o draw_WindRose -S ${values}-v ua,va -f ${filen}168 echo python ${pyHOME}/drawing.py -o draw_WindRose -S "'"${values}"'" -v ua,va -f ${filen} 167 169 exit 168 170 fi … … 183 185 # timefS: date of the plot to be used for the figure name 184 186 # filen: file to use 187 # figheader: header of the figure's file name 185 188 186 189 valuesfig=$1 … … 193 196 timefS=`echo ${valuesfig} | tr '#' ' ' | awk '{print $6}'` 194 197 filen=`echo ${valuesfig} | tr '#' ' ' | awk '{print $7}'` 198 figheader=`echo ${valuesfig} | tr '#' ' ' | awk '{print $8}'` 195 199 196 200 values='time|'${it}',pres|-1:auto:auto:'${sndstn}'!sounding!on!'${timeS}'!local!' 197 201 values=${values}'time:'${kfig}':True' 198 ofign=${ofigdir}'/ SkewT-logP_obs_ta-tda_'${sndstid}'_'${timefS}'.'${kfig}202 ofign=${ofigdir}'/'${figheader}'_'${sndstid}'_'${timefS}'.'${kfig} 199 203 if ${gscratch}; then rm ${ofign} >& /dev/null; fi 200 204 if test ! -f ${ofign}; then … … 204 208 echo ${errmsg} 205 209 echo " python failed!!" 206 echo python ${pyHOME}/drawing.py -o draw_SkewT -S ${values}-v ta,tda,pres -f ${filen}210 echo python ${pyHOME}/drawing.py -o draw_SkewT -S "'"${values}"'" -v ta,tda,pres -f ${filen} 207 211 exit 208 212 fi … … 222 226 # timeS3: date in the figure 223 227 # ofigdir: folder for the output figure 228 # figheader: header of the figure's file name 224 229 225 230 valuesfig=$1 … … 232 237 timeS3=`echo ${valuesfig} | tr '@' ' ' | awk '{print $6}'` 233 238 ofigdir=`echo ${valuesfig} | tr '@' ' ' | awk '{print $7}'` 239 figheader=`echo ${valuesfig} | tr '@' ' ' | awk '{print $8}'` 234 240 235 241 tatda_evol_values='auto:auto:multilines!'${tatda_evol_labs}'!'${tatda_evol_cols}'!' 236 tatda_evol_values=${tatda_evol_values}'-!,!2:0,auto:'${s tstn}'!sounding!evolution!on!'242 tatda_evol_values=${tatda_evol_values}'-!,!2:0,auto:'${sndstn}'!sounding!evolution!on!' 237 243 tatda_evol_values=${tatda_evol_values}${timeS3}'!local!time:'${kfig}':True' 238 244 239 ofign=${ofigdir}'/ SkewT-logP_obs_evol_'${stid}'.'${kfig}245 ofign=${ofigdir}'/'${figheader}'_'${stid}'.'${kfig} 240 246 if ${gscratch}; then rm ${ofign} >& /dev/null; fi 241 247 if test ! -f ${ofign}; then … … 245 251 echo ${errmsg} 246 252 echo " python failed!!" 247 python ${pyHOME}/drawing.py -o draw_multi_SkewT -S ${tatda_evol_values} -f ${tatda_evol_files}253 echo python ${pyHOME}/drawing.py -o draw_multi_SkewT -S "'"${tatda_evol_values}"'" -f "'"${tatda_evol_files}"'" 248 254 exit 249 255 fi 250 256 convert -trim multi_SkewT.png ${ofign} 251 257 echo "* "${ofign} >> ${ofilefigs} 252 echo python ${pyHOME}/drawing.py -o draw_multi_SkewT -S ${tatda_evol_values} -f ${tatda_evol_files}>> ${ofilefigs}258 echo python ${pyHOME}/drawing.py -o draw_multi_SkewT -S "'"${tatda_evol_values}"'" -f "'"${tatda_evol_files}"'" >> ${ofilefigs} 253 259 echo " " >> ${ofilefigs} 254 260 fi … … 266 272 # ofigdir: folder for the output of the figure 267 273 # datefS: date of the plot to be used for the figure name 274 # figheader: header of the figure's file name 268 275 269 276 valuesfig=$1 … … 277 284 ofigdir=`echo ${valuesfig} | tr '@' ' ' | awk '{print $8}'` 278 285 datefS=`echo ${valuesfig} | tr '@' ' ' | awk '{print $9}'` 286 figheader=`echo ${valuesfig} | tr '@' ' ' | awk '{print $10}'` 279 287 280 288 values='auto:auto:multilines!'${complabs}'!'${compcols}'!' … … 282 290 values=${values}'comparison!on!'${dateS}'!UTC:png:True' 283 291 284 ofign=${ofigdir}'/ SkewT-logP_obs-sim_step_'${sndstid}'_'${datefS}'.'${kfig}292 ofign=${ofigdir}'/'${figheader}'_'${sndstid}'_'${datefS}'.'${kfig} 285 293 if ${gscratch}; then rm ${ofign} >& /dev/null; fi 286 294 if test ! -f ${ofign}; then … … 290 298 echo ${errmsg} 291 299 echo " python failed!!" 292 echo python ${pyHOME}/drawing.py -o draw_multi_SkewT -S ${values} -f ${compfiles}300 echo python ${pyHOME}/drawing.py -o draw_multi_SkewT -S "'"${values}"'" -f "'"${compfiles}"'" 293 301 exit 294 302 fi 295 303 convert -trim multi_SkewT.png ${ofign} 296 304 echo "* "${ofign} >> ${ofilefigs} 297 echo python ${pyHOME}/drawing.py -o draw_multi_SkewT -S ${values} -f ${compfiles}>> ${ofilefigs}305 echo python ${pyHOME}/drawing.py -o draw_multi_SkewT -S "'"${values}"'" -f "'"${compfiles}"'" >> ${ofilefigs} 298 306 echo " " >> ${ofilefigs} 299 307 fi … … 313 321 # expn: name of the experiment 314 322 # cbar: color bar 323 # figheader: header of the figure's file name 315 324 316 325 valuesfig=$1 … … 326 335 expn=`echo ${valuesfig} | tr '#' ' ' | awk '{print $10}'` 327 336 cbar=`echo ${valuesfig} | tr '#' ' ' | awk '{print $11}'` 337 figheader=`echo ${valuesfig} | tr '#' ' ' | awk '{print $12}'` 328 338 329 339 cfiles=${simfilen}';'${sndv}';time;pres;time|-1,pres|-1@' … … 333 343 cvalues=${cvalues}${sndstn}'!sounding;'${kfig}';flip@y;None;yes' 334 344 335 ofign=${ofigdir}'/ SkewT-logP_obs-sim_evol_'${expl}'_'${sndstid}'_'${sndv}'.'${kfig}345 ofign=${ofigdir}'/'${figheader}'_'${expl}'_'${sndstid}'_'${sndv}'.'${kfig} 336 346 if ${gscratch}; then rm ${ofign} >& /dev/null; fi 337 347 if test ! -f ${ofign}; then … … 340 350 echo ${errmsg} 341 351 echo " python failed!!" 342 echo python ${pyHOME}/drawing.py -o draw_2D_shad_contdisc_time -f ${cfiles} -S ${cvalues}352 echo python ${pyHOME}/drawing.py -o draw_2D_shad_contdisc_time -f "'"${cfiles}"'" -S "'"${cvalues}"'" 343 353 exit 344 354 fi 345 355 convert -trim 2Dshad_obs-sim_comparison_time.png ${ofign} 346 356 echo "* "${ofign} >> ${ofilefigs} 347 echo python ${pyHOME}/drawing.py -o draw_2D_shad_contdisc_time -f ${cfiles} -S ${cvalues}>> ${ofilefigs}357 echo python ${pyHOME}/drawing.py -o draw_2D_shad_contdisc_time -f "'"${cfiles}"'" -S "'"${cvalues}"'" >> ${ofilefigs} 348 358 echo " " >> ${ofilefigs} 349 359 fi … … 362 372 # nsfc: minimum value to plot 363 373 # xsfc: maximum value to plot 374 # figheader: header of the figure's file name 364 375 365 376 valuesfig=$1 … … 374 385 nsfc=`echo ${valuesfig} | tr '@' ' ' | awk '{print $9}'` 375 386 xsfc=`echo ${valuesfig} | tr '@' ' ' | awk '{print $10}'` 387 figheader=`echo ${valuesfig} | tr '@' ' ' | awk '{print $11}'` 376 388 377 389 timen=`echo ${timevals} | tr '|' ' ' | awk '{print $3}'` … … 383 395 values=${values}${kfig}';-;'${lcol}';.;2.;2.;all;-1;True' 384 396 385 ofign=${ofigdir}'/ obs-sim_evol_ts_'${sfcv}_${sti}'.'${kfig}397 ofign=${ofigdir}'/'${figheader}'_'${sfcv}_${sti}'.'${kfig} 386 398 if ${gscratch}; then rm ${ofign} >& /dev/null; fi 387 399 if test ! -f ${ofign}; then … … 390 402 echo ${errmsg} 391 403 echo " python failed!!" 392 python ${pyHOME}/drawing.py -o draw_lines_time -f ${files} -S ${values}-v ${sfcv}404 echo python ${pyHOME}/drawing.py -o draw_lines_time -f "'"${files}"'" -S "'"${values}"'" -v ${sfcv} 393 405 exit 394 406 fi 395 407 convert -trim lines_time.${kfig} ${ofign} 396 408 echo "* "${ofign} >> ${ofilefigs} 397 echo python ${pyHOME}/drawing.py -o draw_lines_time -f ${files} -S ${values}-v ${sfcv} >> ${ofilefigs}409 echo python ${pyHOME}/drawing.py -o draw_lines_time -f "'"${files}"'" -S "'"${values}"'" -v ${sfcv} >> ${ofilefigs} 398 410 echo " "${ofign} >> ${ofilefigs} 399 411 fi … … 416 428 # mapv: map values 417 429 # mapcover: cover of the map 430 # figheader: header of the figure's file name 418 431 419 432 valuesfig=$1 … … 433 446 mapv=`echo ${valuesfig} | tr '#' ' ' | awk '{print $13}'` 434 447 mapcover=`echo ${valuesfig} | tr '#' ' ' | awk '{print $14}'` 448 figheader=`echo ${valuesfig} | tr '#' ' ' | awk '{print $15}'` 435 449 436 450 CFvarvals=`python $pyHOME/generic.py -o variables_values -S ${sfcv}` … … 444 458 cvalues=${cvalues}${kfig}':None:'${mapv}':'${mapcover}':yes' 445 459 446 ofign=${ofigdir}'/ map_obs-sim_map_'${timefS}'_'${sfcv}'_'${expl}'.'${kfig}460 ofign=${ofigdir}'/'${figheader}'_'${timefS}'_'${sfcv}'_'${expl}'.'${kfig} 447 461 if ${gscratch}; then rm ${ofign} >& /dev/null; fi 448 462 if test ! -f ${ofign}; then … … 451 465 echo ${errmsg} 452 466 echo " python failed!!" 453 echo python ${pyHOME}/drawing.py -o draw_2D_shad_contdisc -f ${cfiles} -S ${cvalues}467 echo python ${pyHOME}/drawing.py -o draw_2D_shad_contdisc -f "'"${cfiles}"'" -S "'"${cvalues}"'" 454 468 fi 455 469 convert -trim 2Dshad_obs-sim_comparison.png ${ofign} 456 470 echo "* "${ofign} >> ${ofilefigs} 457 echo python ${pyHOME}/drawing.py -o draw_2D_shad_contdisc -f ${cfiles} -S ${cvalues}>> ${ofilefigs}471 echo python ${pyHOME}/drawing.py -o draw_2D_shad_contdisc -f "'"${cfiles}"'" -S "'"${cvalues}"'" >> ${ofilefigs} 458 472 echo " " >> ${ofilefigs} 459 473 fi … … 478 492 diagns=`echo ${wrfsnddiags} | tr ':' ' '` 479 493 snddiagd='time@time,bottom_top@P,south_north@XLAT,west_east@XLONG' 480 diagvals=''494 snddiagvals='' 481 495 idiag=1 482 496 for diagn in ${diagns}; do … … 484 498 awk '{print $2"|"$3}'` 485 499 if test ${idiag} -eq 1; then 486 diagvals=${diagv}500 snddiagvals=${diagv} 487 501 else 488 diagvals=${diagvals}','${diagv}502 snddiagvals=${snddiagvals}','${diagv} 489 503 fi 490 504 idiag=`expr ${idiag} + 1` … … 495 509 diagns=`echo ${wrfsfcdiags} | tr ':' ' '` 496 510 sfcdiagd='time@time,south_north@XLAT,west_east@XLONG' 497 diagvals=''511 sfcdiagvals='' 498 512 idiag=1 499 513 iadv=1 … … 509 523 else 510 524 if test ${idiag} -eq 1; then 511 diagvals=${diagv}525 sfcdiagvals=${diagv} 512 526 idiag=`expr ${idiag} + 1` 513 527 else 514 diagvals=${diagvals}','${diagv}528 sfcdiagvals=${sfcdiagvals}','${diagv} 515 529 fi 516 530 fi … … 538 552 echo ${errmsg} 539 553 echo " python failed!!" 540 echo python ${pyHOME}/nc_var.py -o netcdf_fold_concatenation_HMT -S ${values}\541 -f ${HMT} -v ${simvars}554 echo python ${pyHOME}/nc_var.py -o netcdf_fold_concatenation_HMT -S "'"${values}"'" \ 555 -f "'"${HMT}"'" -v "'"${simvars}"'" 542 556 exit 543 557 fi … … 549 563 if ${fscratch}; then rm ${simdiagsf}; fi 550 564 if test ! -f ${simdiagsf}; then 551 python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d ${snddiagd} -v ${ diagvals}565 python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d ${snddiagd} -v ${snddiagvals} 552 566 if test $? -ne 0; then 553 567 echo ${errmsg} 554 568 echo " python failed!!" 555 echo python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d ${snddiagd} -v ${diagvals}569 echo python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d "'"${snddiagd}"'" -v "'"${snddiagvals}"'" 556 570 exit 557 571 fi … … 568 582 if ${fscratch}; then rm ${simsfcdiagf}; fi 569 583 if test ! -f ${simsfcdiagf}; then 570 python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d ${sfcdiagd} -v ${ diagvals}584 python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d ${sfcdiagd} -v ${sfcdiagvals} 571 585 if test $? -ne 0; then 572 586 echo ${errmsg} 573 587 echo " python failed!!" 574 echo python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d ${sfcdiagd} -v ${diagvals}588 echo python ${pyHOME}/diagnostics.py -f ${simjoinselvars} -d "'"${sfcdiagd}"'" -v ${sfcdiagvals} 575 589 exit 576 590 fi … … 589 603 echo ${errmsg} 590 604 echo " python failed!!" 591 echo python ${pyHOME}/nc_var.py -o fvaradd -S ${simjoinselvars},${vadd}-f ${simsfcdiagf}605 echo python ${pyHOME}/nc_var.py -o fvaradd -S "'"${simjoinselvars},${vadd}"'" -f ${simsfcdiagf} 592 606 exit 593 607 rm ${simsfcdiagf} … … 691 705 sndstn=${stid} 692 706 693 WindRose_plot ${it}'#'${stid}'#'${sndstn}'#'${timeS}'#'${ofigdir}'#'${timefS}'#'${ouavasndf} 694 695 SkewT_logP_plot ${it}'#'${stid}'#'${sndstn}'#'${timeS}'#'${ofigdir}'#'${timefS}'#'${sndorigfn} 707 fivals=${it}'#'${stid}'#'${sndstn}'#'${timeS}'#'${ofigdir}'#'${timefS}'#' 708 fivals=${fivals}${ouavasndf}'#WindRose' 709 WindRose_plot ${fivals} 710 711 fivals=${it}'#'${stid}'#'${sndstn}'#'${timeS}'#'${ofigdir}'#'${timefS}'#' 712 fivals=${fivals}${sndorigfn}'#SkewT-logP_obs_ta-tda' 713 SkewT_logP_plot ${fivals} 696 714 697 715 colH=`num_hex ${col}` … … 725 743 done 726 744 727 vals=${stid}'@'${sndstn}'@'${tatda_evol_labs}'@'${tatda_evol_cols}'@'${tatda_evol_files}'@'${timeS3}'@'${ofigdir} 728 multi_soundings_plot ${vals} 745 fivals=${stid}'@'${sndstn}'@'${tatda_evol_labs}'@'${tatda_evol_cols}'@' 746 fivals=${fivals}${tatda_evol_files}'@'${timeS3}'@'${ofigdir}'@SkewT-logP_obs_evol' 747 multi_soundings_plot ${fivals} 729 748 730 749 # End of soundings … … 790 809 791 810 # Getting values at the sounding point 792 simsndptf=${odir}'/simout_vars_sndpt_'${ expl}'.nc'811 simsndptf=${odir}'/simout_vars_sndpt_'${stid}'_'${expl}'.nc' 793 812 if ${fscratch}; then rm ${simsndptf} >& /dev/null; fi 794 813 if test ! -f ${simsndptf}; then … … 801 820 echo " python failed!!" 802 821 echo python ${pyHOME}/nc_var.py -o DataSetSection_multidims -f ${simdiagsf}\ 803 -S ${values}-v all822 -S "'"${values}"'" -v all 804 823 exit 805 824 fi … … 865 884 fivals=${stid}'#'${sndstn}'#'${sndv}'#'${ofigdir}'#'${datefS}'#'${fmtTts} 866 885 fivals=${fivals}'#'${simsndptf}'#'${sndorigfn}'#'${expl}'#'${expn}'#'${cbar} 886 fivals=${fivals}'#SkewT-logP_obs-sim_evol' 867 887 868 888 Homoeller_SkewT_map_plot ${fivals} … … 881 901 882 902 fivals=${stid}'@'${sndstn}'@'${complabs}'@'${compcols}'@'${compltyp}'@' 883 fivals=${fivals}${compfiles}'@'${dateS}'@'${ofigdir}'@'${datefS}'@'${ofigdir} 903 fivals=${fivals}${compfiles}'@'${dateS}'@'${ofigdir}'@'${datefS}'@'${ofigdir}'@' 904 fivals=${fivals}'SkewT-logP_obs-sim_step' 884 905 885 906 multi_SkewT_logP_plot ${fivals} 907 908 # Wind Rose comparison 909 fivals=${it}'#'${stid}'#'${sndstn}'#'${timeS}'#'${ofigdir}'#'${timefS}'#' 910 fivals=${fivals}${ouavasndf}'#WindRose_obs-sim_' 911 multi_WindRose_plot ${fivals} 886 912 887 913 it=`expr ${it} + 1` … … 1055 1081 fivals=${sti}'@'${stn}'@'${sfcv}'@'${ofigdir}'@'${fmtTts}'@'${sfccompfiles}'@' 1056 1082 fivals=${fivals}${sfccomplabs}'@'${sfccompcols}'@'${nsfc}'@'${xsfc} 1083 fivals=${fivals}'@obs-sim_evol_ts' 1057 1084 1058 1085 multiple_time_series_plot ${fivals} … … 1076 1103 # Time information from simulation 1077 1104 simdimt=`python ${pyHOME}/nc_var.py -o itime -S CFtime, -v time -f ${simsfcdiagf} \ 1078 | grep dimt | awk '{print $2 }'`1105 | grep dimt | awk '{print $2-1}'` 1079 1106 simtunits=`python ${pyHOME}/nc_var.py -o ivattrs -v time -f ${simsfcdiagf} | \ 1080 1107 grep -v allvattrs | grep units | awk '{print $3}'` … … 1110 1137 fivals=${expl}'#'${expn}'#'${sfcv}'#'${ofigdir}'#'${obssfcfile}'#'${simsfcdiagf} 1111 1138 fivals=${fivals}'#'${it}'#'${oit}'#'${timeS}'#'${timefS}'#'${nsfc}'#'${xsfc}'#' 1112 fivals=${fivals}${mapv}'#'${mapcover} 1139 fivals=${fivals}${mapv}'#'${mapcover}'#map_obs-sim' 1113 1140 1114 1141 shad_contdisc_map_plot ${fivals}
Note: See TracChangeset
for help on using the changeset viewer.