]> git.basschouten.com Git - openhab-addons.git/commitdiff
[smhi] Add aggregated channels for daily forecast. (#9387)
authorAnders Alfredsson <30875102+pacive@users.noreply.github.com>
Tue, 22 Dec 2020 21:50:27 +0000 (22:50 +0100)
committerGitHub <noreply@github.com>
Tue, 22 Dec 2020 21:50:27 +0000 (13:50 -0800)
* Add aggregated channels for daily forecast.

Also updates to use Optionals instead of @Nullables, and add unit tests
* Revert unsing explicit unit definition

Signed-off-by: Anders Alfredsson <andersb86@gmail.com>
bundles/org.openhab.binding.smhi/README.md
bundles/org.openhab.binding.smhi/src/main/java/org/openhab/binding/smhi/internal/Forecast.java
bundles/org.openhab.binding.smhi/src/main/java/org/openhab/binding/smhi/internal/ForecastAggregator.java [new file with mode: 0644]
bundles/org.openhab.binding.smhi/src/main/java/org/openhab/binding/smhi/internal/SmhiBindingConstants.java
bundles/org.openhab.binding.smhi/src/main/java/org/openhab/binding/smhi/internal/SmhiHandler.java
bundles/org.openhab.binding.smhi/src/main/java/org/openhab/binding/smhi/internal/TimeSeries.java
bundles/org.openhab.binding.smhi/src/main/resources/OH-INF/config/forecast-config.xml
bundles/org.openhab.binding.smhi/src/main/resources/OH-INF/thing/channel-types.xml
bundles/org.openhab.binding.smhi/src/test/java/org/openhab/binding/smhi/internal/SmhiTest.java [new file with mode: 0644]
bundles/org.openhab.binding.smhi/src/test/resources/org/openhab/binding/smhi/internal/forecast.json [new file with mode: 0644]

index 5eb57073fb8cea39015007f4ab4d7a22acbdb809..b9bd14b362ae7506dac90dea17a045fed8ea0faa 100644 (file)
@@ -27,18 +27,24 @@ You can also choose for which hours and which days you would like to get forecas
 
 ## Channels
 
-The channels are the same for all forecasts: 
+The channels are the same for all forecasts, but the daily forecast provides some additional aggregated values.
+For the other daily forecast channels, the values are for 12:00 UTC.
 
 #### Basic channels
 
 | channel  | type   | description                  |
 |----------|--------|------------------------------|
 | Temperature  | Number:Temperature | Temperature in Celsius  |
+| Max Temperature  | Number:Temperature | Highest temperature of the day (daily forecast only)  |
+| Min Temperature  | Number:Temperature | Lowest temperature of the day (daily forecast only)  |
 | Wind direction  | Number:Angle | Wind direction in degrees  |
 | Wind Speed  | Number:Speed | Wind speed in m/s  |
+| Max Wind Speed  | Number:Speed | Highest wind speed of the day (daily forecast only)  |
+| Min Wind Speed  | Number:Speed | Lowest wind speed of the day (daily forecast only)  |
 | Wind gust speed  | Number:Speed | Wind gust speed in m/s  |
 | Minimum precipitation  | Number:Speed | Minimum precipitation intensity in mm/h  |
 | Maximum precipitation  | Number:Speed | Maximum precipitation intensity in mm/h  |
+| Total precipitation  | Number:Length | Total amount of precipitation during the day, in mm (daily forecast only)  |
 | Precipitation category*  | Number | Type of precipitation  |
 | Air pressure  | Number:Pressure | Air pressure in hPa  |
 | Relative humidity  | Number:Dimensionless | Relative humidity in percent  |
index 6a77c15ac04443a3dd356ec95311dc6a5e24637a..1b849432fa7372b5abf1a12df6f6c482c6f4ed7a 100644 (file)
@@ -16,9 +16,9 @@ package org.openhab.binding.smhi.internal;
 import java.math.BigDecimal;
 import java.time.ZonedDateTime;
 import java.util.Map;
+import java.util.Optional;
 
 import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
 
 /**
  * A class containing a forecast for a specific point in time.
@@ -43,8 +43,8 @@ public class Forecast implements Comparable<Forecast> {
         return parameters;
     }
 
-    public @Nullable BigDecimal getParameter(String parameter) {
-        return parameters.get(parameter);
+    public Optional<BigDecimal> getParameter(String parameter) {
+        return Optional.ofNullable(parameters.get(parameter));
     }
 
     @Override
diff --git a/bundles/org.openhab.binding.smhi/src/main/java/org/openhab/binding/smhi/internal/ForecastAggregator.java b/bundles/org.openhab.binding.smhi/src/main/java/org/openhab/binding/smhi/internal/ForecastAggregator.java
new file mode 100644 (file)
index 0000000..da703bf
--- /dev/null
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2010-2020 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+package org.openhab.binding.smhi.internal;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.List;
+import java.util.Optional;
+
+import org.eclipse.jdt.annotation.NonNullByDefault;
+
+/**
+ * @author Anders Alfredsson - Initial contribution
+ */
+@NonNullByDefault
+public class ForecastAggregator {
+    public static Optional<BigDecimal> max(TimeSeries timeSeries, int dayOffset, String parameter) {
+        List<Forecast> dayForecasts = timeSeries.getDay(dayOffset);
+        return dayForecasts.stream().map(forecast -> forecast.getParameter(parameter)).filter(Optional::isPresent)
+                .map(Optional::get).max(BigDecimal::compareTo);
+    }
+
+    public static Optional<BigDecimal> min(TimeSeries timeSeries, int dayOffset, String parameter) {
+        List<Forecast> dayForecasts = timeSeries.getDay(dayOffset);
+        return dayForecasts.stream().map(forecast -> forecast.getParameter(parameter)).filter(Optional::isPresent)
+                .map(Optional::get).min(BigDecimal::compareTo);
+    }
+
+    public static Optional<BigDecimal> total(TimeSeries timeSeries, int dayOffset, String parameter) {
+        List<Forecast> dayForecasts = timeSeries.getDay(dayOffset);
+        BigDecimal sum = dayForecasts.stream().map(forecast -> forecast.getParameter(parameter))
+                .filter(Optional::isPresent).map(Optional::get).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
+        BigDecimal mean = sum.divide(BigDecimal.valueOf(dayForecasts.size()), RoundingMode.HALF_UP);
+        return Optional.of(mean.multiply(BigDecimal.valueOf(24)));
+    }
+}
index 722dc71dbe5d99d901531625cc686c8c6b7129bf..44be5bf949bfb4b25209ccdc3e812c5fd4de5d9e 100644 (file)
 package org.openhab.binding.smhi.internal;
 
 import java.math.BigDecimal;
-import java.util.Collections;
 import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.openhab.core.thing.ThingTypeUID;
@@ -56,13 +53,22 @@ public class SmhiBindingConstants {
     public static final String PRECIPITATION_CATEGORY = "pcat";
     public static final String WEATHER_SYMBOL = "wsymb2";
 
-    public static final List<String> CHANNEL_IDS = Collections
-            .unmodifiableList(Stream
-                    .of(PRESSURE, TEMPERATURE, VISIBILITY, WIND_DIRECTION, WIND_SPEED, RELATIVE_HUMIDITY,
-                            THUNDER_PROBABILITY, TOTAL_CLOUD_COVER, LOW_CLOUD_COVER, MEDIUM_CLOUD_COVER,
-                            HIGH_CLOUD_COVER, GUST, PRECIPITATION_MIN, PRECIPITATION_MAX, PRECIPITATION_MEAN,
-                            PRECIPITATION_MEDIAN, PERCENT_FROZEN, PRECIPITATION_CATEGORY, WEATHER_SYMBOL)
-                    .collect(Collectors.toList()));
+    public static final String TEMPERATURE_MAX = "tmax";
+    public static final String TEMPERATURE_MIN = "tmin";
+    public static final String WIND_MAX = "wsmax";
+    public static final String WIND_MIN = "wsmin";
+    public static final String PRECIPITATION_TOTAL = "ptotal";
+
+    public static final List<String> HOURLY_CHANNELS = List.of(PRESSURE, TEMPERATURE, VISIBILITY, WIND_DIRECTION,
+            WIND_SPEED, RELATIVE_HUMIDITY, THUNDER_PROBABILITY, TOTAL_CLOUD_COVER, LOW_CLOUD_COVER, MEDIUM_CLOUD_COVER,
+            HIGH_CLOUD_COVER, GUST, PRECIPITATION_MIN, PRECIPITATION_MAX, PRECIPITATION_MEAN, PRECIPITATION_MEDIAN,
+            PERCENT_FROZEN, PRECIPITATION_CATEGORY, WEATHER_SYMBOL);
+
+    public static final List<String> DAILY_CHANNELS = List.of(PRESSURE, TEMPERATURE, TEMPERATURE_MAX, TEMPERATURE_MIN,
+            VISIBILITY, WIND_DIRECTION, WIND_SPEED, WIND_MAX, WIND_MIN, RELATIVE_HUMIDITY, THUNDER_PROBABILITY,
+            TOTAL_CLOUD_COVER, LOW_CLOUD_COVER, MEDIUM_CLOUD_COVER, HIGH_CLOUD_COVER, GUST, PRECIPITATION_MIN,
+            PRECIPITATION_MAX, PRECIPITATION_TOTAL, PRECIPITATION_MEAN, PRECIPITATION_MEDIAN, PERCENT_FROZEN,
+            PRECIPITATION_CATEGORY, WEATHER_SYMBOL);
 
     public static final String BASE_URL = "https://opendata-download-metfcst.smhi.se/api/category/pmp3g/version/2/";
     public static final String APPROVED_TIME_URL = BASE_URL + "approvedtime.json";
index ad4784bdac7122dacebcac0b347469df760b9500..f6f5f78c302b7a7540bdbdbb13efd5579b924297 100644 (file)
@@ -17,10 +17,7 @@ import static org.openhab.binding.smhi.internal.SmhiBindingConstants.*;
 import java.math.BigDecimal;
 import java.time.ZoneOffset;
 import java.time.ZonedDateTime;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
+import java.util.*;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 
@@ -143,11 +140,11 @@ public class SmhiHandler extends BaseThingHandler {
             if (channels.isEmpty()) {
                 continue;
             }
-            Forecast forecast = timeSeries.getForecast(i);
-            if (forecast != null) {
+            Optional<Forecast> forecast = timeSeries.getForecast(i);
+            if (forecast.isPresent()) {
                 channels.forEach(c -> {
                     String id = c.getUID().getIdWithoutGroup();
-                    BigDecimal value = forecast.getParameter(id);
+                    Optional<BigDecimal> value = forecast.get().getParameter(id);
                     updateChannel(c, value);
                 });
             }
@@ -159,74 +156,87 @@ public class SmhiHandler extends BaseThingHandler {
                 continue;
             }
 
-            int offset = 24 * i + 12;
-            Forecast forecast = timeSeries.getForecast(currentDay, offset);
+            int dayOffset = i;
+            int hourOffset = 24 * dayOffset + 12;
+            Optional<Forecast> forecast = timeSeries.getForecast(currentDay, hourOffset);
 
-            if (forecast == null) {
+            if (forecast.isEmpty()) {
                 if (logger.isDebugEnabled()) {
-                    logger.debug("No forecast yet for {}", currentDay.plusHours(offset));
+                    logger.debug("No forecast yet for {}", currentDay.plusHours(hourOffset));
                 }
                 channels.forEach(c -> {
-                    updateState(c.getUID(), UnDefType.NULL);
+                    updateState(c.getUID(), UnDefType.UNDEF);
                 });
             } else {
                 channels.forEach(c -> {
                     String id = c.getUID().getIdWithoutGroup();
-                    BigDecimal value = forecast.getParameter(id);
+                    Optional<BigDecimal> value;
+                    if (isAggregatedChannel(id)) {
+                        value = getAggregatedValue(id, timeSeries, dayOffset);
+                    } else {
+                        value = forecast.get().getParameter(id);
+                    }
                     updateChannel(c, value);
                 });
             }
         }
     }
 
-    private void updateChannel(Channel channel, @Nullable BigDecimal value) {
+    private void updateChannel(Channel channel, Optional<BigDecimal> value) {
         String id = channel.getUID().getIdWithoutGroup();
-        State newState = UnDefType.NULL;
+        State newState = UnDefType.UNDEF;
 
-        if (value != null) {
+        if (value.isPresent()) {
             switch (id) {
                 case PRESSURE:
-                    newState = new QuantityType<>(value, MetricPrefix.HECTO(SIUnits.PASCAL));
+                    newState = new QuantityType<>(value.get(), MetricPrefix.HECTO(SIUnits.PASCAL));
                     break;
                 case TEMPERATURE:
-                    newState = new QuantityType<>(value, SIUnits.CELSIUS);
+                case TEMPERATURE_MAX:
+                case TEMPERATURE_MIN:
+                    newState = new QuantityType<>(value.get(), SIUnits.CELSIUS);
                     break;
                 case VISIBILITY:
-                    newState = new QuantityType<>(value, MetricPrefix.KILO(SIUnits.METRE));
+                    newState = new QuantityType<>(value.get(), MetricPrefix.KILO(SIUnits.METRE));
                     break;
                 case WIND_DIRECTION:
-                    newState = new QuantityType<>(value, Units.DEGREE_ANGLE);
+                    newState = new QuantityType<>(value.get(), Units.DEGREE_ANGLE);
                     break;
                 case WIND_SPEED:
+                case WIND_MAX:
+                case WIND_MIN:
                 case GUST:
-                    newState = new QuantityType<>(value, Units.METRE_PER_SECOND);
+                    newState = new QuantityType<>(value.get(), Units.METRE_PER_SECOND);
                     break;
                 case RELATIVE_HUMIDITY:
                 case THUNDER_PROBABILITY:
-                    newState = new QuantityType<>(value, Units.PERCENT);
+                    newState = new QuantityType<>(value.get(), Units.PERCENT);
                     break;
                 case PERCENT_FROZEN:
                     // Smhi returns -9 for spp if there's no precipitation, convert to UNDEF
-                    if (value.intValue() == -9) {
+                    if (value.get().intValue() == -9) {
                         newState = UnDefType.UNDEF;
                     } else {
-                        newState = new QuantityType<>(value, Units.PERCENT);
+                        newState = new QuantityType<>(value.get(), Units.PERCENT);
                     }
                     break;
                 case HIGH_CLOUD_COVER:
                 case MEDIUM_CLOUD_COVER:
                 case LOW_CLOUD_COVER:
                 case TOTAL_CLOUD_COVER:
-                    newState = new QuantityType<>(value.multiply(OCTAS_TO_PERCENT), Units.PERCENT);
+                    newState = new QuantityType<>(value.get().multiply(OCTAS_TO_PERCENT), Units.PERCENT);
                     break;
                 case PRECIPITATION_MAX:
                 case PRECIPITATION_MEAN:
                 case PRECIPITATION_MEDIAN:
                 case PRECIPITATION_MIN:
-                    newState = new QuantityType<>(value, Units.MILLIMETRE_PER_HOUR);
+                    newState = new QuantityType<>(value.get(), Units.MILLIMETRE_PER_HOUR);
+                    break;
+                case PRECIPITATION_TOTAL:
+                    newState = new QuantityType<>(value.get(), MetricPrefix.MILLI(SIUnits.METRE));
                     break;
                 default:
-                    newState = new DecimalType(value);
+                    newState = new DecimalType(value.get());
             }
         }
 
@@ -367,32 +377,27 @@ public class SmhiHandler extends BaseThingHandler {
     private List<Channel> createChannels() {
         List<Channel> channels = new ArrayList<>();
 
-        // There's currently a bug in PaperUI that can cause options to be added more than one time
-        // to the list. Convert to a sorted set to work around this.
-        // See https://github.com/openhab/openhab-webui/issues/212
-        Set<Integer> hours = new TreeSet<>();
-        Set<Integer> days = new TreeSet<>();
+        @Nullable
         List<Integer> hourlyForecasts = config.hourlyForecasts;
-        if (hourlyForecasts != null) {
-            hours.addAll(hourlyForecasts);
-        }
+        @Nullable
         List<Integer> dailyForecasts = config.dailyForecasts;
-        if (dailyForecasts != null) {
-            days.addAll(dailyForecasts);
-        }
 
-        for (int i : hours) {
-            ChannelGroupUID groupUID = new ChannelGroupUID(thing.getUID(), "hour_" + i);
-            CHANNEL_IDS.forEach(id -> {
-                channels.add(createChannel(groupUID, id));
-            });
+        if (hourlyForecasts != null) {
+            for (int i : hourlyForecasts) {
+                ChannelGroupUID groupUID = new ChannelGroupUID(thing.getUID(), "hour_" + i);
+                HOURLY_CHANNELS.forEach(id -> {
+                    channels.add(createChannel(groupUID, id));
+                });
+            }
         }
 
-        for (int i : days) {
-            ChannelGroupUID groupUID = new ChannelGroupUID(thing.getUID(), "day_" + i);
-            CHANNEL_IDS.forEach(id -> {
-                channels.add(createChannel(groupUID, id));
-            });
+        if (dailyForecasts != null) {
+            for (int i : dailyForecasts) {
+                ChannelGroupUID groupUID = new ChannelGroupUID(thing.getUID(), "day_" + i);
+                DAILY_CHANNELS.forEach(id -> {
+                    channels.add(createChannel(groupUID, id));
+                });
+            }
         }
         return channels;
     }
@@ -409,17 +414,22 @@ public class SmhiHandler extends BaseThingHandler {
         String itemType = "Number";
         switch (channelID) {
             case TEMPERATURE:
+            case TEMPERATURE_MAX:
+            case TEMPERATURE_MIN:
                 itemType += ":Temperature";
                 break;
             case PRESSURE:
                 itemType += ":Pressure";
                 break;
             case VISIBILITY:
+            case PRECIPITATION_TOTAL:
                 itemType += ":Length";
                 break;
             case WIND_DIRECTION:
                 itemType += ":Angle";
             case WIND_SPEED:
+            case WIND_MAX:
+            case WIND_MIN:
             case GUST:
             case PRECIPITATION_MAX:
             case PRECIPITATION_MEAN:
@@ -442,4 +452,34 @@ public class SmhiHandler extends BaseThingHandler {
                 .withType(new ChannelTypeUID(BINDING_ID, channelID)).build();
         return channel;
     }
+
+    private boolean isAggregatedChannel(String channelId) {
+        switch (channelId) {
+            case TEMPERATURE_MAX:
+            case TEMPERATURE_MIN:
+            case WIND_MAX:
+            case WIND_MIN:
+            case PRECIPITATION_TOTAL:
+                return true;
+            default:
+                return false;
+        }
+    }
+
+    private Optional<BigDecimal> getAggregatedValue(String channelId, TimeSeries timeSeries, int dayOffset) {
+        switch (channelId) {
+            case TEMPERATURE_MAX:
+                return ForecastAggregator.max(timeSeries, dayOffset, TEMPERATURE);
+            case TEMPERATURE_MIN:
+                return ForecastAggregator.min(timeSeries, dayOffset, TEMPERATURE);
+            case WIND_MAX:
+                return ForecastAggregator.max(timeSeries, dayOffset, WIND_SPEED);
+            case WIND_MIN:
+                return ForecastAggregator.min(timeSeries, dayOffset, WIND_SPEED);
+            case PRECIPITATION_TOTAL:
+                return ForecastAggregator.total(timeSeries, dayOffset, PRECIPITATION_MEAN);
+            default:
+                return Optional.empty();
+        }
+    }
 }
index 89210cc547fc12c1a53cbcb719e8cc0a5f1a70ea..3dbeaf306ed2231fb951511f86fb56af047c416a 100644 (file)
@@ -16,8 +16,10 @@ package org.openhab.binding.smhi.internal;
 import java.time.ZonedDateTime;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Optional;
 import java.util.Spliterator;
 import java.util.function.Consumer;
+import java.util.stream.Collectors;
 
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.eclipse.jdt.annotation.Nullable;
@@ -48,8 +50,8 @@ public class TimeSeries implements Iterable<Forecast> {
      * @param hourOffset number of hours after now.
      * @return
      */
-    public @Nullable Forecast getForecast(int hourOffset) {
-        return getForecast(ZonedDateTime.now(), hourOffset);
+    public Optional<Forecast> getForecast(int hourOffset) {
+        return getForecast(referenceTime, hourOffset);
     }
 
     /**
@@ -58,17 +60,23 @@ public class TimeSeries implements Iterable<Forecast> {
      * @param hourOffset number of hours after now.
      * @return
      */
-    public @Nullable Forecast getForecast(ZonedDateTime startTime, int hourOffset) {
+    public Optional<Forecast> getForecast(ZonedDateTime startTime, int hourOffset) {
         if (hourOffset < 0) {
             throw new IllegalArgumentException("Offset must be at least 0");
         }
 
         for (Forecast forecast : forecasts) {
-            if (forecast.getValidTime().compareTo(startTime.plusHours(hourOffset)) >= 0) {
-                return forecast;
+            if (forecast.getValidTime().compareTo(startTime.plusHours(hourOffset)) > 0) {
+                return Optional.of(forecast);
             }
         }
-        return null;
+        return Optional.empty();
+    }
+
+    public List<Forecast> getDay(int dayOffset) {
+        ZonedDateTime day = referenceTime.plusDays(dayOffset);
+        return forecasts.stream().filter(forecast -> forecast.getValidTime().getDayOfMonth() == day.getDayOfMonth())
+                .collect(Collectors.toList());
     }
 
     @Override
index ee5f2023b30d7faa9b36fd41ee939f0dda8aebc5..3a5df973601899c91d3a01defc49e1bdfaa364fe 100644 (file)
@@ -6,11 +6,11 @@
                https://openhab.org/schemas/config-description-1.0.0.xsd">
 
        <config-description uri="thing-type:smhi:forecast">
-               <parameter name="latitude" type="decimal" required="true">
+               <parameter name="latitude" type="decimal" step="0.000001" required="true">
                        <label>Latitude</label>
                        <description>Latitude for the forecast</description>
                </parameter>
-               <parameter name="longitude" type="decimal" required="true">
+               <parameter name="longitude" type="decimal" step="0.000001" required="true">
                        <label>Longitude</label>
                        <description>Longitude for the forecast</description>
                </parameter>
index f49099754fc3849ff82e33532d05ac1985687372..6a2874e3cfd8c78026763c20db696e15f730283a 100644 (file)
                <item-type>Number:Pressure</item-type>
                <label>Air Pressure</label>
                <description>Air pressure in hPa</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f hPa"/>
        </channel-type>
        <channel-type id="t">
                <item-type>Number:Temperature</item-type>
                <label>Temperature</label>
                <description>Temperature</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f Â°C"/>
+       </channel-type>
+       <channel-type id="tmax">
+               <item-type>Number:Temperature</item-type>
+               <label>Max Temperature</label>
+               <description>Highest temperature of the day</description>
+               <state readOnly="true" pattern="%.1f Â°C"/>
+       </channel-type>
+       <channel-type id="tmin">
+               <item-type>Number:Temperature</item-type>
+               <label>Min Temperature</label>
+               <description>Lowest temperature of the day</description>
+               <state readOnly="true" pattern="%.1f Â°C"/>
        </channel-type>
        <channel-type id="vis" advanced="true">
                <item-type>Number:Length</item-type>
                <label>Visibility</label>
                <description>Horizontal visibility</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f km"/>
        </channel-type>
        <channel-type id="wd">
                <item-type>Number:Angle</item-type>
                <label>Wind Direction</label>
                <description>Wind direction</description>
-               <state readOnly="true" pattern="%d %unit%"/>
+               <state readOnly="true" pattern="%d Â°"/>
        </channel-type>
        <channel-type id="ws">
                <item-type>Number:Speed</item-type>
                <label>Wind Speed</label>
                <description>Wind speed</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f m/s"/>
+       </channel-type>
+       <channel-type id="wsmax">
+               <item-type>Number:Speed</item-type>
+               <label>Max Wind Speed</label>
+               <description>Highest wind speed of the day</description>
+               <state readOnly="true" pattern="%.1f m/s"/>
+       </channel-type>
+       <channel-type id="wsmin">
+               <item-type>Number:Speed</item-type>
+               <label>Min Wind Speed</label>
+               <description>Lowest wind speed of the day</description>
+               <state readOnly="true" pattern="%.1f m/s"/>
        </channel-type>
        <channel-type id="r">
                <item-type>Number:Dimensionless</item-type>
                <label>Relative Humidity</label>
                <description>Relative humidity in percent</description>
-               <state readOnly="true" pattern="%d %unit%"/>
+               <state readOnly="true" pattern="%d %%"/>
        </channel-type>
        <channel-type id="tstm" advanced="true">
                <item-type>Number:Dimensionless</item-type>
                <label>Thunder Probability</label>
                <description>Probability of thunder in percent</description>
-               <state readOnly="true" pattern="%d %unit%"/>
+               <state readOnly="true" pattern="%d %%"/>
        </channel-type>
        <channel-type id="tcc_mean">
                <item-type>Number:Dimensionless</item-type>
                <label>Total Cloud Cover</label>
                <description>Mean value of total cloud cover in percent</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f %%"/>
        </channel-type>
        <channel-type id="lcc_mean" advanced="true">
                <item-type>Number:Dimensionless</item-type>
                <label>Low Level Cloud Cover</label>
                <description>Mean value of low level cloud cover (0-2500 m) in percent</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f %%"/>
        </channel-type>
        <channel-type id="mcc_mean" advanced="true">
                <item-type>Number:Dimensionless</item-type>
                <label>Medium Level Cloud Cover</label>
                <description>Mean value of medium level cloud cover (2500-6000 m) in percent</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f %%"/>
        </channel-type>
        <channel-type id="hcc_mean" advanced="true">
                <item-type>Number:Dimensionless</item-type>
                <label>High Level Cloud Cover</label>
                <description>Mean value of high level cloud cover (> 6000 m) in percent</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f %%"/>
        </channel-type>
        <channel-type id="gust">
                <item-type>Number:Speed</item-type>
                <label>Wind Gust Speed</label>
                <description>Wind gust speed</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f m/s"/>
        </channel-type>
        <channel-type id="pmin">
                <item-type>Number:Speed</item-type>
                <label>Minimum Precipitation</label>
                <description>Minimum precipitation intensity</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f mm/h"/>
        </channel-type>
        <channel-type id="pmax">
                <item-type>Number:Speed</item-type>
                <label>Maximum Precipitation</label>
                <description>Maximum precipitation intensity</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f mm/h"/>
+       </channel-type>
+       <channel-type id="ptotal">
+               <item-type>Number:Length</item-type>
+               <label>Total Precipitation</label>
+               <description>Total amount of precipitation during the day</description>
+               <state readOnly="true" pattern="%.1f mm"/>
        </channel-type>
        <channel-type id="pmean" advanced="true">
                <item-type>Number:Speed</item-type>
                <label>Mean Precipitation</label>
                <description>Mean precipitation intensity</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f mm/h"/>
        </channel-type>
        <channel-type id="pmedian" advanced="true">
                <item-type>Number:Speed</item-type>
                <label>Median Precipitation</label>
                <description>Median precipitation intensity</description>
-               <state readOnly="true" pattern="%.1f %unit%"/>
+               <state readOnly="true" pattern="%.1f mm/h"/>
        </channel-type>
        <channel-type id="pcat">
                <item-type>Number</item-type>
                <item-type>Number:Dimensionless</item-type>
                <label>Frozen Precipitation</label>
                <description>Percent of precipitation in frozen form</description>
-               <state readOnly="true" pattern="%d %unit%"/>
+               <state readOnly="true" pattern="%d %%"/>
        </channel-type>
        <channel-type id="wsymb2">
                <item-type>Number</item-type>
                <description>Forecast at noon for the specified offset</description>
                <channels>
                        <channel id="t" typeId="t"/>
+                       <channel id="tmax" typeId="tmax"/>
+                       <channel id="tmin" typeId="tmin"/>
                        <channel id="wd" typeId="wd"/>
                        <channel id="ws" typeId="ws"/>
+                       <channel id="wsmax" typeId="wsmax"/>
+                       <channel id="wsmin" typeId="wsmin"/>
                        <channel id="gust" typeId="gust"/>
                        <channel id="pmin" typeId="pmin"/>
                        <channel id="pmax" typeId="pmax"/>
+                       <channel id="ptotal" typeId="ptotal"/>
                        <channel id="pcat" typeId="pcat"/>
                        <channel id="msl" typeId="msl"/>
                        <channel id="r" typeId="r"/>
diff --git a/bundles/org.openhab.binding.smhi/src/test/java/org/openhab/binding/smhi/internal/SmhiTest.java b/bundles/org.openhab.binding.smhi/src/test/java/org/openhab/binding/smhi/internal/SmhiTest.java
new file mode 100644 (file)
index 0000000..75ccaa6
--- /dev/null
@@ -0,0 +1,112 @@
+/**
+ * Copyright (c) 2010-2020 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+package org.openhab.binding.smhi.internal;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.openhab.binding.smhi.internal.SmhiBindingConstants.*;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.time.ZonedDateTime;
+
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+/**
+ * @author Anders Alfredsson - Initial contribution
+ */
+@NonNullByDefault
+public class SmhiTest {
+    private static final ZonedDateTime TIME = ZonedDateTime.parse("2020-12-13T08:15:00Z");
+    private @NonNullByDefault({}) TimeSeries timeSeries;
+
+    @BeforeEach
+    public void setUp() {
+        try {
+            InputStream is = SmhiTest.class.getResourceAsStream("forecast.json");
+            if (is == null) {
+                throw new AssertionError("Couldn't read forecast example");
+            }
+            String jsonString = new String(is.readAllBytes());
+            timeSeries = Parser.parseTimeSeries(jsonString);
+        } catch (IOException e) {
+            throw new AssertionError("Couldn't read forecast example");
+        }
+    }
+
+    @Test
+    public void parameterTest() {
+        assertNotNull(timeSeries);
+        Forecast forecast = timeSeries.getForecast(TIME, 0).orElseThrow(AssertionError::new);
+
+        BigDecimal msl = forecast.getParameter(PRESSURE).orElseThrow(AssertionError::new);
+        BigDecimal t = forecast.getParameter(TEMPERATURE).orElseThrow(AssertionError::new);
+        BigDecimal vis = forecast.getParameter(VISIBILITY).orElseThrow(AssertionError::new);
+        BigDecimal wd = forecast.getParameter(WIND_DIRECTION).orElseThrow(AssertionError::new);
+        BigDecimal ws = forecast.getParameter(WIND_SPEED).orElseThrow(AssertionError::new);
+        BigDecimal r = forecast.getParameter(RELATIVE_HUMIDITY).orElseThrow(AssertionError::new);
+        BigDecimal tstm = forecast.getParameter(THUNDER_PROBABILITY).orElseThrow(AssertionError::new);
+        BigDecimal tcc = forecast.getParameter(TOTAL_CLOUD_COVER).orElseThrow(AssertionError::new);
+        BigDecimal lcc = forecast.getParameter(LOW_CLOUD_COVER).orElseThrow(AssertionError::new);
+        BigDecimal mcc = forecast.getParameter(MEDIUM_CLOUD_COVER).orElseThrow(AssertionError::new);
+        BigDecimal hcc = forecast.getParameter(HIGH_CLOUD_COVER).orElseThrow(AssertionError::new);
+        BigDecimal gust = forecast.getParameter(GUST).orElseThrow(AssertionError::new);
+        BigDecimal pmin = forecast.getParameter(PRECIPITATION_MIN).orElseThrow(AssertionError::new);
+        BigDecimal pmax = forecast.getParameter(PRECIPITATION_MAX).orElseThrow(AssertionError::new);
+        BigDecimal spp = forecast.getParameter(PERCENT_FROZEN).orElseThrow(AssertionError::new);
+        BigDecimal pcat = forecast.getParameter(PRECIPITATION_CATEGORY).orElseThrow(AssertionError::new);
+        BigDecimal pmean = forecast.getParameter(PRECIPITATION_MEAN).orElseThrow(AssertionError::new);
+        BigDecimal pmedian = forecast.getParameter(PRECIPITATION_MEDIAN).orElseThrow(AssertionError::new);
+        BigDecimal wsymb = forecast.getParameter(WEATHER_SYMBOL).orElseThrow(AssertionError::new);
+
+        assertEquals(0, msl.compareTo(BigDecimal.valueOf(1013.7)));
+        assertEquals(0, t.compareTo(BigDecimal.valueOf(3.0)));
+        assertEquals(0, vis.compareTo(BigDecimal.valueOf(24.3)));
+        assertEquals(0, wd.compareTo(BigDecimal.valueOf(110)));
+        assertEquals(0, ws.compareTo(BigDecimal.valueOf(1.5)));
+        assertEquals(0, r.compareTo(BigDecimal.valueOf(96)));
+        assertEquals(0, tstm.compareTo(BigDecimal.valueOf(0)));
+        assertEquals(0, tcc.compareTo(BigDecimal.valueOf(8)));
+        assertEquals(0, lcc.compareTo(BigDecimal.valueOf(8)));
+        assertEquals(0, mcc.compareTo(BigDecimal.valueOf(4)));
+        assertEquals(0, hcc.compareTo(BigDecimal.valueOf(0)));
+        assertEquals(0, gust.compareTo(BigDecimal.valueOf(3.0)));
+        assertEquals(0, pmin.compareTo(BigDecimal.valueOf(0.0)));
+        assertEquals(0, pmax.compareTo(BigDecimal.valueOf(0.0)));
+        assertEquals(0, spp.compareTo(BigDecimal.valueOf(-9)));
+        assertEquals(0, pcat.compareTo(BigDecimal.valueOf(0)));
+        assertEquals(0, pmean.compareTo(BigDecimal.valueOf(0.0)));
+        assertEquals(0, pmedian.compareTo(BigDecimal.valueOf(0.0)));
+        assertEquals(0, wsymb.compareTo(BigDecimal.valueOf(6)));
+    }
+
+    @Test
+    public void aggregationsTest() {
+        assertNotNull(timeSeries);
+        BigDecimal maxTemp = ForecastAggregator.max(timeSeries, 5, TEMPERATURE).orElseThrow(AssertionError::new);
+        BigDecimal minTemp = ForecastAggregator.min(timeSeries, 5, TEMPERATURE).orElseThrow(AssertionError::new);
+        BigDecimal maxWind = ForecastAggregator.max(timeSeries, 5, WIND_SPEED).orElseThrow(AssertionError::new);
+        BigDecimal minWind = ForecastAggregator.min(timeSeries, 5, WIND_SPEED).orElseThrow(AssertionError::new);
+        BigDecimal totalPrecip = ForecastAggregator.total(timeSeries, 5, PRECIPITATION_MEAN)
+                .orElseThrow(AssertionError::new);
+
+        assertEquals(0, maxTemp.compareTo(BigDecimal.valueOf(7.5)));
+        assertEquals(0, minTemp.compareTo(BigDecimal.valueOf(4.2)));
+        assertEquals(0, maxWind.compareTo(BigDecimal.valueOf(4.4)));
+        assertEquals(0, minWind.compareTo(BigDecimal.valueOf(3.7)));
+        assertEquals(0, totalPrecip.compareTo(BigDecimal.valueOf(2.4)));
+    }
+}
diff --git a/bundles/org.openhab.binding.smhi/src/test/resources/org/openhab/binding/smhi/internal/forecast.json b/bundles/org.openhab.binding.smhi/src/test/resources/org/openhab/binding/smhi/internal/forecast.json
new file mode 100644 (file)
index 0000000..240eacc
--- /dev/null
@@ -0,0 +1 @@
+{"approvedTime":"2020-12-13T08:05:09Z","referenceTime":"2020-12-13T08:00:00Z","geometry":{"type":"Point","coordinates":[[16.150350,58.570784]]},"timeSeries":[{"validTime":"2020-12-13T09:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1013.7]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[3.0]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[24.3]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[110]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.5]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.0]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T10:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1013.9]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[3.0]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[31.5]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[109]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.4]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[95]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[2]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.0]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T11:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1013.8]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[3.0]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[38.8]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[106]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.5]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[94]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.0]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[4]}]},{"validTime":"2020-12-13T12:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.0]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[46.0]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[114]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.4]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[92]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.0]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[4]}]},{"validTime":"2020-12-13T13:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.1]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.6]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[46.7]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[105]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.2]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[92]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.7]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T14:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.2]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.3]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[47.3]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[99]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.3]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[92]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.5]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T15:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.3]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.1]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[48.0]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[83]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.2]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[92]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.5]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T16:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.5]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.0]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[48.7]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[80]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.3]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[92]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.5]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T17:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.8]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[49.3]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[83]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.3]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[91]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[2]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.7]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T18:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.9]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[50.0]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[93]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.2]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[91]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[2]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.6]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T19:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.9]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.9]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[50.0]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[88]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.6]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[90]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.2]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T20:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.9]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.9]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[50.0]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[90]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.7]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[90]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.5]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T21:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.0]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.0]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[50.0]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[88]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.5]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[90]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[6]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.3]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T22:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.2]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[46.0]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[84]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.3]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[91]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.9]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-13T23:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.2]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[46.0]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[77]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.5]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[92]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.0]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T00:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.3]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.9]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[45.9]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[84]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.9]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[92]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.6]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T01:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.3]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.9]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[45.9]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[81]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.7]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[93]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.6]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T02:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.2]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.7]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[45.9]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[79]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.6]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[94]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[3]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.2]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T03:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.0]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.0]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.6]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[86]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.5]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[97]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.2]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T04:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.9]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[0.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.4]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[89]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.2]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[98]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.9]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T05:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.0]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.4]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[3.6]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[90]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.2]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.3]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T06:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.0]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.5]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[3.5]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[94]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.3]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.4]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T07:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.2]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.5]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[3.3]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[111]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.1]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[7]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[7]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.4]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[4]}]},{"validTime":"2020-12-14T08:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.3]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.5]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.7]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[104]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.0]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[97]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[6]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[6]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.1]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[3]}]},{"validTime":"2020-12-14T09:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.3]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[1.9]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.9]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[91]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.1]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[97]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.2]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[3]}]},{"validTime":"2020-12-14T10:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1015.1]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.4]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[4.2]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[101]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.5]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[2.9]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[3]}]},{"validTime":"2020-12-14T11:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.9]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[4.3]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[128]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.7]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[95]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.5]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[3]}]},{"validTime":"2020-12-14T12:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.8]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[4.2]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[131]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.8]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[95]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[6]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.7]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[4]}]},{"validTime":"2020-12-14T13:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.6]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[3.3]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[126]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.1]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[6]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[4.0]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[4]}]},{"validTime":"2020-12-14T14:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.4]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.6]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.7]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[136]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.3]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[97]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[4.4]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T15:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1013.9]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.6]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.9]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[128]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.6]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[97]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[6]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[6]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[7]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[5.0]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T16:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1013.7]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.4]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.7]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[128]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.7]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[97]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[6]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[7]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[7]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[5.4]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T17:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1013.3]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.5]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[3.4]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[131]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.6]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[6]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[5.7]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T18:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1012.7]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.6]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[3.3]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[132]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.3]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[5.1]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T19:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1012.4]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[3.2]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[138]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.2]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[3]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[4.5]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T20:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1012.2]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.4]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.8]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[145]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[3.1]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[2]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[6.2]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-14T21:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1012.1]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[2.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[15.5]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[153]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[3.4]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[94]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.2]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.8]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[18]}]},{"validTime":"2020-12-14T22:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1011.6]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[3.1]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[3.5]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[147]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[3.5]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[95]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[7]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.0]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.8]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[4]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.3]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[18]}]},{"validTime":"2020-12-14T23:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1011.3]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[3.3]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.5]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[158]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[3.7]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.4]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[1.1]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.6]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.5]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[19]}]},{"validTime":"2020-12-15T00:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1010.9]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[3.4]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[1.5]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[155]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.9]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[100]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.8]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.7]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[1.1]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.9]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.9]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[19]}]},{"validTime":"2020-12-15T03:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1010.4]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.3]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.1]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[194]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[3.4]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[98]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[3]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.6]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.5]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.4]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.4]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[19]}]},{"validTime":"2020-12-15T06:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1011.0]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.6]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.2]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[212]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[3.1]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[98]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[6.2]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-15T09:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1012.5]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.7]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.2]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[207]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.4]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[98]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[4.9]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-15T12:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1012.9]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[5.6]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.4]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[185]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.7]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[97]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[3.8]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-15T18:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1011.3]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[5.0]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[1.4]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[141]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.6]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[100]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[5.3]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.3]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[19]}]},{"validTime":"2020-12-16T00:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1008.3]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.9]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[1.5]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[178]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.3]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[100]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[4.6]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.7]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[1.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.9]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.9]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[20]}]},{"validTime":"2020-12-16T06:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1006.1]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.7]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[1.6]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[243]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.6]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[100]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[2]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[5.1]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.4]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.3]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.3]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[19]}]},{"validTime":"2020-12-16T12:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1009.0]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[5.5]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[5.8]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[299]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[5.4]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[94]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[1]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[12.0]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[4]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[19]}]},{"validTime":"2020-12-16T18:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.0]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[5.2]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[37.4]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[293]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[4.0]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[93]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[3]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[9.3]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-17T00:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1017.3]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.8]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[3.2]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[290]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[1.6]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[96]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[6.3]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-17T06:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1017.4]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.5]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[37.3]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[205]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.5]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[94]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[5]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[5.7]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-17T12:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1014.9]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.5]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[12.6]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[171]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[3.2]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[92]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.6]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-17T18:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1011.6]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[5.7]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[1.5]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[215]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[3.7]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[100]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[1]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.5]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.3]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.5]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.4]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.4]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[19]}]},{"validTime":"2020-12-18T00:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1011.8]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.2]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[2.1]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[242]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[3.7]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[98]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[1]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.5]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.3]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.3]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.3]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[19]}]},{"validTime":"2020-12-18T06:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1011.0]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[5.9]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[5.4]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[249]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[4.4]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[95]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[8.9]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-18T12:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1012.3]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[7.5]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[18.7]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[259]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[4.4]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[86]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[9.5]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-18T18:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1012.7]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[7.0]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[28.4]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[235]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[4.2]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[92]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[1]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[9.4]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[18]}]},{"validTime":"2020-12-19T00:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1013.2]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[6.1]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[10.7]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[251]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[4.2]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[94]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[7]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[9.4]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[19]}]},{"validTime":"2020-12-19T12:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1011.6]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[5.4]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[15.9]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[204]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.8]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[83]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[6.2]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[3]}]},{"validTime":"2020-12-20T00:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1007.4]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[5.5]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[10.1]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[193]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[3.6]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[93]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[1]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.6]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[-9]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[0]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-20T12:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1005.8]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[7.0]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[50.0]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[228]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[3.9]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[91]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[8.0]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[4]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[19]}]},{"validTime":"2020-12-21T00:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1011.6]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.1]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[23.2]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[165]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.5]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[94]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[7]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.4]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.2]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-21T12:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1010.5]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.6]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[29.6]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[175]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.3]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[92]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[6]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.4]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.5]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-22T00:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1009.2]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.1]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[22.3]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[196]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.3]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[94]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[4]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[7.8]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.6]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]},{"validTime":"2020-12-22T12:00:00Z","parameters":[{"name":"msl","levelType":"hmsl","level":0,"unit":"hPa","values":[1007.2]},{"name":"t","levelType":"hl","level":2,"unit":"Cel","values":[4.2]},{"name":"vis","levelType":"hl","level":2,"unit":"km","values":[31.9]},{"name":"wd","levelType":"hl","level":10,"unit":"degree","values":[207]},{"name":"ws","levelType":"hl","level":10,"unit":"m/s","values":[2.8]},{"name":"r","levelType":"hl","level":2,"unit":"percent","values":[90]},{"name":"tstm","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"tcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"lcc_mean","levelType":"hl","level":0,"unit":"octas","values":[8]},{"name":"mcc_mean","levelType":"hl","level":0,"unit":"octas","values":[1]},{"name":"hcc_mean","levelType":"hl","level":0,"unit":"octas","values":[0]},{"name":"gust","levelType":"hl","level":10,"unit":"m/s","values":[8.9]},{"name":"pmin","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"pmax","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.9]},{"name":"spp","levelType":"hl","level":0,"unit":"percent","values":[0]},{"name":"pcat","levelType":"hl","level":0,"unit":"category","values":[3]},{"name":"pmean","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.1]},{"name":"pmedian","levelType":"hl","level":0,"unit":"kg/m2/h","values":[0.0]},{"name":"Wsymb2","levelType":"hl","level":0,"unit":"category","values":[6]}]}]}
\ No newline at end of file