TemperatureMap#

class VSPEC.gcm.heat_transfer.TemperatureMap(epsilon, t0: astropy.units.Quantity)#

Bases: object

A map of the surface temperature.

Parameters:
eval(lon: astropy.units.Quantity, lat: astropy.units.Quantity, alpha: float) astropy.units.Quantity#

Evaluate the temperature map at a point of points.

Parameters:
Returns:

The surface temperature at the desired points.

Return type:

astropy.units.Quantity

Notes

The following math was done by Ted Johnson on 2024-01-26. The goal is to add a parameter in to account for latitudinal mixing. Here is my setup for the problem:

\[f(x,\alpha) ~\text{is the temperature as a function of latitude}\]

Where \(\alpha\) is defined such that \(f(\pi/2,\alpha) = \alpha f(0,\alpha)\).

The flux at the surface is then \((f(x,\alpha))^4\). Due to the polar coordinate system the relative area is \(\cos{x}\)

We can then say that because of the Stephan-Boltzmann law, the following quantity is invarient:

\[I = \int_{0}^{\pi/2} (f(x,\alpha) \cos{x})^4 dx\]

We also know that in the case of no latitudinal mixing, the temperature is:

\[f(x,0) = \cos(x)^{1/4}\]

We can plug this in to the integral to see

\[\begin{split}I = \int_{0}^{\pi/2} (\cos(x)^{1/4} \cos{x})^4 dx \\ = \int_{0}^{\pi/2} (\cos{x})^5 dx \\ = \frac{8}{15}\end{split}\]

We can then look at the other limit. Let \(T_0\) be the temperature at which the equator and pole are equal. Then the temperature is

\[f(x,1) = T_0\]

And the integral is

\[I = \int_{0}^{\pi/2} (T_0 \cos{x})^4 dx = \frac{8}{15}\]

With the knowledge that \(\int_{0}^{\pi/2} (\cos{x})^4 dx = \frac{3\pi}{16}\) we find that:

\[\begin{split}T_0 = \left(\frac{2^7}{45\pi}\right)^{1/4} \\ = 0.9754654591261265\end{split}\]

We then can create a general equation for the temperature:

\[f(x,\alpha) = T_0 \alpha + (1-\alpha) \cos(x)^{1/4}\]
classmethod from_planet(epsilon: float, star_teff: astropy.units.Quantity, albedo: float, r_star: astropy.units.Quantity, r_orbit: astropy.units.Quantity)#

Generate a TemperatureMap given the properties of a planet.

Parameters: