malta.model
Classes
Class to build single container for sink processes without passing loss fields |
|
Class to build single container for emissive processes. |
Functions
|
Runs 2D model for time period specified. |
|
Put variables into xarray dataset |
|
Function to create sink class from species |
|
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