malta.model

Classes

sink

Class to build single container for sink processes without passing loss fields

emissions

Class to build single container for emissive processes.

Functions

run_model(years_in, emissions, sink[, ics, dt, ...])

Runs 2D model for time period specified.

create_output(ds_out, c_arr_mm, cend, loss_mm, ...)

Put variables into xarray dataset

create_sink(species)

Function to create sink class from species

create_emissions(species, emis[, distribute, weights, ...])

Wrapper to create emissions class. Provides a convenient way to distribute the global total of emissions. Emissions distributions have been interpolated

Module Contents

malta.model.run_model(years_in, emissions, sink, ics=None, dt=28800, trans_dir=None, convection=True)

Runs 2D model for time period specified.

Parameters:
  • years_in (array/list) – Whole years for which to run model.

  • emissions (class) – Class containing emissions.

  • sink (sink) – Class containing sinks.

  • ics (array, optional) – Initial conditions of model. Defaults to None (zero initial conditions).

  • dt (float, optional) – Time step in seconds (recommended 8 hrs or less). Defaults to 8 hours.

  • trans_dir (str, optional) – Path to directory containing transport files. Defaults to None.

  • convecton (bool, optional) – Whether to use the convective scheme (much slower). Defaults to True.

Returns:

xarray dataset containing outputs from model.

Return type:

dataset

malta.model.create_output(ds_out, c_arr_mm, cend, loss_mm, lifetime, lifetime_trop, lifetime_strat, B, B_trop, emissions, L, L_trop)

Put variables into xarray dataset

class malta.model.sink(J_loss=None, OH_field=None, A_OH=None, ER_OH=None, Cl_field=None, A_Cl=None, ER_Cl=None, O1D_field=None, A_O1D=None, ER_O1D=None)

Class to build single container for sink processes without passing loss fields into model or having to load them during run time.

Parameters:
  • J_loss (array, optional) – Photolysis loss rate in each grid cell. Defaults to None.

  • OH_field (array, optional) – OH concentration in each grid cell. Defaults to None.

  • A_OH (float, optional) – Arrhenius A constant for OH. Defaults to None.

  • ER_OH (float, optional) – Arrhenius E/R constant for OH. Defaults to None.

  • Cl_field (float, optional) – Cl loss rate in each grid cell. Defaults to None.

  • A_Cl (float, optional) – Arrhenius A constant for Cl. Defaults to None.

  • ER_Cl (float, optional) – Arrhenius E/R constant for Cl. Defaults to None.

  • O1D_field (array, optional) – O1D concentration in each grid cell. Defaults to None.

  • A_O1D (float, optional) – Arrhenius A constant for O1D. Defaults to None.

  • ER_O1D (float, optional) – Arrhenius E/R constant for O1D. Defaults to None.

J_loss
OH_field
Cl_field
O1D_field
A_OH
ER_OH
A_Cl
ER_Cl
A_O1D
ER_O1D
losses(cin, dt, month, Temp=None)

Computes losses in mole fraction field

first_order_loss(c_in, dt, sink)

Compute first order loss in mol/mol/s

arrhenius_loss(c_in, dt, A, ER, field, Temp)

Compute loss using arrhenius rate constant

arrhenius_rate_constant(A, ER, Temp)

Compute arrhenius rate constant

class malta.model.emissions(emis, species, lat, mva, dz, R=6378100.0, emis_units='Gg', mf_units='ppt')

Class to build single container for emissive processes.

Parameters:
  • emis (array) – Emissions for each year for each latitude.

  • species (string) – Species to emit.

  • lat (array) – Latitude at grid cell edges.

  • mva (array) – Molar density of air (mol/m3) for each vertical layer.

  • dz (array) – Uniform vertical grid spacing.

  • R (float, optional) – Radius of Earth in metres. Defaults to 6378.1e3.

  • emis_units (str, optional) – Units of emissions (g, kg, Mg, Gg, Tg). Defaults to “Gg”.

  • mf_units (str, optional) – Units of mole fractions (ppq, ppt, ppb, ppm). Defaults to “ppt”.

species
molmass
mfunit_dict
emisunit_dict
unit_scale
emis_scale
sindbx
mol_air_bx
ny
nz
emis
emit(dt, year)

Function to emit emissions

malta.model.create_sink(species)

Function to create sink class from species

malta.model.create_emissions(species, emis, distribute='uniform', weights=None, R=6378100.0, emis_units='Gg', mf_units='ppt', trans_dir=None)

Wrapper to create emissions class. Provides a convenient way to distribute the global total of emissions. Emissions distributions have been interpolated from multiple data sources: “land”/”ocean” Olsen et al., 2001 (https://doi.org/10.1641/0006-3568(2001)051[0933:TEOTWA]2.0.CO;2) “population” GPWv4, average of 2000-2020 (https://doi.org/10.7927/H4JW8BX5) “gdp” Kammu et al., 2020, 1990-2015 average (https://doi.org/10.5061/dryad.dk1j0)

Parameters:
  • species (str) – Species to emit.

  • emis (array) – Array of total global emissions for each year of run.

  • distribute (str, optional) – How to distribute global total emissions. Options are: “uniform”, “land”, “ocean”, “population” and “gdp”. Defaults to “uniform”.

  • weights (array, optional) – Option to provide custom weights to distribute emissions in each latitude box. Can either be of length of latitudes or different weights for each year. Defaults to None.

  • R (float, optional) – Radius of Earth. Defaults to 6378.1e3.

  • emis_units (str, optional) – Units of emissions (g, kg, Mg, Gg, Tg). Defaults to “Gg”.

  • mf_units (str, optional) – Units of mole fractions (ppq, ppt, ppb, ppm). Defaults to “ppt”.

  • trans_dir (str, optional) – Path to directory containing transport files. Defaults to None.

Returns:

Class containing emissoins information.

Return type:

class