Meteonorm API

Schemas


AccountResponse

  • productsobject[] · required

Product

  • namestring · enum · required

    Name of the product.

    Enum values:
    mn-api-pool
    mn-api-climate-tmy-unlimited
    mn-api-climate-amy-unlimited
    mn-api-climate-custom-unlimited
    mn-api-forecast-basic-unlimited
    mn-api-forecast-precision-unlimited
    mn-api-observation-realtime-unlimited
    mn-api-observation-training-unlimited
    Example: mn-api-token-subscr-l
  • valid_untilstring · date · required

    End date of the product validity period.

    Example: 2027-01-15T12:00Z
  • balanceinteger | null

    Current tokens/AMY calculations remaining.

    Example: 900900
  • refill_datestring | null · date

    Date when the monthly quota is refilled. Null for non-subscription products.

    Example: 2027-01-01T00:00Z

ErrorResponse

  • errorobject · required

Error

  • messagestring · required

Latitude

number · double · min: -90 · max: 90
Example: 47.3768

Longitude

number · double · min: -180 · max: 180
Example: 8.5417

AltitudeOption

string · pattern: ^(auto|-?[0-9]+(\.[0…

Altitude in meters above sea level. • auto: Automatic • number: altitude in meters

Example: 549
Default: auto

Altitude

number · double · min: -1000 · max: 10000

Altitude in meters above sea level.

SurfaceAzimuth

number · double · max: 360

• 0° = oriented towards the north
• 90° = oriented towards the east
• 180° = oriented towards the south
• 270° = oriented towards the west

Example: 186
Default: 0

SurfaceTilt

number · double · max: 90

• 0° = horizontal
• 90° = vertical

Default: 0

TrackingMode

string · enum
Enum values:
none
1_axis

none: No axis tracking. Fixed surface orientation (uses surface_azimuth and surface_tilt parameters).
1_axis: Single-axis tracking. In this mode, parameters surface_azimuth and surface_tilt are ignored. The solar panels are mounted on a rotational axis parallel to the ground along a North-South line, tilting dynamically East-to-West to follow the sun's trajectory throughout the day. Backtracking is applied: the tracking angle does not follow the sun in a naïve way. Instead, for low sun angles, it moves backwards to its ideal position to prevent row-to-row shading in PV arrays. The maximum tilt angle is 45° and a ground coverage ratio (GCR) of 0.3 is assumed.

Default: none

TimeZone

number · enum · double
Enum values:
-12
-11
-10
-9.5
-9
-8
-7
-6

UTC offset in hours.

Horizon

string · pattern: ^(auto|flat|[0-9]+(,…

flat: Flat horizon (all values are 0°).
auto: Horizon is determined automatically using a global 30m digital elevation model.
[comma-separated values]: provide 360 integer values representing elevation angles (in degrees) of the horizon in 360 directions. Elevation angles must be ≥0° and <90°. List indices 0–359 correspond to azimuth:
Index 0 = 0° (North)
Index 90 = 90° (East)
Index 180 = 180° (South)
Index 270 = 270° (West)
Each value indicates the elevation angle at the corresponding azimuth.

Example: 0,0,0,2,4,4,6,10,...,9,7,8,6,5,3,0
Default: flat

HorizonAzimuth

integer

HorizonElevation

integer

Situation

string · enum
Enum values:
open
depression
cold_air_lake
sea_lake
city
slope_south
slope_west_east
valley

open: Open site, open terrain, north facing incline, no raised skyline. Applies to most sites.
depression: Depression or very flat valley floor, in which cold air collects. In Switzerland, for example, particularly in the Jura and the Alps.
cold_air_lake: Extensively cold hollows (above 1000 m).
sea_lake: Shore of sea or larger lake (up to 1 km from the shore).
city: Centre of a larger city (over 100’000 inhabitants).
slope_south: South facing incline (more than approx. 10° inclination, facing between SE–S–SW). At least 200 m above valley floor.
slope_west_east: West or east facing incline (more than approx. 10° inclination, facing between SW–W–NW or NE–E–SE). At least 200 m above valley floor.
valley: Valley floor in mountainous valley at higher altitudes. Valley floor inclined (flat valleys are often treated as depressions).
valley_foehn: Valley floor of Föhn valley (regions with warm descending air currents).
valley_central_alps: Floor of large central Alpine valley (e.g. Alpine regions of Valais, Switzerland).
valley_alpine_foothills: Valley floor in northern Alpine foothills.
valley_slope_south: South facing incline (more than approx. 10° inclination, facing between SE–S–SW) up to 200 m above valley.
valley_slope_west_east: West or east facing incline (more than approx. 10° inclination, facing between SW–W–NW or NE–E–SE) up to 200 m above valley floor.
summit: Open summit above 500 m. Overlooking surroundings in all directions.

Default: open

Albedo

number | null · double · min: 0.05 · max: 0.9

Local albedo

Turbidity

string · pattern: ^(auto|[0-9]*\.?[0-9…

auto: turbidity is taken from the Meteonorm database.
[comma-separated values]: 12 floating point values representing monthly atmospheric turbidity.

Example: 5.2,4,3,3.1,3.0,2.8,3.14,3.0,3,3,4,5
Default: auto

MonthlyImportData

  • global_horizontal_irradiancenumber[] · minItems: 12 · maxItems: 12 · required

    Monthly mean global horizontal irradiance, in W/m². 12 values, one per month, describing a full 12-month period.

    Example: [42,75,133,188,233,258,254,221,167,108,54,38]
  • temperaturenumber[] · minItems: 12 · maxItems: 12

    Monthly mean air temperature, in °C. 12 values, one per month, describing a full 12-month period.

    Example: [-1,0,4,8,13,16,18,17,13,8,3,0]

ClimateImportMode

string · enum
Enum values:
typical
actual

Selects how the imported monthly values are interpreted.

typical: The user-provided monthly values describe a typical meteorological year (TMY). They are interpreted as January to December and the output covers a January-to-December year. The start field is ignored.
actual: The user-provided monthly values describe an actual meteorological year (AMY). The start field is required (the request fails without it) and the 12 values are interpreted as the 12 months beginning at that month.

ClimateImportStartTime

string · pattern: ^[0-9]{4}-[0-9]{2}$

Start month of the imported values.

A year-month string in the format YYYY-MM.

Required when the mode is "actual". Ignored when the mode is "typical", where the values always cover a January-to-December year.

Examples:

2020-01
2023-12

Example: 2020-01

ClimateImportMonthlyRequest

  • latnumber · double · min: -90 · max: 90 · required
    Example: 47.3768
  • lonnumber · double · min: -180 · max: 180 · required
    Example: 8.5417
  • modestring · enum · required

    Selects how the imported monthly values are interpreted.

    typical: The user-provided monthly values describe a typical meteorological year (TMY). They are interpreted as January to December and the output covers a January-to-December year. The start field is ignored.
    actual: The user-provided monthly values describe an actual meteorological year (AMY). The start field is required (the request fails without it) and the 12 values are interpreted as the 12 months beginning at that month.

    Enum values:
    typical
    actual
  • valuesobject · required

    User-supplied monthly mean values. Global horizontal irradiance is required; temperature is optional and falls back to the Meteonorm database when omitted.

  • altitudestring · pattern: ^(auto|-?[0-9]+(\.[0…

    Altitude in meters above sea level. • auto: Automatic • number: altitude in meters

    Example: 549
    Default: auto
  • surface_azimuthnumber · double · max: 360

    • 0° = oriented towards the north
    • 90° = oriented towards the east
    • 180° = oriented towards the south
    • 270° = oriented towards the west

    Example: 186
    Default: 0
  • surface_tiltnumber · double · max: 90

    • 0° = horizontal
    • 90° = vertical

    Default: 0
  • tracking_modestring · enum

    none: No axis tracking. Fixed surface orientation (uses surface_azimuth and surface_tilt parameters).
    1_axis: Single-axis tracking. In this mode, parameters surface_azimuth and surface_tilt are ignored. The solar panels are mounted on a rotational axis parallel to the ground along a North-South line, tilting dynamically East-to-West to follow the sun's trajectory throughout the day. Backtracking is applied: the tracking angle does not follow the sun in a naïve way. Instead, for low sun angles, it moves backwards to its ideal position to prevent row-to-row shading in PV arrays. The maximum tilt angle is 45° and a ground coverage ratio (GCR) of 0.3 is assumed.

    Enum values:
    none
    1_axis
    Default: none
  • situationstring · enum

    open: Open site, open terrain, north facing incline, no raised skyline. Applies to most sites.
    depression: Depression or very flat valley floor, in which cold air collects. In Switzerland, for example, particularly in the Jura and the Alps.
    cold_air_lake: Extensively cold hollows (above 1000 m).
    sea_lake: Shore of sea or larger lake (up to 1 km from the shore).
    city: Centre of a larger city (over 100’000 inhabitants).
    slope_south: South facing incline (more than approx. 10° inclination, facing between SE–S–SW). At least 200 m above valley floor.
    slope_west_east: West or east facing incline (more than approx. 10° inclination, facing between SW–W–NW or NE–E–SE). At least 200 m above valley floor.
    valley: Valley floor in mountainous valley at higher altitudes. Valley floor inclined (flat valleys are often treated as depressions).
    valley_foehn: Valley floor of Föhn valley (regions with warm descending air currents).
    valley_central_alps: Floor of large central Alpine valley (e.g. Alpine regions of Valais, Switzerland).
    valley_alpine_foothills: Valley floor in northern Alpine foothills.
    valley_slope_south: South facing incline (more than approx. 10° inclination, facing between SE–S–SW) up to 200 m above valley.
    valley_slope_west_east: West or east facing incline (more than approx. 10° inclination, facing between SW–W–NW or NE–E–SE) up to 200 m above valley floor.
    summit: Open summit above 500 m. Overlooking surroundings in all directions.

    Enum values:
    open
    depression
    cold_air_lake
    sea_lake
    city
    slope_south
    slope_west_east
    valley
    Default: open
  • horizonstring · pattern: ^(auto|flat|[0-9]+(,…

    flat: Flat horizon (all values are 0°).
    auto: Horizon is determined automatically using a global 30m digital elevation model.
    [comma-separated values]: provide 360 integer values representing elevation angles (in degrees) of the horizon in 360 directions. Elevation angles must be ≥0° and <90°. List indices 0–359 correspond to azimuth:
    Index 0 = 0° (North)
    Index 90 = 90° (East)
    Index 180 = 180° (South)
    Index 270 = 270° (West)
    Each value indicates the elevation angle at the corresponding azimuth.

    Example: 0,0,0,2,4,4,6,10,...,9,7,8,6,5,3,0
    Default: flat
  • parametersstring
    Example: global_horizontal_irradiance,global_tilted_irradiance,temperature
    Default: global_horizontal_irradiance,diffuse_horizontal_irradiance,direct_normal_irradiance,temperature
  • fixed_albedonumber | null · double · min: 0.05 · max: 0.9

    Local albedo

  • turbiditystring · pattern: ^(auto|[0-9]*\.?[0-9…

    auto: turbidity is taken from the Meteonorm database.
    [comma-separated values]: 12 floating point values representing monthly atmospheric turbidity.

    Example: 5.2,4,3,3.1,3.0,2.8,3.14,3.0,3,3,4,5
    Default: auto
  • frequencystring · enum
    Enum values:
    1_minute
    15_minutes
    1_hour
    1_day
    1_month
    Default: 1_hour
  • response_formatstring · enum
    Enum values:
    csv
    json
    epw
    pvsyst
    tmy3
    pvsol
    polysun
    trj
    Default: json
  • radiation_minute_modelstring · enum
    Enum values:
    remund
    Default: remund
  • diffuse_radiation_modelstring · enum
    Enum values:
    perez
    Default: perez
  • tilt_radiation_modelstring · enum
    Enum values:
    perez
    Default: perez
  • random_seedinteger · max: 1000
    Default: 0
  • clear_sky_radiation_modelstring · enum
    Enum values:
    esra
    solis
    Default: esra
  • startstring · pattern: ^[0-9]{4}-[0-9]{2}$

    Start month of the imported values.

    A year-month string in the format YYYY-MM.

    Required when the mode is "actual". Ignored when the mode is "typical", where the values always cover a January-to-December year.

    Examples:

    2020-01
    2023-12

    Example: 2020-01

FutureScenario

string · enum
Enum values:
none
ssp1_26
ssp2_45
ssp3_70

none: climate reference period is 2001–2020.
ssp1_26: Shared Socioeconomic Pathway (as defined by the IPCC) SSP1-2.6.
ssp2_45: Shared Socioeconomic Pathway (as defined by the IPCC) SSP2-4.5.
ssp3_70: Shared Socioeconomic Pathway (as defined by the IPCC) SSP3-7.0.

Default: none

FutureYear

integer · enum
Enum values:
2030
2040
2050
2060
2070
2080
2090
Default: 2050

ClimateFrequency

string · enum
Enum values:
1_minute
15_minutes
1_hour
1_day
1_month
Default: 1_hour

Frequency

string · enum
Enum values:
1_minute
15_minutes
1_hour
1_day
1_month

RadiationMinuteModel

string · enum
Enum values:
remund
Default: remund

DiffuseRadiationModel

string · enum
Enum values:
perez
Default: perez

TiltRadiationModel

string · enum
Enum values:
perez
Default: perez

ClearSkyModel

string · enum
Enum values:
esra
solis
Default: esra

RandomSeed

integer · max: 1000
Default: 0

ExtremeSetting

string · enum
Enum values:
none
poe_10_year
poe_90_year
poe_10_months
poe_90_months
worst_case_year
Default: none

ClimateResponseFormat

string · enum
Enum values:
csv
json
epw
pvsyst
tmy3
pvsol
polysun
trj
Default: json

ObscastResponseFormat

string · enum
Enum values:
json
csv
Default: json

ClimateParameters

string
Example: global_horizontal_irradiance,global_tilted_irradiance,temperature
Default: global_horizontal_irradiance,diffuse_horizontal_irradiance,direct_normal_irradiance,temperature

ForecastParameters

string
Example: global_horizontal_irradiance,global_tilted_irradiance,temperature
Default: global_horizontal_irradiance,temperature

ObservationParameters

string
Example: global_horizontal_irradiance,global_tilted_irradiance,temperature
Default: global_horizontal_irradiance,temperature

ValuesClimate

  • global_horizontal_irradiancearray | null · required
  • global_horizontal_irradiance_with_shadingarray | null · required
  • direct_horizontal_irradiancearray | null · required
  • direct_horizontal_irradiance_with_shadingarray | null · required
  • diffuse_horizontal_irradiancearray | null · required
  • diffuse_horizontal_irradiance_with_shadingarray | null · required
  • direct_normal_irradiancearray | null · required
  • direct_normal_irradiance_with_shadingarray | null · required
  • global_tilted_irradiancearray | null · required
  • global_tilted_irradiance_with_shadingarray | null · required
  • direct_tilted_irradiancearray | null · required
  • direct_tilted_irradiance_with_shadingarray | null · required
  • diffuse_tilted_irradiancearray | null · required
  • diffuse_tilted_irradiance_with_shadingarray | null · required
  • pv_productionarray | null · required
  • pv_production_with_shadingarray | null · required
  • global_clear_sky_irradiancearray | null · required
  • direct_horizontal_clear_sky_irradiancearray | null · required
  • diffuse_clear_sky_irradiancearray | null · required
  • direct_normal_clear_sky_irradiancearray | null · required
  • precipitationarray | null · required
  • temperaturearray | null · required
  • dew_point_temperaturearray | null · required
  • snow_deptharray | null · required
  • global_extraterrestrial_irradiancearray | null · required
  • global_extraterrestrial_normal_irradiancearray | null · required
  • downwelling_longwave_irradiancearray | null · required
  • upwelling_longwave_irradiancearray | null · required
  • vertical_longwave_irradiancearray | null · required
  • photo_active_irradiancearray | null · required
  • radiation_balancearray | null · required
  • global_illuminancearray | null · required
  • direct_illuminancearray | null · required
  • diffuse_illuminancearray | null · required
  • linke_turbidity_factorarray | null · required
  • aerosol_optical_deptharray | null · required
  • cloud_coverarray | null · required
  • albedoarray | null · required
  • surface_temperaturearray | null · required
  • sky_temperaturearray | null · required
  • wet_bulb_temperaturearray | null · required
  • mixing_ratioarray | null · required
  • relative_humidityarray | null · required
  • precipitable_waterarray | null · required
  • driving_rainarray | null · required
  • pressurearray | null · required
  • wind_speedarray | null · required
  • wind_directionarray | null · required
  • solar_elevationarray | null · required
  • solar_azimutharray | null · required
  • surface_azimutharray | null · required
  • surface_tiltarray | null · required

ClimateTMYQualityParameters

  • start_year_of_irradiance_period_of_nearest_stationinteger · required

    Start year of the irradiance data period at the nearest station.

  • end_year_of_irradiance_period_of_nearest_stationinteger · required

    End year of the irradiance data period at the nearest station.

  • irradiance_station_data_weightnumber · double · required

    Weight of the station data in the global irradiance estimation.

  • uncertainty_of_irradiance_estimationnumber · double · required

    Uncertainty of the global irradiance estimation.

  • uncertainty_of_temperature_estimationnumber · double · required

    Uncertainty of the temperature estimation.

  • irradiance_year_to_year_variabilitynumber · double · required

    Year-to-year variability of the global irradiance.

  • irradiance_yearly_poe10number · double · required

    The yearly irradiance level associated with a 10% probability of exceedance (PoE10). This value corresponds to the 90th percentile of the irradiance distribution.

  • irradiance_yearly_poe90number · double · required

    The yearly irradiance level associated with a 90% probability of exceedance (PoE90). This value corresponds to the 90th percentile of the irradiance distribution.

ClimateTMYResponse

  • start_timesstring[] · required

    Start or end ISO 8601 date-time strings of each time series interval.

  • end_timesstring[] · required

    Start or end ISO 8601 date-time strings of each time series interval.

  • valuesobject · required

    Time series of a climate response.

  • quality_parametersobject · required

    Quality parameters for the TMY climate data.

  • metaobject · required

ClimateAMYResponse

  • start_timesstring[] · required

    Start or end ISO 8601 date-time strings of each time series interval.

  • end_timesstring[] · required

    Start or end ISO 8601 date-time strings of each time series interval.

  • valuesobject · required

    Time series of a climate response.

  • metaobject · required

ClimateImportResponse

  • start_timesstring[] · required

    Start or end ISO 8601 date-time strings of each time series interval.

  • end_timesstring[] · required

    Start or end ISO 8601 date-time strings of each time series interval.

  • valuesobject · required

    Time series of a climate response.

  • metaobject · required

ValuesForecast

  • global_horizontal_irradiancearray | null · required
  • global_horizontal_irradiance_with_shadingarray | null · required
  • direct_horizontal_irradiancearray | null · required
  • direct_horizontal_irradiance_with_shadingarray | null · required
  • diffuse_horizontal_irradiancearray | null · required
  • diffuse_horizontal_irradiance_with_shadingarray | null · required
  • direct_normal_irradiancearray | null · required
  • direct_normal_irradiance_with_shadingarray | null · required
  • global_tilted_irradiancearray | null · required
  • global_tilted_irradiance_with_shadingarray | null · required
  • direct_tilted_irradiancearray | null · required
  • direct_tilted_irradiance_with_shadingarray | null · required
  • diffuse_tilted_irradiancearray | null · required
  • diffuse_tilted_irradiance_with_shadingarray | null · required
  • pv_productionarray | null · required
  • pv_production_with_shadingarray | null · required
  • global_clear_sky_irradiancearray | null · required
  • precipitationarray | null · required
  • temperaturearray | null · required
  • dew_point_temperaturearray | null · required
  • snow_deptharray | null · required
  • cloud_coverarray | null · required
  • relative_humidityarray | null · required
  • pressurearray | null · required
  • wind_speedarray | null · required
  • wind_directionarray | null · required
  • wind_gustsarray | null · required
  • weather_symbolarray | null · required
  • surface_azimutharray | null · required
  • surface_tiltarray | null · required

ForecastResponse

  • start_timesstring[] · required

    Start or end ISO 8601 date-time strings of each time series interval.

  • end_timesstring[] · required

    Start or end ISO 8601 date-time strings of each time series interval.

  • valuesobject · required

    Time series of a forecast response.

  • metaobject · required

ValuesObservation

  • global_horizontal_irradiancearray | null · required
  • global_horizontal_irradiance_with_shadingarray | null · required
  • direct_horizontal_irradiancearray | null · required
  • direct_horizontal_irradiance_with_shadingarray | null · required
  • diffuse_horizontal_irradiancearray | null · required
  • diffuse_horizontal_irradiance_with_shadingarray | null · required
  • direct_normal_irradiancearray | null · required
  • direct_normal_irradiance_with_shadingarray | null · required
  • global_tilted_irradiancearray | null · required
  • global_tilted_irradiance_with_shadingarray | null · required
  • direct_tilted_irradiancearray | null · required
  • direct_tilted_irradiance_with_shadingarray | null · required
  • diffuse_tilted_irradiancearray | null · required
  • diffuse_tilted_irradiance_with_shadingarray | null · required
  • pv_productionarray | null · required
  • pv_production_with_shadingarray | null · required
  • global_clear_sky_irradiancearray | null · required
  • temperaturearray | null · required
  • snow_deptharray | null · required
  • surface_azimutharray | null · required
  • surface_tiltarray | null · required

ObservationResponse

  • start_timesstring[] · required

    Start or end ISO 8601 date-time strings of each time series interval.

  • end_timesstring[] · required

    Start or end ISO 8601 date-time strings of each time series interval.

  • valuesobject · required

    Time series of an observation response.

  • metaobject · required

TimePoints

string · date-time

Metadata

  • versionstring · required

    Meteonorm version used to generate the response

    Example: 9.0.0
  • commitstring · required

    Commit hash of the Meteonorm backend used to generate the response

    Example: a1b2c3d4
  • frequencystring · enum · required
    Enum values:
    1_minute
    15_minutes
    1_hour
    1_day
    1_month
  • parametersobject[] · required
  • latnumber · double · min: -90 · max: 90 · required
    Example: 47.3768
  • lonnumber · double · min: -180 · max: 180 · required
    Example: 8.5417
  • altitudenumber · double · min: -1000 · max: 10000 · required

    Altitude in meters above sea level.

  • surface_azimuthnumber · double · max: 360 · required

    • 0° = oriented towards the north
    • 90° = oriented towards the east
    • 180° = oriented towards the south
    • 270° = oriented towards the west

    Example: 186
    Default: 0
  • surface_tiltnumber · double · max: 90 · required

    • 0° = horizontal
    • 90° = vertical

    Default: 0
  • time_zonenumber · enum · double

    UTC offset in hours.

    Enum values:
    -12
    -11
    -10
    -9.5
    -9
    -8
    -7
    -6

Parameter

  • descriptionstring · required

    Description of parameter

    Example: Global horizontal irradiance
  • namestring · required

    unique name of parameter

    Example: global_horizontal_irradiance
  • unitobject · required
  • aggregation_methodstring · enum · required
    Enum values:
    average
    instant
    min
    max
    sum
    Example: average

Values

Unit

  • namestring · required

    string representation of unit

    Example: W/m**2
  • descriptionstring · required

    description of unit

    Example: Watt per square meter

AltitudeResponse

  • altitudenumber · double · min: -1000 · max: 10000 · required

    Altitude in meters above sea level.

HorizonResponse

  • azimuthinteger[] · minItems: 360 · maxItems: 360 · required

    Azimuth angles (in degrees) corresponding to horizon elevation angles in "HorizonElevation".

    0° = north, 90° = east, 180° = south, 270° = west.

  • elevationinteger[] · minItems: 360 · maxItems: 360 · required

    360 integer values representing elevation angles (0° to 90°) of the horizon. Array indices correspond to azimuths, e.g. index 0 corresponds to azimuth 0°. Each value indicates the elevation angle at the corresponding azimuth. The given example corresponds to a "20° mountain" in the north and a flat horizon in all other directions.

    Example: [20,20,20,19,18,17,...,0,0,0,0,0,0,...,18,19,20,20,20,20]