CDXWRFevolution

De Wikicima
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(v1.1: 2018 July 5th)
Línea 3: Línea 3:
 
= v1.1: 2018 July 5th =
 
= v1.1: 2018 July 5th =
 
This version covers:
 
This version covers:
* Important improvements in performance of the model when module is activated
+
* Important improvements in performance of the model when module is activated
* Fixing calculation of rlugen
+
* Fixing calculation of rlugen
* Fixing attributes in tauu, tauv, taugen and tauvgen variables (thanks to Muralidhar Adakudlu)
+
* Fixing attributes in tauu, tauv, taugen and tauvgen variables (thanks to Muralidhar Adakudlu)
   
 
== Performance improvements ==
 
== Performance improvements ==
Línea 13: Línea 13:
   
 
Accordingly to the value given to the pre-compilation variable <code>CDXWRF</code> one obtains:
 
Accordingly to the value given to the pre-compilation variable <code>CDXWRF</code> one obtains:
* Without adding the variable: all <code>CORDEX</code> 'Core' variables
+
* Without adding the variable: all <code>CORDEX</code> 'Core' variables
* <code>CDXWRF=1</code> CORDEX 'Tier' variables: <code>clivg, clivh, zmla, [cape/cin/zlfc/plfc/lidx]{min/max/mean}</code>
+
* <code>CDXWRF=1</code> CORDEX 'Tier' variables: <code>clivg, clivh, zmla, [cape/cin/zlfc/plfc/lidx]{min/max/mean}</code>
* <code>CDXWRF=2</code> The same as with <code>CDXWRF=1</code> and additional variables: <code>ua, va, ws, ta, press, zg, hur, hus, tfog, fogvisbltymin, fogvisbltymax, fogvisbltymean, tdsmin, tdsmax, tdsmean and the Water-Budget relarted ones: wbacdiabh, wbacpw, wbacpw[c/r/s/i/g/h], wbacf, wbacf[c/r/s/i/g/h], wbacz, wbacz[c/r/s/i/g/h], wbacdiabh{l/m/h}, wbacpw{l/m/h}, wbacpw[c/r/s/i/g/h]{l/m/h}, wbacf{l/m/h}, wbacf[c/r/s/i/g/h]{l/m/h}, wbacz{l/m/h}, wbacz[c/r/s/i/g/h]{l/m/h}</code>
+
* <code>CDXWRF=2</code> The same as with <code>CDXWRF=1</code> and additional variables: <code>ua, va, ws, ta, press, zg, hur, hus, tfog, fogvisbltymin, fogvisbltymax, fogvisbltymean, tdsmin, tdsmax, tdsmean and the Water-Budget relarted ones: wbacdiabh, wbacpw, wbacpw[c/r/s/i/g/h], wbacf, wbacf[c/r/s/i/g/h], wbacz, wbacz[c/r/s/i/g/h], wbacdiabh{l/m/h}, wbacpw{l/m/h}, wbacpw[c/r/s/i/g/h]{l/m/h}, wbacf{l/m/h}, wbacf[c/r/s/i/g/h]{l/m/h}, wbacz{l/m/h}, wbacz[c/r/s/i/g/h]{l/m/h}</code>
   
 
Simultanesouly, one needs to modify the Registry/registry.cordex accordingly to the value of <code>CDXWRF</code>:
 
Simultanesouly, one needs to modify the Registry/registry.cordex accordingly to the value of <code>CDXWRF</code>:
* Without adding <code>CDXWRF</code>, nothing needs to be changed
+
* Without adding <code>CDXWRF</code>, nothing needs to be changed
* Adding <code>CDXWRF=1</code>, one needs to remove the comment <code>##CDXWRF1##</code> at the beginning of the line of the definition of certain variables
+
* Adding <code>CDXWRF=1</code>, one needs to remove the comment <code>##CDXWRF1##</code> at the beginning of the line of the definition of certain variables
* Adding <code>CDXWRF=2</code>, one needs to remove the comment <code>##CDXWRF1##</code> and <code>##CDXWRF2##</code> at the beginning of the line of the definition of certain variables
+
* Adding <code>CDXWRF=2</code>, one needs to remove the comment <code>##CDXWRF1##</code> and <code>##CDXWRF2##</code> at the beginning of the line of the definition of certain variables
   
 
== Fixing 'rlugen' ==
 
== Fixing 'rlugen' ==

Revisión de 14:23 9 ago 2018

Here is kept the evolution of the code

Contenido

v1.1: 2018 July 5th

This version covers:

  • Important improvements in performance of the model when module is activated
  • Fixing calculation of rlugen
  • Fixing attributes in tauu, tauv, taugen and tauvgen variables (thanks to Muralidhar Adakudlu)

Performance improvements

Module was increasing time-step at least by a 40%. In order to reduce it, a new pre-compilation flag has been added. It adds a little bit more of work to the compilation, but it makes possible to only add an extra 5% to model integration when module is integrated (see attached figure).

This new pre-compilation flag is called CDXWRF. It has to be added (or not) after -DCORDEXDIAG. At the same time, before compilation, user needs to introduce changes into the Registry/registry.cordex file. This new flag, now controls the quantity of variables to be retrieved, splitting them to the standard CORDEX 'Core', 'Tier1' and 'additional' variables.

Accordingly to the value given to the pre-compilation variable CDXWRF one obtains:

  • Without adding the variable: all CORDEX 'Core' variables
  • CDXWRF=1 CORDEX 'Tier' variables: clivg, clivh, zmla, [cape/cin/zlfc/plfc/lidx]{min/max/mean}
  • CDXWRF=2 The same as with CDXWRF=1 and additional variables: ua, va, ws, ta, press, zg, hur, hus, tfog, fogvisbltymin, fogvisbltymax, fogvisbltymean, tdsmin, tdsmax, tdsmean and the Water-Budget relarted ones: wbacdiabh, wbacpw, wbacpw[c/r/s/i/g/h], wbacf, wbacf[c/r/s/i/g/h], wbacz, wbacz[c/r/s/i/g/h], wbacdiabh{l/m/h}, wbacpw{l/m/h}, wbacpw[c/r/s/i/g/h]{l/m/h}, wbacf{l/m/h}, wbacf[c/r/s/i/g/h]{l/m/h}, wbacz{l/m/h}, wbacz[c/r/s/i/g/h]{l/m/h}

Simultanesouly, one needs to modify the Registry/registry.cordex accordingly to the value of CDXWRF:

  • Without adding CDXWRF, nothing needs to be changed
  • Adding CDXWRF=1, one needs to remove the comment ##CDXWRF1## at the beginning of the line of the definition of certain variables
  • Adding CDXWRF=2, one needs to remove the comment ##CDXWRF1## and ##CDXWRF2## at the beginning of the line of the definition of certain variables

Fixing 'rlugen'

There was a mistake on the calculation of the variable 'rlugen'.

It was: rlusgen = ctBoltzman*ts**4

and it should be, and fixed to rlusgen = emiss*ctBoltzman*ts**4

whre 'emiss' corresonds to the emissivity of the surface

Fixing attributes in tauu, tauv, taugen and tauvgen variables

Muralidhar Adakudlu found that the attributes (description of the variables) was flipped from eastward to northward and viceversa. It has been corrected

v1.0: 2018 May 28th

First public release of the code

known issues

  • too slow: module adds at least a 40% on time-integration. Different strategies are being considered:
    • Adding p-interpolation only on output times
    • Adding more strict pre-compilation flags to speed-up the module
  • error on rlusgen There is a mistake on the computation of the upward surface long-wave emission it should be
rlusgen = emiss*ctBoltzman*ts**4
  • Wrong attributes in TAUU and TAUV (thanks to Muralidhar Adakudlu), TAUU and TAUV are northward downward wind stress and eastward downward wind stress respectively in the output, in the file they got the wrong attributes (interchanged)
Herramientas personales