The operational GFS currently parameterizes ozone production and destruction based on monthly mean coefficients ( global_o3prdlos.f77) provided by Naval Research Laboratory through CHEM2D chemistry model (McCormack et al. (2006) [134]). More...
Data Types | |
type | ty_ozphys |
Functions/Subroutines | |
character(len=128) function | load_o3prog (this, file, fileid) |
Procedure (type-bound) for loading data for prognostic ozone. | |
subroutine | setup_o3prog (this, lat, idx1, idx2, idxh) |
Procedure (type-bound) for setting up interpolation indices between data-grid and model-grid. Called once during initialization. | |
subroutine | update_o3prog (this, idx1, idx2, idxh, rjday, idxt1, idxt2, ozpl) |
Procedure (type-bound) for updating data used in prognostic ozone scheme. | |
subroutine | run_o3prog_2015 (this, con_1ovg, dt, p, t, dp, ozpl, oz, do_diag, do3_dt_prd, do3_dt_ozmx, do3_dt_temp, do3_dt_ohoz) |
Procedure (type-bound) for NRL prognostic ozone (2015). | |
subroutine | run_o3prog_2006 (this, con_1ovg, dt, p, t, dp, ozpl, oz, do_diag, do3_dt_prd, do3_dt_ozmx, do3_dt_temp, do3_dt_ohoz) |
Procedure (type-bound) for NRL prognostic ozone (2006). | |
subroutine | run_o3clim (this, lat, prslk, con_pi, oz) |
Procedure (type-bound) for NRL updating climotological ozone. | |
character(len=128) function | load_o3clim (this, file, fileid) |
Procedure (type-bound) for loading data for climotological ozone. | |
subroutine | update_o3clim (this, imon, iday, ihour, loz1st) |
Procedure (type-bound) for updating temporal interpolation index when using climotological ozone. | |
local_name | standard_name | long_name | units | type | dimensions | kind | intent |
---|---|---|---|---|---|---|---|
ty_ozphys | ty_ozphys | definition of type ty_ozphys | DDT | ty_ozphys | () | ty_ozphys | n/a |
There are two implementations of this parameterization within this module. run_o3prog_2006 - Relies on either two/four mean monthly coefficients. This is explained in (https://doi.org/10.5194/acp-6-4943-2006. See Eq.(4)). run_o3prog_2015 - Relies on six mean monthly coefficients, specifically for NRL parameterization and climatological T and O3 are in location 5 and 6 of the coefficient array.
Both of these rely on the scheme being setup correctly by invoking the load(), setup(), and update() procedures prior to calling the run() procedure.
load_o3prog() - Read in data and load into type ty_ozphys (called once from host) setup_o3prog() - Create spatial interpolation indices (called once, after model grid is known) update_o3prog() - Update ozone concentration in time (call in physics loop, before run()) CAVEAT Since the radiation is often run at a lower temporal resolution than the rest of the physics, update_o3prog() needs to be called before the radiation, which is called before the physics. For example, within the physics loop: update_o3prog() -> radiation() -> run_o3prog() -> physics....
Additionally, there is the functionality to not use interactive ozone, instead reverting to ozone climatology. In this case, analagous to when using prognostic ozone, there are update() and run() procedures that need to be called before the radiation. For example, within the physics loop: update_o3clim() -> run_o3clim() -> radiation() -> physics...