GMTB Common Community Physics Package (CCPP) Scientific Documentation  Version 1.0
GFS ozphys Main

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 ([61]). More...

Detailed Description

Argument Table

local_name standard_name long_name units rank type kind intent optional
ix horizontal_dimension horizontal dimension count 0 integer in F
im horizontal_loop_extent horizontal loop extent count 0 integer in F
levs vertical_dimension number of vertical layers count 0 integer in F
ko3 vertical_dimension_of_ozone_forcing_data number of vertical layers in ozone forcing data count 0 integer in F
dt time_step_for_physics physics time step s 0 real kind_phys in F
oz ozone_concentration_updated_by_physics ozone concentration updated by physics kg kg-1 2 real kind_phys inout F
tin air_temperature_updated_by_physics updated air temperature K 2 real kind_phys in F
po3 natural_log_of_ozone_forcing_data_pressure_levels natural log of ozone forcing data pressure levels log(Pa) 1 real kind_phys in F
prsl air_pressure mid-layer pressure Pa 2 real kind_phys in F
prdout ozone_forcing ozone forcing data various 3 real kind_phys in F
pl_coeff number_of_coefficients_in_ozone_forcing_data number of coefficients in ozone forcing data index 0 integer in F
delp air_pressure_difference_between_midlayers difference between mid-layer pressures Pa 2 real kind_phys in F
ldiag3d flag_diagnostics_3D flag for calculating 3-D diagnostic fields flag 0 logical in F
ozp change_in_ozone_concentration change in ozone concentration kg kg-1 3 real kind_phys inout F
me mpi_rank rank of the current MPI task index 0 integer in F
errmsg error_message error message for error handling in CCPP none 0 character len=* out F
errflg error_flag error flag for error handling in CCPP flag 0 integer out F

GFS Ozone Physics Scheme General Algorithm

Functions/Subroutines

subroutine ozphys::ozphys_run ( ix, im, levs, ko3, dt, oz, tin, po3, prsl, prdout, pl_coeff, delp, ldiag3d, ozp, me, errmsg, errflg)
 

Function/Subroutine Documentation

subroutine ozphys::ozphys_run ( integer, intent(in)  ix,
integer, intent(in)  im,
integer, intent(in)  levs,
integer, intent(in)  ko3,
real(kind=kind_phys), intent(in)  dt,
real(kind=kind_phys), dimension(ix,levs), intent(inout)  oz,
real(kind=kind_phys), dimension(ix,levs), intent(in)  tin,
real(kind=kind_phys), dimension(ko3), intent(in)  po3,
real(kind=kind_phys), dimension(ix,levs), intent(in)  prsl,
real(kind=kind_phys), dimension(ix,ko3,pl_coeff), intent(in)  prdout,
integer, intent(in)  pl_coeff,
real(kind=kind_phys), dimension(ix,levs), intent(in)  delp,
logical, intent(in)  ldiag3d,
real(kind=kind_phys), dimension(ix,levs,pl_coeff), intent(inout)  ozp,
integer, intent(in)  me,
character(len=*), intent(out)  errmsg,
integer, intent(out)  errflg 
)
  • Calculate vertical integrated column ozone values.
  • Apply vertically linear interpolation to the ozone coefficients.
  • Calculate the 4 terms of prognostic ozone change during time dt:
    • ozp(:,:,1) - Ozone production at model layers
    • ozp(:,:,2) - Ozone tendency at model layers
    • ozp(:,:,3) - Ozone production from temperature term at model layers
    • ozp(:,:,4) - Ozone production from column ozone term at model layers