A python package to simulate seawater cadmium isotopes
Project description
CdBURY
Introduction
Cadmium is a trace nutrient in seawater. Of particular interest are its two stable isotopes, 114Cd and 110Cd. Cadmium enters the ocean primarily through riverine input and is removed via burial in association with five key compounds:
- organic carbon
- sulphide
- oxyhydroxide
- clay
- carbonate
Some of these fluxes remove cadmium without bias toward either isotope, while others exhibit a preference. For instance, organic carbon burial preferentially remove 114Cd over 110Cd (leaving the ocean with a greater fraction of 110Cd). The ratio of the two isotopes of cadmium in seawater can be changed if either the input flux or output fluxes are: large and isotopically distinct from seawater.
Of the burial fluxes, carbonate, oxyhydroxide, and clay are relatively minor, collectively accounting for less than 5% of total cadmium burial. The flux of cadmium associated with sulphide is the dominant output, comprising approximately 80% of cadmium burial. Whether one isotope is favoured during sulphide burial depends on the burial environment: in euxinic conditions (oxygen depleted but sulphide rich), there is no isotopic bias, whereas in other environments, a preference may exist. The flux of cadmium associated with organic carbon accounts for about 20% of cadmium burial, and preferentially removes 114Cd with an isotopic offset from seawater of up to -0.8‰.
About CdBURY
CdBURY is a single-box model designed to simulate the fluxes of cadmium in the ocean as described above. It supports forward simulations, allowing users to perturb parameters at specific times, as well as inverse simulations. In the inverse mode, the model is provided with a record of δ114Cd changes in seawater over time and adjusts the prescribed fluxes to match the observed data. Currently, the model supports inversion for organic carbon burial fluxes.
Example Usage
Here is an example which starts with a steady state system for seawater cadmium, estimates how this changes over one million years, with a perturbation which turns cadmium burial in organic carbon off 500,000 years into the run.
from CdBURY.classes import Time,CadmiumMassIsotope,CadmiumFluxes,Perturbation,FluxType
from CdBURY import CdBURY
initial_seawater = CadmiumMassIsotope(1.0*8.36e11,-0.1)
isotope_offsets = CadmiumFluxes(-0.1,
0.0,
-0.55,
0.0,
-0.80,
0.0)
flux_proportions = CadmiumFluxes(1.0,
0.01,
0.03,
0.01,
0.11125,
0.84875)
flux_proportions.sulphide = flux_proportions.input-(flux_proportions.oxyhydroxide+flux_proportions.carbonate+flux_proportions.clay+flux_proportions.organic)
input_flux = 30000000.0
initial_fluxes = CadmiumFluxes(input_flux*flux_proportions.input,
input_flux*flux_proportions.oxyhydroxide,
input_flux*flux_proportions.carbonate,
input_flux*flux_proportions.clay,
input_flux*flux_proportions.organic,
input_flux*flux_proportions.sulphide)
input_balanced = CdBURY.Model.calculate_balanced_input(initial_seawater,
initial_fluxes,
isotope_offsets)
adjusted_isotope_offsets = CadmiumFluxes(input_balanced.isotope_delta,
isotope_offsets.oxyhydroxide,
isotope_offsets.carbonate,
isotope_offsets.clay,
isotope_offsets.organic,
isotope_offsets.sulphide)
time_configuration = Time(1.0,0.001,0.0,units="Myr")
model = CdBURY.Model(time_configuration,
initial_seawater,
initial_fluxes,
adjusted_isotope_offsets,
dynamic_mass=True)
model.change_flux(Perturbation(0.50,
FluxType.organic,
CadmiumMassIsotope(0.0,-0.8)))
model.solve()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cdbury-0.1.1.tar.gz.
File metadata
- Download URL: cdbury-0.1.1.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
799687f9ade6a5aac438b1f84ca0a4a4a49c39783995477fbe23a6792e062935
|
|
| MD5 |
ee787b3d48228b8945f654044e568e77
|
|
| BLAKE2b-256 |
253fb670764c71bef920db4004e046aff1c4661b41b1dfe581f0d961792ec8cc
|
File details
Details for the file cdbury-0.1.1-py3-none-any.whl.
File metadata
- Download URL: cdbury-0.1.1-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89cb6206c2e62055ea4a994209836875b99e558d0e5cbfd2001279c1e5cb3445
|
|
| MD5 |
f502bff720194b6332a74daf677c258d
|
|
| BLAKE2b-256 |
8d4b25b5dd79e92d402a41837d841538da718ecbd0948a9ed29da80ade835b1e
|