Changeset 846 in lmdz_wrf
- Timestamp:
- Jun 16, 2016, 6:14:51 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/model_graphics.bash
r835 r846 1 #!/bin/bash -x 2 main='WRF+LMDZ_graphics.bash' 1 #!/bin/bash 2 # L. Fita, June 2016. Generic script to plot model outputs 3 4 main='model_graphics.bash' 3 5 errormsg='ERROR -- error -- ERROR -- error' 4 HOMEpy=/home/lfita/etudes/WRF_LMDZ/svn/LMDZ_WRF/tools 5 6 function variables_values(){ 7 ## Function to provide values to plot the different variables 8 # return: 9 # 1: var name 10 # 2: std name 11 # 3: minimum 12 # 4: maximum 13 # 5: long name ('|' for spaces) 14 # 6: units 15 # 7: color palette (following: 16 # http://matplotlib.org/1.3.1/examples/color/colormaps_reference.html) 17 # 18 # $ variables_values 'WRFght' 19 # zg geopotential_height 0. 80000. geopotential|height m2s-2 rainbow 20 21 fname='variables_values' 22 23 variablesfile=${HOME}/bats/variables.inf 24 25 if test ! -f ${variablesfile}; then 6 warnmsg='ERROR -- error -- ERROR -- error' 7 8 function uploadvars() { 9 # Function to upload variables to the system from an ASCII file as: 10 # [varname] = [value] 11 fileval=$1 12 errormsg='ERROR -- error -- ERROR -- error' 13 14 if test ! -f ${fileval}; then 26 15 echo ${errormsg} 27 echo " "${fname}": variables file '"${variablesfile}"' does not exist !!!" 28 fi 29 30 case $1 in 31 'a_tht'|'LA_THT') varname='a_tht' ;; 32 'bils'|'LBILS') varname='bils' ;; 33 'clt'|'CLT'|'cldt'|'Total cloudiness') varname='clt' ;; 34 'cll'|'cldl'|'Low-level cloudiness') varname='cll' ;; 35 'clm'|'cldm'|'Mid-level cloudiness') varname='clm' ;; 36 'clh'|'cldh'|'High-level cloudiness') varname='clh' ;; 37 'dtcon'|'LDTCON') varname='dtcon' ;; 38 'evspsbl'|'QFX'|'evap'|'LEVAP') varname='evspsbl' ;; 39 'hfls'|'LH'|'flat'|'LFLAT') varname='hfls' ;; 40 'hfss'|'sens'|'LSENS') varname='hfss' ;; 41 'hus'|'WRFrh'|'LMDZrh') varname='hus' ;; 42 'huss'|'WRFrhs'|'LMDZrhs') varname='huss' ;; 43 'lat'|'XLAT') varname='lat' ;; 44 'lon'|'XLONG') varname='lon' ;; 45 'pr'|'RAINTOT'|'precip'|'Precip Totale liq+sol') varname='pr' ;; 46 'pracc'|'ACRAINTOT') varname='pracc' ;; 47 'prc'|'WRFprc'|'LPLUC'|'pluc') varname='prc' ;; 48 'pres'|'presnivs'|'pressure') varname='pres' ;; 49 'prls'|'WRFprls'|'LPLUL'|'plul') varname='prls' ;; 50 'prw'|'WRFprw') varname='prw' ;; 51 'ps'|'psfc'|'PSFC'|'psol'|'Surface Pressure') varname='ps' ;; 52 'q_th') varname='q_th' ;; 53 'r'|'QVAPOR') varname='r' ;; 54 'rsds'|'SWdnSFC'|'SWdn at surface'|'SWDOWN') varname='rsds' ;; 55 'rsdsacc') varname='rsdsacc' ;; 56 's_pblh'|'LS_PBLH') varname='zmla' ;; 57 's_pblt'|'LS_PBLT') varname='tmla' ;; 58 's_therm'|'LS_THERM') varname='s_therm' ;; 59 'ta'|'WRFt'|'temp'|'Air temperature') varname='ta' ;; 60 'tmlap'|'LS_PBLT'|'s_pblt') varname='tmla' ;; 61 'tas'|'T2'|'t2m'|'Temperature 2m') varname='tas' ;; 62 'time'|'time_counter') varname='time' ;; 63 'ua'|'vitu'|'U'|'Zonal wind') varname='ua' ;; 64 'uas'|'u10m'|'U10'|'Vent zonal 10m') varname='uas' ;; 65 'va'|'vitv'|'V'|'Meridional wind') varname='va' ;; 66 'vas'|'v10m'|'V10'|'Vent meridien 10m') varname='vas' ;; 67 'wake_h'|'LWAKE_H') varname='wakeh' ;; 68 'wake_s'|'LWAKE_S') varname='wakes' ;; 69 'wss'|'SPDUV') varname='wss' ;; 70 'xtime'|'XTIME') varname='xtime' ;; 71 'zg'|'WRFght'|'Geopotential height') varname='zg' ;; 72 'zmax_th'|'LZMAX_TH') varname='zmax_th' ;; 73 'zmla'|'LS_PBLH'|'s_pblh') varname='zmla' ;; 74 *) 75 echo $errormsg 76 echo " "${fname}": variable '"$1"' not defined !!!" 77 exit 78 ;; 79 esac 80 81 varvals=`cat ${variablesfile} | grep ' '${varname}' ' | tr '@' ' '` 82 varvalsT=`cat ${variablesfile} | grep ' '${varname}' ' | tr ' ' '#'` 83 Lvarvals=`expr length ${varvalsT}'0'` 84 85 if test ${Lvarvals} -le 1; then 86 echo ${errormsg} 87 echo " "${fname}": variable name '"${varname}"' not defined in file '" \ 88 ${variablesfile}"' !!!" 16 echo " "${fname}": file '"${fileval}"' does not exist!!" 89 17 exit 90 18 fi 91 92 echo ${varvals} 19 20 Nlin=`wc -l ${fileval} | awk '{print $1}'` 21 22 ilin=1 23 while test ${ilin} -le ${Nlin}; do 24 line=`head -n ${ilin} ${fileval} | tail -n 1` 25 varname=`echo ${line} | tr '=' ' ' | awk '{print $1}'` 26 value=`echo ${line} | tr '=' ' ' | awk '{print $2}'` 27 Lvarname=`expr length ${varname}'0'` 28 29 if test ${Lvarname} -gt 1 && test ! ${varname:0:1} = '#'; then 30 export ${varname}=${value} 31 fi 32 ilin=`expr ${ilin} + 1` 33 done 93 34 } 94 35 … … 111 52 ####### 112 53 113 ifold='/bdd/PCER/workspace/lfita/etudes/WRF_LMDZ/WaquaL/WRF_LMDZ' 114 #ofold='/san0/lflmd/etudes/WRF_LMDZ/WaquaL/LMDZ' 115 ofold='/bdd/PCER/workspace/lfita/etudes/WRF_LMDZ/WaquaL/WRF_LMDZ' 116 117 experiments='AR40:NPv31' 118 #varkinds='mean:sfc:diag' 119 varkinds='sfc' 120 121 mean_variables='dim2mean|WRFt:dim2mean|U:dim2mean|V:dim2mean|WRFght:dim2mean|WRFrh' 122 123 # Variables to compute longitudinal means for a Hovmoeller 124 sfc_variables='dim2mean|T2:dim2mean|U10:dim2mean|V10:dim2mean|PSFC:dim2mean|RAINTOT:' 125 sfc_variables=${sfc_variables}'dim2mean|SWDOWN:dim2mean|WRFprw:dim2mean|WRFrhs:' 126 sfc_variables=${sfc_variables}'dim2mean|HFX:dim2mean|LH:dim2mean|Q2:' 127 sfc_variables=${sfc_variables}'dim2mean|PBLH:dim2mean|QFX:' 128 sfc_variables='dim2mean|RAINTOT' 129 sfc_variables_AR40=${sfc_variables} 130 sfc_variables_NPv31=${sfc_variables}':dim2mean|LWAKE_S:dim2mean|LWAKE_H:dim2mean|LS_THERM:' 131 sfc_variables_NPv31=${sfc_variables_NPv31}'dim2mean|LZMAX_TH' 132 133 # Variables to get from the diagnostics 134 diag_variables='dim2mean|clt:dim2mean|cllmh:' 135 diag_variables=${diag_variables}'dim2mean|WRFprc:dim2mean|WRFprls:' 136 #diag_variables=${diag_variables}'dim2mean|WRFbils' 137 138 # Variables to compute temporal means on a 2D map 139 #var2Dtmeans_AR40='WRFprc:WRFprls:PBLH:QFX:HFX:LH:WRFbils' 140 var2Dtmeans_AR40='WRFprc:WRFprls:PBLH:QFX:HFX:LH' 141 var2Dtmeans_AR40='WRFprc:WRFprls:PBLH:QFX:HFX:LH:WRFbils:RAINTOT:U10:V10:T2:' 142 var2Dtmeans_AR40=${var2Dtmeans_AR40}'PSFC:clt:cll:clm:clh:cllmh:WRFprw:Q2:pr:prw' 143 144 var2Dtmeans_NPv31=${var2Dtmeans_AR40}':LWAKE_S:LWAKE_H:LS_THERM:LZMAX_TH' 145 146 #inst_variables='mclt_lmdz:pr_lmdz:mwss' 147 graph_couples_mean='hus@ta:va@ua' 148 graph_couples_sfc='tas@ps:uas@vas:pr@rsds:prw@huss:prls@prc:' 149 #graph_couples_sfc=${graph_couples_sfc}'hfls@hfss:evspsbl@bils' 150 graph_couples_sfc=${graph_couples_sfc}'hfls@hfss' 151 graph_couples_sfc_AR40=${graph_couples_sfc} 152 graph_couples_sfc_NPv31=${graph_couples_sfc}':zmaxth@stherm:wakeh@wakes:zmaxth@stherm' 153 graph_couples_diag='prls@prc:clt@cll:clh@clm' 154 #graph_couples_z='dtcon@pluc' 155 156 #graph_couples_diag='prls@prc' 157 158 lon2DZsecvars='WRFt:U:V:WRFrh:WRFght' 159 lon2DZsecpts=9:15:21 160 161 # Differences between experiments 162 diffkinds='diffZ:diffH' 163 diffZvars='ua:va:ta:hus' 164 diffHvars='uas:vas:ps:pr' 165 166 filenmean='vertical_interpolation_WRFp.nc' 167 #ifoldmean='/media/data1/etudes/WRF_LMDZ/WaquaL/WRF_LMDZ' 168 ifoldmean='/bdd/PCER/workspace/lfita/etudes/WRF_LMDZ/WaquaL/WRF_LMDZ' 169 170 filensfc='wrfout_d01_1980-03-01_00:00:00' 171 #ifoldsfc='/media/data1/etudes/WRF_LMDZ/WaquaL/WRF_LMDZ' 172 ifoldsfc='/bdd/PCER/workspace/lfita/etudes/WRF_LMDZ/WaquaL/WRF_LMDZ' 173 174 filendiag='diagnostics.nc' 175 ifolddiag='/bdd/PCER/workspace/lfita/etudes/WRF_LMDZ/WaquaL/WRF_LMDZ' 54 # Uploading environment 55 uploadvars model_graphics.dat 56 57 export 58 exit 59 176 60 177 61 timeval='tstep' 178 62 zval='null' 179 63 dimval='lon,lat,pressure,time' 180 kindval='pdf'181 64 182 65 compute=0 … … 186 69 lonZsec=false 187 70 differences=true 188 189 plevels='100000.,97500.,95000.,92500.,90000.,85000.,80000.,75000.,70000.,'190 plevels=${plevels}'65000.,60000.,55000.,50000.,45000.,40000.,35000.,30000.,'191 plevels=${plevels}'25000.,20000.,15000.,10000.,5000.,2500.,1000.,'192 plevels=${plevels}'500.,250.'193 194 # Couples to draw on a 2D map195 coup2D_AR40='prls@prc::zmla@tmla:hfls@hfss:evspsbl@bils'196 coup2D_NPv31=${coup2D_AR40}':wakeh@wakes:zmaxth@stherm'197 71 198 72 combosfile=${HOMEpy}/diagnostics.inf
Note: See TracChangeset
for help on using the changeset viewer.