Skip to content

Day-night terminator and twilights fails around equinoxes #4459

@mikez

Description

@mikez

Description of the problem

I posted this issue also directly in the gmt project; however, since I'm actually using pygmt, maybe it's of interest here as well.

Running your solar example around equinoxes results in the terminator circles unexpectedly getting clamped to 90º.

Image

Minimal Complete Verifiable Example

import datetime

import pygmt

fig = pygmt.Figure()
# Create a global map using the Mollweide projection, centered at 0°E, with a width of
# 15 centimeters.
fig.basemap(region="d", projection="W15c", frame=True)
fig.coast(land="darkgreen", water="lightblue")

# Set a time for the day-night terminator and twilights to 17:00 UTC on January 1, 2000
reference_time = datetime.datetime(
    year=2026, month=3, day=20, hour=12, minute=0, second=0
)

# Plot the day-night terminator and twilights
for terminator in ["day_night", "civil", "nautical", "astronomical"]:
    fig.solar(
        terminator=terminator,
        terminator_datetime=reference_time,
        # Set the fill for the night area to navy blue with 85 % transparency
        fill="navyblue@85",
        pen="0.5p",  # Set the outline to be 0.5-point thick
    )

fig.show()

Full error message

System information

PyGMT information:
  version: v0.18.0
  …
GMT library information:
  version: 6.6.0
  …

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingupstreamBug or missing feature of upstream core GMT

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions