code: def seasons(ephemeris):
      
      earth = ephemeris['earth']
      sun = ephemeris['sun']
  
      def season_at(t):
          """Return season 0 (Spring) through 3 (Winter) at time `t`."""
          t._nutation_angles = iau2000b(t.tt)
          e = earth.at(t)
          _, slon, _ = e.observe(sun).apparent().ecliptic_latlon('date')
          return (slon.radians // (tau / 4) % 4).astype(int)
  
      season_at.rough_period = 90.0
      return season_at
docs: Build a function of time that returns the quarter of the year.
  
      The function that this returns will expect a single argument that is
      a :class:`~skyfield.timelib.Time` and will return 0 through 3 for
      the seasons Spring, Summer, Autumn, and Winter.