test_pjm
===================================

.. py:module:: gridstatus.tests.test_pjm


Module Contents
---------------

Classes Summary
~~~~~~~~~~~~~~~

.. autoapisummary::

   gridstatus.tests.test_pjm.TestPJM





Contents
~~~~~~~~~~~~~~~~~~~
.. py:class:: TestPJM

   Bases: :py:obj:`gridstatus.tests.base_test_iso.BaseTestISO`


   **Attributes**

   .. list-table::
      :widths: 15 85
      :header-rows: 0

      * - **expected_dam_as_market_results_cols**
        - ['Interval Start', 'Interval End', 'Ancillary Service', 'Locale', 'Service Type', 'Market Clearing Price', 'Market Clearing Price Capped', 'Ancillary Service Required', 'Total MW', 'Assigned MW', 'Self-Scheduled MW', 'Interface Reserve Capability MW', 'Demand Response MW Assigned', 'Non-Synchronized Reserve MW Assigned']
      * - **expected_five_min_solar_gen_cols**
        - ['Interval Start', 'Interval End', 'Solar Generation']
      * - **expected_operational_reserves_cols**
        - ['Interval Start', 'Interval End', 'Reserve Name', 'Reserve']
      * - **expected_real_time_as_market_results_cols**
        - ['Interval Start', 'Interval End', 'Ancillary Service', 'Locale', 'Service Type', 'Market Clearing Price', 'Market Clearing Price Capped', 'Regulation Capability Clearing Price', 'Regulation Performance Clearing Price', 'Ancillary Service Required', 'Total MW', 'Assigned MW', 'Self-Scheduled MW', 'Tier 1 MW', 'Interface Reserve Capability MW', 'Demand Response MW Assigned', 'Non-Synchronized Reserve MW Assigned', 'REGD MW']
      * - **expected_solar_wind_gen_by_area_cols**
        - ['Interval Start', 'Interval End', 'MIDATL', 'OTHER', 'RFC', 'RTO', 'SOUTH', 'WEST']
      * - **expected_transfer_interface_info_cols**
        - ['Interval Start', 'Interval End', 'Interface Name', 'Actual Flow', 'Warning Level', 'Transfer Limit']
      * - **expected_transmission_limits_cols**
        - ['Interval Start', 'Interval End', 'Constraint Name', 'Constraint Type', 'Contingency', 'Shadow Price']
      * - **expected_wind_gen_cols**
        - ['Interval Start', 'Interval End', 'Wind Generation']
      * - **iso**
        - None
      * - **lmp_cols**
        - ['Time', 'Interval Start', 'Interval End', 'Market', 'Location Id', 'Location Name', 'Location Short Name', 'Location Type', 'LMP', 'Energy', 'Congestion', 'Loss']
      * - **load_forecast_columns**
        - ['Interval Start', 'Interval End', 'Publish Time', 'Load Forecast', 'AE/MIDATL', 'AEP', 'AP', 'ATSI', 'BG&E/MIDATL', 'COMED', 'DAYTON', 'DEOK', 'DOMINION', 'DP&L/MIDATL', 'DUQUESNE', 'EKPC', 'JCP&L/MIDATL', 'METED/MIDATL', 'MID_ATLANTIC_REGION', 'PECO/MIDATL', 'PENELEC/MIDATL', 'PEPCO/MIDATL', 'PPL/MIDATL', 'PSE&G/MIDATL', 'RECO/MIDATL', 'RTO_COMBINED', 'SOUTHERN_REGION', 'UGI/MIDATL', 'WESTERN_REGION']
      * - **load_forecast_columns_historical**
        - ['Interval Start', 'Interval End', 'Publish Time', 'Load Forecast', 'AEP', 'APS', 'ATSI', 'COMED', 'DAY', 'DEOK', 'DOM', 'DUQ', 'EKPC', 'MIDATL', 'RTO']


   **Methods**

   .. autoapisummary::
      :nosignatures:

      gridstatus.tests.test_pjm.TestPJM.test_api_key_from_arg
      gridstatus.tests.test_pjm.TestPJM.test_api_key_from_env
      gridstatus.tests.test_pjm.TestPJM.test_api_key_raises_if_missing
      gridstatus.tests.test_pjm.TestPJM.test_get_dam_as_market_results_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_dam_as_market_results_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_dam_as_market_results_parsing
      gridstatus.tests.test_pjm.TestPJM.test_get_dam_as_market_results_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_forecasted_generation_outages_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_forecasted_generation_outages_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_forecasted_generation_outages_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_fuel_mix_dst_shift_back
      gridstatus.tests.test_pjm.TestPJM.test_get_fuel_mix_dst_shift_forward
      gridstatus.tests.test_pjm.TestPJM.test_get_fuel_mix_no_data
      gridstatus.tests.test_pjm.TestPJM.test_get_gen_outages_by_type_with_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_gen_outages_by_type_with_multi_day_range
      gridstatus.tests.test_pjm.TestPJM.test_get_gen_outages_by_type_with_past_date
      gridstatus.tests.test_pjm.TestPJM.test_get_interconnection_queue
      gridstatus.tests.test_pjm.TestPJM.test_get_lmp_5_min
      gridstatus.tests.test_pjm.TestPJM.test_get_lmp_all_pnodes
      gridstatus.tests.test_pjm.TestPJM.test_get_lmp_historical
      gridstatus.tests.test_pjm.TestPJM.test_get_lmp_hourly
      gridstatus.tests.test_pjm.TestPJM.test_get_lmp_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_lmp_no_data
      gridstatus.tests.test_pjm.TestPJM.test_get_lmp_query_by_location_type
      gridstatus.tests.test_pjm.TestPJM.test_get_lmp_returns_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_lmp_today
      gridstatus.tests.test_pjm.TestPJM.test_get_load_forecast_historical
      gridstatus.tests.test_pjm.TestPJM.test_get_load_forecast_historical_with_date_range
      gridstatus.tests.test_pjm.TestPJM.test_get_load_forecast_in_past_raises_error
      gridstatus.tests.test_pjm.TestPJM.test_get_load_forecast_today
      gridstatus.tests.test_pjm.TestPJM.test_get_load_metered_hourly_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_load_metered_hourly_historical_date_range
      gridstatus.tests.test_pjm.TestPJM.test_get_load_today
      gridstatus.tests.test_pjm.TestPJM.test_get_operational_reserves_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_operational_reserves_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_operational_reserves_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_pnode_ids
      gridstatus.tests.test_pjm.TestPJM.test_get_real_time_as_market_results_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_real_time_as_market_results_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_real_time_as_market_results_parsing
      gridstatus.tests.test_pjm.TestPJM.test_get_real_time_as_market_results_valid_dates
      gridstatus.tests.test_pjm.TestPJM.test_get_solar_forecast_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_solar_forecast_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_solar_forecast_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_solar_generation_5_min_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_solar_generation_5_min_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_solar_generation_5_min_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_solar_generation_by_area_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_solar_generation_by_area_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_solar_generation_by_area_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_status_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_storage_historical
      gridstatus.tests.test_pjm.TestPJM.test_get_storage_today
      gridstatus.tests.test_pjm.TestPJM.test_get_transfer_interface_information_5_min_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_transfer_interface_information_5_min_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_transfer_interface_information_5_min_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_transmission_limits_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_transmission_limits_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_transmission_limits_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_wind_forecast_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_wind_forecast_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_wind_forecast_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_wind_generation_by_area_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_wind_generation_by_area_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_wind_generation_by_area_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_get_wind_generation_instantaneous_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_get_wind_generation_instantaneous_historical_range
      gridstatus.tests.test_pjm.TestPJM.test_get_wind_generation_instantaneous_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_lmp_date_range
      gridstatus.tests.test_pjm.TestPJM.test_pjm_update_dates
      gridstatus.tests.test_pjm.TestPJM.test_projected_area_statistics_at_peak_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_projected_area_statistics_at_peak_historical_date_range
      gridstatus.tests.test_pjm.TestPJM.test_projected_area_statistics_at_peak_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.test_projected_rto_statistics_at_peak_historical_date
      gridstatus.tests.test_pjm.TestPJM.test_projected_rto_statistics_at_peak_historical_date_range
      gridstatus.tests.test_pjm.TestPJM.test_projected_rto_statistics_at_peak_today_or_latest
      gridstatus.tests.test_pjm.TestPJM.to_local_datetime

   .. py:method:: test_api_key_from_arg()


   .. py:method:: test_api_key_from_env()


   .. py:method:: test_api_key_raises_if_missing()


   .. py:method:: test_get_dam_as_market_results_historical_date()


   .. py:method:: test_get_dam_as_market_results_historical_range()


   .. py:method:: test_get_dam_as_market_results_parsing()


   .. py:method:: test_get_dam_as_market_results_today_or_latest()


   .. py:method:: test_get_forecasted_generation_outages_historical_date()


   .. py:method:: test_get_forecasted_generation_outages_historical_range()


   .. py:method:: test_get_forecasted_generation_outages_today_or_latest()


   .. py:method:: test_get_fuel_mix_dst_shift_back()


   .. py:method:: test_get_fuel_mix_dst_shift_forward()


   .. py:method:: test_get_fuel_mix_no_data()


   .. py:method:: test_get_gen_outages_by_type_with_latest()


   .. py:method:: test_get_gen_outages_by_type_with_multi_day_range()


   .. py:method:: test_get_gen_outages_by_type_with_past_date()


   .. py:method:: test_get_interconnection_queue()


   .. py:method:: test_get_lmp_5_min()


   .. py:method:: test_get_lmp_all_pnodes()


   .. py:method:: test_get_lmp_historical(market)


   .. py:method:: test_get_lmp_hourly()


   .. py:method:: test_get_lmp_latest(market)


   .. py:method:: test_get_lmp_no_data()


   .. py:method:: test_get_lmp_query_by_location_type()


   .. py:method:: test_get_lmp_returns_latest()


   .. py:method:: test_get_lmp_today(market)


   .. py:method:: test_get_load_forecast_historical()


   .. py:method:: test_get_load_forecast_historical_with_date_range()


   .. py:method:: test_get_load_forecast_in_past_raises_error()


   .. py:method:: test_get_load_forecast_today()


   .. py:method:: test_get_load_metered_hourly_historical_date()


   .. py:method:: test_get_load_metered_hourly_historical_date_range()


   .. py:method:: test_get_load_today()


   .. py:method:: test_get_operational_reserves_historical_date()


   .. py:method:: test_get_operational_reserves_historical_range()


   .. py:method:: test_get_operational_reserves_today_or_latest()


   .. py:method:: test_get_pnode_ids()


   .. py:method:: test_get_real_time_as_market_results_historical_date()


   .. py:method:: test_get_real_time_as_market_results_historical_range()


   .. py:method:: test_get_real_time_as_market_results_parsing()


   .. py:method:: test_get_real_time_as_market_results_valid_dates()


   .. py:method:: test_get_solar_forecast_historical_date()


   .. py:method:: test_get_solar_forecast_historical_range()


   .. py:method:: test_get_solar_forecast_today_or_latest()


   .. py:method:: test_get_solar_generation_5_min_historical_date()


   .. py:method:: test_get_solar_generation_5_min_historical_range()


   .. py:method:: test_get_solar_generation_5_min_today_or_latest()


   .. py:method:: test_get_solar_generation_by_area_historical_date()


   .. py:method:: test_get_solar_generation_by_area_historical_range()


   .. py:method:: test_get_solar_generation_by_area_today_or_latest()


   .. py:method:: test_get_status_latest()


   .. py:method:: test_get_storage_historical()


   .. py:method:: test_get_storage_today()


   .. py:method:: test_get_transfer_interface_information_5_min_historical_date()


   .. py:method:: test_get_transfer_interface_information_5_min_historical_range()


   .. py:method:: test_get_transfer_interface_information_5_min_today_or_latest()


   .. py:method:: test_get_transmission_limits_historical_date()


   .. py:method:: test_get_transmission_limits_historical_range()


   .. py:method:: test_get_transmission_limits_today_or_latest()


   .. py:method:: test_get_wind_forecast_historical_date()


   .. py:method:: test_get_wind_forecast_historical_range()


   .. py:method:: test_get_wind_forecast_today_or_latest()


   .. py:method:: test_get_wind_generation_by_area_historical_date()


   .. py:method:: test_get_wind_generation_by_area_historical_range()


   .. py:method:: test_get_wind_generation_by_area_today_or_latest()


   .. py:method:: test_get_wind_generation_instantaneous_historical_date()


   .. py:method:: test_get_wind_generation_instantaneous_historical_range()


   .. py:method:: test_get_wind_generation_instantaneous_today_or_latest()


   .. py:method:: test_lmp_date_range(market)


   .. py:method:: test_pjm_update_dates()


   .. py:method:: test_projected_area_statistics_at_peak_historical_date()


   .. py:method:: test_projected_area_statistics_at_peak_historical_date_range()


   .. py:method:: test_projected_area_statistics_at_peak_today_or_latest()


   .. py:method:: test_projected_rto_statistics_at_peak_historical_date()


   .. py:method:: test_projected_rto_statistics_at_peak_historical_date_range()


   .. py:method:: test_projected_rto_statistics_at_peak_today_or_latest()


   .. py:method:: to_local_datetime(date_local)



