This is the multi-page printable view of this section.
Click here to print.
Return to the regular view of this page.
Input
Input arguments to the longterm
function
The Longterm Climate Model can be run with no arguments as follows.
This, however, is a boring use of longterm
, as it will simply return the steady-state preindustrial climate. More interesting simulations are generated by setting some of the optional arguments, especially sources
. For example, you could run a simulation in which a 1 W/m2 top-of-atmosphere radiative forcing is turned on and kept on.
output <- longterm(sources(rad=1))
output = longterm.run(sources({"rad":1}));
Details on all of longterm
’s optional input variables can be found in the pages below.
1 - Sources
Optional sources
listdictionary
The optional sources
parameter is a listdictionary of external sources of carbon, alkalinity, and energy. If an element of sources
is a numericfloat, then it is interpreted as a constant rate. If an element of sources
is a function, then it is interpreted as the time-integrated forcing as a function of number of elapsed years, i.e.,
$$
\int_0^t dt'\, \mathrm{rate}(t') \, ,
$$
in units equal to the units given for the rates below times yr. For example, sources=list(Cas=function(t){if(t<=0){0}else{1}})sources={"Cas":lambda t:0 if t<=0 else 1}
means that 1 GtC will be added to the atmosphere and surface ocean between the first and second time steps. By default, sources
is NULLNone
, which sets all of the external sources to zero. The values that can be set within the sources
listdictionary are:
rad
: External top-of-atmosphere radiative forcing in units of W/m2. If sources$radsources["rad"]
is, instead, a function, then it is interpreted as the time-integrated radiative forcing in units of W/m2 x yr and as a function of time in yr.
Cas
, Cdeep
, Cveg1
, Cveg2
, …, CvegN
, Csoil1
, Csoil2
, …, CsoilM
: External source of carbon to the atmosphere plus surface ocean, deep ocean, vegetation pools 1 through N (where N is the number specified in picontrol
, which is 3
by default), and soil pools 1 through M (where M is the number specified in picontrol
, which is 2
by default), respectively, in GtC/yr. If, e.g., sources$Cdeepsources["Cdeep"]
is, instead, a function, then it is interpreted as the time-integrated source of carbon to the deep ocean in units of GtC and as a function of time in yr.
Asurf
, Adeep
: External source of alkalinity to the surface ocean and deep ocean, respectively, in mol/yr. If, e.g., sources$Adeepsources["Adeep"]
is, instead, a function, then it is interpreted as the time-integrated source of alkalinity to the deep ocean in units of mol and as a function of time in yr.
2 - Options
Optional options
listdictionary
The optional options
parameter is a listdictionary of logicalsbooleans options and an integer debug parameter. The values that can be set within the options
listdictionary are:
sediments
: Allow ocean-floor deposition and dissolution of carbon and alkalinity to depend on the deep-ocean concentration of carbonate ions. The default value of FALSEFalse
does nothing. A value of FALSEFalse
simply overrides the value of abc
in constants
by setting it to zero.
weathering
: Allow terrestrial weathering of carbonates and silicates to depend on temperature. The default value of TRUETrue
does nothing. A value of FALSEFalse
simply overrides the values of dlogFwcdT
and dlogFwsdT
in constants
by setting them to zero.
vegetation
: Allow for the vegetative net primary productivity to depend on the atmospheric concentration of CO2 and for the soil oxidation rate to depend on temperature. The default value of TRUETrue
does nothing. A value of FALSEFalse
simply overrides the values of NPPmax
and soilQ10
in vegetation
by setting them to NPPpi
and 1
, respectively.
debug
: An integer that sets the verbosity of informational messages printed to the screen during runtime. The default value is 0
. Higher values of 1
, 2
, and 3
print progressively more information.
3 - Timesteps
Optional timesteps
listdictionary
The optional timesteps
parameter is a listdictionary comprising a numericfloat vectorlist t
with N monotonically increasing values and a numericfloat vectorlist dtmax
with N-1 positive values. This tells longterm
to pick time steps that are bounded above by dtmax
for times between the corresponding pairs of elements of t
. The values that can be set within the timesteps
listdictionary are:
t
The N vectorlist of times, in yr, pairs of which bracket times during with the corresponding element of dtmax
provides a bound on the time step. By default, t
is c(0,10^((-1):7))[0] + [10**i for i in range(-1, 8)]
.
dtmax
The N-1 vectorlist of maximum time-step sizes, in yr. For times between t[n]
and t[n+1]
, the time step chosen by longterm
will be less than or equal to dtmax[n]
. By default, dtmax
is 10^((-2):6)[10**i for i in range(-2, 7)]
.
4 - Vegetation
Optional vegetation
listdictionary
The optional vegetation
argument is a listdictionary of properties for vegetation and the soil. There must be one or more vegetation pools and there must be one or more soil pools. The values that can be set within the vegetation
listdictionary are:
Cvegpi
: A vectorlist of preindustrial carbon stocks, in GtC, for each of the vegetation pools. Default is c(100,475,40)[100,475,40]
.
tauveg
: A vectorlist, of the same length as Cvegpi
, of timescales, in yr, for the flows of carbon out of the vegetation pools (to the first soil pool). The default is c(100,25,1)[100,25,1]
. Combined with the default Cvegpi
, this gives a preindustrial NPP of 100/100 + 475/25 + 40/1 = 60 GtC/yr.
NPPmax
: The maximum NPP, in GtC/yr, when the atmospheric CO2 concentration is no longer a limiting factor. This value must be greater than the sum of Cvegpi
. Default is 80
.
albedo_forcing
: The shortwave radiative forcing per deviation in the total amount of vegetative carbon (not including soil carbon) from the preindustrial value, in units of W/m2/GtC. Default is 0.002
.
tausoil
: A vectorlist, of length equal to the number of desired soil pools, of timescales, in yr, for the flows of carbon out of the soil pools (a fraction soiloxi
of which goes to the atmosphere and 1-soiloxi
of which goes to the next soil pool). Default is c(10,1000)[10,1000]
.
soiloxi
: A vectorlist, of the same length as tausoil
, of fractions of the flows of carbon out of the soil pools that are oxidized and sent to the atmosphere. The last element of this vectorlist must equal 1
. Default is c(59/60,1)[59/60,1]
. With a preindustrial NPP of 60 GtC/yr (see the note on tauveg
above) and the default tausoil
values (given above), this gives preindustrial soil carbon stocks of 60 x 10 = 600 GtC in the fast (10-yr) pool and 60 x (1-59/60) x 1000 = 1000 GtC in the slow (1000-yr) pool.
soilQ10
: The Q10 value for the soil decay rate, i.e., the factor by which the timescale of soil decay decreases for a 10-K temperature in surface temperature. Default is 1.5
.
5 - PIControl
Optional picontrol
listdictionary
The optional picontrol
parameter is a listdictionary of preindustrial values. By default, picontrol
is NULLNone
, which runs the simulation with the default preindustrial values. No matter what preindustrial values are chosen, the model will set the preindustrial surface-ocean alkalinity and deep-ocean dissolved inorganic carbon to values that guarantee preindustrial equilibrium. The values that can be set within the picontrol
listdictionary are:
Tatm
, Tdeep
: Preindustrial mean surface-air temperature and mean deep-ocean surface temperature in K. Default values are 288
for Tatm
and 278
for Tdeep
.
CO2
: Preindustrial molecular number concentration of atmospheric CO2. Default value is 280e-6
.
Adeep
: Preindustrial alkalinity of the deep ocean in mol/kg. Default value is 2.35e-3
.
Fwc
, Fws
: Preindustrial rates, in GtC/yr, of weathering of terrestrial carbonates (Fwc
; default of 0.1
) and silicates (Fws
; default of 0.1
).
6 - Constants
Optional constants
listdictionary
The optional constants
parameter is a listdictionary of numericsfloats. The values that can be set within the constants
listdictionary are:
Mocean
: Mass of the ocean (surface plus deep) in kg. Default is 1.4e21
.
hsurf
: Depth of the ocean surface layer in m. Default is 100
.
taudeep
: Overturning timescale of the deep ocean in yr. In particular, the rate of water mass flowing through the deep ocean, and also through the surface ocean, is equal to the mass of the deep ocean divided by this timescale. Default is 600
.
rad2xco2
: Radiative forcing from a doubling of CO2 in W/m2. Default is 3.7
.
lambda
: Earth’s feedback parameter in W/m2/K. Default is 1.2
.
dCSLdT
: Change in committed sea level per temperature anomaly in m/K. Default is 6
.
tauSL
: Timescale of adjustment of SL to CSL in yr. Default is 2000
.
SLmax
: Maximum possible sea-level rise (SLR) in m. Default is 60
.
dlogFwcdT
: Relative change in the terrestrial weathering of carbonates (Fwc) per degree change in global-mean surface-air temperature. The units are 1/K. Default is 0.02
.
dlogFwsdT
: Relative change in the terrestrial weathering of silicates (Fws) per degree change in global-mean surface-air temperature. The units are 1/K. Default is 0.10
.
abc
: The proportionality between the anomalous rate of seafloor calcium-carbonate deposition and the anomalous concentration of deep-ocean carbonate ions. The units are GtC/yr per mol/kg. Default is 3e3
.
7 - Plot
Optional plot
logicalboolean
The optional plot
parameter is a logicalboolean indicating whether a plot of the simulation should be generated. Default is TRUETrue
.
8 - Restart
Optional restart
data framedictionary of lists
The optional restart
parameter is NULLNone
by default, which begins the simulation at a preindustrial steady state. Alternatively, restart
can be set to a data framedictionary of lists containing the initial state of the climate; if more than one row, longterm
initializes with the last row. Most often, this will be the output of a previous simulation. Arbitrary starting states can be constructed, in the format of longterm
output, and fed to restart
, but the preferred method of creating perturbed – i.e., non-preindustrial states – is with the use of the sources
input listdictionary.