This module contains classes handling different treatments of ozone. The ozone models can either be used in RCE simulations, or it may be of interest to run the Cariolle or Simotrostra models with a fixed atmospheric temperature profile.

In an RCE simulation

Create an instance of an ozone class, e.g. OzoneHeight, and use it in an RCE simulation:

>>> import konrad
>>> ozone_fixed_with_height = konrad.ozone.OzoneHeight()
>>> rce = konrad.RCE(atmosphere=..., ozone=ozone_fixed_with_height)
>>> rce.run()

Run an ozone model

Create an ozone model, e.g. Cariolle, and run the ozone model for a fixed temperature profile:

>>> import konrad
>>> ozone_model = konrad.ozone.Cariolle(w=...)
>>> atmosphere = konrad.atmosphere.Atmosphere(plev=...)
>>> atmosphere['T'][0] = ...  # set the temperature profile
>>> atmosphere['O3'][0] = ...  # set the initial ozone profile
>>> for iteration in range(0, ...):
>>>     ozone_model(atmosphere=atmosphere, timestep=...)
>>> final_ozone_profile = atmosphere['O3'][-1]

Note that to use Cariolle and Simotrostra, the simotrostra package needs to be installed. It can be found here: https://gitlab.com/simple-stratospheric-chemistry/simotrostra

Ozone(*args, **kwargs)

Base class to define abstract methods for ozone treatments.

OzonePressure(*args, **kwargs)

Ozone fixed with pressure, no adjustment needed.

OzoneHeight(*args, **kwargs)

Ozone fixed with height.

OzoneNormedPressure(*args, **kwargs)

Ozone shifts with the normalisation level.

OzoneRedistributed(*args, **kwargs)

Ozone redistribution following method by Hardiman et al. (2019).

Cariolle(*args, **kwargs)

Implementation of the Cariolle ozone scheme for the tropics.

Simotrostra(*args, **kwargs)

Wrapper for Ed Charlesworth's simple chemistry scheme.