CDXWRFevolution
(Añadiendo v1.3) |
(→Problems on diagnostics of potential evapotranspiration) |
||
Línea 5: | Línea 5: | ||
== Problems on diagnostics of potential evapotranspiration == |
== 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. |
+ | 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 attached pdf. |
+ | Some work has been done and finally this is the current implementation which is explained and shown in the 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' |
+ | 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 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: |
+ | '''* 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 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] |
+ | 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! |
+ | If any one has any clue about it, is very welcome! |
== New version of the module for WRF4.0 == |
== New version of the module for WRF4.0 == |
Revisión de 11:40 28 sep 2018
Here is kept the evolution of the code
Contenido |
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.
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 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!
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:
CORDEX-WRF module version: X.X ..
Value of the version is kept in variable cdxwrfversion
in: phys/module_diagvar_cordex.F
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 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 withCDXWRF=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
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)