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.

output <- longterm()
output = longterm.run();

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.