
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "gat_plot_examples/06_curtailment_annual.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. note::
        :class: sphx-glr-download-link-note

        :ref:`Go to the end <sphx_glr_download_gat_plot_examples_06_curtailment_annual.py>`
        to download the full example code.

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_gat_plot_examples_06_curtailment_annual.py:


Curtailment — Annual and Monthly
--------------------------------

Stacked time series of curtailed VRE energy by technology. The annual
view shows total curtailed MWh; the monthly view shows seasonality.

Curtailment is computed as the difference between renewable
*availability* (the time series parameter) and renewable *dispatch*
(the variable). It's only meaningful for technologies in
``gc.config.curtailable_tech`` — typically PV, Wind, RTPV.

.. GENERATED FROM PYTHON SOURCE LINES 13-38



.. image-sg:: /gat_plot_examples/images/sphx_glr_06_curtailment_annual_001.png
   :alt: Annual Curtailment by Technology, Monthly Curtailment
   :srcset: /gat_plot_examples/images/sphx_glr_06_curtailment_annual_001.png
   :class: sphx-glr-single-img


.. rst-class:: sphx-glr-script-out

 .. code-block:: none

    /home/runner/work/GridAnalysisToolkit/GridAnalysisToolkit/src/gat/datahelpers/sienna.py:381: UserWarning: StandardLoad was not found. Use one of the following components
      warnings.warn(message, UserWarning)
    ----- Available Components -----
    RenewableNonDispatch
    LoadZone
    RenewableDispatch
    FixedAdmittance
    ACBus
    Area
    VariableReserve
    TwoTerminalHVDCLine
    ThermalStandard
    Arc
    PowerLoad
    TapTransformer
    Line
    /home/runner/work/GridAnalysisToolkit/GridAnalysisToolkit/src/gat/scenariohandlers/sienna.py:508: UserWarning: Could not find dataset with pattern ActivePowerTimeSeriesParameter__StandardLoad, consider updating the configuration or removing this pattern to avoid a warning.
      warnings.warn(message, UserWarning)
    /home/runner/work/GridAnalysisToolkit/GridAnalysisToolkit/src/gat/scenariohandlers/sienna.py:508: UserWarning: Could not find dataset with pattern ActivePowerInVariable*, consider updating the configuration or removing this pattern to avoid a warning.
      warnings.warn(message, UserWarning)
    /home/runner/work/GridAnalysisToolkit/GridAnalysisToolkit/src/gat/scenariohandlers/sienna.py:523: UserWarning: No matching datasets found for ['ActivePowerInVariable*'], consider updating the configuration.
      warnings.warn(message, UserWarning)
    /home/runner/work/GridAnalysisToolkit/GridAnalysisToolkit/src/gat/scenariohandlers/sienna.py:706: UserWarning: Unable to create storage load timeseries data, additional calculated loads may not be available.
      warnings.warn(
    /home/runner/work/GridAnalysisToolkit/GridAnalysisToolkit/src/gat/scenariohandlers/sienna.py:508: UserWarning: Could not find dataset with pattern ActivePowerOutVariable*, consider updating the configuration or removing this pattern to avoid a warning.
      warnings.warn(message, UserWarning)
    /home/runner/work/GridAnalysisToolkit/GridAnalysisToolkit/src/gat/scenariohandlers/sienna.py:508: UserWarning: Could not find dataset with pattern ActivePowerTimeSeriesParameter__StandardLoad, consider updating the configuration or removing this pattern to avoid a warning.
      warnings.warn(message, UserWarning)






|

.. code-block:: Python

    import warnings
    warnings.filterwarnings("ignore", category=DeprecationWarning)

    import matplotlib.pyplot as plt
    from gat.scenariohandlers import SiennaScenario
    import gat.quickplots as qp

    sienna_v4 = "../../example_data/sienna/v4"
    scenario = SiennaScenario(
        simulation_files=f"{sienna_v4}/simulation_store.h5",
        system_file=f"{sienna_v4}/sys.json",
    )

    dispatch = scenario.get_area_dispatch(include_charging=False, include_use=False)

    fig, axs = plt.subplots(1, 2, figsize=(14, 5))

    qp.plot_annual_system_curtailment_stack(dispatch, ax=axs[0])
    axs[0].set_title("Annual Curtailment by Technology")

    qp.plot_monthly_system_curtailment_stack(dispatch, ax=axs[1])
    axs[1].set_title("Monthly Curtailment")

    plt.tight_layout()
    plt.show()


.. rst-class:: sphx-glr-timing

   **Total running time of the script:** (0 minutes 0.411 seconds)


.. _sphx_glr_download_gat_plot_examples_06_curtailment_annual.py:

.. only:: html

  .. container:: sphx-glr-footer sphx-glr-footer-example

    .. container:: sphx-glr-download sphx-glr-download-jupyter

      :download:`Download Jupyter notebook: 06_curtailment_annual.ipynb <06_curtailment_annual.ipynb>`

    .. container:: sphx-glr-download sphx-glr-download-python

      :download:`Download Python source code: 06_curtailment_annual.py <06_curtailment_annual.py>`

    .. container:: sphx-glr-download sphx-glr-download-zip

      :download:`Download zipped: 06_curtailment_annual.zip <06_curtailment_annual.zip>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
