earthsystem

class lowEBMs.Packages.Functions.earthsystem[source]

Bases: object

Class defining earthsystem properties

globalmean_temperature The GMT calculated from the ZMT with a gridspcific areaweighting.
insolation
solarradiation
solarradiation_orbital The solar insolation over the latitudes \(Q\) with changing orbital parameters.
specific_saturation_humidity_sel The specific saturation humidity of a latitudinal belt.
saturation_pressure The saturation pressure of a latitudinal belt.
humidity_difference The humidity difference between latitudinal belts.
temperature_difference_latitudes The temperature difference between latitudinal belts.
length_latitudes The length (circumference) of the latitudinal circles.
area_latitudes The area of the latitudinal belts.
lowEBMs.Packages.Functions.earthsystem.globalmean_temperature(self)

The GMT calculated from the ZMT with a gridspcific areaweighting.

The GMT, \(T_{global}\), is given by:

\[T_{global}= \int_{\phi_s}^{\phi_n} T(\phi) \cdot cos(\phi) d\phi\]

with the ZMT, \(T(\phi)\), of latitude \(\phi\), and the borders of the grid \(\phi_s\)/\(\phi_n\).

Function-call arguments

Returns:The global mean temperature in Kelvin
Return type:float
lowEBMs.Packages.Functions.earthsystem.solarradiation(self, convfactor, timeunit, orbitalyear, Q)
lowEBMs.Packages.Functions.earthsystem.solarradiation_orbital(self, convfactor, orbitalyear, unit)

The solar insolation over the latitudes \(Q\) with changing orbital parameters.

The functionality of this module is in its main features the same as earthsystem().solarradiation with the addition that the orbital parameters are imported from climlab.solar.orbital and updated continously if Vars.t passes to the next century (can only be updated in kiloyears).

Function-call arguments

Parameters:
  • convfactor (float) –

    Conversionfactor if another unit is desired

    • unit: depending on the conversion
    • value: any
  • orbitalyear (string) –

    Indicates for which year the orbitalparameters are chosen and updated from

    • unit: \(kyear\)
    • value: -5000 to 0
  • unit (string) –

    Indicates which unit of time is used in the simulation

    • unit: -
    • value: various options
      • ’year’: Returns the solarinsolation at time t which is given in unit years
      • None: Use the value given in the Configuration.ini
Returns:

The solar insolation over latitudes with update of orbital parameters

Return type:

float / array(float) (0D / 1D)

lowEBMs.Packages.Functions.earthsystem.meridionalwind_sel(self, a, re)

The meridional wind \(v\) between latitudinal belts.

This function is part of the transfer().sellers module which calculates the meridional windspeed depending on a latitudes temperature. It is given by:

\[v = - a\cdot (\Delta T \pm | \overline{\Delta T} | )\]

with \(+\) north of 5°N and \(-\) south of 5°N, the temperature difference between latitudes \(\Delta T\) provided by earthsystem().temperature_difference_latitudes, empirical constants \(a\) and the area weighted mean temperature difference \(| \overline{\Delta T} |\).

The required parameters are directly parsed from the transfer().sellers module, for details see here.

Function-call arguments

Parameters:
  • a (float) –

    Empirical constants estimating the windspeed of a latitudinal belt

    • unit: \(meter\cdot second^{-1} \cdot Kelvin^{-1}\)
    • value: (imported by Configuration.add_sellersparameters)
  • re (float) –

    The earth’s radius

    • unit: meter
    • value: \(6.371\cdot 10^6\)
Returns:

The meridional windspeed

Return type:

array(float) (1D)

lowEBMs.Packages.Functions.earthsystem.specific_saturation_humidity_sel(self, e0, eps, L, Rd, p)

The specific saturation humidity of a latitudinal belt.

This function is part of the transfer().sellers module which calculates provides the required properties for transfer().watervapour_sel. It is given by:

\[q = \frac{\epsilon \cdot e}{p} \]

with an empirical constant \(\epsilon\), the average sea level pressure p and the saturation pressure e from earthsystem().saturation_pressure.

The required parameters are directly parsed from the transfer().sellers module, for details see here.

Function-call arguments

Parameters:
  • e0 (float) –

    The mean sea level saturation vapour pressure

    • unit: \(mbar\)
    • value: 17
  • eps (float) –

    Empirical constant of the saturation specific humidity

    • unit: -
    • value: 0.622
  • L (float) –

    The latent heat of condensation

    • unit: \(Joule\cdot gramm^{-1}\)
    • value: \(2.5\cdot 10^3\)
  • Rd (float) –

    The gas constant

    • unit: \(Joule\cdot gramm^{-1}\cdot Kelvin^{-1}\)
    • value: \(0.287\)
  • p (float) –

    The average sea level pressure

    • unit: \(mbar\)
    • value: 1000
Returns:

The specific saturation humidity

Return type:

array(float) (1D)

lowEBMs.Packages.Functions.earthsystem.saturation_pressure(self, e0, eps, L, Rd)

The saturation pressure of a latitudinal belt.

This function is part of the transfer().sellers module which calculates provides the required properties for earthsystem().humidity_difference and earthsystem().specific_saturation_humidity_sel. It is given by:

\[e = e_0 \left(1 - 0.5 \frac{\epsilon L \Delta T}{R_d T^2} \right) \]

with the temperature difference between latitudes \(\Delta T\) provided by earthsystem().temperature_difference_latitudes, the empirical constant \(\epsilon\), the gas constant \(R_d\), the latent heat of condensation \(L\), the mean sea level saturation vapour pressure \(e_0\) and the temperature of the southern latitudinal belt \(T\).

The required parameters are directly parsed from the earthsystem().specific_saturation_humidity_sel module, for details see here.

Function-call arguments

Parameters:
  • e0 (float) –

    The mean sea level saturation vapour pressure

    • unit: \(mbar\)
    • value: 17
  • eps (float) –

    Empirical constant of the saturation specific humidity

    • unit: -
    • value: 0.622
  • L (float) –

    The latent heat of condensation

    • unit: \(Joule\cdot gramm^{-1}\)
    • value: \(2.5\cdot 10^3\)
  • Rd (float) –

    The gas constant

    • unit: \(Joule\cdot gramm^{-1}\cdot Kelvin^{-1}\)
    • value: \(0.287\)
Returns:

The saturation pressure

Return type:

array(float) (1D)

lowEBMs.Packages.Functions.earthsystem.humidity_difference(self, e0, eps, L, Rd, p)

The humidity difference between latitudinal belts.

This function is part of the transfer().sellers module which calculates provides the required properties for transfer().watervapour_sel. It is given by:

\[\Delta q = \frac{e \epsilon^2 L \Delta T}{p R_d T^2} \]

with the temperature difference between latitudes \(\Delta T\) provided by earthsystem().temperature_difference_latitudes, the empirical constant \(\epsilon\), the average sea level pressure p, the gas constant \(R_d\), the latent heat of condensation \(L\), the mean sea level saturation vapour pressure \(e_0\) and the temperature of the southern latitudinal belt \(T\).

The required parameters are directly parsed from the transfer().sellers module, for details see here.

Function-call arguments

Parameters:
  • e0 (float) –

    The mean sea level saturation vapour pressure

    • unit: \(mbar\)
    • value: 17
  • eps (float) –

    Empirical constant of the saturation specific humidity

    • unit: -
    • value: 0.622
  • L (float) –

    The latent heat of condensation

    • unit: \(Joule\cdot gramm^{-1}\)
    • value: \(2.5\cdot 10^3\)
  • Rd (float) –

    The gas constant

    • unit: \(Joule\cdot gramm^{-1}\cdot Kelvin^{-1}\)
    • value: \(0.287\)
  • p (float) –

    The average sea level pressure

    • unit: \(mbar\)
    • value: 1000
Returns:

The humidity difference between two latitudinal belts

Return type:

array(float) (1D)

lowEBMs.Packages.Functions.earthsystem.temperature_difference_latitudes(self)

The temperature difference between latitudinal belts.

It is given by

\[\Delta T = T_{north}-T_{south}\]

with the temperature of the southern and northern latitudinal belt \(T_{south}\), \(T_{south}\).

Function-call arguments

Returns:The temperature difference between the latitudinal belts over the latitudes
Return type:array(float) (1D)
lowEBMs.Packages.Functions.earthsystem.length_latitudes(self, re)

The length (circumference) of the latitudinal circles.

It is given by

\[l = 2\pi\cdot r\cdot cos (\phi)\]

with the earths radius \(r\) and the degree of latitude \(\phi\).

Function-call arguments

Parameters:re (float) –

The earth’s radius

  • unit: meter
  • value: \(6.371\cdot 10^6\)
Returns:The length of the latitudinal circles
Return type:array(float) (1D)
lowEBMs.Packages.Functions.earthsystem.area_latitudes(self, re)

The area of the latitudinal belts.

It is given by

\[A = \pi r^2 \left([sin(90-\phi_s)^2+(1-cos(90-\phi_s))^2] - [sin(90-\phi_n)^2 + (1+cos(90-\phi_n))^2]\right)\]

with the earths radius \(r\) and the degree of northern and southern latitudinal circle \(\phi_n\), \(\phi_s\).

Function-call arguments

Parameters:re (float) –

The earth’s radius

  • unit: meter
  • value: \(6.371\cdot 10^6\)
Returns:The area of the latitudinal belts
Return type:array(float) (1D)