CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
module_ozphys Module Reference

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.
 

Detailed Description

Argument table


module_ozphys argument table

local_namestandard_namelong_nameunitstypedimensionskindintent
ty_ozphysty_ozphysdefinition of type ty_ozphysDDTty_ozphys()ty_ozphysn/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...

Author
June 2015 - Shrinivas Moorthi
  • Sep 2023 - Dustin Swales