POSEIDON.geometry ================= .. py:module:: POSEIDON.geometry .. autoapi-nested-parse:: Functions to compute geometric aspects of the model atmosphere. Functions --------- .. autoapisummary:: POSEIDON.geometry.atmosphere_regions POSEIDON.geometry.angular_grids POSEIDON.geometry.opening_angle Module Contents --------------- .. py:function:: atmosphere_regions(Atmosphere_dimension, TwoD_type, N_slice_EM, N_slice_DN) Establish the number of azimuthal sectors (Evening-Morning) and zenith zones (Day-Night) required to discretise the background atmosphere. :param Atmosphere_dimension: The dimensionality of the model atmosphere (Options: 1 / 2 / 3). :type Atmosphere_dimension: int :param TwoD_type: For 2D models, specifies whether the model considers day-night gradients or evening-morning gradients (Options: D-N / E-M). :type TwoD_type: str :param N_slice_EM: Number of azimuthal slices in the evening-morning transition region. :type N_slice_EM: even int :param N_slice_DN: Number of zenith slices in the day-night transition region. :type N_slice_DN: even int :returns: Number of azimuthal sectors comprising the background atmosphere. N_zones (int): Number of zenith zones comprising the background atmosphere. :rtype: N_sectors (int) .. py:function:: angular_grids(Atmosphere_dimension, TwoD_type, N_slice_EM, N_slice_DN, alpha, beta, sharp_DN_transition, sharp_EM_transition) Compute the grids of angles (sector / zone centres, edges, and differential extents) for a given discretised atmosphere. By convention, the angles are defined as: phi: angle in terminator plane measured clockwise from North pole. theta: angle from terminator plane measured towards nightside. Due to (assumed) North-South symmetry in all cases, we only need to consider theta > -pi/2 and/or phi < pi/2 (i.e. northern hemisphere). :param Atmosphere_dimension: The dimensionality of the model atmosphere (Options: 1 / 2 / 3). :type Atmosphere_dimension: int :param TwoD_type: For 2D models, specifies whether the model considers day-night gradients or evening-morning gradients (Options: D-N / E-M). :type TwoD_type: str :param N_slice_EM: Number of azimuthal slices in the evening-morning transition region. :type N_slice_EM: even int :param N_slice_DN: Number of zenith slices in the day-night transition region. :type N_slice_DN: even int :param alpha: Terminator opening angle (degrees). :type alpha: float :param beta: Day-night opening angle (degrees). :type beta: float :param sharp_DN_transition: For 2D / 3D models, sets day-night transition width (beta) to 0. :type sharp_DN_transition: bool :param sharp_EM_transition: For 2D / 3D models, sets evening-morning transition width (alpha) to 0. :type sharp_EM_transition: bool :returns: Mid-sector angles (radians). theta (np.array of float): Mid-zone angles (radians). phi_edge (np.array of float): Boundary angles for each sector (radians). theta_edge (np.array of float): Boundary angles for each zone (radians). dphi (np.array of float): Angular width of each sector (radians). dtheta (np.array of float): Angular width of each zone (radians). :rtype: phi (np.array of float) .. py:function:: opening_angle(R_p_ref, T, mu, g, log_sigma=-25.3, log_X=-3.3, tau_0=0.56, P_ref=0.01, gamma=0.01) Calculate the predicted terminator opening angle using the analytic equation from Wardenier+2022 (their Eq. 10). This analytic prescription is valid for a 1D isothermal atmosphere with constant gravity with opacity dominated by a single chemical species with constant cross section. Despite these caveats, the formula performs rather well compared to full radiative transfer models. Therefore, this offers a good first-order estimate for the angular width about the terminator plane for which transmission spectrum are sensitive. :param R_p_ref: Planetary radius at the reference pressure P_ref (typically the white light transit radius). :type R_p_ref: float :param T: Representative planet temperature (typically T_eq) (K). :type T: float :param mu: Mean molecular mass of the atmosphere (kg). :type mu: float :param g: Gravitational field strength of planet (m/s^2). :type g: float :param log_sigma: Absorption cross section of dominant opacity source (log_10 (m^2)). :type log_sigma: float :param log_X: Mixing ratio of chemical species dominating the opacity. :type log_X: float :param tau_0: Slant optical depth for impact parameter corresponding to the opening angle (0.56 default corresponds to Lecavelier des Etangs+2008). :type tau_0: float :param P_ref: Reference pressure corresponding to R_p_ref. :type P_ref: float :param gamma: 'Tolerance factor' for the opening angle, such that the angle encloses a fraction gamma -> (1 - gamma) of the total slant optical depth. The default corresponds to the 1-99 % optical depth region. Note: relabelled from 'beta' in Wardenier+2022, since POSEIDON uses beta for the opening angle itself. :type gamma: float :returns: Day-night opening angle (degrees). :rtype: beta (float)