| 1 | ### ASCII file to manage `model_graphics.bash' from different models and experiments |
|---|
| 2 | # from each one |
|---|
| 3 | # |
|---|
| 4 | # 1: Variables choice using its CF name |
|---|
| 5 | # 2: Kind of statisitcs to apply to the variable |
|---|
| 6 | # 3: Kind of plot for the variable |
|---|
| 7 | # 4: Kind of difference among models/experiments |
|---|
| 8 | # |
|---|
| 9 | # Different assumptions are made: |
|---|
| 10 | # - model outputs are organized as ${ifold}/${model}/${exp} |
|---|
| 11 | # - script outputs will be organized as ${ofold}/${model}/${exp} |
|---|
| 12 | # - when diagnostic might be required a new file will be created |
|---|
| 13 | # - WRF outputs will have added 'WRFtime' variable |
|---|
| 14 | # |
|---|
| 15 | # NOTE: in this file all the values are ':' separated lists without ' |
|---|
| 16 | |
|---|
| 17 | # python HOME |
|---|
| 18 | pyHOME = /home/lluis/etudes/WRF_LMDZ/svn/LMDZ_WRF/tools |
|---|
| 19 | # cdo HOME |
|---|
| 20 | cdoHOME = /home/lluis/bin/gcc_cdo/1.6.4rc6/bin/cdo |
|---|
| 21 | |
|---|
| 22 | # Srcatch: should be any previous work removed and start from the scratch? |
|---|
| 23 | scratch = false |
|---|
| 24 | |
|---|
| 25 | # Scratch files: should be any files previous work removed and start from the scratch? |
|---|
| 26 | filescratch = false |
|---|
| 27 | |
|---|
| 28 | # Scratch figures: should be any figures previous work removed and start from the scratch? |
|---|
| 29 | figscratch = false |
|---|
| 30 | |
|---|
| 31 | # Scratch differences: should be any differences previous work removed and start from the scratch? |
|---|
| 32 | diffscratch = false |
|---|
| 33 | |
|---|
| 34 | # Scratch difference figures: should be any figures previous work removed and start from the scratch? |
|---|
| 35 | figdiffscratch = false |
|---|
| 36 | |
|---|
| 37 | # Have new files been added and do they need to be processed? |
|---|
| 38 | addfiles = true |
|---|
| 39 | |
|---|
| 40 | # Have new figures been added and do they need to be drawn? |
|---|
| 41 | addfigures = true |
|---|
| 42 | |
|---|
| 43 | # Have new differences been added and do they need to be processed and drawn? |
|---|
| 44 | adddiffs = true |
|---|
| 45 | |
|---|
| 46 | # Have new difference figures been added and do they need to be drawn? |
|---|
| 47 | adddifffigures = true |
|---|
| 48 | |
|---|
| 49 | # Debug |
|---|
| 50 | debug = false |
|---|
| 51 | |
|---|
| 52 | # Folder with the files |
|---|
| 53 | ##ifold = /bdd/PCER/workspace/lfita/etudes/WRF_LMDZ/WaquaL/WRF_LMDZ |
|---|
| 54 | ifold = /home/lluis/etudes/WRF_LMDZ/WaquaL_highres/tests/model_graphics |
|---|
| 55 | |
|---|
| 56 | # Output folder |
|---|
| 57 | ##ofold = /bdd/PCER/workspace/lfita/etudes/WRF_LMDZ/WaquaL/WRF_LMDZ |
|---|
| 58 | ofold = /home/lluis/etudes/WRF_LMDZ/WaquaL_highres/tests/model_graphics |
|---|
| 59 | |
|---|
| 60 | # Experiments (model runs) |
|---|
| 61 | # WRF: WRF |
|---|
| 62 | # LMDZ: LMDZ model |
|---|
| 63 | # WRF_LMDZ: LMDZ physics coupled to WRF |
|---|
| 64 | #models=WRF:WRF_LMDZ:LMDZ |
|---|
| 65 | models=WRF |
|---|
| 66 | |
|---|
| 67 | # Experiments (labels of each experiment) |
|---|
| 68 | WRFexps = control:pbl1 |
|---|
| 69 | LMDZexps = AR40:NPv31 |
|---|
| 70 | WRF_LMDZexps = AR40:NPv31 |
|---|
| 71 | |
|---|
| 72 | # Headers of the files to use |
|---|
| 73 | WRFheaders = wrfout |
|---|
| 74 | WRF_LMDZheaders = wrfout |
|---|
| 75 | LMDZheaders = histins |
|---|
| 76 | |
|---|
| 77 | # CF times characteristics |
|---|
| 78 | # Reference time and units of the CF time for the output files |
|---|
| 79 | CFreftime = 19491201000000 |
|---|
| 80 | CFunitstime = minutes |
|---|
| 81 | |
|---|
| 82 | # Kind of calculations (adding the equivalent `surname' to each variable) |
|---|
| 83 | # acc: temporal accumulated values |
|---|
| 84 | # diff: differences between models |
|---|
| 85 | # direct: no statistics |
|---|
| 86 | # last: last temporal value |
|---|
| 87 | # Lmean: latitudinal mean values |
|---|
| 88 | # Lsec: latitudinal section (latitudinal value must be given, [var]@[lat]) |
|---|
| 89 | # lmean: longitudinal mean values |
|---|
| 90 | # lsec: longitudinal section (longitudinal value must be given, [var]@[lat]) |
|---|
| 91 | # pinterp: pressure interpolation (to the given $plevels, see below) |
|---|
| 92 | # tmean: temporal mean values |
|---|
| 93 | # tstd: temporal standard deviation values |
|---|
| 94 | # turb: Taylor's turbulence decomposition value |
|---|
| 95 | # tvar: temporal variance values (Taylor's turbulence) |
|---|
| 96 | # xmean: x-axis mean values |
|---|
| 97 | # ymean: y-axis mean values |
|---|
| 98 | # zsum: vertical aggregated values |
|---|
| 99 | # variables (providing CF-name, script must provide equivalent variable for each model) |
|---|
| 100 | # in foudre values from: ${HOME}/UNSW-CCRC-WRF/tools/postprocess/GMS-UC/WRF4G/util/postprocess/wrfncxnj/wrfncxnj.table |
|---|
| 101 | # must exist on the table $pyHOME/variables_values.dat |
|---|
| 102 | # |
|---|
| 103 | # Variables to compute (as possible multiple consecutive combination of operations must start by 'VAR_' separated by '+' |
|---|
| 104 | # VAR_[calc1]+[calc2] = tas:wss |
|---|
| 105 | # will compute first [calc1] and then [calc2] for 'tas' and 'wss' |
|---|
| 106 | VAR_last = uas:vas:hfss:hfls |
|---|
| 107 | VAR_tmean = uas:vas:hfss:hfls |
|---|
| 108 | VAR_tstd = tas:wss |
|---|
| 109 | VAR_tvar = tas:wss |
|---|
| 110 | VAR_xmean = uas:vas:hfss:hfls |
|---|
| 111 | #VAR_last+pinterp+xmean = ua:va:hur:hus:turb |
|---|
| 112 | VAR_pinterp+tmean+xmean = ua:va |
|---|
| 113 | |
|---|
| 114 | #varlast = tas:uas:vas:ps:pr:pracc:rsds:prw:evspsbl:hfss:hfls:hurs:huss:zmla:hufs:wakes:lwakeh:stherm:zmaxth:clt:cll:clm:clh:prc:prls:bils:wss |
|---|
| 115 | #vartmean = tas:uas:vas:ps:pr:pracc:rsds:prw:evspsbl:hfss:hfls:hurs:huss:zmla:hufs:wakes:lwakeh:stherm:zmaxth:clt:cll:clm:clh:prc:prls:bils:wss |
|---|
| 116 | #varxmean = ta:ua:va:hur:hurs:tas:wss:ps |
|---|
| 117 | #varpinterp = ta:ua:va:hur:ws:hus |
|---|
| 118 | #varcombo = ta;pinterp@last@xmean:ua;pinterp@last@xmean:va;pinterp@last@xmean:hur;pinterp@last@xmean:ws;pinterp@turb@xmean:hus;pinterp@turb@xmean |
|---|
| 119 | |
|---|
| 120 | # Differences to compute |
|---|
| 121 | # These differences will be computed among experiments and among models (and model-experiments) |
|---|
| 122 | # ':' separated list of [var]|[op] |
|---|
| 123 | # DIFFOP_[op]: differences of the [op] of [var]. NOTE: [op] must exist for each experiment |
|---|
| 124 | # Differences are computed directly from the last stage of the operation |
|---|
| 125 | # DIFFVAR_[op]: [op] of the [var] differences [var]. NOTE: [var] must exist for each experiment |
|---|
| 126 | # First are computed the differences from the initial variable file and then operations are made |
|---|
| 127 | # NOTE: remember that: meanvar2 - meanvar1 = mean(var2 - var1) |
|---|
| 128 | DIFFOP_last = hfls:hfss |
|---|
| 129 | DIFFOP_xmean = uas:vas |
|---|
| 130 | DIFFOP_tmean = hfss:hfls |
|---|
| 131 | DIFFOP_tstd = tas:wss |
|---|
| 132 | DIFFOP_tvar = tas:wss |
|---|
| 133 | DIFFOP_pinterp+tmean+xmean = ua:va |
|---|
| 134 | |
|---|
| 135 | DIFFVAR_last = hfls:hfss |
|---|
| 136 | DIFFVAR_xmean = uas:vas |
|---|
| 137 | DIFFVAR_tmean = hfss:hfls |
|---|
| 138 | DIFFVAR_tstd = tas:wss |
|---|
| 139 | DIFFVAR_tvar = tas:wss |
|---|
| 140 | DIFFVAR_pinterp+tmean+xmean = ua:va |
|---|
| 141 | |
|---|
| 142 | # Operations which attach a 'surname' at the end of the variable name |
|---|
| 143 | # Values are given as opsur_[surname] = [operation1]:[operation2][:...[operationN]] |
|---|
| 144 | # opsur_mean = tmean:xmean |
|---|
| 145 | # once 'tmean', or 'xmean' are computed, variable [varn] will become [varn]mean |
|---|
| 146 | opsur_mean = Lmean:lmean:tmean:xmean:ymean |
|---|
| 147 | opsur_std = tstd |
|---|
| 148 | opsur_var = tvar |
|---|
| 149 | |
|---|
| 150 | # Text as title for each operation |
|---|
| 151 | # as ':' separated list of [op]|[explanation '!' as spaces] |
|---|
| 152 | titleoperations = acc|tacc:diff|diff:direct|!:last|last:Lmean|latmean:Lsec|latsec:lmean|lonmean:lsec|lonsec:pinterp|pinterp:tmean|tmean:tstd|tstd:turb|turbulence:tvar|tvar:xmean|xmean:ymean|ymean:zsum|zsum |
|---|
| 153 | |
|---|
| 154 | # Pressure levels |
|---|
| 155 | # Common vertical pressure levels (in Pa) to vertically interpolate |
|---|
| 156 | #39Lowp#plevels = 100500.:100000.:98500.:97500.:95000.:92500.:90000.:87500.:85000.:80000.:75000.:70000.:65000.:60000.:55000.:50000.:45000.:40000.:35000.:30000.:25000.:20000.:15000.:10000.:900.:800.:700.:600.:500.:400.:300.:200.::1000.:85.:50.:40.:30.:20.:10. |
|---|
| 157 | #26#plevels = 100000.:97500.:95000.:92500.:90000.:85000.:80000.:75000.:70000.:65000.:60000.:55000.:50000.:45000.:40000.:35000.:30000.:25000.:20000.:15000.:10000.:5000.:2500.:1000.:500.:250. |
|---|
| 158 | plevels = 100000.:97500.:95000.:92500.:90000.:85000.:80000.:75000.:70000.:65000.:60000.:55000.:50000.:45000.:40000.:35000.:30000.:25000.:20000.:15000.:10000.:5000.:2500.:1000.:500.:250. |
|---|
| 159 | |
|---|
| 160 | # ':' separated list of models to use as reference for the common projection |
|---|
| 161 | RefProj = WRF:WRF_LMDZ |
|---|
| 162 | |
|---|
| 163 | # CDO remapping option to be used for each variable |
|---|
| 164 | # ':' separated list for each of CDO's operators (version depending) to use for each variable |
|---|
| 165 | # List of available remapping operators from CDO v 1.6.4rc6 |
|---|
| 166 | # remapbil Bilinear interpolation |
|---|
| 167 | # Performs a bilinear interpolation on all input fields. |
|---|
| 168 | # This interpolation method only works on quadrilateral curvilinear grids. |
|---|
| 169 | # remapbic Bicubic interpolation |
|---|
| 170 | # Performs a bicubic interpolation on all input fields. |
|---|
| 171 | # This interpolation method only works on quadrilateral curvilinear grids. |
|---|
| 172 | # remapdis Distance-weighted average remapping |
|---|
| 173 | # Performs a distance-weighted average remapping of the four nearest neighbor |
|---|
| 174 | # values on all input fields. |
|---|
| 175 | # remapnn Nearest neighbor remapping |
|---|
| 176 | # Performs a nearest neighbor remapping on all input fields. |
|---|
| 177 | # remapcon First order conservative remapping |
|---|
| 178 | # Performs a first order conservative remapping on all input fields. |
|---|
| 179 | # remapcon2 Second order conservative remapping |
|---|
| 180 | # Performs a second order conservative remapping on all input fields. |
|---|
| 181 | # remaplaf Largest area fraction remapping |
|---|
| 182 | # Performs a largest area fraction remapping on all input fields. |
|---|
| 183 | CDOremapvar_dis = uas:vas:wss |
|---|
| 184 | CDOremapvar_con = hfls:hfss:hus |
|---|
| 185 | CDOremapvar_bic = tas:ta |
|---|
| 186 | |
|---|
| 187 | # Kind of plots |
|---|
| 188 | # diffmap2Dsfc: 2D map of surface differences values of 1 variable |
|---|
| 189 | # diffmap2Dz: 2D map of 3D differences values of 1 variable |
|---|
| 190 | # map2Dsfc: 2D map of surface values of 1 variable |
|---|
| 191 | # shadconthovmsfc: Hovmoeller diagrams of 2 variables at the surface one in shadow and the other in contourn |
|---|
| 192 | # shadcont2Dsfc: 2D map of shadow (1st variable) and countour (2nd variable) [stvar1]#[stvar2] |
|---|
| 193 | # shadcont2Dzsec: 2D map of vertical section of 2 variables one in shadow and the other in contourn |
|---|
| 194 | # |
|---|
| 195 | # ':' separated list of statitsics variable values are given as: [var]|['+' separated list of operations] |
|---|
| 196 | # in figures with more than 1 variable, use '#' to separate them |
|---|
| 197 | # DIRPLT_: Figures which can be made directly without another model/experiment output |
|---|
| 198 | |
|---|
| 199 | DIRPLT_shadcont2Dsfc = uas|last#vas|last:hfls|last#hfss|last:tas|tstd#wss|tstd:wss|tvar#tas|tvar |
|---|
| 200 | DIRPLT_shadconthovmsfc = hfls|xmean#hfss|xmean |
|---|
| 201 | DIRPLT_shadcont2Dzsec = ua|pinterp+tmean+xmean#va|pinterp+tmean+xmean |
|---|
| 202 | |
|---|
| 203 | #pltshadcont2Dsfc = huss|tmean#tas|tmean:vas|tmean#uas|tmean:ps|tmean#wss|tmean:pr|tmean#rsds|tmean:prw|tmean#clt|tmean:hfls|tmean#hfss|tmean:evspsbl|tmean#bils|tmean:zmaxth|tmean#stherm|tmean:wakeh|tmean#wakes|tmean:zmaxth|tmean#stherm|tmean:prls|tmean#prc|tmean:clt|tmean#cll|tmean:clm|tmean#clh|tmean:hurs|tmean#zmla|tmean:huss|last#tas|last:vas|last#uas|last:ps|last#wss|tmean:pr|last#rsds|last:prw|last#clt|last:hfls|last#hfss|last:evspsbl|last#bils|last:zmaxth|last#stherm|last:wakeh|last#wakes|last:zmaxth|last#stherm|last:prls|last#prc|last:clt|last#cll|last:clm|last#clh|last:hurs|last#zmla|last |
|---|
| 204 | #pltshadconthovmsfc = hurs|xmean#tas|xmean:wss|xmean#ps|xmean |
|---|
| 205 | #pltshadcont2Dzsec = ua|pinterp@last@xmean#va|pinterp@last@xmean:hur|pinterp@last@xmean#ta|pinterp@last@xmean:ws|pinterp@turb@xmean#hus|pinterp@turb@xmean |
|---|
| 206 | |
|---|
| 207 | PLOTDIFFOP_shadcont2Dsfc = hfls|last#hfss|last:hfss|tmean#hfls|tmean:tas|tstd#wss|tstd:wss|tvar#tas|tvar |
|---|
| 208 | PLOTDIFFOP_shadconthovmsfc = uas|xmean#vas|xmean |
|---|
| 209 | PLOTDIFFOP_shadcont2Dzsec = ua|pinterp+tmean+xmean#va|pinterp+tmean+xmean |
|---|
| 210 | |
|---|
| 211 | PLOTDIFFVAR_shadcont2Dsfc = hfls|last#hfss|last:hfss|tmean#hfls|tmean:tas|tstd#wss|tstd:wss|tvar#tas|tvar |
|---|
| 212 | PLOTDIFFVAR_shadconthovmsfc = uas|xmean#vas|xmean |
|---|
| 213 | PLOTDIFFVAR_shadcont2Dzsec = ua|pinterp+tmean+xmean#va|pinterp+tmean+xmean |
|---|
| 214 | |
|---|
| 215 | # Specific variable-statistisc graphic parameters (if no value is given, they will be retrieved from 'variables_values.dat') |
|---|
| 216 | # ':' separated list of specific parameters for plotting as: |
|---|
| 217 | # [varname]|[operation]|[minval]|[maxval]|[colorbar]|[cntformat]|[colorcnt] |
|---|
| 218 | # [varname]: name of the variable |
|---|
| 219 | # [operation]: '+' separated list of operations |
|---|
| 220 | # [figure]: figure to be used |
|---|
| 221 | # [minval]: minimum value |
|---|
| 222 | # [maxval]: minimum value |
|---|
| 223 | # [colorbar]: name of the colorbar (from matplotlib) to use |
|---|
| 224 | # [cntformat]: format of the contour labels |
|---|
| 225 | # [cntkind]: kind of contours |
|---|
| 226 | # 'cmap': as it gets from colorcnt (which in this case must be a valid colorbar) |
|---|
| 227 | # 'fixc': fixed color [colname], all stright lines |
|---|
| 228 | # 'fixsigc': fixed color [colname], >0 stright, <0 dashed line |
|---|
| 229 | # [colorcnt]: color for the countor lines |
|---|
| 230 | specificvarplot = cll|last|shadcont2Dsfc|0.|1.|gist_gray|%g|fixc|black:clh|last|shadcont2Dsfc|0.|1.|gist_gray|%g|fixc|black:husturbmean|pinterp@turb@xmean|shadcont2Dzsec|0.|1.e-6|Blues|%g|fixc|black:tas|tstd|shadcont2Dsfc|0.|10.|Reds|%g|fixc|black:wss|tstd|shadcont2Dsfc|0.|10.|Blues|%g|fixc|black:tas|tstd|shadcont2Dsfc|0.|100.|Reds|%g|fixc|black:wss|tstd|shadcont2Dsfc|0.|100.|Blues|%g|fixc|black:hfss|xmean|shadconthovmsfc|-40.|40.|Reds|%g|fixc|black:tas|tstd|shadcont2Dsfc|0.|1.5|Reds|%g|fixc|black:tas|tvar|shadcont2Dsfc|0.|1.5|Reds|%g|fixc|black:wss|tstd|shadcont2Dsfc|0.|8.|Greens|%g|fixc|black |
|---|
| 231 | specificdiffopplot = hfls|tmean|shadcont2Dsfc|-20.|20.|seismic|%g|fixsigc|black:hfss|tmean|shadcont2Dsfc|-30.|30.|seismic|%g|fixsigc|black:hfls|last|shadcont2Dsfc|-800.|0.|seismic|%g|fixsigc|black:hfss|last|shadcont2Dsfc|-400.|10.|seismic|%g|fixsigc|black:uas|xmean|shadcont2Dsfc|-20.|20.|seismic|%g|fixsigc|black:vas|xmean|shadcont2Dsfc|-30.|30.|seismic|%g|fixsigc|black:ua|pinterp+tmean+xmean|shadcont2Dsfc|-20.|20.|seismic|%g|fixsigc|black:va|pinterp+tmean+xmean|shadcont2Dsfc|-20.|20.|seismic|%g|fixsigc|black:tas|tstd|shadcont2Dsfc|0.|10.|Reds|%g|fixsigc|black:wss|tstd|shadcont2Dsfc|0.|10.|Blues|%g|fixsigc|black:tas|tstd|shadcont2Dsfc|0.|100.|Reds|%g|fixsigc|black:wss|tstd|shadcont2Dsfc|0.|100.|Blues|%g|fixsigc|black:hfss|xmean|shadconthovmsfc|-40.|40.|Reds|%g|fixsigc|black:hus|pinterp+tmean+xmean|shadcont2Dzsec|-0.001|0.001|seismic|%g|fixsigc|black:ta|pinterp+tmean+xmean|shadcont2Dzsec|-5.|5.|seismic|%g|fixsigc|black |
|---|
| 232 | specificdiffvarplot = hfls|tmean|shadcont2Dsfc|-20.|20.|seismic|%g|fixsigc|black:hfss|tmean|shadcont2Dsfc|-30.|30.|seismic|%g|fixsigc|black:hfls|last|shadcont2Dsfc|-800.|0.|seismic|%g|fixsigc|black:hfss|last|shadcont2Dsfc|-400.|10.|seismic|%g|fixsigc|black:uas|xmean|shadcont2Dsfc|-20.|20.|seismic|%g|fixsigc|black:vas|xmean|shadcont2Dsfc|-30.|30.|seismic|%g|fixsigc|black:ua|pinterp+tmean+xmean|shadcont2Dsfc|-20.|20.|seismic|%g|fixsigc|black:va|pinterp+tmean+xmean|shadcont2Dsfc|-20.|20.|seismic|%g|fixsigc|black:tas|tstd|shadcont2Dsfc|0.|10.|Reds|%g|fixsigc|black:wss|tstd|shadcont2Dsfc|0.|10.|Blues|%g|fixsigc|black:tas|tstd|shadcont2Dsfc|0.|100.|Reds|%g|fixsigc|black:wss|tstd|shadcont2Dsfc|0.|100.|Blues|%g|fixsigc|black:hfss|xmean|shadconthovmsfc|-40.|40.|Reds|%g|fixsigc|black:hus|pinterp+tmean+xmean|shadcont2Dzsec|-0.001|0.001|seismic|%g|fixsigc|black:ta|pinterp+tmean+xmean|shadcont2Dzsec|-5.|5.|seismic|%g|fixsigc|black |
|---|
| 233 | |
|---|
| 234 | # Figures output kind |
|---|
| 235 | kindfig = pdf |
|---|
| 236 | |
|---|
| 237 | # Map to use |
|---|
| 238 | mapval = lcc,l |
|---|
| 239 | |
|---|
| 240 | # Time parameters |
|---|
| 241 | # [timekind]; kind of output for the time ticks |
|---|
| 242 | # 'Nval': according to a given number of values as 'Nval',[Nval] |
|---|
| 243 | # 'exct': according to an exact number [Nunits] of time unit as 'exct',[tunit]; |
|---|
| 244 | # tunit= [Nunits],[tu] |
|---|
| 245 | # [tu]= 'c': centuries, 'y': year, 'm': month, 'w': week, 'd': day, 'h': hour, 'i': minute, 's': second, 'l': milisecond |
|---|
| 246 | # [timefmt]; desired format for the time ticks (combination of LaTeX and 'linux date formats') |
|---|
| 247 | # [timelabel]; label at the graph ('!' for spaces) |
|---|
| 248 | timekind = exct,6,h |
|---|
| 249 | timefmt = $%d^{%H}$ |
|---|
| 250 | timelabel = date!($[DD]^{[HH]}$) |
|---|
| 251 | |
|---|
| 252 | # Generic |
|---|
| 253 | errmsg = ERROR--error--ERROR--error |
|---|
| 254 | warnmsg = WARNING--warning--WARNING--warning |
|---|
| 255 | |
|---|