Source code for siim.plotting
"""siim plotting package — ``siim_plotter`` assembled from per-area mixins.
Split out of the old ``siim2d_plotting.py`` for file-size hygiene and a trimmed
v1.0 keeper set; the public API (``m.plot.<method>``) is unchanged. See
``docs/guides/outputs_and_io.md`` for the public plotting contract.
``siim_plotter`` is assembled from the per-area mixins below; ``siim2d.py``
imports it from here, and the old ``siim2d_plotting.py`` is gone.
"""
from .maps import MapMixin
from .profiles import ProfileMixin
from .landscape import LandscapeMixin
from .basins import BasinsMixin
from .diagnostics import DiagnosticsMixin
[docs]
class siim_plotter(MapMixin, ProfileMixin, LandscapeMixin,
BasinsMixin, DiagnosticsMixin):
"""Plotting facade bound to a run model instance (``m.plot``).
The 1D facade remains in ``siim1d.py``. Both inherit the same public
profile methods and share field metadata, visual styles and serial movie
handling. The 1D limit-cycle and phase-portrait helpers are private
research tools, outside the public plotting API.
"""
def __init__(self, model):
self.model = model