CDXWRFevolution

De Wikicima
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(v1.0: 2018 May 28th)
(v3.0 2024 August 26th)
 
(No se muestran 38 ediciones intermedias realizadas por un usuario)
Línea 1: Línea 1:
 
Here is kept the evolution of the code
 
Here is kept the evolution of the code
  +
  +
= v3.0 2024 August 26th =
  +
This is going to be a new major enhancement of the module.
  +
* <code>high-frequency output</code>: HF CORDEX-WRF is designed for high-precised diagnostics (e.g. storm following). It is assumed to have an output frequency below the hour. Output is derived to the auxhist8, proposed name of the files <code>wrfhfcdx</code>.
  +
  +
High-Frequency diagnostics encompass:
  +
** <code>colmax</code>: maximum vertical radar reflectivity in the column (based on phys/module_diag_afwa.F v4.3.1 diagnostics)
  +
** <code>prflux</code>: precipitation flux
  +
  +
= v2.0 2023 January 27th =
  +
This is going to be a major enhancement of the module.
  +
  +
These are the major features to be included / modified:
  +
* <code>tas_or</code>, <code>qvs_or</code>: 2m air temperature and water vapour mixing ratio from [https://lmdz.lmd.jussieu.fr/ LMDZ] GCM diagnostics
  +
* <code>qc_pl</code>, <code>qr_pl</code>, <code>qs_pl</code>, <code>qi_pl</code>, <code>qg_pl</code>, <code>qh_pl</code>: p-level interpolation of all the other water species (cloud, rain, snow, ice, graupel and hail)
  +
* <code>iut</code>, <code>ivt</code>: vertical integration of hoirzontal water vapour transport
  +
* <code>tws</code>: wet bulb temperature using "Stull, R. (2011), J. Appl. Meteor. Climatol. 50(11):2267-2269". doi: [https://journals.ametsoc.org/view/journals/apme/50/11/jamc-d-11-0143.1.xml 10.1175/JAMC-D-11-0143.1]
  +
* <code>zmlagen</code>: generic boundary layer height based on the bulk Richardson number after ([https://link.springer.com/article/10.1007/BF02430331 Vogelezang and Holtslag, 1996]; [https://journals.ametsoc.org/configurable/content/journals$002fclim$002f17$002f11$002f1520-0442_2004_017_2225_uisolc_2.0.co_2.xml?t:ac=journals%24002fclim%24002f17%24002f11%24002f1520-0442_2004_017_2225_uisolc_2.0.co_2.xml Seidel et al., 2004])
  +
** Introduction of a new parameter in the cordexdiag section of the namelist <code>zmlagen_diag</code>: diagnostic of generic boundary layer height zmla
  +
# thetae-stability (default)
  +
# bulk Richardson number
  +
* ta50m, hus50m, ua50m, va50m: extrapolation of temperature, humidity and wind at 50 m following Monin-Obukhov similarity theory
  +
* qv_pl_mc, qc_pl_mc, qr_pl_mc, qs_pl_mc, qi_pl_mc, qg_pl_mc, qh_pl_mc: mass-conservative p-level interpolation of all the water species
  +
* fixing cape, cin, ... from AFWA module (it has some errors, since version v3.7.1 of the code is being used). Now code from WRFV4.3.1 is used (fixed by Zhixiao)
  +
* 0-isotherm: height above ground at which temperature becomes 0 ºC
  +
* clwvi: condensated water path fixed, to be as the vertical integration of QVAPOR+QCLOUD+QICE+SNOW
  +
Thanks to J. Fernández (IFCA, Spain) and comment in: [https://github.com/CORDEX-WRF-community/euro-cordex-cmip6/blob/f3ba328c7a554bb78ee66b6c15ea7b74925b82ce/CORDEX-CMIP6_atm_variable_list_WRF.csv#L51 CORDEX-CMIP6_atm_variable_list_WRF.csv#L51]
  +
* simultaneous time of residence: variable that aggregates the time (<I>'time of residence'</I>) at the grid point simultaneously passed at 2 bins (range of values) for 2 different 2D variables. In this case: 2-m temperature (tas) and humidty (hurs).
  +
The tas variable is discretized by a series of bins: tas(n), tas(n+1), tas(n+2), ..., tas(N)
  +
The hurs variable is discretized by a series of bins: hurs(m), hurs(m+1), hurs(m+2), ..., hurs(M)
  +
The time of residence accumulates the time passed (during the integration of the model at time-steps dt) simultaneously at each possible combination of bins for tas and hurs.
  +
  +
<pre>
  +
simultaneous_time_residence(i,j,n,m) = SUM_dt(tas(n) <= tas(i,j,dt) < tas(n+1) & hurs(m) <= hurs(i,j,dt) < hurs(m+1))
  +
</pre>
  +
  +
See pdf with documentation here [[File:CDXWRF_version2.pdf]]
  +
  +
= v1.3.1 2020 December 15th =
  +
There is an important issue on two variables which have to be on the restart file which were not in previous versions, these are: mrso, limin, limax and limean
  +
  +
At the same time, it has been reported that when using <CODE>tmn_update</CODE> of namelist is activated, make sure that in <CODE>Registry.EM_COMMON</CODE> is written into the restart file. Otherwise you might risk to have a strong dry bias in summer in long simulations.
  +
<PRE>
  +
state real TLAG i&j misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TLAG" "DAILY MEAN SFC TEMPERATURE OF PRIOR DAYS" "K"
  +
</PRE>
  +
  +
There is a version for WRFV4.1.2
  +
  +
= v1.3: 2018 September 28th =
  +
This version covers updates in the v1.3 version related to potential evapotranspiration index and WRF4.0 version
  +
  +
== Problems on diagnostics of potential evapotranspiration ==
  +
The former version of the diagnostics of the potential evapotranspiration was not correct. Firstly it was not the version included in ORCHIDEE and it was wrongly implemented, since it was using T2 temperature, instead of TSK (skin temperature) to compute the diagnostics.
  +
  +
Some work has been done and finally this is the current implementation which is explained and shown in the pdf [[Media:evspsblpot.pdf]]
  +
  +
At the same time a generic formulation of it 'evspsblpotgen' has also been included, in order to provide an estimation without scheme dependency. What is currently being done, is that the required drag coefficient 'cd' is diagnosed as in 'cdgen'
  +
  +
'''* IMPORTANT NOTE *''': Due to the inclusion of the new generic variable 'evspsblpotgen', previous restart files should not be backward compatible (although I tested it on a WRFV3.9.1.1 and it worked). This should be because 'evspsblpotgen' is needed in the restart. In order to overcome this problem, a python script is also provided (See attached [[Media:add_var_restart-py.odt]], to be renamed as <CODE>add_var_restart.py</CODE>) which adds this variable (with zero values) to the required restart. By this way, there is no need to run the simulation from the beginning and previous restarts can be used. To add evspsblpotgen in a previous restart, python script (which uses NetCDF4 library) has to be used as:
  +
  +
<PRE>
  +
python add_var_restart.py -v EVSPSBLPOTGEN -d Time,south_north,west_east
  +
-f wrfrst_d[nn]_[YYYY]-[MM]-[DD]_[HH]:[MM]:[SS]
  +
</PRE>
  +
  +
If any one has any clue about it, is very welcome!
  +
  +
== New version of the module for WRF4.0 ==
  +
Module is now available for version V4.0 of the WRF model
  +
  +
== Article about the module submitted to Geosciences Model Development (GMD) ==
  +
We are pleased to announce that an article with a full description of the module has been submitted to Geosciences Model Development (GMD) which currently (Sept. 27th) is on 'waiting for Topical Editor assignment' status.
  +
  +
== Information of module version during WRF run ==
  +
Since this version, at the first time-step of the simulation, information into the standard and error output is provided:
  +
<PRE>
  +
CORDEX-WRF module version: X.X ..
  +
</PRE>
  +
  +
Value of the version is kept in variable <CODE>cdxwrfversion</CODE> in: <CODE>phys/module_diagvar_cordex.F</CODE>
  +
  +
= v1.2 2018 August 9th =
  +
This version covers
  +
* Problem in the v1.1 version related to statistics of convective indices
  +
  +
== Problem with calculation of statistics of convective indices ==
  +
  +
I detected a problem in the v1.1 of the module.
  +
  +
In the current version, when one activates the CDXWRF=1 and the computing of the statistics of the convective indices (convxtrm_diag = 1), it does not behave properly. The module provides the variables, but they are full of zeros.
  +
  +
This wrong behavior is only related to the 'phys/module_diag_cordex.F'. Thus, we suggest to you to update the version of the module (see attached) and recompile the model (there is no need for a `clean -a' before compilation). The module is the same for all the versions of WRF.
  +
  +
  +
= 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 <code>CDXWRF</code>. It has to be added (or not) after <code>-DCORDEXDIAG</code>. At the same time, before compilation, user needs to introduce changes into the <code>Registry/registry.cordex</code> file. This new flag, now controls the quantity of variables to be retrieved, splitting them to the standard CORDEX <I>'Core', 'Tier1' and 'additional' </I> variables.
  +
  +
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
  +
* <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{l/m/h}[c/r/s/i/g/h], wbacf{l/m/h}, wbacf{l/m/h}[c/r/s/i/g/h], wbac{l/m/h}z, wbacz{l/m/h}[c/r/s/i/g/h]</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
  +
* 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
  +
  +
== 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 =
 
= v1.0: 2018 May 28th =
Línea 6: Línea 134:
 
== known issues ==
 
== known issues ==
   
* '''too slow:''' module adds at least a 40% on time-integration. Different strategies are being considered:
+
* '''too slow:''' module adds at least a 40% on time-integration. Different strategies are being considered:
** Adding p-interpolation only on output times
+
** Adding p-interpolation only on output times
** Adding more strict pre-compilation flags to speed-up the module
+
** 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
+
* '''error on rlusgen''' There is a mistake on the computation of the upward surface long-wave emission it should be
 
<PRE>
 
<PRE>
rlusgen = emiss*ctBoltzman*ts**4
+
rlusgen = emiss*ctBoltzman*ts**4
 
</PRE>
 
</PRE>
* '''Wrong attributes in TAUU and TAUV''' (thanks to Muralidhar), 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)
+
* '''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)

Última revisión de 14:06 26 ago 2024

Here is kept the evolution of the code

Contenido

[editar] v3.0 2024 August 26th

This is going to be a new major enhancement of the module.

  • high-frequency output: HF CORDEX-WRF is designed for high-precised diagnostics (e.g. storm following). It is assumed to have an output frequency below the hour. Output is derived to the auxhist8, proposed name of the files wrfhfcdx.

High-Frequency diagnostics encompass:

    • colmax: maximum vertical radar reflectivity in the column (based on phys/module_diag_afwa.F v4.3.1 diagnostics)
    • prflux: precipitation flux

[editar] v2.0 2023 January 27th

This is going to be a major enhancement of the module.

These are the major features to be included / modified:

  • tas_or, qvs_or: 2m air temperature and water vapour mixing ratio from LMDZ GCM diagnostics
  • qc_pl, qr_pl, qs_pl, qi_pl, qg_pl, qh_pl: p-level interpolation of all the other water species (cloud, rain, snow, ice, graupel and hail)
  • iut, ivt: vertical integration of hoirzontal water vapour transport
  • tws: wet bulb temperature using "Stull, R. (2011), J. Appl. Meteor. Climatol. 50(11):2267-2269". doi: 10.1175/JAMC-D-11-0143.1
  • zmlagen: generic boundary layer height based on the bulk Richardson number after (Vogelezang and Holtslag, 1996; Seidel et al., 2004)
    • Introduction of a new parameter in the cordexdiag section of the namelist zmlagen_diag: diagnostic of generic boundary layer height zmla
  1. thetae-stability (default)
  2. bulk Richardson number
  • ta50m, hus50m, ua50m, va50m: extrapolation of temperature, humidity and wind at 50 m following Monin-Obukhov similarity theory
  • qv_pl_mc, qc_pl_mc, qr_pl_mc, qs_pl_mc, qi_pl_mc, qg_pl_mc, qh_pl_mc: mass-conservative p-level interpolation of all the water species
  • fixing cape, cin, ... from AFWA module (it has some errors, since version v3.7.1 of the code is being used). Now code from WRFV4.3.1 is used (fixed by Zhixiao)
  • 0-isotherm: height above ground at which temperature becomes 0 ºC
  • clwvi: condensated water path fixed, to be as the vertical integration of QVAPOR+QCLOUD+QICE+SNOW

Thanks to J. Fernández (IFCA, Spain) and comment in: CORDEX-CMIP6_atm_variable_list_WRF.csv#L51

  • simultaneous time of residence: variable that aggregates the time ('time of residence') at the grid point simultaneously passed at 2 bins (range of values) for 2 different 2D variables. In this case: 2-m temperature (tas) and humidty (hurs).

The tas variable is discretized by a series of bins: tas(n), tas(n+1), tas(n+2), ..., tas(N) The hurs variable is discretized by a series of bins: hurs(m), hurs(m+1), hurs(m+2), ..., hurs(M) The time of residence accumulates the time passed (during the integration of the model at time-steps dt) simultaneously at each possible combination of bins for tas and hurs.

  simultaneous_time_residence(i,j,n,m) = SUM_dt(tas(n) <= tas(i,j,dt) < tas(n+1) & hurs(m) <= hurs(i,j,dt) < hurs(m+1))

See pdf with documentation here Archivo:CDXWRF version2.pdf

[editar] v1.3.1 2020 December 15th

There is an important issue on two variables which have to be on the restart file which were not in previous versions, these are: mrso, limin, limax and limean

At the same time, it has been reported that when using tmn_update of namelist is activated, make sure that in Registry.EM_COMMON is written into the restart file. Otherwise you might risk to have a strong dry bias in summer in long simulations.

state    real  TLAG             i&j     misc        1         -     rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm)     "TLAG"         "DAILY MEAN SFC TEMPERATURE OF PRIOR DAYS"       "K"

There is a version for WRFV4.1.2

[editar] v1.3: 2018 September 28th

This version covers updates in the v1.3 version related to potential evapotranspiration index and WRF4.0 version

[editar] Problems on diagnostics of potential evapotranspiration

The former version of the diagnostics of the potential evapotranspiration was not correct. Firstly it was not the version included in ORCHIDEE and it was wrongly implemented, since it was using T2 temperature, instead of TSK (skin temperature) to compute the diagnostics.

Some work has been done and finally this is the current implementation which is explained and shown in the pdf Media:evspsblpot.pdf

At the same time a generic formulation of it 'evspsblpotgen' has also been included, in order to provide an estimation without scheme dependency. What is currently being done, is that the required drag coefficient 'cd' is diagnosed as in 'cdgen'

* IMPORTANT NOTE *: Due to the inclusion of the new generic variable 'evspsblpotgen', previous restart files should not be backward compatible (although I tested it on a WRFV3.9.1.1 and it worked). This should be because 'evspsblpotgen' is needed in the restart. In order to overcome this problem, a python script is also provided (See attached Media:add_var_restart-py.odt, to be renamed as add_var_restart.py) which adds this variable (with zero values) to the required restart. By this way, there is no need to run the simulation from the beginning and previous restarts can be used. To add evspsblpotgen in a previous restart, python script (which uses NetCDF4 library) has to be used as:

python add_var_restart.py -v EVSPSBLPOTGEN -d Time,south_north,west_east 
  -f wrfrst_d[nn]_[YYYY]-[MM]-[DD]_[HH]:[MM]:[SS]

If any one has any clue about it, is very welcome!

[editar] New version of the module for WRF4.0

Module is now available for version V4.0 of the WRF model

[editar] Article about the module submitted to Geosciences Model Development (GMD)

We are pleased to announce that an article with a full description of the module has been submitted to Geosciences Model Development (GMD) which currently (Sept. 27th) is on 'waiting for Topical Editor assignment' status.

[editar] Information of module version during WRF run

Since this version, at the first time-step of the simulation, information into the standard and error output is provided:

CORDEX-WRF module version: X.X ..

Value of the version is kept in variable cdxwrfversion in: phys/module_diagvar_cordex.F

[editar] v1.2 2018 August 9th

This version covers

  • Problem in the v1.1 version related to statistics of convective indices

[editar] Problem with calculation of statistics of convective indices

I detected a problem in the v1.1 of the module.

In the current version, when one activates the CDXWRF=1 and the computing of the statistics of the convective indices (convxtrm_diag = 1), it does not behave properly. The module provides the variables, but they are full of zeros.

This wrong behavior is only related to the 'phys/module_diag_cordex.F'. Thus, we suggest to you to update the version of the module (see attached) and recompile the model (there is no need for a `clean -a' before compilation). The module is the same for all the versions of WRF.


[editar] 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)

[editar] 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{l/m/h}[c/r/s/i/g/h], wbacf{l/m/h}, wbacf{l/m/h}[c/r/s/i/g/h], wbac{l/m/h}z, wbacz{l/m/h}[c/r/s/i/g/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

[editar] 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

[editar] 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

[editar] v1.0: 2018 May 28th

First public release of the code

[editar] 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