CDXWRFinstall
Installation
These steps must be followed prior the re-compilation of the WRF model and assuming that the process is started where the code resides (WRFV3). NOTE: make sure that the already compiled version of WRF and the version of the module are the same!
From repository
- Get the code, there are different options
From Lluís Fita's WRF fork (recomended)
This is the unique source of the module with the latest version (currently v3.1) of the module. It is going to be proposed to be incorporated into the official WRF GIT repository.
- Get the code
git clone git@github.com:LluisFB/WRF.git git submodule update --init --recursive git checkout cdxwrf
- Clean the code (in order to avoid to run again configure one can make a copy of the `
configure.wrf` and recover it after the clean, otherwise it is erased)
cp configure.wrf configure.cordex.wrf ./clean -a cp configure.cordex.wrf configure.wrf
- edit the
configure.wrfand add the line (after the line-DNETCDF)
-DCORDEXDIAG \
- Set up (or not) the pre-compilation variable
CDXWRF(after the line-DCORDEXDIAG)
-DCDXWRF=[value] \
Accordingly to the value given to the pre-compilation variable CDXWRF one obtains:
- Without adding the variable: all CORDEX
Corevariables CDXWRF=1CORDEX 'Tier' variables: clivg, clivh, zmla, [cape/cin/zlfc/plfc/lidx]{min/max/mean} (if in namelist.input convxtrm_diag = 1), colmax, prhfCDXWRF=2The same as withCDXWRF=1and additional variables: ua, va, ws, ta, press, zg, hur, hus, tfog, fogvisbltymin, fogvisbltymax, fogvisbltymean, tds[min/max/mean], tws[min/max/mean]CDXWRF=3The same as withCDXWRF=1,2and additional residence-time variablesCDXWRF=4The same as withCDXWRF=1,2and3and 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}
Simultaneosuly, one needs to:
- make a copy of
Registry/registry.cordex
cp Registry/registry.cordex Registry/registry.cordex_comp
- modify the
Registry/registry.cordex_compaccordingly to the value ofCDXWRF:- 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 - Adding
CDXWRF=3, one needs to remove the comment##CDXWRF1##,##CDXWRF2##and##CDXWRF3##at the beginning of the line of the definition of certain variables - Adding
CDXWRF=4, one needs to remove the comment##CDXWRF1##,##CDXWRF2##,##CDXWRF3##and##CDXWRF4##at the beginning of the line of the definition of certain variables - Example for
CDXWRF=3
- Without adding
sed -i 's/##CDXWRF1##//g' Registry/registry.cordex_comp sed -i 's/##CDXWRF2##//g' Registry/registry.cordex_comp sed -i 's/##CDXWRF3##//g' Registry/registry.cordex_comp
- Additionally, one can also get the instantaneous values for the variables which only certain statistics (accumulation, minimum, mean, ...) are provided. In order to get them, one need to:
- Search in
phys/module_diagnostics_driver.Fandphys/module_diag_cordex.Fthe lines of code marked withINSTVALSand change accordingly (not fully tested). - Modify
Registry/registry.cordexaccordingly (removing##INST##at the beginning of the line of the definition of certain variables, and addingh19to certain others)
compile as always
./compile em_real >& compile.log
From Lluís Fita GIT at CIMA
This is an old repository without uptdates of the module. It has different branches for each previous version of the module (cdxwrf1, cdxwrf2) available for different WRF versions. It's use is discouraged.
- Get the code
git https://git.cima.fcen.uba.ar/lluis.fita/cdxwrf.git
Select the right branch and WRF version and proceed as before
From tar file
- Untar the file
$ tar xvfz WRFV[VERSION]_CORDEX.tar.gz
- It deflates all the required files and the modified orignal WRF files
main/depend.common dyn_em/solve_em.F dyn_em/start_em.F phys/module_diagnostics_driver.F phys/module_diag_cordex.F phys/module_diagvar_cordex.F phys/module_diag_pld.F phys/Makefile README.cordex Registry/registry.cordex Registry/registry.diags
- On the
Registry/Registry.EMadd the following line (after the last lineinclude registry.bdy_perturb(on WRFV3.7.1, WRFV3.8.1),registry.new3d_wif(on WRFV3.9.1.1)) and on WFRV40 after the last lineinclude registry.trad_fieldsinregistry.em_shared_collection
include registry.cordex
Compilation
- Clean the code (in order to avoid to run again configure one can make a copy of the
configure.wrfand recover it after the clean, otherwise it is erased)
$ cp configure.wrf configure.cordex.wrf $ ./clean -a $ cp configure.cordex.wrf configure.wrf
- edit the
`configure.wrf'and add the line (after the line-DNETCDFand/or–DCLWRFGHG)
-DCORDEXDIAG
- Set up (or not) the pre-compilation variable CDXWRF (after the line -DCORDEXDIAG)
-DCDXWRF=[value] \
- Accordingly to the value given to the pre-compilation variable
CDXWRFone obtains:- Without adding the variable: all CORDEX 'Core' variables
- CORDEX 'Tier1' variables: clivg, clivh, zmla, [cape/cin/zlfc/plfc/lidx]{min/max/mean}
- Accordingly to the value given to the pre-compilation variable
-DCDXWRF=1 \
- The same as with
CDXWRF=1and 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}
- The same as with
-DCDXWRF=2 \
- Simultanesouly, one needs to modify the
Registry/registry.cordexaccordingly to the value ofCDXWRF:- 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
- Without adding
- Additionally, one can also get the instantaneous values for the variables which only certain statistics (accumulation, minimum, mean, ...) are provided. In order to get them, one need to:
- Search in
phys/module_diagnostics_driver.Fandphys/module_diag_cordex.Fthe lines of code marked with'INSTVALS'and change accordingly. - Modify
Registry/registry.cordexaccordingly (removing##INST##at the beginning of the line of the definition of certain variables, and adding'h9'to certain others)
- Search in
- compile as always
$ ./compile em_real >& compile.log
Back to the main page CDXWRF