openapi: 3.0.0
info:
  title: MeteoNetwork API v3
  description: >-
    MeteoNetwork Weather Stations APIs<br>
    Before use these APIs, please read:
      <ul>
      <li><a href="https://www.meteonetwork.it/informative/termini-di-licenza-e-di-collaborazione/">MeteoNetwork license and collaboration terms</a></li>
     <li><a href="https://www.meteonetwork.it/informative/termini-e-condizioni-generali-duso-dei-servizi-meteonetwork/">General terms and conditions of use of the MeteoNetwork Services</a></li>
      <li><a href="https://www.meteonetwork.it/informative/politiche-di-utilizzo-dei-servizi-meteonetwork/">Policies for using the MeteoNetwork Services</a></li>
      </ul>
    <h2>Prerequisites</h2>
    You need a myMeteoNetwork account. Register <a href="http://my.meteonetwork.it">here</a> for free!<br>
    These APIs use the Bearer authentication scheme:<br>
    <ol>
    <li>Get a token by /login method</li>
    <li>To send a request to methods, include a HTTP Header <pre><code>Authorization: Bearer &lt;token&gt;</code></pre></li>
    </ol>
    Some bulk methods require a BULK type token. Read the documentation to request a BULK token type through the /login method (additional information is required about the activity you are going to perform).<br>
    NOTE: a v1/v2 token (MT**********) is not valid for v3 APIs!

    <h2>Environments</h2>
    <strong>Public</strong>: https://api.meteonetwork.it/v3 (example, https://api.meteonetwork.it/v3/login)
    <h2>Changes</h2>
    <strong>REV5 (18/05/2023)</strong>
    <ul><li>Added Interpolated Realtime Data method</li></ul>
    <strong>REV4 (17/05/2023)</strong>
    <ul><li>Added subnet_exclude filter in stations method</li></ul>
    <strong>REV3 (04/03/2023)</strong>
    <ul><li>Added subnets field in stations method</li>
    <li>Added region_name field in stations method</li>
    <li>Added place_name field in stations method</li>
    <li>Fixed inconsistent name field in stations method</li>
    <li>Added wind_direction_degree field in realtime method</li>
    <li>Added wind_direction_degree field in archive method</li></ul>
    <strong>REV2 (22/06/2020)</strong>
    <ul><li>Added geocoding search (by lat, lon, range)</li></ul>
    <strong>REV1 (21/06/2020)</strong>
    <ul><li>First release</li></ul>
  version: REV5
  termsOfService: "https://www.meteonetwork.it/informative/termini-e-condizioni-generali-duso-dei-servizi-meteonetwork/"
  contact:
    email: settore.tecnico@meteonetwork.it
  license:
    name: "CC-BY 4.0"
    url: "https://creativecommons.org/licenses/by/4.0/deed.en"

servers:
  - url: https://api.meteonetwork.it/v3

tags:
  - name: User Login
    description: Credentials (e-mail and password) of myMeteoNetwork
    externalDocs:
      description: Register to myMeteoNetwork
      url: 'http://my.meteonetwork.it/'
  - name: Realtime Data
    description: Realtime weather stations data
  - name: Daily Data
    description: Daily weather stations data



paths:
  /login:
    post:
      tags:
        - User Login
      summary: Login API
      description: >-
        With this method you obtain a token that never expires. <strong>Save/cache it because you can generate a new one in 1 hour</strong>. MeteoNetwork reserves the right to reject or revoke a token for activities that do not comply with the terms of service.<br><br>
        You can also request a <i>BULK</i> token type that allows access to bulk methods.<br>
        <u><i>BULK</i> token type is reserved to institutions, no-profit organizations or companies. To request a bulk token you need to provide additional information about your business (see properties).</u>
      security: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Credentials'
        description: The email and password of my.meteonetwork.it
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Login'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'

  /stations/{station_code}:
    get:
      tags:
        - Weather stations
      summary: Access to single weather station attributes
      description: Access to single weather station attributes.
      security:
        - bearerAuth: []
      parameters:
        - name: station_code
          in: path
          description: Weather station code
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: '#/components/schemas/Station'
        '204':
          description: No results found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method not allowed (token not authorized for bulk methods)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'

  /stations:
    get:
      tags:
        - Weather stations
      summary: (Bulk method) Access to single weather station attributes
      description: Access to single weather station attributes. This method requires a <i>BULK</i> token type
      security:
        - bearerAuth: []
      parameters:
        - name: subnet
          in: query
          description: Get only specific subnet weather stations
          required: false
          schema:
            type: string

        - name: subnet_exclude
          in: query
          description: Esclude all weather stations in specific subnets (comma-separated string, ex. "metno,mistral")
          required: false
          schema:
            type: string

        - name: data_quality
          in: query
          description: The sensors of the weather stations are constantly monitored to provide the best quality of the meteorological data. Set to false to ignore these checks (usually you shouldn't use this feature)
          required: false
          schema:
            type: boolean
            default: true

        - name: country
          in: query
          description: ISO 3166-1 alpha-2 country code
          required: false
          example: IT
          schema:
            type: string

        - name: region
          in: query
          description: Region/State of country
          required: false
          example: lombardia
          schema:
            type: string

        - name: lat
          in: query
          description: Geocoding search - Latitude (required with lat, lon, range)
          required: false
          example: 45.5
          schema:
            type: string

        - name: lon
          in: query
          description: Geocoding search - Longitude (required with lat, lon, range)
          required: false
          example: 9.3
          schema:
            type: string

        - name: range
          in: query
          description: Geocoding search - Range (km) (required with lat, lon, range)
          required: false
          example: 100
          schema:
            type: string

      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: '#/components/schemas/Station'
        '204':
          description: No results found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method not allowed (token not authorized for bulk methods)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'


  /data-realtime/{station_code}:
    get:
      tags:
        - Realtime Data
      summary: Access to realtime weather data of single weather station
      description: Access to realtime weather data. There is a throttling of 5 requests in 1 minute.
      security:
        - bearerAuth: []
      parameters:
        - name: station_code
          in: path
          description: Weather station code
          required: true
          schema:
            type: string
        - name: data_quality
          in: query
          description: The sensors of the weather stations are constantly monitored to provide the best quality of the meteorological data. Set to false to ignore these checks (usually you shouldn't use this feature)
          required: false
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: '#/components/schemas/Realtime'
        '204':
          description: No results found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method not allowed (token not authorized for bulk methods)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'

  /data-realtime:
    get:
      tags:
        - Realtime Data
      summary: (Bulk method) Access to realtime weather data
      description: Access to last data from each weather station. This method requires a <i>BULK</i> token type
      security:
        - bearerAuth: []
      parameters:
        - name: subnet
          in: query
          description: Get only specific subnet weather stations
          required: false
          schema:
            type: string
        - name: data_quality
          in: query
          description: The sensors of the weather stations are constantly monitored to provide the best quality of the meteorological data. Set to false to ignore these checks (usually you shouldn't use this feature)
          required: false
          schema:
            type: boolean
            default: true

        - name: country
          in: query
          description: ISO 3166-1 alpha-2 country code
          required: false
          example: IT
          schema:
            type: string

        - name: region
          in: query
          description: Region/State of country
          required: false
          example: lombardia
          schema:
            type: string

        - name: lat
          in: query
          description: Geocoding search - Latitude (required with lat, lon, range)
          required: false
          example: 45.5
          schema:
            type: string

        - name: lon
          in: query
          description: Geocoding search - Longitude (required with lat, lon, range)
          required: false
          example: 9.3
          schema:
            type: string

        - name: range
          in: query
          description: Geocoding search - Range (km) (required with lat, lon, range)
          required: false
          example: 100
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: '#/components/schemas/Realtime'
        '204':
          description: No results found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method not allowed (token not authorized for bulk methods)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'


  /data-archive/{station_code}:
    get:
      tags:
        - Archive Data
      summary: (Bulk method) Access to archived raw weather data of a single weather station
      description: Access to archived raw weather data of a single weather station. This method requires a <i>BULK</i> token type. There is a throttling of 20 requests in 10 minutes
      security:
        - bearerAuth: []
      parameters:
        - name: station_code
          in: path
          description: Weather station code
          required: true
          schema:
            type: string
        - name: observation_date
          in: query
          description: Date of observation date
          required: false
          schema:
            type: string
            format: date
            example: "2020-01-01"
            default: today
        - name: data_quality
          in: query
          description: The sensors of the weather stations are constantly monitored to provide the best quality of the meteorological data. Set to false to ignore these checks (usually you shouldn't use this feature)
          required: false
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: '#/components/schemas/Archive'
        '204':
          description: No results found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method not allowed (token not authorized for bulk methods)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'

  /data-archive:
    get:
      tags:
        - Archive Data
      summary: (Reserved method) Access to archived raw weather data
      description: Access to archived raw weather data. This method requires a <i>RESERVED</i> token type. Please contact settore.tecnico@meteonetwork.it
      security:
        - bearerAuth: []
      parameters:
        - name: observation_date
          in: query
          description: Date of observation date (from 00:00 to 23:59)
          required: true
          schema:
            type: string
            format: date
            example: "2020-01-01"
            default: today
        - name: code
          in: query
          description: Get only specific station code (without throttling restrictions)
          required: false
          schema:
            type: string
        - name: subnet
          in: query
          description: Get only specific subnet weather stations
          required: false
          schema:
            type: string
        - name: data_quality
          in: query
          description: The sensors of the weather stations are constantly monitored to provide the best quality of the meteorological data. Set to false to ignore these checks (usually you shouldn't use this feature)
          required: false
          schema:
            type: boolean
            default: true

        - name: country
          in: query
          description: ISO 3166-1 alpha-2 country code
          required: false
          example: IT
          schema:
            type: string

        - name: region
          in: query
          description: Region/State of country
          required: false
          example: lombardia
          schema:
            type: string

        - name: lat
          in: query
          description: Geocoding search - Latitude (required with lat, lon, range)
          required: false
          example: 45.5
          schema:
            type: string

        - name: lon
          in: query
          description: Geocoding search - Longitude (required with lat, lon, range)
          required: false
          example: 9.3
          schema:
            type: string

        - name: range
          in: query
          description: Geocoding search - Range (km) (required with lat, lon, range)
          required: false
          example: 100
          schema:
            type: string

      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: '#/components/schemas/Archive'
        '204':
          description: No results found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method not allowed (token not authorized for bulk methods)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'


  /data-daily/{station_code}:
    get:
      tags:
        - Daily Data
      summary: Access to daily weather data of a single weather station
      description: Access to daily weather data. There is a throttling of 5 requests in 1 minute.
      security:
        - bearerAuth: []
      parameters:
        - name: station_code
          in: path
          description: Weather station code
          required: true
          schema:
            type: string
        - name: observation_date
          in: query
          description: Date of observation date
          required: false
          schema:
            type: string
            format: date
            example: "2020-01-01"
            default: today
        - name: data_quality
          in: query
          description: The sensors of the weather stations are constantly monitored to provide the best quality of the meteorological data. Set to false to ignore these checks (usually you shouldn't use this feature)
          required: false
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: '#/components/schemas/Daily'
        '204':
          description: No results found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method not allowed (token not authorized for bulk methods)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'

  /data-daily:
    get:
      tags:
        - Daily Data
      summary: (Bulk method) Access to daily weather data
      description: Access to daily weather data. This method requires a <i>BULK</i> token type
      security:
        - bearerAuth: []
      parameters:
        - name: observation_date
          in: query
          description: Date of observation date
          required: false
          schema:
            type: string
            format: date
            example: "2020-01-01"
            default: today
        - name: subnet
          in: query
          description: Get only specific subnet weather stations
          required: false
          schema:
            type: string
        - name: data_quality
          in: query
          description: The sensors of the weather stations are constantly monitored to provide the best quality of the meteorological data. Set to false to ignore these checks (usually you shouldn't use this feature)
          required: false
          schema:
            type: boolean
            default: true

        - name: country
          in: query
          description: ISO 3166-1 alpha-2 country code
          required: false
          example: IT
          schema:
            type: string

        - name: region
          in: query
          description: Region/State of country
          required: false
          example: lombardia
          schema:
            type: string

        - name: lat
          in: query
          description: Geocoding search - Latitude (required with lat, lon, range)
          required: false
          example: 45.5
          schema:
            type: string

        - name: lon
          in: query
          description: Geocoding search - Longitude (required with lat, lon, range)
          required: false
          example: 9.3
          schema:
            type: string

        - name: range
          in: query
          description: Geocoding search - Range (km) (required with lat, lon, range)
          required: false
          example: 100
          schema:
            type: string

      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: '#/components/schemas/Daily'
        '204':
          description: No results found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method not allowed (token not authorized for bulk methods)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'


  /interpolated-realtime:
    get:
      tags:
        - Interpolated Realtime Data
      summary: (BETA) Access to interpolated realtime weather data
      description: Access to MeteoNetwork interpolated data. The data provided does not come from weather stations but from a 2.5km x 2.5km grid of the MeteoNetwork interpolation system. Currently the coverage is only for the Italian territory. Useful if you need meteorological data not covered by a weather station and allow calculation error tolerance.
      security:
        - bearerAuth: []
      parameters:
        - name: lat
          in: query
          description: Geocoding search - Latitude (required with lat, lon, range)
          required: false
          example: 45.5
          schema:
            type: string

        - name: lon
          in: query
          description: Geocoding search - Longitude (required with lat, lon, range)
          required: false
          example: 9.3
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: '#/components/schemas/InterpolatedRealtime'
        '204':
          description: No results found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'

security:
  - bearerAuth: []

components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
  schemas:
    Credentials:
      type: object
      required:
        - email
        - password
      properties:
        email:
          type: string
        password:
          type: string
        bulk:
          type: boolean
          description: Request a bulk token type
          default: false
        company:
          type: string
          description: ONLY for bulk token request. Your institution, non-profit organization or company name
        description:
          type: string
          description: ONLY for bulk token request. Describe your activity and what are you doing with MeteoNetwork APIs
        contribution:
          type: string
          enum: [service, donation]
          description: >
            ONLY for bulk token request. Bulks are resource-intensive requests: we are a non-profit association and the entire IT infrastructure is maintained thanks to the valuable contribution of Members, Donors and Collaborations. <strong>So we ask for your help.</strong><br><br>
            <strong>What can you do for MeteoNetwork and collaborators?</strong><br>
            * `service` - Yes, I want to collaborate by offering our service <br>
            * `donation` - Yes, I want to contribute with a donation<br><br>
            You will be contacted by our team for the contribution you have chosen. <strong>Remember: we are a non-profit association that lives with your help!</strong>.<br>
            If you don't reply to our team, your token will be disabled.

    Login:
      type: object
      properties:
        status_code:
          type: number
          description: Response code
          example: 200
        access_token:
          type: string
          example: 1|12345678900abcdefghikEkskksksks
        token_type:
          type: string
          description: Type of the token
          example: Bearer
    Error:
      type: object
      properties:
        error:
          type: boolean
        status_code:
          type: number
          example: 401
        message:
          type: string
          example: "Error in login"

    Realtime:
      type: object
      properties:
        observation_time_local:
          type: string
          title: Date and time of observation time in local time
          example: '2020-06-22 10:29:00'
        observation_time_utc:
          type: string
          title: Date and time of observation time in UTC time
          example: '2020-06-22 08:29:00'
        name:
          type: string
          title: Weather station name
          example: 'Mantova - Borgochiesanuova'
        station_code:
          type: string
          title: Station Code
          example: lmb015
        place:
          type: string
          title: Place
          example: Mantova
        area:
          type: string
          title: Area (neighborhood)
          example: 'Borgochiesanuova'
        latitude:
          type: string
          title: Latitude
          example: '40.14553'
        longitude:
          type: string
          title: Longitude
          example: '18.12654'
        altitude:
          type: integer
          title: Sea level altitude (m)
          default: 0
          example: 99
        country:
          type: string
          title: ISO 3166-1 alpha-2 country code
          example: IT
        region_name:
          type: string
          title: Region/State
          example: Puglia
        temperature:
          type: string
          title: Temperature (°C)
          example: '25.9'
        daily_rain:
          type: string
          title: Daily rain from 00:00 (mm)
          example: '0.0'
        rad:
          type: string
          title: Radiation (index)
          example: '694'
        rh:
          type: string
          title: Relative Humidity (%)
          example: '50'
        wind_speed:
          type: string
          title: Wind Speed (km/h)
          example: '8.21'
        smlp:
          type: string
          title: Sea level pressure (hPa)
          example: '1011.9'
        wind_direction:
          type: string
          title: Wind Direction (cardinals)
          example: S
        wind_direction_degree:
          type: string
          title: Wind Direction (degree)
          example: 44.5
        wind_gust:
          type: string
          title: Wind gust (km/h) - if recorded by weather station
          example: '15.29'
        rain_rate:
          type: string
          title: Rain rate (mm/h)
          example: '0.0'
        dew_point:
          type: string
          title: Dew Point
          example: '14.6'
        uv:
          type: string
          title: UV (W/m2)
          example: '4'
        current_tmin:
          type: string
          title: Current daily low temperature
          example: '17.7'
        current_tmed:
          type: string
          title: Current daily average temperature
          example: '21.6'
        current_tmax:
          type: string
          title: Current daily high temperature
          example: '24.5'
        current_rhmin:
          type: string
          title: Current daily low relative humidity
          example: '49'
        current_rhmed:
          type: string
          title: Current daily average relative humidity
          example: '60'
        current_rhmax:
          type: string
          title: Current daily high relative humidity
          example: '71'
        current_wgustmax:
          type: string
          title: Current daily max wind gust (km/h) - if recorded by weather station
          example: '28.8'
        current_wspeedmax:
          type: string
          title: Current daily max wind speed (km/h)
          example: '16.9'
        current_wspeedmed:
          type: string
          title: Current daily average wind speed (km/h)
          example: '7.2'
        current_uvmed:
          type: string
          title: Current daily average UV (W/m2)
          example: '3'
        current_uvmax:
          type: string
          title: Current daily high UV (W/m2)
          example: '6'
        current_radmed:
          type: string
          title: Current daily average radiation (index)
          example: '484'
        current_radmax:
          type: string
          title: Current daily high radiation (index)
          example: '966'

    InterpolatedRealtime:
      type: object
      properties:
        latitude:
          type: string
          title: Latitude
          example: '40.14553'
        longitude:
          type: string
          title: Longitude
          example: '18.12654'
        temperature:
          type: string
          title: Temperature (°C)
          example: '25.9'
        daily_rain:
          type: string
          title: Daily rain from 00:00 (mm)
          example: '0.0'
        rh:
          type: string
          title: Relative Humidity (%)
          example: '50'
        wind_speed:
          type: string
          title: Wind Speed (km/h)
          example: '8.21'
        smlp:
          type: string
          title: Sea level pressure (hPa)
          example: '1011.9'
        wind_direction:
          type: string
          title: Wind Direction (degree)
          example: S
        wind_direction_cardinal:
          type: string
          title: Wind Direction (cardinals)
          example: 44.5
        dew_point:
          type: string
          title: Dew Point
          example: '14.6'
        distance:
          type: string
          title: Distance in km from nearest grid point
          example: '0.8'

    Daily:
      type: object
      properties:
        observation_date:
          type: string
          title: Date of observation (yyyy-mm-dd)
          example: "2020-01-01"
        station_code:
          type: string
          title: Station Code
          example: lmb015
        station_name:
          type: string
          title: Weather station name
          example: Mantova
        area:
          type: string
          title: Area (neighborhood)
          example: 'Borgochiesanuova'
        latitude:
          type: string
          title: Latitude
          example: '40.14553'
        longitude:
          type: string
          title: Longitude
          example: '18.12654'
        altitude:
          type: integer
          title: Sea level altitude (m)
          default: 0
          example: 99
        country:
          type: string
          title: ISO 3166-1 alpha-2 country code
          example: IT
        region_name:
          type: string
          title: Region/State
          example: Puglia
        t_min:
          type: string
          title: Low Temperature (°C)
          example: '25.9'
        t_med:
          type: string
          title: Average Temperature (°C)
          example: '25.9'
        t_max:
          type: string
          title: High Temperature (°C)
          example: '25.9'
        rh_min:
          type: string
          title: Low Relative Humidity (%)
          example: '50'
        rh_med:
          type: string
          title: Average Relative Humidity (%)
          example: '50'
        rh_max:
          type: string
          title: High Relative Humidity (%)
          example: '50'
        rain:
          type: string
          title: Daily rain from 00:00 (mm)
          example: '0.0'
        slpres:
          type: string
          title: Average Sea level pressure (hPa)
          example: '1011.9'
        w_max:
          type: string
          title: Max Wind Speed (km/h)
          example: '8.21'
        w_med:
          type: string
          title: Average Wind Speed (km/h)
          example: '8.21'
        w_dir:
          type: string
          title: Average Wind Direction (cardinals)
          example: S
        rad_med:
          type: string
          title: Average Radiation (index)
          example: '694'
        rad_max:
          type: string
          title: Average Radiation (index)
          example: '694'
        uv_med:
          type: string
          title: Average UV (W/m2)
          example: '1.1'
        uv_max:
          type: string
          title: High UV (W/m2)
          example: '1.5'

    Station:
      type: object
      properties:
        code:
          type: string
          title: Code of weather station
          example: "lmb015"
        latitude:
          type: string
          title: Latitude
          example: '40.14553'
        longitude:
          type: string
          title: Longitude
          example: '18.12654'
        is_valid:
          type: string
          title: Current status of weather station (Y is active weather station)
          example: Y
        insertion_date:
          type: string
          title: Insertion of weather station (yyyy-mm-dd)
          example: "2020-01-01"
        name:
          type: string
          title: Name of weather station
          example: Mantova - Borgochiesanuova
        place_name:
          type: string
          title: Place name (italian comune or city) of weather station
          example: Mantova
        area:
          type: string
          title: Area (neighborhood)
          example: 'Borgochiesanuova'
        country:
          type: string
          title: ISO 3166-1 alpha-2 country code
          example: IT
        region_name:
          type: string
          title: Region/State
          example: Puglia
        altitude:
          type: integer
          title: Sea level altitude (m)
          example: 99
        strumentation:
          type: string
          title: Description of weather station manufacturer
          example: "Davis Vantage Vue"
        soil_height:
          type: integer
          title: Height of weather station sensors from soil (m)
          example: 220
        shielding:
          type: string
          title: Shielding
          example: 'P'
          enum: ['X','C','P','W']
          description: >
            * `X` - No shield
            * `C` - Meteorological shield
            * `P` - Naturally ventilated radiation shield
            * `W` - Forced ventilated radiation shield
        shielding_type:
          type: string
          title: Shielding type
          example: 'S'
          enum: ['U','S','E']
          description: >
            * `S` - Standard
            * `A` - Self-made
        shielding_tested:
          type: string
          title: MeteoNetwork checks the type of shield (by selected manufacturer or by comparison)
          example: 'N'
        tipology:
          type: string
          title: Location tipology
          example: 'U'
          enum: ['U','S','E']
          description: >
            * `U` - Urban
            * `S` - Semi-urban
            * `E` - Extra-urban
        buildings_distance:
          type: integer
          title: Distance from the nearest building (m)
          example: 5
        solar_range_summer_begin:
          type: string
          title: When sunlight begins to illuminate the weather station (summer)
          example: "05:30:00"
        solar_range_summer_end:
          type: string
          title: When sunlight stops illuminate the weather station (summer)
          example: "21:00:00"
        solar_range_winter_begin:
          type: string
          title: When sunlight begins to illuminate the weather station (winter)
          example: "08:00:00"
        solar_range_winter_end:
          type: string
          title: When sunlight stops illuminate the weather station (winter)
          example: "16:30:00"
        webcam:
          type: string
          title: Webcam URL
        station_link:
          type: string
          title: Personal website of weather station owner
        software:
          type: string
          title: Code of weather station management software
          example: 'WL'
        removal_date:
          type: string
          title: Date of weather station removal
          default: null
        time_zone_name:
          type: string
          title: Weather station Time Zone
          example: 'Europe/Berlin'
        climate_zone:
          type: string
          title: Type of climate zone
          example: 'TCt'
        images:
          type: array
          items:
            type: string
            example: "http://my.meteonetwork.it/image.jpg"
          title: Array of weather station photos (URL)
        subnets:
          type: array
          items:
            type: string
            example: "mistral"
          title: Array of subnets


    Archive:
      type: object
      properties:
        observation_time_local:
          type: string
          title: Date and time of observation time in local time
          example: '2020-06-22 10:29:00'
        observation_time_utc:
          type: string
          title: Date and time of observation time in UTC time
          example: '2020-06-22 08:29:00'
        station_code:
          type: string
          title: Station Code
          example: lmb015
        temperature:
          type: string
          title: Temperature (°C)
          example: '25.9'
        smlp:
          type: string
          title: Sea level pressure (hPa)
          example: '1011.9'
        rh:
          type: string
          title: Relative Humidity (%)
          example: '50'
        wind_speed:
          type: string
          title: Wind Speed (km/h)
          example: '8.21'
        wind_direction:
          type: string
          title: Wind Direction (cardinals)
          example: S
        wind_direction_degree:
          type: string
          title: Wind Direction (degree)
          example: 44.5
        wind_gust:
          type: string
          title: Wind gust (km/h) - if recorded by weather station
          example: '15.29'
        rain_rate:
          type: string
          title: Rain rate (mm/h)
          example: '0.0'
        daily_rain:
          type: string
          title: Daily rain from 00:00 (mm)
          example: '0.0'
        dew_point:
          type: string
          title: Dew Point
          example: '14.6'
        rad:
          type: string
          title: Radiation (index)
          example: '694'
        uv:
          type: string
          title: UV (W/m2)
          example: '4'
