Input data
Input data¶
Input data must be passed to the fragmentmnp.FragmentMNP
model class. Examples are given in the fragmentmnp.examples
module:
>>> from fragmentmnp.examples import minimal_data, full_data
>>> minimal_data
{'initial_concs': [42.0, 42.0, 42.0, 42.0, 42.0, 42.0, 42.0], 'density': 1380, 'k_frag': 0.01}
>>> full_data
{'initial_concs': [42.0, 42.0, 42.0, 42.0, 42.0, 42.0, 42.0], 'density': 1380, 'k_frag': 0.01,
'theta_1': 0.0, 'k_diss': 0.0, 'k_diss_gamma': 1.0}
The minimal_data
contains only required variables, whilst full_data
includes variables that have defaults. Here we take a look at the schema for this data dict.
initial_concs
Required, list of positive floats with length equal to
n_size_classes
, units: kg/m3.The intial mass concentration in each model size class.
density
Required, float, units: kg/m3.
The density of the polymer being modelled.
k_frag
Required, float or iterable with length equal to
n_size_classes
, units: s-1.Either a scalar representing the average fragmentation rate \(k_\text{frag}\) across the size classes, or the full \(k_\text{frag}\) distribution for all size classes. \(k_\text{frag}\) is defined as the fraction of the mass of a particular size class that fragments each second. If a scalar (average) is provided,
theta_1
andk_frag_tau
are used to calculate the size- and time-dependent distribution. If a size class distribution is given, any value given fortheta_1
is ignored.
theta_1
Optional, float, default: 0.
Surface energy empirical parameter \(\theta_1\), which dictates how \(k_\text{frag}\) varies with particle size. \(k_\text{frag}\) varies as \(d^{2\theta_1}\), meaning that if \(\theta_1 = 0\), the same \(k_\text{frag}\) is used across size classes, and if \(\theta_1 > 0\), \(k_\text{frag}\) is larger for larger size particles.
theta_1
is ignored if a distribution is given fork_frag
.
k_frag_tau
Optional, float, default: 0.
Fragmentation rate time-dependence parameter \(\tau\), which dictates how \(k_\text{frag}\) varies over time. \(k_\text{frag}\) varies as \(t^\tau\), where \(t\) is the model timestep index, meaning that if \(\tau = 0\) (the default), \(k_\text{frag}\) is constant in time. If \(\tau < 0\), \(k_\text{frag}\) decreases in time, and vice-versa. Note that this dependence is on the timestep index, rather than the actual time.
k_diss
Optional, float, default: 0.
Either the average (median) dissolution rate \(k_\text{diss}\) across the size classes, or the full \(k_\text{diss}\) distribution for all size classes. \(k_\text{diss}\) describes the rate of loss to “dissolved” organics from each size class. If an average (scalar) is given, how this average is distributed across size classes is determined by the
k_diss_scaling_method
in the model configuration. If a distribution is given, thek_diss_scaling_method
is ignored.k_diss_gamma
Optional, float, default: 1.
If the config option
k_diss_scaling_method
is set tosurface_area
and an average (scalar)k_diss
is given in input data, thenk_diss_gamma
\(\gamma\) is an empirical parameter that scales how dependent the distribution ofk_diss
across size classes is on the particle surface area to volume ratio. In short, \(k_\text{diss} \propto s^\gamma\), where \(s\) is the surface area to volume ratio. In other words, if \(\gamma = 1\),k_diss
scales directly with the surface area to volume ratio, and if \(\gamma = 0\),k_diss
is constant across size classes (i.e. it has the same effect as settingk_diss_scaling_method
toconstant
). If a distribution is given fork_diss
, thenk_diss_gamma
is ignored.
fsd_beta
Optional, float, default: 0.
\(\beta\) is an empirical parameter that controls the dependence of the fragment size distribution
fsd
on particle diameter. The split of fragmented mass amongst daughter size classes is scaled as \(\propto d^\beta\), where \(d\) is the particle diameter. Thus, if \(\beta = 0\) (the default), there is an even split amongst daughter size classes, if \(\beta < 0\), a greater proportion of the mass goes to smaller size classes, and if \(\beta > 0\), a greater proportion of the mass goes to larger size classes. See Fragment size distribution for more information on the fragment size distribution matrix.
Units
Strictly speaking, the FRAGMENT-MNP model is unit-agnostic. As long as the units of data specified in input data are consistent, then the units of variables output by the model will match these. For example, if you specify initial_concs
and density
with units of mg/m3, then output concentrations will be in mg/m3.
However, we strongly recommend you stick to SI units to avoid the chance of mistakes being made. Hence this page gives unit recommendations in SI units.