esmtools.carbon.spco2_sensitivity

esmtools.carbon.spco2_sensitivity(ds)[source]

Compute sensitivity of surface pCO2 to changes in driver variables.

Parameters:ds (xr.Dataset) – containing cmorized variables: * spco2 [uatm]: ocean pCO2 at surface * talkos[mmol m-3]: Alkalinity at ocean surface * dissicos[mmol m-3]: DIC at ocean surface * tos [C] : temperature at ocean surface * sos [psu] : salinity at ocean surface
Returns:
Return type:sensitivity (xr.Dataset)

References

  • Lovenduski, Nicole S., Nicolas Gruber, Scott C. Doney, and Ivan D. Lima. “Enhanced CO2 Outgassing in the Southern Ocean from a Positive Phase of the Southern Annular Mode.” Global Biogeochemical Cycles 21, no. 2 (2007). https://doi.org/10/fpv2wt.
  • Sarmiento, Jorge Louis, and Nicolas Gruber. Ocean Biogeochemical Dynamics. Princeton, NJ: Princeton Univ. Press, 2006., p.421, eq. (10:3:1)

Examples

>>> from esmtools.carbon import spco2_sensitivity
>>> import numpy as np
>>> import xarray as xr
>>> tos = xr.DataArray(np.random.randint(15, 30, size=(100, 10, 10)),
        dims=['time', 'lat', 'lon']).rename('tos')
>>> sos = xr.DataArray(np.random.randint(30, 35, size=(100, 10, 10)),
        dims=['time', 'lat', 'lon']).rename('sos')
>>> spco2 = xr.DataArray(np.random.randint(350, 400, size=(100, 10, 10)),
        dims=['time', 'lat', 'lon']).rename('spco2')
>>> dissicos = xr.DataArray(np.random.randint(1900, 2100, size=(100, 10, 10)),
        dims=['time', 'lat', 'lon']).rename('dissicos')
>>> talkos = xr.DataArray(np.random.randint(2100, 2300, size=(100, 10, 10)),
        dims=['time', 'lat', 'lon']).rename('talkos')
>>> ds = xr.merge([tos, sos, spco2, dissicos, talkos])
>>> sensitivity = spco2_sensitivity(ds)