get_equator_curve#

VSPEC.gcm.heat_transfer.get_equator_curve(epsilon: float, n_points: int, mode: str = 'ivp_reflect')#

Get the temperature along the equator given thermal inertia epsilon. This is computed by integrating equation 10 of Cowan and Agol [2011].

Parameters:
  • epsilon (float) – The thermal inertial of the planet.

  • n_points (int) – The numer of longitude points to return in the final array.

  • mode (str) – The method to use to find the solution. This can be one of ‘ivp_reflect’, ‘bvp’, ‘ivp_iterate’, ‘analytic’.

Returns:

  • lons (np.ndarray) – The longitude points in radians, starting at -pi

  • tsurf (np.ndarray) – The unitless ratio between the surface temperature and the fiducial temperature.

Warns:

RuntimeWarning – If the specified mode is not valid with the specified epsilon.

Notes

Of the four solving methods, each has a region in which it is valid. Some are optimized for epsilon ~ 1, some for small epsilon, and some for when epsilon is very large.

ivp_reflect: Integrate from pi to -pi, to find an initial condition to integrate from -pi to pi. For small epsilon, this method is very robust. Valid for epsilon < 1

bvp: Solve the boundary condition problem for T(-pi) = T(pi). Valid for epsilon > 1

ivp_interate: Integrate the ODE until the boundaries are within 1%. Valid for epsilon < 0.5

analytic: Use an analytic approximation. Very fast, valid for epsilon > 10