1. WRF Chem code description - douglowe/WRFChem-ARC-Interactions GitHub Wiki
Versions 3.4.1 to 3.9.1 code
Code is provided in this repository for WRF-Chem versions 3.4.1, 3.6.1, 3.8.1, and 3.9.1. The code provided for 3.9.1 is a prototype of the code which was eventually added to version 4.0 - as such it is a little more complex than the code for the earlier versions (the differences are noted below). Adding these developments to another version of WRF-Chem will require careful modification of the source code, as the radiative forcing routines are subject to regular changes and development. If you would like advice on the changes to make then please do get in touch.
The changes which have been made to enable this analysis are:
Registry/Registry.EM_COMMON
- shortwave and longwave radiative forcing variables, for upwelling and downwelling radiation, at the top and bottom of the atmosphere, for a "clean" atmosphere (e.g.
SWUPTCLN
) have been added. - these new variables have been added to the
rrtmg_lwscheme
andrrtmg_swscheme
packages.
- shortwave and longwave radiative forcing variables, for upwelling and downwelling radiation, at the top and bottom of the atmosphere, for a "clean" atmosphere (e.g.
Registry/registry.chem
- in version 3.9.1 (and onwards) the
clean_atm_diag
control flag is added. Default setting is 0 (no clean sky radiative calculations are made), setting this to 1+ in the namelist.input file will enable these calculations.
- in version 3.9.1 (and onwards) the
dyn_em/module_first_rk_step_part1.F
- the new radiation variables have been added to the interface for the
radiation_driver
subroutine. - in version 3.9.1 (and onwards) the
clean_atm_diag
control flag is also passed (within the WRF-Chem specific section of code).
- the new radiation variables have been added to the interface for the
phys/module_radiation_driver.F
- the radiation variables (and control flag) are added to the
radiation_driver
interface, and all declared as optional. - the radiation variables (and control flag) are added to the interfaces for the
rrtmg_lwrad
andrrtmg_swrad
subroutines.
- the radiation variables (and control flag) are added to the
phys/module_ra_rrtmg_sw.F
- the radiation variables (and control flag) are added to the
rrtmg_swrad
interface, and declared as optional. - a second call to the
spcvmc_sw
subroutine has been added, with the aerosol optical depth set to zero, in order to calculate the short-wave "clean sky" radiative forcing effects.
- the radiation variables (and control flag) are added to the
phys/module_ra_rrtmg_lw.F
- the radiation variables (and control flag) are added to the
rrtmg_lwrad
interface, and declared as optional. - a second call to the
rtrnmc
subroutine has been added, with only the gas-phase optical depth (rather than the combined gas and aerosol optical depth) passed through, in order to calculate the long-wave "clean sky" radiative forcing effects.
- the radiation variables (and control flag) are added to the
chemics_init.F
- a check is added to ensure that
aer_ra_feedback
is on whenclean_atm_diag
is used.
- a check is added to ensure that
Version 4.0+ code
This code was added into version 4.0 of the model, the code changes made for this commit are available here. When using model versions 4.0 or newer, no modifications of the code should be needed to perform this analysis.