Palmetto Bem API

The Bem API from Palmetto — 1 operation(s) for bem.

OpenAPI Specification

palmetto-bem-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Palmetto Energy Intelligence Bem API
  version: v0.32.2-19a9666
servers:
- url: https://ei.palmetto.com
tags:
- name: Bem
paths:
  /api/v0/bem/calculate:
    post:
      summary: Calculate
      description: Calculate energy consumption, production, costs and emissions
      operationId: calculate_api_v0_bem_calculate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalculateRequest'
            examples:
              example_1:
                value:
                  location:
                    latitude: 37.7749
                    longitude: -122.4194
                  parameters:
                    clip_by: inner
                    from_datetime: '2023-01-01T00:00:00'
                    group_by: month
                    interval_format: long
                    to_datetime: '2024-01-01T00:00:00'
                    variables:
                    - consumption.electricity
                  consumption:
                    actuals:
                    - from_datetime: '2023-01-01T00:00:00'
                      to_datetime: '2024-01-01T00:00:00'
                      value: 3774
                      variable: consumption.electricity
                    attributes:
                      baseline:
                      - name: building_type
                        value: Single-Family Detached
                      hypothetical:
                      - name: building_type
                        value: Single-Family Detached
                    calibration:
                      apply_residuals: true
                      method: uniform-mean
                      sample_size: 35
                  production:
                    actuals:
                    - from_datetime: '2023-01-01T00:00:00'
                      to_datetime: '2024-01-01T00:00:00'
                      value: 7.3
                      variable: production.electricity
                    attributes:
                      baseline:
                      - name: panel_arrays
                        value:
                        - azimuth: 180.0
                          capacity: 10.0
                          tilt: 30.0
                      hypothetical: []
                    calibration:
                      method: uniform-mean
                  storage:
                    attributes:
                      baseline:
                      - name: capacity
                        value: 10
                      - name: power
                        value: 5
                      - name: capacity_recommendation_quantile
                        value: 0.5
                      hypothetical: []
                  costs:
                    emission_rates:
                      electricity:
                        units: kgCO2e/kWh
                        value: 0.47045
                      fossil_fuel:
                        units: kgCO2e/kWh
                        value: 0.1872057318321392
                    utility_rates:
                      electricity:
                        units: $/kWh
                        value: 0.29305
                      fossil_fuel:
                        units: $/kWh
                        value: 0.069771
                      pv_buyback:
                        units: $/kWh
                        value: 0.2
                      pv_ppa:
                        units: $/kWh
                        value: 0.26
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalculateResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
      tags:
      - Bem
components:
  schemas:
    FreezerExtraEfficiency:
      properties:
        name:
          type: string
          const: freezer_extra_efficiency
          title: Name
          default: freezer_extra_efficiency
        value:
          type: number
          maximum: 1000.0
          minimum: 0.0
          title: Value
      type: object
      required:
      - value
      title: FreezerExtraEfficiency
      description: Extra Freezer Annual Energy Consumption [kWh]
    HeatingFuelTypeEnum:
      type: string
      enum:
      - Electric
      - Fossil Fuel
      title: HeatingFuelTypeEnum
    ConsumptionCalibration:
      properties:
        method:
          $ref: '#/components/schemas/CalibrationMethod'
          title: Method
          default: uniform-mean
        apply_residuals:
          type: boolean
          title: Apply Residuals
          description: Apply calibration residuals to total consumption to ensure that the returned loads will sum up to the actuals provided. Otherwise, the estimated building load that is closest to the actual consumption data will be used without adjustment. Note that the sum of consumption end uses may no longer equal the total consumption.
          default: true
        sample_size:
          type: integer
          title: Sample Size
          description: Number of buildings to sample from. Larger sample sizes may increase accuracy but also increase computation time.
          default: 35
          ge: 1
          le: 100
        sample_seed:
          type: integer
          title: Sample Seed
          description: Random seed for sampling buildings from the ensemble.
        ensemble_aggregation_method:
          $ref: '#/components/schemas/EnsembleAggregationMethod'
          title: Ensemble Aggregation Method
          default: nearest
        use_actual_weather:
          type: boolean
          title: Use Actual Weather
          description: 'Use actual historical weather (and forecast for future periods) to calibrate consumption actuals. Auto‑enabled if any other use_actual_weather flag in the request is true. NOTE: Using actual weather incurs additional per-request charges.'
          default: false
      type: object
      title: ConsumptionCalibration
      description: Payload Schema for Consumption Calibration
    HVACAirDistributionEfficiency:
      properties:
        name:
          type: string
          const: hvac_air_distribution_efficiency
          title: Name
          default: hvac_air_distribution_efficiency
        value:
          type: number
          maximum: 1.0
          minimum: 0.1
          title: Value
      type: object
      required:
      - value
      title: HVACAirDistributionEfficiency
      description: 'HVAC Ducts Efficiency as a fraction of the total energy consumed

        due to poor supply and return duct design and/or improper air balancing

        Ignored when hvac_heating_ducts and hvac_cooling_ducts are False'
    StorageElectricityStateOfCharge:
      type: number
      minimum: 0.0
      title: StorageElectricityStateOfCharge
    COPEfficiencyCurve1:
      type: number
      maximum: 10.0
      minimum: 0.1
      title: COPEfficiencyCurve1
      description: Temparature-based Parameter Curve
    ConsumptionElectricityHotWater:
      type: number
      minimum: 0.0
      title: ConsumptionElectricityHotWater
    Value1:
      type: number
      minimum: 0.0
      title: Value1
    ConsumptionFossilFuelHeating:
      type: number
      minimum: 0.0
      title: ConsumptionFossilFuelHeating
    ProductionAttributesList1:
      oneOf:
      - $ref: '#/components/schemas/PanelArrays'
      - $ref: '#/components/schemas/NominalOperatingCellTemp'
      - $ref: '#/components/schemas/PowerTempCoefficient'
      - $ref: '#/components/schemas/InverterEfficiency'
      - $ref: '#/components/schemas/DcToAcRatio'
      - $ref: '#/components/schemas/SoilingLoss'
      - $ref: '#/components/schemas/ShadingLoss'
      - $ref: '#/components/schemas/SnowLoss'
      - $ref: '#/components/schemas/MismatchLoss'
      - $ref: '#/components/schemas/WiringLoss'
      - $ref: '#/components/schemas/ConnectionsLoss'
      - $ref: '#/components/schemas/LightInducedDegradationLoss'
      - $ref: '#/components/schemas/NameplateRatingLoss'
      - $ref: '#/components/schemas/AgeLoss'
      - $ref: '#/components/schemas/AvailabilityLoss'
      title: ProductionAttributesList1
      discriminator:
        propertyName: name
        mapping:
          age_loss: '#/components/schemas/AgeLoss'
          availability_loss: '#/components/schemas/AvailabilityLoss'
          connections_loss: '#/components/schemas/ConnectionsLoss'
          dc_to_ac_ratio: '#/components/schemas/DcToAcRatio'
          inverter_efficiency: '#/components/schemas/InverterEfficiency'
          light_induced_degradation_loss: '#/components/schemas/LightInducedDegradationLoss'
          mismatch_loss: '#/components/schemas/MismatchLoss'
          nameplate_rating_loss: '#/components/schemas/NameplateRatingLoss'
          nominal_operating_cell_temp: '#/components/schemas/NominalOperatingCellTemp'
          panel_arrays: '#/components/schemas/PanelArrays'
          power_temp_coefficient: '#/components/schemas/PowerTempCoefficient'
          shading_loss: '#/components/schemas/ShadingLoss'
          snow_loss: '#/components/schemas/SnowLoss'
          soiling_loss: '#/components/schemas/SoilingLoss'
          wiring_loss: '#/components/schemas/WiringLoss'
    UsageLevelEnum:
      type: string
      enum:
      - Low
      - Average
      - High
      title: UsageLevelEnum
    ConsumptionElectricityEv:
      type: number
      minimum: 0.0
      title: ConsumptionElectricityEv
    HVACDuctsInsulation:
      properties:
        name:
          type: string
          const: hvac_ducts_insulation
          title: Name
          default: hvac_ducts_insulation
        value:
          type: integer
          maximum: 8.0
          minimum: 1.0
          title: Value
      type: object
      required:
      - value
      title: HVACDuctsInsulation
      description: 'R-Value of HVAC Ducts Insulation

        Ignored when hvac_heating_ducts and hvac_cooling_ducts are False'
    ThermalDemandCoolingUnutilized:
      type: number
      minimum: 0.0
      title: ThermalDemandCoolingUnutilized
    CapacityCurve1:
      type: number
      minimum: 0.0
      title: CapacityCurve1
      description: Temparature-based Parameter Curve
    UtilityRatesInput:
      properties:
        electricity:
          anyOf:
          - $ref: '#/components/schemas/UtilityFlatRateInput'
          - $ref: '#/components/schemas/Tariff'
          title: Electricity
          description: Buy rate or Tariff for electricity
        fossil_fuel:
          $ref: '#/components/schemas/UtilityFlatRateInput'
          title: Fossil Fuel
          description: Buy rate for fossil fuel (e.g. natural gas)
        pv_ppa:
          $ref: '#/components/schemas/UtilityFlatRateInput'
          title: Pv Ppa
          description: Buy rate for energy generated by PV system
        pv_buyback:
          $ref: '#/components/schemas/UtilityFlatRateInput'
          title: Pv Buyback
          description: Sell rate for excess PV electricity exported to the grid. Cannot be used when a Tariff for electricity is passed.
      type: object
      title: UtilityRatesInput
      description: Utility energy rates information
    Pool:
      properties:
        name:
          type: string
          const: pool
          title: Name
          default: pool
        value:
          $ref: '#/components/schemas/PoolEnum'
      type: object
      required:
      - value
      title: Pool
      description: Pool Type
    ClothesWasherHotWaterUsage:
      properties:
        name:
          type: string
          const: clothes_washer_hot_water_usage
          title: Name
          default: clothes_washer_hot_water_usage
        value:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Value
      type: object
      required:
      - value
      title: ClothesWasherHotWaterUsage
      description: Clothers Washer Hot Water usage as a fraction of all loads using a hot water setting
    ThermalDemandHeatingUnmet:
      type: number
      minimum: 0.0
      title: ThermalDemandHeatingUnmet
    FoundationTypeEnum:
      type: string
      enum:
      - Slab
      - Ambient
      - Vented Crawlspace
      - Unvented Crawlspace
      - Unheated Basement
      - Heated Basement
      title: FoundationTypeEnum
    BatteryDispatchStrategy:
      properties:
        name:
          type: string
          const: dispatch_strategy
          title: Name
          default: dispatch_strategy
        value:
          $ref: '#/components/schemas/DispatchStrategy'
      type: object
      required:
      - value
      title: BatteryDispatchStrategy
      description: Dispatch Strategy
    ClothesDryerFuelEnum:
      type: string
      enum:
      - Electric
      - Gas
      title: ClothesDryerFuelEnum
    Variable:
      type: string
      enum:
      - consumption.electricity
      - consumption.fossil_fuel
      - costs.electricity
      - costs.fossil_fuel
      title: Variable
    WiringLoss:
      properties:
        name:
          type: string
          const: wiring_loss
          title: Name
          default: wiring_loss
        value:
          type: number
          title: Value
          default: 0.02
          ge: 0.0
          lt: 1.0
      type: object
      title: WiringLoss
      description: 'Resistive power losses in DC and AC wiring; combined multiplicatively with other

        DC losses.'
    Setpoint1:
      type: number
      maximum: 38.0
      minimum: 10.0
      title: Setpoint1
      description: HVAC Setpoint Temperature or 24-hr Schedule
    Limit:
      type: number
      minimum: 0.0
      title: Limit
      description: Upper limit of this band (e.g. kWh for consumption, kW for demand)
    WindowToWallRatio:
      properties:
        name:
          type: string
          const: window_to_wall_ratio
          title: Name
          default: window_to_wall_ratio
        value:
          type: number
          maximum: 0.3
          minimum: 0.06
          title: Value
      type: object
      required:
      - value
      title: WindowToWallRatio
      description: Window to Wall Ratio
    GridElectricityExport:
      type: number
      minimum: 0.0
      title: GridElectricityExport
    Vintage:
      properties:
        name:
          type: string
          const: vintage
          title: Name
          default: vintage
        value:
          $ref: '#/components/schemas/VintageEnum'
      type: object
      required:
      - value
      title: Vintage
      description: Vintage Year
    CalculateResponse:
      properties:
        version:
          type: string
          title: Version
          default: v2.46.2-9b9d19f
        detail:
          type: string
          title: Detail
          default: success
        meta:
          $ref: '#/components/schemas/Meta'
        data:
          $ref: '#/components/schemas/Data'
      type: object
      required:
      - meta
      - data
      title: CalculateResponse
      description: Payload Schema for a Calculate Response
    StorageElectricityCharge:
      type: number
      minimum: 0.0
      title: StorageElectricityCharge
    CeilingFan:
      properties:
        name:
          type: string
          const: ceiling_fan
          title: Name
          default: ceiling_fan
        value:
          type: number
          maximum: 175.0
          minimum: 0.0
          title: Value
      type: object
      required:
      - value
      title: CeilingFan
      description: Ceiling Fan Rated Annual Energy Consumption [kWh]
    Timezone:
      type: string
      enum:
      - Africa/Abidjan
      - Africa/Accra
      - Africa/Addis_Ababa
      - Africa/Algiers
      - Africa/Asmara
      - Africa/Asmera
      - Africa/Bamako
      - Africa/Bangui
      - Africa/Banjul
      - Africa/Bissau
      - Africa/Blantyre
      - Africa/Brazzaville
      - Africa/Bujumbura
      - Africa/Cairo
      - Africa/Casablanca
      - Africa/Ceuta
      - Africa/Conakry
      - Africa/Dakar
      - Africa/Dar_es_Salaam
      - Africa/Djibouti
      - Africa/Douala
      - Africa/El_Aaiun
      - Africa/Freetown
      - Africa/Gaborone
      - Africa/Harare
      - Africa/Johannesburg
      - Africa/Juba
      - Africa/Kampala
      - Africa/Khartoum
      - Africa/Kigali
      - Africa/Kinshasa
      - Africa/Lagos
      - Africa/Libreville
      - Africa/Lome
      - Africa/Luanda
      - Africa/Lubumbashi
      - Africa/Lusaka
      - Africa/Malabo
      - Africa/Maputo
      - Africa/Maseru
      - Africa/Mbabane
      - Africa/Mogadishu
      - Africa/Monrovia
      - Africa/Nairobi
      - Africa/Ndjamena
      - Africa/Niamey
      - Africa/Nouakchott
      - Africa/Ouagadougou
      - Africa/Porto-Novo
      - Africa/Sao_Tome
      - Africa/Timbuktu
      - Africa/Tripoli
      - Africa/Tunis
      - Africa/Windhoek
      - America/Adak
      - America/Anchorage
      - America/Anguilla
      - America/Antigua
      - America/Araguaina
      - America/Argentina/Buenos_Aires
      - America/Argentina/Catamarca
      - America/Argentina/ComodRivadavia
      - America/Argentina/Cordoba
      - America/Argentina/Jujuy
      - America/Argentina/La_Rioja
      - America/Argentina/Mendoza
      - America/Argentina/Rio_Gallegos
      - America/Argentina/Salta
      - America/Argentina/San_Juan
      - America/Argentina/San_Luis
      - America/Argentina/Tucuman
      - America/Argentina/Ushuaia
      - America/Aruba
      - America/Asuncion
      - America/Atikokan
      - America/Atka
      - America/Bahia
      - America/Bahia_Banderas
      - America/Barbados
      - America/Belem
      - America/Belize
      - America/Blanc-Sablon
      - America/Boa_Vista
      - America/Bogota
      - America/Boise
      - America/Buenos_Aires
      - America/Cambridge_Bay
      - America/Campo_Grande
      - America/Cancun
      - America/Caracas
      - America/Catamarca
      - America/Cayenne
      - America/Cayman
      - America/Chicago
      - America/Chihuahua
      - America/Ciudad_Juarez
      - America/Coral_Harbour
      - America/Cordoba
      - America/Costa_Rica
      - America/Coyhaique
      - America/Creston
      - America/Cuiaba
      - America/Curacao
      - America/Danmarkshavn
      - America/Dawson
      - America/Dawson_Creek
      - America/Denver
      - America/Detroit
      - America/Dominica
      - America/Edmonton
      - America/Eirunepe
      - America/El_Salvador
      - America/Ensenada
      - America/Fort_Nelson
      - America/Fort_Wayne
      - America/Fortaleza
      - America/Glace_Bay
      - America/Godthab
      - America/Goose_Bay
      - America/Grand_Turk
      - America/Grenada
      - America/Guadeloupe
      - America/Guatemala
      - America/Guayaquil
      - America/Guyana
      - America/Halifax
      - America/Havana
      - America/Hermosillo
      - America/Indiana/Indianapolis
      - America/Indiana/Knox
      - America/Indiana/Marengo
      - America/Indiana/Petersburg
      - America/Indiana/Tell_City
      - America/Indiana/Vevay
      - America/Indiana/Vincennes
      - America/Indiana/Winamac
      - America/Indianapolis
      - America/Inuvik
      - America/Iqaluit
      - America/Jamaica
      - America/Jujuy
      - America/Juneau
      - America/Kentucky/Louisville
      - America/Kentucky/Monticello
      - America/Knox_IN
      - America/Kralendijk
      - America/La_Paz
      - America/Lima
      - America/Los_Angeles
      - America/Louisville
      - America/Lower_Princes
      - America/Maceio
      - America/Managua
      - America/Manaus
      - America/Marigot
      - America/Martinique
      - America/Matamoros
      - America/Mazatlan
      - America/Mendoza
      - America/Menominee
      - America/Merida
      - America/Metlakatla
      - America/Mexico_City
      - America/Miquelon
      - America/Moncton
      - America/Monterrey
      - America/Montevideo
      - America/Montreal
      - America/Montserrat
      - America/Nassau
      - America/New_York
      - America/Nipigon
      - America/Nome
      - America/Noronha
      - America/North_Dakota/Beulah
      - America/North_Dakota/Center
      - America/North_Dakota/New_Salem
      - America/Nuuk
      - America/Ojinaga
      - America/Panama
      - America/Pangnirtung
      - America/Paramaribo
      - America/Phoenix
      - America/Port-au-Prince
      - America/Port_of_Spain
      - America/Porto_Acre
      - America/Porto_Velho
      - America/Puerto_Rico
      - America/Punta_Arenas
      - America/Rainy_River
      - America/Rankin_Inlet
      - America/Recife
      - America/Regina
      - America/Resolute
      - America/Rio_Branco
      - America/Rosario
      - America/Santa_Isabel
      - America/Santarem
      - America/Santiago
      - America/Santo_Domingo
      - America/Sao_Paulo
      - America/Scoresbysund
      - America/Shiprock
      - America/Sitka
      - America/St_Barthelemy
      - America/St_Johns
      - America/St_Kitts
      - America/St_Lucia
      - America/St_Thomas
      - America/St_Vincent
      - America/Swift_Current
      - America/Tegucigalpa
      - America/Thule
      - America/Thunder_Bay
      - America/Tijuana
      - America/Toronto
      - America/Tortola
      - America/Vancouver
      - America/Virgin
      - America/Whitehorse
      - America/Winnipeg
      - America/Yakutat
      - America/Yellowknife
      - Antarctica/Casey
      - Antarctica/Davis
      - Antarctica/DumontDUrville
      - Antarctica/Macquarie
      - Antarctica/Mawson
      - Antarctica/McMurdo
      - Antarctica/Palmer
      - Antarctica/Rothera
      - Antarctica/South_Pole
      - Antarctica/Syowa
      - Antarctica/Troll
      - Antarctica/Vostok
      - Arctic/Longyearbyen
      - Asia/Aden
      - Asia/Almaty
      - Asia/Amman
      - Asia/Anadyr
      - Asia/Aqtau
      - Asia/Aqtobe
      - Asia/Ashgabat
      - Asia/Ashkhabad
      - Asia/Atyrau
      - Asia/Baghdad
      - Asia/Bahrain
      - Asia/Baku
      - Asia/Bangkok
      - Asia/Barnaul
      - Asia/Beirut
      - Asia/Bishkek
      - Asia/Brunei
      - Asia/Calcutta
      - Asia/Chita
      - Asia/Choibalsan
      - Asia/Chongqing
      - Asia/Chungking
      - Asia/Colombo
      - Asia/Dacca
      - Asia/Damascus
      - Asia/Dhaka
      - Asia/Dili
      - Asia/Dubai
      - Asia/Dushanbe
      - Asia/Famagusta
      - Asia/Gaza
      - Asia/Harbin
      - Asia/Hebron
      - Asia/Ho_Chi_Minh
      - Asia/Hong_Kong
      - Asia/Hovd
      - Asia/Irkutsk
      - Asia/Istanbul
      - Asia/Jakarta
      - Asia/Jayapura
      - Asia/Jerusalem
      - Asia/Kabul
      - Asia/Kamchatka
      - Asia/Karachi
      - Asia/Kashgar
      - Asia/Kathmandu
      - Asia/Katmandu
      - Asia/Khandyga
      - Asia/Kolkata
      - Asia/Krasnoyarsk
      - Asia/Kuala_Lumpur
      - Asia/Kuching
      - Asia/Kuwait
      - Asia/Macao
      - Asia/Macau
      - Asia/Magadan
      - Asia/Makassar
      - Asia/Manila
      - Asia/Muscat
      - Asia/Nicosia
      - Asia/Novokuznetsk
      - Asia/Novosibirsk
      - Asia/Omsk
      - Asia/Oral
      - Asia/Phnom_Penh
      - Asia/Pontianak
      - Asia/Pyongyang
      - Asia/Qatar
      - Asia/Qostanay
      - Asia/Qyzylorda
      - Asia/Rangoon
      - Asia/Riyadh
      - Asia/Saigon
      - Asia/Sakhalin
      - Asia/Samarkand
      - Asia/Seoul
      - Asia/Shanghai
      - Asia/Singapore
      - Asia/Srednekolymsk
      - Asia/Taipei
      - Asia/Tashkent
      - Asia/Tbilisi
      - Asia/Tehran
      - Asia/Tel_Aviv
      - Asia/Thimbu
      - Asia/Thimphu
      - Asia/Tokyo
      - Asia/Tomsk
      - Asia/Ujung_Pandang
      - Asia/Ulaanbaatar
      - Asia/Ulan_Bator
      - Asia/Urumqi
      - Asia/Ust-Nera
      - Asia/Vientiane
      - Asia/Vladivostok
      - Asia/Yakutsk
      - Asia/Yangon
      - Asia/Yekaterinburg
      - Asia/Yerevan
      - Atlantic/Azores
      - Atlantic/Bermuda
      - Atlantic/Canary
      - Atlantic/Cape_Verde
      - Atlantic/Faeroe
      - Atlantic/Faroe
      - Atlantic/Jan_Mayen
      - Atlantic/Madeira
      - Atlantic/Reykjavik
      - Atlantic/South_Georgia
      - Atlantic/St_Helena
      - Atlantic/Stanley
      - Australia/ACT
      - Australia/Adelaide
      - Australia/Brisbane
      - Australia/Broken_Hill
      - Australia/Canberra
      - Australia/Currie
      - Australia/Darwin
      - Australia/Eucla
      - Australia/Hobart
      - Australia/LHI
      - Australia/Lindeman
      - Australia/Lord_Howe
      - Australia/Melbourne
      - Australia/NSW
      - Australia/North
      - Australia/Perth
      - Australia/Queensland
      - Australia/South
      - Australia/Sydney
      - Australia/Tasmania
      - Australia/Victoria
      - Australia/West
      - Australia/Yancowinna
      - Brazil/Acre
      - Brazil/DeNoronha
      - Brazil/East
      - Brazil/West
      - CET
      - CST6CDT
      - Canada/Atlantic
      - Canada/Central
      - Canada/Eastern
      - Canada/Mountain
      - Canada/Newfoundland
      - Canada/Pacific
      - Canada/Saskatchewan
      - Canada/Yukon
      - Chile/Continental
      - Chile/EasterIsland
      - Cuba
      - EET
      - EST
      - EST5EDT
      - Egypt
      - Eire
      - Etc/GMT
      - Etc/GMT+0
      - Etc/GMT+1
      - Etc/GMT+10
      - Etc/GMT+11
      - Etc/GMT+12
      - Etc/GMT+2
      - Etc/GMT+3
      - Etc/GMT+4
      - Etc/GMT+5
      - Etc/GMT+6
      - Etc/GMT+7
      - Etc/GMT+8
      - Etc/GMT+9
      - Etc/GMT-0
      - Etc/GMT-1
      - Etc/GMT-10
      - Etc/GMT-11
      - Etc/GMT-12
      - Etc/GMT-13
      - Etc/GMT-14
      - Etc/GMT-2
      - Etc/GMT-3
      - Etc/GMT-4
      - Etc/GMT-5
      - Etc/GMT-6
      - Etc/GMT-7
      - Etc/GMT-8
      - Etc/GMT-9
      - Etc/GMT0
      - Etc/Greenwich
      - Etc/UCT
      - Etc/UTC
      - Etc/Universal
      - Etc/Zulu
      - Europe/Amsterdam
      - Europe/Andorra
      - Europe/Astrakhan
      - Europe/Athens
      - Europe/Belfast
      - Europe/Belgrade
      - Europe/Berlin
      - Europe/Bratislava
      - Europe/Brussels
      - Europe/Bucharest
      - Europe/Budapest
      - Europe/Busingen
      - Europe/Chisinau
      - Europe/Copenhagen
      - Europe/Dublin
      - Europe/Gibraltar
      - Europe/Guernsey
      - Europe/Helsinki
      - Europe/Isle_of_Man
      - Europe/Istanbul
      - Europe/Jersey
      - Europe/Kaliningrad
      - Europe/Kiev
      - Europe/Kirov
      - Europe/Kyiv
      - Europe/Lisbon
      - Europe/Ljubljana
      - Europe/London
      - Europe/Luxembourg
      - Europe/Madrid
      - Europe/Malta
      - Europe/Mariehamn
      - Europe/Minsk
      - Europe/Monaco
      - Europe/Moscow
      - Europe/Nicosia
      - Europe/Oslo
      - Europe/Paris
      - Europe/Podgorica
      - Europe/Prague
      - Europe/Riga
      - Europe/Rome
      - Europe/Samara
      - Europe/San_Marino
      - Europe/Sarajevo
      - Europe/Saratov
      - Europe/Simferopol
      - Europe/Skopje
      - Europe/Sofia
      - Europe/Stockholm
      - Europe/Tallinn
      - Europe/Tirane
      - Europe/Tiraspol
      - Europe/Ulyanovsk
      - Europe/Uzhgorod
      - Europe/Vaduz
      - Europe/Vatican
      - Europe/Vienna
      - Europe/Vilnius
      - Europe/Volgograd
      - Europe/Warsaw
      - Europe/Zagreb
      - Europe/Zaporozhye
      - Europe/Zurich
      - Factory
      - GB
      - GB-Eire
      - GMT
      - GMT+0
      - GMT-0
      - GMT0
      - Greenwich
      - HST
      - Hongkong
      - Iceland
      - Indian/Antananarivo
      - Indian/Chagos
      - Indian/Christmas
      - Indian/Cocos
      - Indian/Comoro
      - Indian/Kerguelen
      - Indian/Mahe
      - Indian/Maldives
      - Indian/Mauritius
      - Indian/Mayotte
      - Indian/Reunion
      - Iran
      - Israel
      - Jamaica
      - Japan
      - Kwajalein
      - Libya
      - MET
      - MST
      - MST7MDT
      - Mexico/BajaNorte
      - Mexico/BajaSur
      - Mexico/General
      - NZ
      - NZ-CHAT
      - Navajo
      - PRC
      - PST8PDT
      - Pacific/Apia
      - Pacific/Auckland
      - Pacific/Bougainville
      - Pacific/Chatham
      - Pacific/Chuuk
      - Pacific/Easter
      - Pacific/Efate
      - Pacific/Enderbury
      - Pacific/Fakaofo
      - Pacific/Fiji
      - Pacific/Funafuti
      - Pacific/Galapagos
      - Pacific/Gambier
      - Pacific/Guadalcanal
      - Pacific/Guam
      - Pacific/Honolulu
      - Pacific/Johnston
      - Pacific/Kanton
      - Pacific/Kiritimati
      - Pacific/Kosrae
      - Pacific/Kwajalein
      - Pacific/Majuro
      - Pacific/Marquesas
      - Pacific/Midway
      - Pacific/Nauru
      - Pacific/Niue
      - Pacific/Norfolk
      - Pacific/Noumea
      - Pacific/Pago_Pago
      - Pacific/Palau
      - Pacific/Pitcairn
      - Pacific/Pohnpei
      - Pacific/Ponape
      - Pacific/Port_Moresby
      - Pacific/Rarotonga
      - Pacific/Saipan
      - Pacific/Samoa
      - Pacific/Tahiti
      - Pacific/Tarawa
      - Pacific/Tongatapu
      - Pacific/Truk
      - Pacific/Wake
      - Pacific/Wallis
      - Pacific/Yap
      - Poland
      - Portugal
      - ROC
      - ROK
      - Singapore
      - Turkey
      - UCT
      - US/Alaska
      - US/Aleutian
      - US/Arizona
      - US/Central
      - US/East-Indiana
      - US/Eastern
      - US/Hawaii
      - US/Indiana-Starke
      - US/Michigan
      - US/Mountain
      - US/Pacific
      - US/Samoa
      - UTC
      - Universal
      - W-SU
      - WET
      - Zulu
      title: Timezone
    BatteryCyclePenaltyPerKwh:
      properties:
        name:
          type: string
          const: cycle_penalty_per_kwh
          title: Name
          default: cycle_penalty_per_kwh
        value:
          type: number
          minimum: 0.0
          title: Value
      type: object
      required:
      - value
      title: BatteryCyclePenaltyPerKwh
      description: 'Penalty on battery throughput, incurred on both charge and discharge.


        The default (~0.001) is a sensible choice for most cases — small enough that the

        battery is used freely rather than left idle. Raise it under retail_rate_dispatch

        to model real battery wear and prevent low-return arbitrage (cycles whose bill

        savings don''t justify the wear): there it is a degradation cost in $/kWh of

        throughput, counted on both legs, so ~2x per delivered kWh (~$0.05–0.17/kWh: a

        typical home lithium iron phosphate battery at the low end, a Tesla Powerwall

        warranty at the high end). Under self_consumption it is not a dollar amount and

        barely affects dispatch (the battery stores surplus PV whenever it can).

        peak_shaving ignores it entirely: shaving a per-kW peak is not a per-kWh trade,

        so it uses only a tiny internal floor.'
    ConsumptionFossilFuelCookingRange:
      type: number
      minimum: 0.0
      title: ConsumptionFossilFuelCookingRange
    SnowLoss:
      properties:
        name:
          type: string
          const: snow_loss
          title: Name
          default: snow_loss
        value:
          type: number
          title: Value
          default: 0
          ge: 0.0
          lt: 1.0
      type: object
      title: SnowLoss
      description: 'Power losses from snow covering the array; combined multiplicatively with other

        DC losses.'
    Setpoint:
      anyOf:
      - $ref: '#/components/schemas/Setpoint1'
      - $ref: '#/components/schemas/Setpoint2'
      title: Setpoint
      description: HVAC Setpoint Temperature or 24-hr Schedule
    EIAFuelType:
      type: string
      enum:
      - electricity
      - natural_gas
      - propane
      - fuel_oil
      title: EIAFuelType
    Value:
      type: number
      maximum: 1.0
      minimum: 0.0
      title: Value
    AtticTypeEnum:
      type: string
      enum:
      - Finished Attic or Cathedral Ceilings
      - Unvented Attic
      - Vented Attic
      - None
      title: AtticTypeEnum
    Coordinates:
      properties:
        latitude:
          type: number
          maximum: 90.0
          minimum: -90.0
          title: Latitude
          description: Latitude in decimal degrees
          examples:
          - 37.7749
        longitude:
          type: number
          maximum: 180.0
          minimum: -180.0
          title: Longitude
          description: Longitude in decimal degrees
          examples:
          - -122.4194
      type: object
      required:
      - latitude
      - longitude
     

# --- truncated at 32 KB (140 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/palmetto/refs/heads/main/openapi/palmetto-bem-api-openapi.yml