code: def geoc2geod(
      geocentric_lat,
      geocentric_distance,
      ell: Ellipsoid = None,
      deg: bool = True,
  ):
      """
      convert geocentric latitude to geodetic latitude, consider mean sea level altitude
  
      like Matlab geoc2geod()
  
      Parameters
      ----------
      geocentric_lat : float
          geocentric latitude
      geocentric_distance: float
          distance from planet center, meters (NOT altitude above ground!)
      ell : Ellipsoid, optional
           reference ellipsoid (default WGS84)
      deg : bool, optional
           degrees input/output  (False: radians in/out)
  
      Returns
      -------
      geodetic_lat : float
           geodetic latiude
  
  
      References
      ----------
      Long, S.A.T. "General-Altitude Transformation between Geocentric
          and Geodetic Coordinates. Celestial Mechanics (12), 2, p. 225-230 (1975)
          doi: 10.1007/BF01230214"
      """
      geocentric_lat, ell = sanitize(geocentric_lat, ell, deg)
  
      r = geocentric_distance / ell.semimajor_axis
  
      geodetic_lat = (
          geocentric_lat
          + (sin(2 * geocentric_lat) / r) * ell.flattening
          + ((1 / r**2 + 1 / (4 * r)) * sin(4 * geocentric_lat))
          * ell.flattening**2
      )
  
      return degrees(geodetic_lat) if deg else geodetic_lat
  
imports: from __future__ import annotations
  import warnings
  from math import pi
  from .None import rcurve
  from .ellipsoid import Ellipsoid
  from .mathfun import asinh, atan, atanh, cos, degrees, exp, inf, radians, sign, sin, sqrt, tan
  from .utils import sanitize
label_desc: Use image node_id 1 for calling a global function with example usage: geoc2geod(geocentric_lat, geocentric_distance, ell, deg) and returns: unknown