Changeset 2023 in lmdz_wrf for trunk/tools
- Timestamp:
- Aug 3, 2018, 4:24:05 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/get_WRFsounding-surface_data.bash
r2022 r2023 294 294 fi 295 295 } 296 297 function get_WRFsfc2D_data(){ 298 # Function to get the data to compute analysis in a surface map 299 # filen= name of the file 300 # sfcdiagnames= diagnostics to compute (as ':' separated list) 301 # nondiagvs= ':' list of variables which are not from a diagnostics ('None' for 302 # without) 303 304 funcvals=$1 305 306 filen=`echo ${funcvals} | tr '#' ' ' | awk '{print $1}'` 307 sfcdiagnames=`echo ${funcvals} | tr '#' ' ' | awk '{print $2}'` 308 nondiagvs=`echo ${funcvals} | tr '#' ' ' | awk '{print $3}'` 309 310 # Computing sfc diagnostics 311 sfcmapdiagd='Time@WRFtime:south_north@XLAT:west_east@XLONG' 312 diagns=`echo ${sfcdiagnames} | tr ':' ' '` 313 314 # getting that variables only required for the diagnostics 315 vardiags='' 316 idiag=1 317 for diagn in ${diagns}; do 318 diagv=`cat $pyHOME/diagnostics.inf | grep WRF | grep ${diagn}',' | tr ',' ' ' | \ 319 awk '{print $2"|"$3}'` 320 if test ${idiag} -eq 1; then 321 sfcdiagvals=${diagv} 322 vardiags=`echo ${diagv} | tr '|' ' ' | awk '{print $2}' | tr '@' ':'` 323 else 324 sfcdiagvals=${sfcdiagvals}','${diagv} 325 vardiag=`echo ${diagv} | tr '|' ' ' | awk '{print $2}' | tr '@' ' '` 326 for vd in ${vardiag}; do 327 if ! $(isin_list ${vardiags} ${vd}); then vardiags=${vardiags}':'${vd}; fi 328 done 329 fi 330 idiag=`expr ${idiag} + 1` 331 done 332 333 # Inlcuding non-diagnostics 334 if test ! ${nondiagvs} = 'None'; then 335 nvns=`echo ${nondiagvs} | tr ':' ' '` 336 for vn in ${nvns}; do 337 if ! $(isin_list ${vardiags} ${vn}); then vardiags=${vardiags}':'${vn}; fi 338 done 339 fi 340 vardiag=`echo ${vardiags} | tr ':' ','` 341 342 # Getting values 343 if ${fscratch}; then rm ${simsfcmapf} >& /dev/null; fi 344 if test ! -f ${simsfcmapf}; then 345 values='Time,0,-1,1@south_north,0,-1,1@west_east,0,-1,1@south_north_stag,0,-1,1@' 346 values=${values}'west_east_stag,0,-1,1:False' 347 python ${pyHOME}/nc_var.py -o DataSetSection_multidims -f ${filen} \ 348 -S ${values} -v ${vardiag} 349 if test $? -ne 0; then 350 echo ${errmsg} 351 echo " python failed!!" 352 echo python ${pyHOME}/nc_var.py -o DataSetSection_multidims -f ${filen} \ 353 -S "'"${values}"'" -v ${vardiag} 354 exit 355 fi 356 echo "* get values for 2D map diagnostics: " >> ${ofileins} 357 echo python ${pyHOME}/nc_var.py -o DataSetSection_multidims -f ${filen} \ 358 -S "'"${values}"'" -v ${vardiag} >> ${ofileins} 359 echo " " >> ${ofileins} 360 361 ofilen='newfile_multidims.nc' 362 mv ${ofilen} ${simsfcmapf} 363 fi 364 365 if ${fscratch}; then rm ${simsfcmapdiagsf}; fi 366 if test ! -f ${simsfcmapdiagsf}; then 367 python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d ${sfcmapdiagd} \ 368 -v ${sfcdiagvals} 369 if test $? -ne 0; then 370 echo ${errmsg} 371 echo " python failed!!" 372 echo python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d "'"${sfcmapdiagd}"'" \ 373 -v "'"${sfcdiagvals}"'" 374 exit 375 fi 376 echo "* diagnostics for sfc 2D map: " >> ${ofileins} 377 echo python ${pyHOME}/diagnostics.py -f ${simsfcmapf} -d "'"${sfcmapdiagd}"'" \ 378 -v "'"${sfcdiagvals}"'" >> ${ofileins} 379 echo " " >> ${ofileins} 380 mv diagnostics.nc ${simsfcmapdiagsf} 381 if $(isin_list ${sfcdiagnames} wds); then 382 #To rad 383 python ${pyHOME}/nc_var.py -o valmod -S mulc,0.0174532925199 \ 384 -f ${simsfcmapdiagsf} -v wds 385 python ${pyHOME}/nc_var.py -o varaddattr -S 'units|rad' -f ${simsfcmapdiagsf} \ 386 -v wds 387 fi 388 389 #Adding non-diagnostic variables 390 if test ! ${nondiagvs} = 'None'; then 391 varsadd=`echo ${nondiagvs} | tr ':' ' '` 392 for vadd in ${varsadd}; do 393 python ${pyHOME}/nc_var.py -o fvaradd -S ${simsfcmapf},${vadd} \ 394 -f ${simsfcmapdiagsf} 395 if test $? -ne 0; then 396 echo ${errmsg} 397 echo " python failed!!" 398 echo python ${pyHOME}/nc_var.py -o fvaradd -S "'"${simsfcmapf},${vadd}"'" \ 399 -f ${simsfcmapdiagsf} 400 exit 401 rm ${simsfcmapdiagsf} 402 fi 403 echo "* adding variable '"${vadd}"' at sfc map: " >> ${ofileins} 404 echo python ${pyHOME}/nc_var.py -o fvaradd -S "'"${simsfcmapf},${vadd}"'" \ 405 -f ${simsfcmapdiagsf} >> ${ofileins} 406 echo " " >> ${ofileins} 407 # CF varname 408 CFvarn=`python $pyHOME/generic.py -o variables_values -S ${vadd} | \ 409 tr ':' ' ' | awk '{print $1}'` 410 if test $? -ne 0; then 411 echo ${errmsg} 412 echo " python failed!!" 413 echo python $pyHOME/generic.py -o variables_values -S ${vadd} 414 exit 415 rm ${simsfcmapdiagsf} 416 fi 417 python $pyHOME/nc_var.py -o chvarname -S ${CFvarn} -f ${simsfcmapdiagsf} \ 418 -v ${vadd} 419 if test $? -ne 0; then 420 echo ${errmsg} 421 echo " python failed!!" 422 echo python ${pyHOME}/nc_var.py -o chvarname -S ${CFvarn} \ 423 -f ${simsfcmapdiagsf} -v ${vadd} 424 exit 425 rm ${simsfcmapdiagsf} 426 fi 427 done 428 fi 429 fi 430 } 431 296 432 ####### ####### 297 433 ## MAIN … … 331 467 fi 332 468 469 # Surface maps 470 if test ! ${sfcmapid} = 'None'; then 471 simsfcmapf=${odir}'/simout_vars_sfcmap_'${stid}'_'${expl}'_'${fdate}'.nc' 472 simsfcmapdiagsf=${odir}'/simout_sfcmapdiags_'${stid}'_'${expl}'_'${fdate}'.nc' 473 474 fvals=${infilen}'#'${wrfsfcdiags}'#'${wrfsfcnodiags} 475 get_WRFsfc2D_data ${fvals} 476 333 477 fi
Note: See TracChangeset
for help on using the changeset viewer.