Run a simulation of the geochemical carbon cycle.
run_geocarb( filename, co2_spike = 0, co2_emissions = 0, periods = c(5e+06, 2e+06), time_steps = 50, degas = 7.5, plants = TRUE, land_area = 1, delta_t2x = 3, million_years_ago = 0, mean_latitude_continents = 30, start_recording = -2000 )
filename | A file to store the results of the simulation. |
---|---|
co2_spike | A spike of carbon dioxide released at the end of a period. If this is a single number, the spike is released at the end of the spin-up period. If there are more than two periods (spin up and experiment), then a vector of length n-1 may be provided to simulate multiple spikes, to be released at the end of each of the first n-1 periods. The units are |
co2_emissions | CO2 emissions, in billions of tons of carbon. |
periods | A vector with the number of years in each period. The length of the vector is the number of periods. The first period is always the spinup. |
time_steps | A vector with the number of years per time step in each period. If a single number is given, it will be applied to each period. |
degas | The volcanic degassing rate, in trillions of moles per year. Either a vector with the value for each period, or a single number that will be applied to all periods. |
plants | A logical variable indicating whether or not there are vascular plants. Either a vector with values for each period or a single value that will be applied to all periods. |
land_area | The land area, relative to today (1.0 = today). Either a vector or a single number. |
delta_t2x | The climate sensitivity, in degrees Kelvin of warming for each doubling of CO2. |
million_years_ago | How long ago to set year zero (this affects the brightness of the sun). Note that this is in millions of years, not years. |
mean_latitude_continents | The mean latitude of the continents. Either a vector or a single number. |
start_recording | When to start recording, relative to year zero. This allows you to skip recording the first several million years of the spinup.. |
A tibble containing the results of the GEOCARB simulation. The columns of the tibble are:
year
: The year in the simulation (0 is the end of the first period).
co2.atmos
: The concentration of CO2 in the atmosphere, in parts per
million.
silicate.weathering
: The rate of SiO2 being weathered from rocks and
moved to the oceans, in trillions of moles per year.
carbonate.weathering
: The rate of carbonate weathered from carbonate
rocks and moved to the ocean, in trillions of moles per year.
total.weathering
: Total weathering of carbonate and silicate, in
trillions of moles per year.
carbon.burial
: The rate at which carbonate is being converted to
minerals (e.g., limestone) and buried on the ocean floor, in trillions
of moles per year.
co2.total
: Total CO2 dissolved in the ocean. This is the sum of all
forms of CO2:
[CO2] +
[H2CO3] +
[HCO3-] +
[CO3-2],
in moles per cubic meter.
alkalinity.ocean
: The ocean alkalinity. This is the amount of acid (H+)
necessary to neutralize the carbonate and bicarbonate in the ocean. The
detailed definition is complicated, but to a good approximation,
alk = [HCO3-] +
2[CO3-2].
This is measured in moles per cubic meter.
carbonate.ocean
: The concentration of dissolved carbonate
(CO3-2)
in the ocean, in micromoles per kg seawater.
degassing.rate
: The rate at which CO2 is emitted by natural degassing
(e.g., volcanoes), in trillions of moles per year.
emissions
: The rate at which CO2 is emitted by human activities
(e.g., burning fossil fuels), in trillions of moles per year.
temp.atmos
: The temperature of the atmosphere, in degrees Celsius.
temp.ocean
: The temperature of the ocean surface, in degrees Celsius.
Run a simulation of the geochemical carbon cycle. The model runs a "spin-up" simulation to allow the system to come into equilibrium and then changes conditionns and tracks the response of the system. The simulation tracks atmospheric carbon dioxide, dissolves species in the ocean (carbon dioxide and carbonic acid; bicarbonate ions; and carbonate ions). It also accounts for weathering of silicate and carbonate minerals on the surface and burial of mineral carbon at the bottom of the ocean.
if (FALSE) { gc <- run_geocarb(co2_spike = 1000, co2_emissions = list(0, seq(1, 100, 1), 0), periods = c(5E6, 100, 2E6), time_steps = c(50, 1, 50), degas = 7.5) # Run GEOCARB with multiple spikes of CO2 # Spin up for 5 million years to initialize the model # Then five spikes of CO2 every 10,000 years # Then 2 million years after the last spike. # # Since spikes happen at the end of a period, note # that there are six periods but only five spikes. # periods <- c( 5E6, 1E4, 1E4, 1E4, 1E4, 2E6) spikes <- c(1000, 1000, 1000, 1000, 1000) run_geocarb("multi_spike.dat", periods = periods, co2_spike = spikes) multi_spike <- read_geocarb("multi_spike.dat") # Run GEOCARB with pulses of sustained degassing # Spin up for 5 million years to initialize the model # Then five periods of 100,000 years with alternating # normal and heightened volcanic degassing # Then 2 million years after the last period. # # This also shows that you can get the data directly # from run_geocarb without needing to read it from a # file. periods <- c(5E6, 1E5, 1E5, 1E5, 1E5, 1E5, 2E6) degas <- c(7.5, 9.5, 7.5, 9.5, 7.5, 9.5, 7.5) alt_degassing <- run_geocarb(NULL, periods = periods, co2_spike = 0, degas = degas) }