浏览代码

Created module for Drutes predictions.

Lukas Cerny 3 年之前
父节点
当前提交
b2e132ecc0
共有 23 个文件被更改,包括 3376 次插入19 次删除
  1. 21 0
      config/drutesSenslog1.yaml
  2. 10 10
      config/lorawanSenslog1.yaml
  3. 5 3
      config/senslog1AFarCloud.yaml
  4. 38 0
      connector-fetch-drutes/pom.xml
  5. 33 0
      connector-fetch-drutes/src/main/java/cz/senslog/connector/fetch/drutes/ConnectorFetchDrutesProvider.java
  6. 16 0
      connector-fetch-drutes/src/main/java/cz/senslog/connector/fetch/drutes/DrutesConfig.java
  7. 213 0
      connector-fetch-drutes/src/main/java/cz/senslog/connector/fetch/drutes/DrutesFetcher.java
  8. 1 0
      connector-fetch-drutes/src/main/resources/META-INF/services/cz.senslog.connector.fetch.api.ConnectorFetchProvider
  9. 84 0
      connector-fetch-drutes/src/test/java/cz/senslog/connector/fetch/drutes/DrutesFetcherTest.java
  10. 674 0
      connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/340260001.predict
  11. 674 0
      connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/340260002.predict
  12. 674 0
      connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/710010001.predict
  13. 674 0
      connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/710010002.predict
  14. 4 0
      connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/predict.times
  15. 1 0
      connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/sensors.success
  16. 8 0
      connector-model/src/main/java/cz/senslog/connector/model/api/VoidSession.java
  17. 6 6
      connector-model/src/main/java/cz/senslog/connector/model/azure/SensorData.java
  18. 118 0
      connector-model/src/main/java/cz/senslog/connector/model/converter/DrutesModelSenslogV1ModelConverter.java
  19. 1 0
      connector-model/src/main/java/cz/senslog/connector/model/converter/ModelConverterProvider.java
  20. 40 0
      connector-model/src/main/java/cz/senslog/connector/model/drutes/DrutesModel.java
  21. 20 0
      connector-model/src/main/java/cz/senslog/connector/model/drutes/PredictionData.java
  22. 60 0
      connector-model/src/test/java/cz/senslog/connector/model/converter/DrutesModelSenslogV1ModelConverterTest.java
  23. 1 0
      pom.xml

+ 21 - 0
config/drutesSenslog1.yaml

@@ -0,0 +1,21 @@
+
+settings:
+    - Drutes:
+        name: "Drutes predictions"
+        provider: "cz.senslog.connector.fetch.drutes.ConnectorFetchDrutesProvider"
+
+        baseDir: "C:\Users\Lukas Cerny\Desktop\data\drutes-predict"
+
+    - SenslogV1:
+        name: "Senslog V1"
+        provider: "cz.senslog.connector.push.rest.senslog.v1.SenslogV1ConnectorPushProvider"
+        host:
+            domain: "https://sensor.lesprojekt.cz/DBServiceST"
+            path: "FeederServlet"
+
+connectors:
+    - DrutesSenslogV1:
+        fetcher: "Drutes"
+        pusher: "SenslogV1"
+        period: 5
+        initDelay: 1

+ 10 - 10
config/lorawanSenslog1.yaml

@@ -8,7 +8,7 @@ settings:
     - AzureLoraWan:
         name: "IoT LoraWan"
         provider: "cz.senslog.connector.fetch.azure.ConnectorFetchAzureProvider"
-        startDate: 2021-07-09T00:00:00.000
+        startDate: 2020-10-24T00:00:00.000
 #        startDate: 2021-04-08T00:00:00.000
        # endDate: 2021-04-27T00:00:00.000
         limitPerSensor: 300
@@ -29,19 +29,19 @@ settings:
             password: "SensLogIMA1"
             refreshPeriodIfFail: 10000
 
-        sessionProxy:
-            user: "afarcloud"
-            group: "afc"
-            lastObservationHost:
-              <<: *senslogApiDomain
-              path: "SensorService"
+#        sessionProxy:
+#            user: "afarcloud"
+#            group: "afc"
+#            lastObservationHost:
+#              <<: *senslogApiDomain
+#              path: "SensorService"
 
         allowedStation:
             # eui:
            # "8CF9574000000948":
            # "8CF95740000008AE":
-            "086BD7D4B501":    # not new data at Azure (up to date at SensLog)
-           # "90FD9FA5F420":    # not registered yet
+#            "086BD7D4B501":    # not new data at Azure (up to date at SensLog)
+            "90FD9FA5F420":    # not registered yet
 
         
     - SenslogV1:
@@ -55,5 +55,5 @@ connectors:
     - AzureSenslogV1:
         fetcher: "AzureLoraWan"
         pusher: "SenslogV1"
-        period: 20
+        period: 5
         initDelay: 1

+ 5 - 3
config/senslog1AFarCloud.yaml

@@ -26,8 +26,10 @@ settings:
 
         allowedStation:
             # station_id: [sensor_id]
-             "20062496": [340470000, 590030000, 600030000]
-             "20046337": [340470000, 590030000, 600030000]
+             "20062496": [600030000]
+#             "20062496": [340470000, 590030000, 600030000]
+#             "20046337": [340470000, 590030000, 600030000]
+             "20046337": [600030000]
             # "10002222": [340020000, 410010000, 560030000]
             # "10002376": [340020000, 410010000, 560030000]
             # "1305167562287832": [340420000, 410180000, 360200000, 460090000, 470160000, 470180000, 480080000, 620030000]
@@ -54,5 +56,5 @@ connectors:
     - SenslogToAFC:
         fetcher: "Senslog"
         pusher: "AFC"
-        period: 10
+        period: 5
         initDelay: 5

+ 38 - 0
connector-fetch-drutes/pom.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>connectors</artifactId>
+        <groupId>cz.senslog</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>connector-fetch-drutes</artifactId>
+    <name>fetch-drutes</name>
+    <version>${project.parent.version}</version>
+    <packaging>jar</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>cz.senslog</groupId>
+            <artifactId>connector-fetch-api</artifactId>
+            <version>${project.parent.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>cz.senslog</groupId>
+            <artifactId>common</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+</project>

+ 33 - 0
connector-fetch-drutes/src/main/java/cz/senslog/connector/fetch/drutes/ConnectorFetchDrutesProvider.java

@@ -0,0 +1,33 @@
+package cz.senslog.connector.fetch.drutes;
+
+import cz.senslog.connector.fetch.api.ConnectorFetchProvider;
+import cz.senslog.connector.fetch.api.ConnectorFetcher;
+import cz.senslog.connector.fetch.api.ExecutableFetcher;
+import cz.senslog.connector.model.config.DefaultConfig;
+import cz.senslog.connector.model.drutes.DrutesModel;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+
+public final class ConnectorFetchDrutesProvider implements ConnectorFetchProvider {
+
+    private static final Logger logger = LogManager.getLogger(ConnectorFetchDrutesProvider.class);
+
+    @Override
+    public ExecutableFetcher<DrutesModel> createExecutableFetcher(DefaultConfig defaultConfig) {
+        logger.info("Initialization a new fetch provider {}.", ConnectorFetchDrutesProvider.class);
+
+        logger.debug("Creating a new configuration.");
+        DrutesConfig config = new DrutesConfig(defaultConfig);
+        logger.info("Configuration for {} was created successfully.", ConnectorFetcher.class);
+
+        logger.debug("Creating a new instance of {}.", DrutesFetcher.class);
+        DrutesFetcher fetcher = new DrutesFetcher(config);
+        logger.info("Fetcher for {} was created successfully.", DrutesFetcher.class);
+
+        ExecutableFetcher<DrutesModel> executor = ExecutableFetcher.create(fetcher);
+        logger.info("Fetcher executor for {} was created successfully.", DrutesFetcher.class);
+
+        return executor;
+    }
+}

+ 16 - 0
connector-fetch-drutes/src/main/java/cz/senslog/connector/fetch/drutes/DrutesConfig.java

@@ -0,0 +1,16 @@
+package cz.senslog.connector.fetch.drutes;
+
+import cz.senslog.connector.model.config.DefaultConfig;
+
+public class DrutesConfig {
+
+    private final String baseDir;
+
+    public DrutesConfig(DefaultConfig config) {
+        this.baseDir = config.getStringProperty("baseDir");
+    }
+
+    public String getBaseDir() {
+        return baseDir;
+    }
+}

+ 213 - 0
connector-fetch-drutes/src/main/java/cz/senslog/connector/fetch/drutes/DrutesFetcher.java

@@ -0,0 +1,213 @@
+package cz.senslog.connector.fetch.drutes;
+
+import cz.senslog.connector.fetch.api.ConnectorFetcher;
+import cz.senslog.connector.model.api.VoidSession;
+import cz.senslog.connector.model.drutes.DrutesModel;
+import cz.senslog.connector.model.drutes.PredictionData;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.time.LocalDateTime;
+import java.time.OffsetDateTime;
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static java.lang.Double.parseDouble;
+import static java.lang.Integer.parseInt;
+import static java.lang.Long.parseLong;
+import static java.time.Instant.ofEpochSecond;
+import static java.time.LocalDateTime.parse;
+import static java.time.OffsetDateTime.ofInstant;
+import static java.time.ZoneOffset.UTC;
+import static java.time.format.DateTimeFormatter.ofPattern;
+import static java.util.stream.Collectors.toCollection;
+
+public class DrutesFetcher implements ConnectorFetcher<VoidSession, DrutesModel> {
+
+    private static class DirInfo {
+        final long unit;
+        final OffsetDateTime created;
+        final Path path;
+
+        static DirInfo parse(Path dirPath) {
+            String dirName = dirPath.getFileName().toString();
+            String[] parts = dirName.split("_");
+            if (parts.length != 2) return  null;
+            long unit = parseLong(parts[0]);
+            long epoch = parseLong(parts[1]);
+            OffsetDateTime created = ofInstant(ofEpochSecond(epoch), UTC);
+            return new DirInfo(unit, created, dirPath);
+        }
+
+        DirInfo(long unit, OffsetDateTime created, Path path) {
+            this.path = path;
+            this.created = created;
+            this.unit = unit;
+        }
+
+        public long getUnit() {
+            return unit;
+        }
+
+        public OffsetDateTime getCreated() {
+            return created;
+        }
+
+        public Path getPath() {
+            return path;
+        }
+    }
+
+    private static class PredictionInfo {
+        final DirInfo dirInfo;
+        final LocalDateTime predictFrom;
+        final List<Path> predictFiles;
+
+        PredictionInfo(DirInfo dirInfo, List<Path> predictFiles, LocalDateTime predictFrom) {
+            this.dirInfo = dirInfo;
+            this.predictFrom = predictFrom;
+            this.predictFiles = predictFiles;
+        }
+    }
+
+    private static final Logger logger = LogManager.getLogger(DrutesFetcher.class);
+
+    private static final String SUCCESS_IMPORT_FILE = "import.success";
+    private static final String SUCCESS_SENSORS_FILE = "sensors.success";
+    private static final String TIMES_PREDICT_FILE = "predict.times";
+    private static final String PREDICT_FILE_EXTENSION = ".predict";
+
+    private final DrutesConfig config;
+
+    DrutesFetcher(DrutesConfig config) {
+        this.config = config;
+    }
+
+    @Override
+    public void init() throws Exception {
+        if (Files.notExists(Paths.get(config.getBaseDir()))) {
+            throw logger.throwing(new IOException(String.format(
+                    "Provided base dir '%s' does not exist.", config.getBaseDir()
+            )));
+        }
+    }
+
+    @Override
+    public DrutesModel fetch(Optional<VoidSession> session) {
+
+        PredictionInfo prInfo;
+        try ( Stream<Path> paths = Files.walk(Paths.get(config.getBaseDir()))) {
+            Optional<DirInfo> observeDir = paths
+                    .filter(Files::isDirectory)
+                    .map(DirInfo::parse)
+                    .filter(Objects::nonNull)
+                    .min(Comparator.comparing(DirInfo::getCreated));
+
+            if (!observeDir.isPresent()) {
+                logger.warn("No predictions to load."); return null;
+            }
+            Path observePath = observeDir.get().getPath();
+
+            if (isSuccessFile(Paths.get(observePath.toString(), SUCCESS_IMPORT_FILE))) {
+                logger.warn("No new predictions to load."); return null;
+            }
+
+            if (!isSuccessFile(Paths.get(observePath.toString(), SUCCESS_SENSORS_FILE))) {
+                logger.warn("Stored predictions were not successfully created."); return null;
+            }
+
+            List<String> timesInfo = getFileContent(Paths.get(observePath.toString(), TIMES_PREDICT_FILE));
+            if (timesInfo.size() < 4) {
+                logger.error("The file '{}' contains wrong content.", TIMES_PREDICT_FILE); return null;
+            }
+
+            try (Stream<Path> predictPaths = Files.walk(observeDir.get().getPath().toAbsolutePath())) {
+                List<Path> predictFiles = predictPaths
+                        .filter(Files::isRegularFile)
+                        .filter(p -> p.getFileName().toString().endsWith(PREDICT_FILE_EXTENSION))
+                        .collect(Collectors.toList());
+
+                LocalDateTime predictFrom = parse(timesInfo.get(3), ofPattern("yyyy-MM-dd HH:mm:ss"));
+                prInfo = new PredictionInfo(observeDir.get(), predictFiles, predictFrom);
+            }
+
+        } catch (IOException e) {
+            logger.catching(e); return null;
+        }
+
+        Map<Long, List<PredictionData>> predictions = new HashMap<>(prInfo.predictFiles.size());
+        try {
+            for (Path predictFilePath : prInfo.predictFiles) {
+                String fileName = predictFilePath.getFileName().toString();
+                long sensorId = parseLong(fileName.substring(0, fileName.lastIndexOf(".")));
+                List<PredictionData> sensorPredictions = predictions
+                        .computeIfAbsent(sensorId, k -> Collections.synchronizedList(new LinkedList<>()));
+                Files.readAllLines(predictFilePath).stream().skip(1)
+                        .map(DrutesFetcher::parseFileLine).filter(Objects::nonNull)
+                        .collect(toCollection(() -> sensorPredictions));
+            }
+            createSuccessFile(Paths.get(prInfo.dirInfo.getPath().toString(), SUCCESS_IMPORT_FILE), true);
+        } catch (IOException e) {
+            logger.catching(e);
+            createSuccessFile(Paths.get(prInfo.dirInfo.getPath().toString(), SUCCESS_IMPORT_FILE), false);
+        }
+
+        Iterator<Map.Entry<Long, List<PredictionData>>> prIter = predictions.entrySet().iterator();
+        List<PredictionData> prList = prIter.hasNext() ? prIter.next().getValue() : Collections.emptyList();
+        long maxTimeShift = prList.isEmpty() ? 0 : prList.get(prList.size()-1).getTimeshift();
+
+        OffsetDateTime from = prInfo.dirInfo.created;
+        DrutesModel model = new DrutesModel(prInfo.dirInfo.getUnit(), prInfo.predictFrom,
+                from.getDayOfWeek().getValue(), predictions, from, from.plusSeconds(maxTimeShift)
+        );
+
+        return model;
+    }
+
+    private static List<String> getFileContent(Path filePath) {
+        if (Files.exists(filePath)) {
+            try {
+                return Files.readAllLines(filePath);
+            } catch (IOException e) {
+                logger.catching(e);
+            }
+        }
+        return Collections.emptyList();
+    }
+
+    private static boolean isSuccessFile(Path successFilePath)  {
+        List<String> lines = getFileContent(successFilePath);
+        return !lines.isEmpty() && parseInt(lines.get(0).trim()) != 0;
+    }
+
+    private static void createSuccessFile(Path filePath, boolean success) {
+        try {
+            String content = success ? "1" : "0";
+            Files.write(filePath, content.getBytes());
+        } catch (IOException e) {
+            logger.catching(e);
+        }
+    }
+
+    private static PredictionData parseFileLine(String line) {
+        String [] cmp = line.trim().split("\\s+");
+        long timeshift;
+        double [] values;
+        if (cmp.length == 2) {
+            timeshift = parseLong(cmp[0]);
+            values = new double[] { parseDouble(cmp[1]) };
+        } else if (cmp.length == 3) {
+            timeshift = parseLong(cmp[0]);
+            values = new double[] { parseDouble(cmp[1]), parseDouble(cmp[2]) };
+        } else {
+            logger.error("The parser does not exist for the data: '{}'.", line);
+            return null;
+        }
+        return new PredictionData(timeshift, values);
+    }
+}

+ 1 - 0
connector-fetch-drutes/src/main/resources/META-INF/services/cz.senslog.connector.fetch.api.ConnectorFetchProvider

@@ -0,0 +1 @@
+cz.senslog.connector.fetch.drutes.ConnectorFetchDrutesProvider

+ 84 - 0
connector-fetch-drutes/src/test/java/cz/senslog/connector/fetch/drutes/DrutesFetcherTest.java

@@ -0,0 +1,84 @@
+package cz.senslog.connector.fetch.drutes;
+
+import cz.senslog.connector.model.config.DefaultConfig;
+import cz.senslog.connector.model.drutes.DrutesModel;
+import cz.senslog.connector.model.drutes.PredictionData;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.time.Instant;
+import java.time.OffsetDateTime;
+import java.time.ZoneOffset;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.stream.Stream;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.mock;
+
+class DrutesFetcherTest {
+
+    private static final String TEST_BASE_DIR = "predictions";
+    private static final String SUCCESS_IMPORT_FILE = "import.success";
+
+
+    private String getAbsoluteTestDir() throws UnsupportedEncodingException {
+        ClassLoader classLoader = getClass().getClassLoader();
+        File file = new File(Objects.requireNonNull(classLoader.getResource(TEST_BASE_DIR)).getFile());
+        return URLDecoder.decode(file.getAbsolutePath(), "UTF-8");
+    }
+
+    @AfterEach
+    void cleanTest() throws Exception {
+        String testBaseDir = getAbsoluteTestDir();
+        Path testPath = Paths.get(testBaseDir);
+        if (Files.exists(testPath)) {
+            try (Stream<Path> paths = Files.walk(testPath)) {
+                paths.filter(Files::isDirectory)
+                        .forEach(p -> {
+                            try {
+                                Files.deleteIfExists(Paths.get(p.toString(), SUCCESS_IMPORT_FILE));
+                            } catch (IOException e) {
+                                e.printStackTrace();
+                            }
+                        });
+            }
+        }
+    }
+
+    @Test // happy scenario
+    void fetch() throws Exception {
+
+        DefaultConfig defaultConfig = new DefaultConfig("", null);
+        defaultConfig.setProperty("baseDir", getAbsoluteTestDir());
+
+        DrutesConfig config = new DrutesConfig(defaultConfig);
+        DrutesFetcher fetcher = new DrutesFetcher(config);
+        fetcher.init();
+
+        DrutesModel model = fetcher.fetch(Optional.empty());
+
+        // folder name: 4151559_20220301
+        assertEquals(4151559L, model.getUnitId());
+        assertEquals(7, model.getDayOffset());
+        OffsetDateTime from = OffsetDateTime.of(1970, 8, 23, 0, 45, 1, 0, ZoneOffset.UTC);
+        assertEquals(from, model.getFrom());
+        assertEquals(from.plusSeconds(604800), model.getTo());
+
+        assertEquals(4, model.getPredictions().size());
+        int predictionCounter = 0;
+        for (List<PredictionData> value : model.getPredictions().values()) {
+            predictionCounter += value.size();
+        }
+        assertEquals(2692, predictionCounter); // 2692 = 4 * 673
+    }
+}

+ 674 - 0
connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/340260001.predict

@@ -0,0 +1,674 @@
+# time [s]     T [dg. C] 
+0 21.6
+900 21.5999999470766
+1800 21.599912067281
+2700 21.5985505602282
+3600 21.5936708729096
+4500 21.5842271702778
+5400 21.570564778852
+6300 21.5536091032395
+7200 21.534338220682
+8100 21.513588980774
+9000 21.4920203158029
+9900 21.4701328410521
+10800 21.4483020444323
+11700 21.4268068947869
+12600 21.4058555163429
+13500 21.3856025091892
+14400 21.3661614295896
+15300 21.3476138845899
+16200 21.3300162713161
+17100 21.3134048310124
+18000 21.29779946818
+18900 21.2832066842331
+19800 21.2696218829756
+20700 21.2570311847408
+21600 21.2454127727675
+22500 21.2347379338312
+23400 21.2249720189714
+24300 21.2160754402999
+25200 21.2080047387741
+26100 21.2007136634769
+27000 21.1941541716104
+27900 21.188277246062
+28800 21.1830333962834
+29700 21.1783728737782
+30600 21.174245738493
+31500 21.170601660272
+32400 21.1673892669296
+33300 21.1645552389338
+34200 21.1620436225871
+35100 21.1597954980049
+36000 21.1577488603942
+36900 21.1558387040642
+37800 21.1539974380714
+38700 21.1521556362243
+39600 21.1502429345315
+40500 21.1481890046441
+41400 21.1459246081972
+42300 21.1433828254756
+43200 21.1405004351271
+44100 21.1372193577016
+45000 21.1334879043634
+45900 21.1292615855503
+46800 21.1245033815998
+47700 21.1191835227192
+48600 21.1132790193536
+49500 21.1067730082788
+50400 21.0996541060439
+51300 21.0919157276221
+52200 21.0835555819365
+53100 21.0745753114408
+54000 21.0649802953115
+54900 21.0547796338519
+55800 21.0439859830619
+56700 21.0326152380618
+57600 21.0206857605681
+58500 21.0082173158048
+59400 20.9952301244917
+60300 20.9817441013806
+61200 20.9677786855211
+62100 20.9533529623546
+63000 20.9384860309097
+63900 20.9231977983877
+64800 20.9075100006948
+65700 20.8914474946952
+66600 20.8750392601181
+67500 20.8583188669658
+68400 20.8413245225085
+69300 20.824098834199
+70200 20.806688051292
+71100 20.7891413644219
+72000 20.7715100919406
+72900 20.753847004446
+73800 20.7362058004386
+74700 20.7186409336125
+75600 20.7012079477743
+76500 20.6839644201381
+77400 20.6669705150208
+78300 20.6502892459418
+79200 20.6339865520169
+80100 20.6181312355987
+81000 20.6027942268794
+81900 20.58804775589
+82800 20.57396416207
+83700 20.5606147796704
+84600 20.5480686574855
+85500 20.5363911202687
+86400 20.5256437152412
+87300 20.5158818577644
+88200 20.5071547789848
+89100 20.4995049145857
+90000 20.4929675856944
+90900 20.4875708131724
+91800 20.4833354197312
+92700 20.4802749419041
+93600 20.4783957587827
+94500 20.4776978324186
+95400 20.4781734742893
+96300 20.4798088088413
+97200 20.4825867133374
+98100 20.4864842333006
+99000 20.491474629719
+99900 20.4975276909046
+100800 20.5046097614631
+101700 20.512683476152
+102600 20.5217073791145
+103500 20.5316360082233
+104400 20.5424173634011
+105300 20.5539899712508
+106200 20.5662890701803
+107100 20.5792385559048
+108000 20.5927557378641
+108900 20.6067549967417
+109800 20.6211464548904
+110700 20.6358431077113
+111600 20.6507680478971
+112500 20.665850719419
+113400 20.6810326074144
+114300 20.6962677753012
+115200 20.7115222844214
+116100 20.7267725500519
+117000 20.7420029962637
+117900 20.7572031633185
+118800 20.772364175151
+119700 20.7874750152871
+120600 20.8025193938817
+121500 20.8174736476401
+122400 20.8323056870138
+123300 20.8469748271007
+124200 20.8614325454376
+125100 20.8756243697741
+126000 20.8894929701299
+126900 20.9029819346306
+127800 20.9160394017071
+128700 20.928620764824
+129600 20.9406900369343
+130500 20.9522199836689
+131400 20.9631914632253
+132300 20.9735919780282
+133200 20.983412920836
+134100 20.9926487035243
+135000 21.0012943299454
+135900 21.0093442836016
+136800 21.0167922732499
+137700 21.0236316442157
+138600 21.0298561083676
+139500 21.0354604710163
+140400 21.0404411044554
+141300 21.0447961229579
+142200 21.0485253229157
+143100 21.0516299271053
+144000 21.0541121049592
+144900 21.0559743748256
+145800 21.0572191287981
+146700 21.0578484566526
+147600 21.0578642836773
+148500 21.0572687698824
+149400 21.0560649739371
+150300 21.0542579917222
+151200 21.0518566688291
+152100 21.0488754668153
+153000 21.0453356954917
+153900 21.0412654882943
+154800 21.0366984671352
+155700 21.0316715849744
+156600 21.0262228336669
+157500 21.0203893266659
+158400 21.014205969326
+159300 21.0077046742917
+160200 21.0009138379355
+161100 20.9938575256665
+162000 20.9865540490471
+162900 20.9790143388759
+163800 20.9712408716203
+164700 20.9632274874478
+165600 20.9549599445602
+166500 20.9464170302906
+167400 20.937572192977
+168300 20.9283956296522
+169200 20.918856603187
+170100 20.9089256682924
+171000 20.898576498072
+171900 20.8877871166294
+172800 20.8765404948794
+173700 20.8648246354632
+174600 20.8526323960311
+175500 20.839961538124
+176400 20.8268140223716
+177300 20.813196636514
+178200 20.7991208382023
+179100 20.7846025012982
+180000 20.7696616780164
+180900 20.7543222692229
+181800 20.7386115359692
+182700 20.7225594779039
+183600 20.7061981758356
+184500 20.6895611588894
+185400 20.6726828238685
+186300 20.6555979952245
+187200 20.6383417132567
+188100 20.6209491714441
+189000 20.6034555934613
+189900 20.585895862066
+190800 20.5683039136422
+191700 20.5507117468308
+192600 20.5331489765491
+193500 20.5156420621491
+194400 20.4982141597202
+195300 20.4808849007535
+196200 20.4636710671878
+197100 20.4465857336107
+198000 20.4296392892888
+198900 20.4128390659559
+199800 20.3961901029766
+200700 20.3796946745665
+201600 20.3633527984909
+202500 20.3471620672591
+203400 20.3311190615528
+204300 20.3152183286078
+205200 20.2994526926577
+206100 20.2838129379693
+207000 20.2682876760593
+207900 20.2528632857465
+208800 20.2375240357571
+209700 20.2222526072768
+210600 20.2070295866552
+211500 20.1918350089805
+212400 20.1766484308884
+213300 20.1614491482829
+214200 20.146217660163
+215100 20.1309352304001
+216000 20.1155843213039
+216900 20.1001494664851
+217800 20.084617835961
+218700 20.0689791655496
+219600 20.0532259244528
+220500 20.0373532095897
+221400 20.0213585464248
+222300 20.0052415668293
+223200 19.989003569683
+224100 19.972646636515
+225000 19.9561747662994
+225900 19.9395911459281
+226800 19.9228992160596
+227700 19.9061023502305
+228600 19.8892035663163
+229500 19.8722054850084
+230400 19.8551103332039
+231300 19.8379199730011
+232200 19.8206359649624
+233100 19.8032596764213
+234000 19.7857924290791
+234900 19.7682356634251
+235800 19.7505910937243
+236700 19.7328608330278
+237600 19.7150474783781
+238500 19.6971541549367
+239400 19.6791845230882
+240300 19.6611427556634
+241200 19.6430334933634
+242100 19.6248617862097
+243000 19.6066330266773
+243900 19.5883528795969
+244800 19.5700272133502
+245700 19.5516614671859
+246600 19.5332624094888
+247500 19.5148361176233
+248400 19.4963886494042
+249300 19.4779260710391
+250200 19.4594548705936
+251100 19.4409836339594
+252000 19.4225265846354
+252900 19.4041081796637
+253800 19.3857668780745
+254700 19.3675565465739
+255600 19.3495451394861
+256500 19.331811278086
+257400 19.3144397505792
+258300 19.2975168760358
+259200 19.28112638419
+260100 19.2653461507369
+261000 19.2502458846454
+261900 19.2358857096117
+262800 19.2223155025572
+263700 19.2095748249429
+264600 19.1976932862787
+265500 19.1866912001745
+266400 19.1765804189828
+267300 19.1673652586365
+268200 19.1590434492938
+269100 19.1516070648664
+270000 19.1450434028041
+270900 19.1393357810013
+271800 19.1344641542367
+272700 19.1304053313508
+273600 19.1271326557256
+274500 19.1246153791111
+275400 19.1228182158976
+276300 19.1217014499987
+277200 19.1212216585775
+278100 19.1213328755669
+279000 19.1219879348295
+279900 19.123139767191
+280800 19.1247425067021
+281700 19.126752341131
+282600 19.1291280998036
+283500 19.131831606118
+284400 19.1348278371953
+285300 19.1380849364077
+286200 19.1415741209279
+287100 19.145269519546
+288000 19.1491479685849
+288900 19.1531887867854
+289800 19.1573735444474
+290700 19.1616858364044
+291600 19.1661110649681
+292500 19.1706362047606
+293400 19.1752493380032
+294300 19.179938416398
+295200 19.1846888380797
+296100 19.1894803150498
+297000 19.1942842284157
+297900 19.1990624897174
+298800 19.2037681870263
+299700 19.2083476432731
+300600 19.2127432349272
+301500 19.2168963526354
+302400 19.2207500669536
+303300 19.2242512638964
+304200 19.2273521754266
+305100 19.2300113337835
+306000 19.232194033232
+306900 19.233872402818
+307800 19.2350251926384
+308700 19.2356373641386
+309600 19.2356996202806
+310500 19.2352075586142
+311400 19.2341614375926
+312300 19.2325653139536
+313200 19.2304265193592
+314100 19.227755103221
+315000 19.2245631495024
+315900 19.2208635880852
+316800 19.2166681785963
+317700 19.2119849455102
+318600 19.2068158828877
+319500 19.2011556843919
+320400 19.1949917707771
+321300 19.1883054203316
+322200 19.1810735765949
+323100 19.1732708951017
+324000 19.1648716950986
+324900 19.155851615006
+325800 19.1461888842829
+326700 19.135865203772
+327600 19.1248662731692
+328500 19.1131820259207
+329400 19.1008066371952
+330300 19.0877385459584
+331200 19.0739797517156
+332100 19.059535403778
+333000 19.0444144403601
+333900 19.0286282412022
+334800 19.0121905080611
+335700 18.9951169939126
+336600 18.9774257895534
+337500 18.9591392952636
+338400 18.9402885531831
+339300 18.9209187291214
+340200 18.9010932782717
+341100 18.8808949756482
+342000 18.8604235697304
+342900 18.839791013519
+343800 18.8191156164133
+344700 18.7985162716903
+345600 18.7781075030728
+346500 18.7579956749865
+347400 18.7382764202148
+348300 18.7190331659775
+349200 18.7003365598096
+350100 18.6822445780489
+351000 18.6648031155127
+351900 18.6480468864005
+352800 18.6320005021351
+353700 18.6166796255382
+354600 18.6020921298686
+355500 18.5882392139833
+356400 18.5751164458166
+357300 18.5627147559778
+358200 18.5510216308427
+359100 18.5400231163916
+360000 18.5297070103189
+360900 18.5200665793135
+361800 18.5111034386899
+362700 18.5028285895814
+363600 18.4952614931542
+364500 18.4884277342935
+365400 18.4823560447013
+366300 18.4770753441818
+367200 18.4726122212993
+368100 18.4689890456288
+369000 18.4662227383104
+369900 18.4643241308171
+370800 18.4632977985436
+371700 18.4631422471381
+372600 18.4638503398591
+373500 18.4654098729592
+374400 18.4678042267349
+375300 18.4710130390159
+376200 18.4750128643163
+377100 18.4797777940694
+378000 18.485280022508
+378900 18.4914903099012
+379800 18.4983780659489
+380700 18.5059103635534
+381600 18.5140493884145
+382500 18.5227489724732
+383400 18.5319517483024
+384300 18.5415881894704
+385200 18.5515778436902
+386100 18.5618322516246
+387000 18.5722587160088
+387900 18.5827641498046
+388800 18.5932584734012
+389700 18.6036572888456
+390600 18.6138837589077
+391500 18.6238697446011
+392400 18.6335564049106
+393300 18.6428939929373
+394200 18.6518416833438
+395100 18.660367048993
+396000 18.6684452979601
+396900 18.6760583876221
+397800 18.683194551165
+398700 18.689847166398
+399600 18.6960141288061
+400500 18.7016971363687
+401400 18.7069008401313
+402300 18.7116314369825
+403200 18.7158943759076
+404100 18.7196915416985
+405000 18.7230188499998
+405900 18.7258650556548
+406800 18.7282120020834
+407700 18.7300360278459
+408600 18.7313100222143
+409500 18.7320056414667
+410400 18.7320953354596
+411300 18.7315539904753
+412200 18.7303601202839
+413100 18.728496620055
+414000 18.7259511424164
+414900 18.7227161724256
+415800 18.7187888789021
+416700 18.7141708113618
+417600 18.7088674999302
+418500 18.7028880031582
+419400 18.6962444374163
+420300 18.6889515115203
+421200 18.6810260865258
+422100 18.672486842658
+423000 18.6633545478879
+423900 18.6536541679377
+424800 18.6434197555463
+425700 18.6327010674685
+426600 18.6215692320524
+427500 18.6101191580815
+428400 18.5984679957051
+429300 18.5867504113891
+430200 18.5751120875729
+431100 18.5637028183581
+432000 18.5526701944565
+432900 18.5421544323179
+433800 18.5322845448004
+434700 18.5231758134239
+435600 18.5149283928616
+436500 18.5076268271863
+437400 18.5013402548553
+438300 18.4961231025847
+439200 18.4920161018147
+440100 18.4890474963996
+441000 18.4872343422148
+441900 18.4865838254692
+442800 18.4870945500868
+443700 18.48875777373
+444600 18.4915586668213
+445500 18.4954778130708
+446400 18.500493087135
+447300 18.506581649161
+448200 18.5137215298014
+449100 18.5218924249208
+450000 18.5310756694916
+450900 18.541253624221
+451800 18.5524087900749
+452700 18.5645229166494
+453600 18.5775762718042
+454500 18.5915471464001
+455400 18.6064116011836
+456300 18.6221434245982
+457200 18.6387142539458
+458100 18.6560938101829
+459000 18.674250202144
+459900 18.6931502644298
+460800 18.7127599021932
+461700 18.7330444241753
+462600 18.753968851923
+463500 18.7754981984205
+464400 18.7975977109253
+465300 18.8202330388269
+466200 18.8433700684089
+467100 18.8669737925692
+468000 18.8910058057
+468900 18.9154210932017
+469800 18.9401655466986
+470700 18.9651753647901
+471600 18.990378158678
+472500 19.0156958846309
+473400 19.041048162912
+474300 19.0663555920074
+475200 19.0915425714244
+476100 19.116539423078
+477000 19.1412837851475
+477900 19.1657213560031
+478800 19.1898061122919
+479700 19.2135001342215
+480600 19.2367731594041
+481500 19.2596019661654
+482400 19.2819696649715
+483300 19.3038649994283
+484200 19.3252814846692
+485100 19.3462168241544
+486000 19.3666722275368
+486900 19.3866517756976
+487800 19.4061615490526
+488700 19.4252078387828
+489600 19.4437939061867
+490500 19.4619158548817
+491400 19.4795591067615
+492300 19.4966967771693
+493200 19.5132903255276
+494100 19.5292920299463
+495000 19.5446484688836
+495900 19.5593042242399
+496800 19.5732052439187
+497700 19.586301555925
+498600 19.5985492302022
+499500 19.6099116178577
+500400 19.6203599688205
+501300 19.6298735561466
+502200 19.6384394351817
+503100 19.6460519515423
+504000 19.6527120918886
+504900 19.6584267508284
+505800 19.6632079681679
+506700 19.6670721754916
+507600 19.6700394797486
+508500 19.6721330508066
+509400 19.6733789759301
+510300 19.6738075305965
+511200 19.6734566885312
+512100 19.6723772310763
+513000 19.6706374452386
+513900 19.668325491118
+514800 19.6655486843519
+515700 19.6624301080745
+516600 19.6591035745844
+517500 19.6557080171938
+518400 19.6523821512298
+519300 19.6492599188342
+520200 19.6464669474393
+521100 19.6441180494606
+522000 19.6423156696035
+522900 19.6411491278307
+523800 19.6406944895952
+524700 19.6410149030804
+525600 19.6421612635734
+526500 19.6441730899
+527400 19.647079522126
+528300 19.6509003726465
+529200 19.6556471801052
+530100 19.6613242338656
+531000 19.6679295596509
+531900 19.6754558877941
+532800 19.6838916204786
+533700 19.6932217527423
+534600 19.7034286544697
+535500 19.7144926444037
+536400 19.7263923536629
+537300 19.7391049301153
+538200 19.7526061534063
+539100 19.7668705212038
+540000 19.7818713461948
+540900 19.7975808824192
+541800 19.8139704840222
+542700 19.8310107903224
+543600 19.8486719270283
+544500 19.866923712791
+545400 19.8857358615582
+546300 19.9050781733623
+547200 19.9249207082975
+548100 19.9452339406759
+549000 19.9659888917505
+549900 19.9871572420894
+550800 20.0087114209762
+551700 20.0306246367039
+552600 20.052870586981
+553500 20.0754222052874
+554400 20.0982490186164
+555300 20.1213137938772
+556200 20.1445698555227
+557100 20.1679606030651
+558000 20.1914205561939
+558900 20.2148782029573
+559800 20.238259438273
+560700 20.2614909376908
+561600 20.2845030216203
+562500 20.3072318038907
+563400 20.3296205993295
+564300 20.3516206708991
+565200 20.3731914436083
+566100 20.3943003209326
+567000 20.4149222270683
+567900 20.4350389777303
+568800 20.4546385597265
+569700 20.4737145518546
+570600 20.4922648467622
+571500 20.5102914895747
+572400 20.5277998430973
+573300 20.544797942189
+574200 20.5612955771704
+575100 20.5773023446437
+576000 20.5928241075011
+576900 20.6078585623195
+577800 20.6223916033736
+578700 20.6363958703217
+579600 20.6498317948633
+580500 20.6626505558324
+581400 20.6747979969407
+582300 20.6862186461808
+583200 20.6968592536629
+584100 20.7066715543857
+585000 20.7156141827754
+585900 20.7236538020001
+586800 20.7307655781306
+587700 20.7369331495047
+588600 20.7421482347601
+589500 20.7464100028614
+590400 20.7497243039547
+591300 20.7521028363464
+592200 20.7535623037414
+593100 20.7541236002497
+594000 20.7538110480633
+594900 20.752651734685
+595800 20.7506751740034
+596700 20.7479136508187
+597600 20.7444044977378
+598500 20.7401918570628
+599400 20.7353286796815
+600300 20.7298770424011
+601200 20.7239068335982
+602100 20.7174932720718
+603000 20.7107139228595
+603900 20.703645783607
+604800 20.6963628082469

+ 674 - 0
connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/340260002.predict

@@ -0,0 +1,674 @@
+# time [s]     T [dg. C] 
+0 19.1
+900 19.0999999999988
+1800 19.0999999974016
+2700 19.0999999480343
+3600 19.0999998044213
+4500 19.1000003952088
+5400 19.1000062472125
+6300 19.1000293824789
+7200 19.1000909966296
+8100 19.1002196772179
+9000 19.1004474378445
+9900 19.1008057822724
+10800 19.1013219225037
+11700 19.1020176230411
+12600 19.1029086702844
+13500 19.1040048720787
+14400 19.1053106468461
+15300 19.1068258288795
+16200 19.1085465291783
+17100 19.1104659567036
+18000 19.1125751513365
+18900 19.1148636097075
+19800 19.1173198027152
+20700 19.1199315929197
+21600 19.1226865641694
+22500 19.1255722769269
+23400 19.1285764622093
+24300 19.1316871657201
+25200 19.1348928521217
+26100 19.1381824777735
+27000 19.1415455387646
+27900 19.144972099769
+28800 19.1484528081519
+29700 19.1519788968474
+30600 19.1555421787897
+31500 19.1591350350838
+32400 19.1627503986264
+33300 19.1663817345086
+34200 19.1700230182363
+35100 19.1736687125623
+36000 19.1773137435443
+36900 19.1809534762948
+37800 19.184583690773
+38700 19.1882005578837
+39600 19.191800616077
+40500 19.195380748586
+41400 19.1989381614043
+42300 19.2024703620647
+43200 19.2059751392625
+44100 19.2094505433419
+45000 19.212894867651
+45900 19.2163066307593
+46800 19.2196845595211
+47700 19.223027572962
+48600 19.2263347669611
+49500 19.2296053996957
+50400 19.2328388778176
+51300 19.2360347433247
+52200 19.2391926610955
+53100 19.2423124070526
+54000 19.2453938569282
+54900 19.2484369756014
+55800 19.251441806986
+56700 19.2544084644479
+57600 19.2573371217376
+58500 19.2602280044228
+59400 19.2630813818139
+60300 19.2658975593734
+61200 19.2686768716052
+62100 19.2714196754177
+63000 19.2741263439576
+63900 19.2767972609101
+64800 19.2794328152594
+65700 19.2820333965044
+66600 19.284599390322
+67500 19.2871311746689
+68400 19.2896291163119
+69300 19.2920935677736
+70200 19.2945248646812
+71100 19.2969233235001
+72000 19.2992892396374
+72900 19.3016228858938
+73800 19.3039245112461
+74700 19.306194339938
+75600 19.3084325708596
+76500 19.3106393771956
+77400 19.3128149063237
+78300 19.3149592799456
+79200 19.3170725944369
+80100 19.3191549214007
+81000 19.3212063084153
+81900 19.3232267799654
+82800 19.3252163385468
+83700 19.3271749659384
+84600 19.3291026246315
+85500 19.3309999217905
+86400 19.3328656293897
+87300 19.3347000238525
+88200 19.3365030658057
+89100 19.3382746972126
+90000 19.3400148206347
+90900 19.3417233332294
+91800 19.3434000977144
+92700 19.3450449952824
+93600 19.3466579058964
+94500 19.3482381084249
+95400 19.3497864376924
+96300 19.3513033234167
+97200 19.3527873752221
+98100 19.3542388662804
+99000 19.3556577915878
+99900 19.3570441358941
+100800 19.358397900221
+101700 19.359719108292
+102600 19.3610078139772
+103500 19.3622636617929
+104400 19.3634872482057
+105300 19.364679667403
+106200 19.3658396747929
+107100 19.366967896027
+108000 19.3680646410346
+108900 19.3691295944103
+109800 19.3701642399738
+110700 19.3711692512074
+111600 19.3721439570203
+112500 19.3730892054339
+113400 19.3740055828972
+114300 19.3748936999125
+115200 19.3757542080088
+116100 19.3765878006934
+117000 19.3773952158778
+117900 19.3781772314976
+118800 19.378934666936
+119700 19.3796683800123
+120600 19.3803792669852
+121500 19.3810682568352
+122400 19.3817363110906
+123300 19.382384420174
+124200 19.383013600301
+125100 19.3836248901829
+126000 19.3842193475872
+126900 19.3847980453983
+127800 19.3853620697386
+128700 19.3859125135768
+129600 19.3864504752382
+130500 19.3869770542798
+131400 19.3874930236311
+132300 19.3879997014054
+133200 19.3884984940753
+134100 19.3889903221107
+135000 19.3894762103878
+135900 19.3899571835352
+136800 19.3904342531075
+137700 19.3909084121363
+138600 19.3913806313956
+139500 19.3918518563865
+140400 19.3923230047305
+141300 19.3927949638344
+142200 19.3932685887585
+143100 19.3937447002537
+144000 19.3942240829497
+144900 19.3947074836906
+145800 19.3951956100186
+146700 19.3956891288086
+147600 19.3961886650584
+148500 19.3966948008381
+149400 19.3972080744
+150300 19.3977289794499
+151200 19.3982579645779
+152100 19.3987954328469
+153000 19.3993417415342
+153900 19.3998972020212
+154800 19.4004620798261
+155700 19.4010365947734
+156600 19.4016209212919
+157500 19.4022151888349
+158400 19.4028194824145
+159300 19.4034338432416
+160200 19.4040582694638
+161100 19.4046927169953
+162000 19.405337100432
+162900 19.4059912940489
+163800 19.4066551328776
+164700 19.4073284138644
+165600 19.4080108971103
+166500 19.4087023071966
+167400 19.4094023345984
+168300 19.410110637188
+169200 19.4108268418288
+170100 19.4115505460575
+171000 19.4122813198483
+171900 19.4130187074517
+172800 19.4137622292939
+173700 19.4145113839207
+174600 19.4152656499659
+175500 19.4160249623418
+176400 19.4167880670006
+177300 19.4175545294505
+178200 19.4183238132602
+179100 19.4190953427712
+180000 19.4198685260086
+180900 19.4206427599245
+181800 19.4214174336015
+182700 19.4221919293694
+183600 19.422965624785
+184500 19.423737893535
+185400 19.4245081062672
+186300 19.425275631217
+187200 19.4260398346702
+188100 19.4268000812983
+189000 19.4275557343968
+189900 19.4283061560559
+190800 19.4290502834954
+191700 19.4297881994267
+192600 19.4305188792452
+193500 19.4312418399917
+194400 19.4319564016458
+195300 19.4326623718763
+196200 19.4333579035814
+197100 19.4340433005412
+198000 19.4347177304962
+198900 19.4353810450447
+199800 19.4360317920156
+200700 19.4366693438739
+201600 19.4372932275701
+202500 19.4379035840158
+203400 19.4384989050052
+204300 19.4390787985809
+205200 19.4396426343431
+206100 19.440189959793
+207000 19.4407200899019
+207900 19.4412324832064
+208800 19.4417265890271
+209700 19.4422013890817
+210600 19.4426571274014
+211500 19.4430930723293
+212400 19.4435087092178
+213300 19.4439040285933
+214200 19.444277823374
+215100 19.4446295276102
+216000 19.4449592323325
+216900 19.4452665430082
+217800 19.4455510185613
+218700 19.4458123328817
+219600 19.4460501609946
+220500 19.4462642047558
+221400 19.4464541903648
+222300 19.4466198675015
+223200 19.4467610086848
+224100 19.4468778500888
+225000 19.4469691329015
+225900 19.4470354402571
+226800 19.4470765552077
+227700 19.4470923300509
+228600 19.4470826527455
+229500 19.4470474317379
+230400 19.4469865928094
+231300 19.4469000773701
+232200 19.4467878410776
+233100 19.4466498525762
+234000 19.4464860922994
+234900 19.4462965513249
+235800 19.4460812302786
+236700 19.4458401382922
+237600 19.4455732920181
+238500 19.4452807147061
+239400 19.4449624353452
+240300 19.4446184878725
+241200 19.4442489104494
+242100 19.4438537448059
+243000 19.4434330356498
+243900 19.4429868301395
+244800 19.4425151774163
+245700 19.4420185049948
+246600 19.441496266496
+247500 19.4409486890973
+248400 19.4403758470031
+249300 19.439777802993
+250200 19.4391546163576
+251100 19.4385063446319
+252000 19.4378330442458
+252900 19.4371347708454
+253800 19.4364115794797
+254700 19.4356635247286
+255600 19.4348906608064
+256500 19.4340930416594
+257400 19.433270721068
+258300 19.4324237527582
+259200 19.4315521905265
+260100 19.4306560883802
+261000 19.429735500695
+261900 19.4287904823915
+262800 19.4278210891374
+263700 19.4268273775822
+264600 19.4258094056363
+265500 19.4247672328115
+266400 19.423700920642
+267300 19.4226105331664
+268200 19.4214961377677
+269100 19.4203578056377
+270000 19.4191956130061
+270900 19.4180096421879
+271800 19.4167999829033
+272700 19.4155667337694
+273600 19.4143100039535
+274500 19.4130299149672
+275400 19.4117266025729
+276300 19.4104002187681
+277200 19.409050933811
+278100 19.4076789382457
+279000 19.4062844448866
+279900 19.4048676907227
+280800 19.4034289387039
+281700 19.4019684793759
+282600 19.4004866323339
+283500 19.3989837474697
+284400 19.3974602059921
+285300 19.3959164212048
+286200 19.3943528390289
+287100 19.3927699382635
+288000 19.3911682305794
+288900 19.3895482602387
+289800 19.3879106035936
+290700 19.3862558682136
+291600 19.3845846919116
+292500 19.3828977414375
+293400 19.3811957109811
+294300 19.3794793204746
+295200 19.3777493137188
+296100 19.376006456356
+297000 19.374251533716
+297900 19.3724853485626
+298800 19.370708718765
+299700 19.3689224749238
+300600 19.3671274579743
+301500 19.3653245167923
+302400 19.3635145058255
+303300 19.3616982827684
+304200 19.3598767062992
+305100 19.358050633892
+306000 19.3562209197126
+306900 19.3543884126042
+307800 19.3525539541615
+308700 19.3507183768887
+309600 19.3488823732075
+310500 19.3470470937377
+311400 19.345213051468
+312300 19.3433810883857
+313200 19.3415519700487
+314100 19.3397264399892
+315000 19.3379052203929
+315900 19.3360890108661
+316800 19.3342784869222
+317700 19.3324742984002
+318600 19.3306770678745
+319500 19.328887389084
+320400 19.3271058254047
+321300 19.3253329083897
+322200 19.323569136398
+323100 19.3218149733323
+324000 19.3200708475071
+324900 19.3183371506618
+325800 19.3166142371349
+326700 19.3149024232075
+327600 19.3132019866228
+328500 19.3115131662814
+329400 19.3098361621089
+330300 19.3081710240783
+331200 19.3065180274074
+332100 19.3048773725413
+333000 19.3032488793296
+333900 19.3016326135078
+334800 19.3000285514933
+335700 19.298436629768
+336600 19.2968567481126
+337500 19.2952887707627
+338400 19.2937325272093
+339300 19.2921878128885
+340200 19.2906543898211
+341100 19.2891319872225
+342000 19.2876203020997
+342900 19.2861189998438
+343800 19.2846277148313
+344700 19.2831460510458
+345600 19.2816735827302
+346500 19.2802098550823
+347400 19.2787543850039
+348300 19.2773066619175
+349200 19.275866148663
+350100 19.2744322824932
+351000 19.2730044761861
+351900 19.2715821193004
+352800 19.2701645795974
+353700 19.2687512046697
+354600 19.2673413237403
+355500 19.2659342498087
+356400 19.2645292819472
+357300 19.2631257079222
+358200 19.2617228070633
+359100 19.2603198533806
+360000 19.2589161189051
+360900 19.2575108772156
+361800 19.2561034071099
+362700 19.2546929963702
+363600 19.2532789455677
+364500 19.2518605718529
+365400 19.2504372126743
+366300 19.249008229374
+367200 19.2475730106105
+368100 19.2461309755662
+369000 19.2446815769026
+369900 19.2432243034354
+370800 19.2417586825085
+371700 19.2402842820591
+372600 19.2388007123696
+373500 19.2373076275184
+374400 19.2358047265425
+375300 19.2342917543495
+376200 19.2327685023251
+377100 19.2312348088729
+378000 19.2296905596249
+378900 19.2281356875799
+379800 19.2265701730939
+380700 19.2249940437567
+381600 19.2234073741712
+382500 19.2218102856394
+383400 19.2202029457616
+384300 19.2185855679455
+385200 19.216958410823
+386100 19.2153217775683
+387000 19.2136760151111
+387900 19.2120215132379
+388800 19.2103587035761
+389700 19.208688058454
+390600 19.2070100896353
+391500 19.2053253469226
+392400 19.2036343788584
+393300 19.2019378586224
+394200 19.2002364338664
+395100 19.1985307855475
+396000 19.1968216265222
+396900 19.1951097385988
+397800 19.1933958209817
+398700 19.1916806791724
+399600 19.1899651207832
+400500 19.1882499676545
+401400 19.1865360537435
+402300 19.1848242220598
+403200 19.1831153212936
+404100 19.1814102022884
+405000 19.1797097144267
+405900 19.1780147019794
+406800 19.176326000463
+407700 19.1746444330472
+408600 19.1729708070561
+409500 19.171305910601
+410400 19.1696505093801
+411300 19.1680053436786
+412200 19.1663711255929
+413100 19.1647485365023
+414000 19.1631382247994
+414900 19.1615408038883
+415800 19.1599568504497
+416700 19.158386902965
+417600 19.1568314604879
+418500 19.1552909816441
+419400 19.1537658838291
+420300 19.1522565426066
+421200 19.1507632912423
+422100 19.1492864203838
+423000 19.1478261778527
+423900 19.1463827685324
+424800 19.1449563543417
+425700 19.1435470542835
+426600 19.142154944566
+427500 19.1407800587948
+428400 19.1394223882377
+429300 19.1380818821673
+430200 19.1367584482869
+431100 19.1354519532442
+432000 19.1341622232424
+432900 19.1328890447509
+433800 19.1316321653269
+434700 19.1303912945514
+435600 19.1291661050921
+436500 19.127956233907
+437400 19.1267612836059
+438300 19.1255808239941
+439200 19.1244143938274
+440100 19.1232615028044
+441000 19.1221216338448
+441900 19.1209942456417
+442800 19.1198787755625
+443700 19.1187746428693
+444600 19.1176812522776
+445500 19.1165979978367
+446400 19.1155242671068
+447300 19.1144594455932
+448200 19.1134029213886
+449100 19.1123540899641
+450000 19.1113123590438
+450900 19.1102771534928
+451800 19.1092479201496
+452700 19.108224132533
+453600 19.1072052953583
+454500 19.106190948804
+455400 19.1051806724753
+456300 19.1041740890212
+457200 19.1031708673699
+458100 19.1021707255569
+459000 19.1011734331299
+459900 19.100178813124
+460800 19.0991867436093
+461700 19.0981971588065
+462600 19.0972100498649
+463500 19.0962254651174
+464400 19.0952435101262
+465300 19.0942643473056
+466200 19.0932881952567
+467100 19.092315327817
+468000 19.0913460728484
+468900 19.0903808107894
+469800 19.0894199729928
+470700 19.0884640508097
+471600 19.0875135547149
+472500 19.0865690612739
+473400 19.0856311858098
+474300 19.0847005835542
+475200 19.0837779472213
+476100 19.0828640043806
+477000 19.0819595147689
+477900 19.081065267545
+478800 19.080182078494
+479700 19.0793107871866
+480600 19.0784522541002
+481500 19.0776073577014
+482400 19.0767769914907
+483300 19.0759620453716
+484200 19.0751634586251
+485100 19.074382144764
+486000 19.0736190262163
+486900 19.0728750252657
+487800 19.0721510606081
+488700 19.0714480440482
+489600 19.0707668771883
+490500 19.07010844813
+491400 19.069473628214
+492300 19.0688632688274
+493200 19.0682781983044
+494100 19.0677192189513
+495000 19.0671871042238
+495900 19.0666825960817
+496800 19.0662064025447
+497700 19.0657591954706
+498600 19.0653416085677
+499500 19.0649542356541
+500400 19.0645976291645
+501300 19.0642722989018
+502200 19.0639787110223
+503100 19.0637172872346
+504000 19.0634884041891
+504900 19.0632923930199
+505800 19.0631295390527
+506700 19.063000081525
+507600 19.0629042134577
+508500 19.0628420815132
+509400 19.0628137858798
+510300 19.0628193801543
+511200 19.0628588712172
+512100 19.0629322190985
+513000 19.063039336842
+513900 19.063180090378
+514800 19.0633542984229
+515700 19.0635617324224
+516600 19.0638021165604
+517500 19.064075127854
+518400 19.0643803963541
+519300 19.0647175054718
+520200 19.0650859924459
+521100 19.0654853489691
+522000 19.065915021988
+522900 19.0663744146941
+523800 19.0668628877232
+524700 19.0673797605857
+525600 19.0679243133486
+526500 19.0684957885849
+527400 19.0690933936833
+528300 19.0697163033449
+529200 19.0703636625691
+530100 19.0710345898909
+531000 19.0717281809844
+531900 19.0724435125915
+532800 19.073179646753
+533700 19.0739356353052
+534600 19.0747105245977
+535500 19.0755033603776
+536400 19.0763131927808
+537300 19.0771390813667
+538200 19.0779801001318
+539100 19.078835342437
+540000 19.0797039257884
+540900 19.080584996413
+541800 19.0814777335793
+542700 19.0823813536169
+543600 19.0832951135984
+544500 19.0842183146534
+545400 19.0851503048934
+546300 19.086090481932
+547200 19.0870382949946
+548100 19.0879932466187
+549000 19.0889548939252
+549900 19.0899228495399
+550800 19.0908967820775
+551700 19.0918764162909
+552600 19.0928615328638
+553500 19.0938519678801
+554400 19.0948476119906
+555300 19.0958484093022
+556200 19.0968543526864
+557100 19.0978654939446
+558000 19.098881927398
+558900 19.099903795144
+559800 19.1009312837928
+560700 19.1019646222732
+561600 19.1030040794984
+562500 19.1040499619081
+563400 19.1051026109301
+564300 19.1061624003876
+565200 19.1072297338676
+566100 19.108305042061
+567000 19.1093887800793
+567900 19.1104814247494
+568800 19.1115834718842
+569700 19.1126954426155
+570600 19.1138178481429
+571500 19.1149512282635
+572400 19.1160961270558
+573300 19.117253093344
+574200 19.1184226777406
+575100 19.1196054296284
+576000 19.1208018941535
+576900 19.1220126092294
+577800 19.1232381025686
+578700 19.1244788887664
+579600 19.1257354664668
+580500 19.1270083156364
+581400 19.1282978949783
+582300 19.1296046395078
+583200 19.1309289583162
+584100 19.1322712325397
+585000 19.1336318135489
+585900 19.1350110213671
+586800 19.1364091433199
+587700 19.1378264329121
+588600 19.1392631089178
+589500 19.1407193546665
+590400 19.142195317497
+591300 19.1436911083579
+592200 19.1452068014756
+593100 19.1467424341737
+594000 19.1482980066496
+594900 19.1498734818141
+595800 19.1514687851144
+596700 19.1530837814619
+597600 19.1547183567294
+598500 19.156372313069
+599400 19.158045423032
+600300 19.1597374209064
+601200 19.1614480023125
+602100 19.1631768240296
+603000 19.164923503871
+603900 19.1666876206461
+604800 19.1684687142384

+ 674 - 0
connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/710010001.predict

@@ -0,0 +1,674 @@
+# time [s]     hpress [kPa]    sat deg [%]  
+0 -181.2 24.1129915711394
+900 -181.199999987291 24.1129915720001
+1800 -181.199978884801 24.1129930011504
+2700 -181.199651961429 24.1130151418217
+3600 -181.198480430554 24.1130944834706
+4500 -181.196213889521 24.1132479865846
+5400 -181.192936521422 24.1134699537316
+6300 -181.1888718934 24.1137452481189
+7200 -181.184255929365 24.1140578952321
+8100 -181.179290198849 24.1143942458394
+9000 -181.174133119558 24.1147435718293
+9900 -181.168904752524 24.1150977417392
+10800 -181.163694857313 24.1154506754666
+11700 -181.158569849336 24.1157978733948
+12600 -181.153579012514 24.1161359958119
+13500 -181.148758717773 24.1164625773737
+14400 -181.144135458961 24.1167758216125
+15300 -181.139728066517 24.1170744511026
+16200 -181.13554934805 24.1173575964141
+17100 -181.131607318235 24.1176247128621
+18000 -181.127906127474 24.1178755176421
+18900 -181.124446774142 24.1181099416122
+19800 -181.121227662881 24.1183280914917
+20700 -181.118245042503 24.1185302202079
+21600 -181.115493330069 24.1187167049472
+22500 -181.112965360187 24.1188880302672
+23400 -181.110652613319 24.1190447726269
+24300 -181.10854545062 24.1191875844695
+25200 -181.106633363549 24.1193171773005
+26100 -181.104905224141 24.1194343047188
+27000 -181.103349514257 24.1195397468701
+27900 -181.101954508995 24.1196342980057
+28800 -181.100708381736 24.119718759353
+29700 -181.099599236642 24.1197939369028
+30600 -181.098615098304 24.1198606421018
+31500 -181.097743827978 24.1199196975217
+32400 -181.096972917706 24.1199719508066
+33300 -181.096289203699 24.1200182940935
+34200 -181.095678602601 24.1200596818841
+35100 -181.095125893741 24.1200971457992
+36000 -181.094614503599 24.1201318091851
+36900 -181.094126277918 24.1201649025578
+37800 -181.093641258075 24.1201977787607
+38700 -181.093137447188 24.1202319288194
+39600 -181.092590505763 24.1202690025762
+40500 -181.091973343078 24.1203108363951
+41400 -181.091255588063 24.1203594890413
+42300 -181.090402944327 24.1204172854209
+43200 -181.089376407445 24.1204868696684
+44100 -181.088131309415 24.1205712699644
+45000 -181.086616117263 24.1206739800412
+45900 -181.084770918557 24.1207990619414
+46800 -181.082525565705 24.120951271952
+47700 -181.079797490843 24.1211362089323
+48600 -181.076489252569 24.1213604809111
+49500 -181.072485837009 24.1216318884666
+50400 -181.067651776104 24.1219596206754
+51300 -181.061828102915 24.122354462357
+52200 -181.054829223943 24.1228290072777
+53100 -181.046439718613 24.1233978767407
+54000 -181.036411116612 24.1240779402696
+54900 -181.024458741776 24.1248885325547
+55800 -181.010258607911 24.1258516678755
+56700 -180.993444365518 24.1269922523464
+57600 -180.973604217002 24.1283382999117
+58500 -180.950278124581 24.1299211304959
+59400 -180.922955505703 24.1317755375436
+60300 -180.891073420539 24.13393992514
+61200 -180.854014993533 24.1364564327955
+62100 -180.811108094066 24.1393710468483
+63000 -180.761625938536 24.1427335862264
+63900 -180.704788366213 24.1465976478385
+64800 -180.639763980648 24.1510204991461
+65700 -180.565671133733 24.1560630561436
+66600 -180.481578432193 24.1617899015158
+67500 -180.386513933113 24.1682687190467
+68400 -180.279471596042 24.1755699217382
+69300 -180.15941690339 24.183766344044
+70200 -180.025290712092 24.192933062653
+71100 -179.876001780768 24.2031480010175
+72000 -179.710450251964 24.2144904264848
+72900 -179.527575154966 24.2270377961488
+73800 -179.326302157917 24.2408694406962
+74700 -179.105615271936 24.256061749362
+75600 -178.864471211178 24.2726941702834
+76500 -178.601826202087 24.2908475060684
+77400 -178.316818245925 24.3105914160042
+78300 -178.008749589738 24.3319856263518
+79200 -177.676751774933 24.3551032645585
+80100 -177.32038919738 24.3799889473749
+81000 -176.938786239744 24.4067196925719
+81900 -176.531284887384 24.4353592455233
+82800 -176.097454836932 24.4659572601655
+83700 -175.636982145096 24.4985570321374
+84600 -175.149443394194 24.533211529886
+85500 -174.634597834992 24.569962767016
+86400 -174.092487263637 24.6088344510632
+87300 -173.523052383772 24.649859295968
+88200 -172.92660162467 24.6930452287146
+89100 -172.303422346568 24.7384031226158
+90000 -171.653898302158 24.7859382255016
+90900 -170.978575422315 24.8356451087578
+91800 -170.278162775079 24.8875072256781
+92700 -169.553535700773 24.9414962562922
+93600 -168.80565494199 24.9975777135751
+94500 -168.036026477179 25.0556757915701
+95400 -167.245831420875 25.1157381661863
+96300 -166.435276808515 25.1777865367007
+97200 -165.606134686409 25.2417227220678
+98100 -164.759915884671 25.3074664950475
+99000 -163.898057080333 25.3749413952746
+99900 -163.022037235847 25.4440655125179
+100800 -162.13335792459 25.5147527123711
+101700 -161.233533317583 25.5869131532056
+102600 -160.324080174582 25.660453840772
+103500 -159.406839298552 25.7352520793672
+104400 -158.483736104555 25.8111738974594
+105300 -157.554333981174 25.8882773464247
+106200 -156.621097368705 25.9663785303402
+107100 -155.685428763526 26.0453769096685
+108000 -154.748645020934 26.1251754889776
+108900 -153.812797152692 26.2056102071333
+109800 -152.878538883966 26.2866326129555
+110700 -151.945642355198 26.3682698362907
+111600 -151.016296531546 26.4503354736117
+112500 -150.091512303538 26.5327416217439
+113400 -149.172233817576 26.6154031136943
+114300 -148.259338442168 26.6982377171731
+115200 -147.353637833495 26.7811662461059
+116100 -146.455878634172 26.8641127137922
+117000 -145.566743798744 26.9470044356639
+117900 -144.686853803258 27.0297721470116
+118800 -143.816768483992 27.1123500641693
+119700 -142.956988776508 27.1946759543977
+120600 -142.107958882405 27.2766911627584
+121500 -141.2700686278 27.3583406154534
+122400 -140.443656339607 27.4395727652736
+123300 -139.629011802882 27.520339518599
+124200 -138.826379368549 27.6005961356355
+125100 -138.035961178273 27.6803011055755
+126000 -137.257920499976 27.7594159959761
+126900 -136.492385083972 27.8379052843863
+127800 -135.739450197431 27.915736207158
+128700 -134.99918168656 27.9928785903902
+129600 -134.271618447189 28.0693047278559
+130500 -133.55677473832 28.1449892629348
+131400 -132.854747895835 28.2198977679203
+132300 -132.16569345097 28.2939891061453
+133200 -131.489196871549 28.3672835375824
+134100 -130.825200434939 28.4397635038557
+135000 -130.173629808626 28.5114133999192
+135900 -129.534395668678 28.582219473703
+136800 -128.907395304527 28.6521697181642
+137700 -128.292514183472 28.721253758848
+138600 -127.689627432303 28.7894627420788
+139500 -127.098601202494 28.8567892281562
+140400 -126.519293897477 28.9232270927603
+141300 -125.951557266245 28.9887714369186
+142200 -125.3952373791 29.0534185045139
+143100 -124.850175497431 29.1171656066636
+144000 -124.316208840944 29.1800110532242
+144900 -123.793171272136 29.2419540897004
+145800 -123.280893932335 29.3029948359767
+146700 -122.779205853207 29.3631342243341
+147600 -122.287934546705 29.422373936613
+148500 -121.806906569104 29.4807163412538
+149400 -121.335948062745 29.5381644300006
+150300 -120.874885303615 29.5947217510157
+151200 -120.423545266422 29.6503923370364
+152100 -119.981756156056 29.7051806349567
+153000 -119.549347815946 29.7590914482857
+153900 -119.126151950831 29.8121299010042
+154800 -118.712002172139 29.8643014227006
+155700 -118.306733935097 29.9156117470583
+156600 -117.910184453141 29.9660669132736
+157500 -117.522192648031 30.0156732630252
+158400 -117.142599156405 30.064437430174
+159300 -116.771246383956 30.1123663241065
+160200 -116.407978572339 30.1594671110767
+161100 -116.052641816723 30.2057472016279
+162000 -115.705084003483 30.2512142483161
+162900 -115.365154719884 30.2958761472447
+163800 -115.032705221481 30.3397410321876
+164700 -114.707588489645 30.3828172567765
+165600 -114.389659356074 30.4251133675089
+166500 -114.078774671402 30.4666380704156
+167400 -113.774793512577 30.5074001919801
+168300 -113.477577420641 30.5474086353436
+169200 -113.186990643641 30.5866723351563
+170100 -112.90290035115 30.625200215668
+171000 -112.62517679039 30.6630011562974
+171900 -112.353693367854 30.7000839671287
+172800 -112.088326657018 30.7364573745324
+173700 -111.828956350148 30.7721300146946
+174600 -111.575465183568 30.80711043118
+175500 -111.327814190143 30.8413966273008
+176400 -111.085853025959 30.8750022741494
+177300 -110.849441627174 30.9079399750514
+178200 -110.618473710615 30.9402179464902
+179100 -110.39284577227 30.971844292233
+180000 -110.172457005562 31.0028270041329
+180900 -109.957209236056 31.0331739610336
+181800 -109.747006718479 31.0628929475419
+182700 -109.541756172199 31.0919916396334
+183600 -109.341366564841 31.1204776262241
+184500 -109.145749028853 31.1483584124529
+185400 -108.954816760509 31.1756414258419
+186300 -108.76848493558 31.2023340204538
+187200 -108.586670649525 31.2284434778711
+188100 -108.409292872789 31.2539770062765
+189000 -108.236272399687 31.278941740709
+189900 -108.067531772933 31.3033447470969
+190800 -107.902917802425 31.3272042583886
+191700 -107.742437255094 31.3505155162789
+192600 -107.585964129538 31.3732931739828
+193500 -107.433475531843 31.3955370539057
+194400 -107.284901437209 31.4172539716791
+195300 -107.140286824285 31.4384340342598
+196200 -106.999337368167 31.4591172050749
+197100 -106.862099793345 31.4792936543863
+198000 -106.728509024381 31.498970046186
+198900 -106.598618714844 31.5181356427851
+199800 -106.47225255777 31.5368137349251
+200700 -106.349316825703 31.5550156172639
+201600 -106.229687592127 31.5727572177694
+202500 -106.113513896508 31.590014059607
+203400 -106.000624957947 31.6068092016521
+204300 -105.890960217959 31.6231494799019
+205200 -105.784459515892 31.6390417785399
+206100 -105.681073140687 31.6544915232778
+207000 -105.580750156509 31.6695044162363
+207900 -105.48343420071 31.6840870647131
+208800 -105.389073452273 31.6982454875681
+209700 -105.297504008344 31.7120026405046
+210600 -105.208785898068 31.725347941174
+211500 -105.122873796881 31.7382866827015
+212400 -105.039719875034 31.7508246118967
+213300 -104.959388409227 31.7629506191568
+214200 -104.881725547233 31.7746865756633
+215100 -104.806618550904 31.78604827095
+216000 -104.734040067315 31.7970386668971
+216900 -104.664003972552 31.8076545261269
+217800 -104.596453871757 31.8179033064632
+218700 -104.531356984333 31.8277889461104
+219600 -104.468674099998 31.8373164140773
+220500 -104.408367049265 31.8464905759996
+221400 -104.350398658857 31.8553161986427
+222300 -104.294732697677 31.8637979559554
+223200 -104.241333814091 31.8719404365633
+224100 -104.190271850172 31.8797322183428
+225000 -104.141336006393 31.8872047498038
+225900 -104.094533998551 31.894356195488
+226800 -104.049865256264 31.9011860117613
+227700 -104.007297985379 31.9076984612958
+228600 -103.966800990491 31.9138977538761
+229500 -103.928343658317 31.9197880474519
+230400 -103.891895945149 31.925373448618
+231300 -103.857428366628 31.9306580127875
+232200 -103.82491199066 31.9356457439315
+233100 -103.794318434384 31.9403405937395
+234000 -103.765619864574 31.9447464602971
+234900 -103.738788999338 31.948867186602
+235800 -103.713799108784 31.9527065592801
+236700 -103.690624012898 31.9562683077692
+237600 -103.669238075913 31.9595561040812
+238500 -103.649616197221 31.9625735631372
+239400 -103.631733799316 31.9653242435985
+240300 -103.615566813506 31.9678116490804
+241200 -103.601091664175 31.9700392296279
+242100 -103.588285252305 31.9720103833415
+243000 -103.577124938775 31.9737284580738
+243900 -103.567588527849 31.9751967531303
+244800 -103.559654251246 31.9764185209135
+245700 -103.553391070034 31.977383058916
+246600 -103.548689817928 31.9781071132282
+247500 -103.545527124538 31.9785942361137
+248400 -103.543882796486 31.9788475065397
+249300 -103.543737006131 31.9788699624279
+250200 -103.545070321119 31.9786645954541
+251100 -103.547863846234 31.9782343285794
+252000 -103.552099526545 31.9775819687695
+252900 -103.557760533414 31.9767101470084
+253800 -103.564831563734 31.9756212717507
+254700 -103.573298921529 31.9743175159761
+255600 -103.583150359455 31.9728008412882
+256500 -103.594374744347 31.9710730491483
+257400 -103.60696164189 31.9691358445655
+258300 -103.620900904283 31.9669908993025
+259200 -103.636182316001 31.964639906096
+260100 -103.652795323774 31.96208461986
+261000 -103.670728855339 31.9593268851772
+261900 -103.689971218454 31.9563686513949
+262800 -103.710510065524 31.9532119775915
+263700 -103.732332407694 31.949859029909
+264600 -103.755424663322 31.9463120735876
+265500 -103.779772728164 31.9425734616577
+266400 -103.805362057278 31.9386456218368
+267300 -103.832177770305 31.9345310398517
+268200 -103.860204659702 31.9302322576686
+269100 -103.889427387109 31.9257518428785
+270000 -103.919830479639 31.9210923888093
+270900 -103.95139841413 31.9162565011647
+271800 -103.984115664539 31.9112467903407
+272700 -104.017966713108 31.9060658693111
+273600 -104.05293601428 31.9007163587491
+274500 -104.089007933162 31.8952008960296
+275400 -104.126166702131 31.8895221414354
+276300 -104.164396427487 31.8836827767032
+277200 -104.203681150136 31.8776854953281
+278100 -104.244004943276 31.8715329872581
+279000 -104.285352023529 31.8652279215938
+279900 -104.327706855776 31.8587729303146
+280800 -104.371054239572 31.8521705948792
+281700 -104.415379372154 31.8454234364488
+282600 -104.460667888169 31.8385339097043
+283500 -104.50690587905 31.8315043997963
+284400 -104.554079896159 31.8243372217906
+285300 -104.602176941925 31.8170346219557
+286200 -104.651184452768 31.8095987803086
+287100 -104.701090276904 31.8020318139427
+288000 -104.751882649421 31.7943357807709
+288900 -104.803550182853 31.7865126809215
+289800 -104.856081775369 31.7785644706025
+290700 -104.90946668566 31.7704930507251
+291600 -104.963694443114 31.7623002804607
+292500 -105.018754840038 31.7539879783711
+293400 -105.074637886554 31.7455579291682
+294300 -105.131333695784 31.7370119009558
+295200 -105.188832263593 31.7283516782745
+296100 -105.247123188409 31.7195791040033
+297000 -105.306195440501 31.710696113626
+297900 -105.366037270913 31.7017047483427
+298800 -105.426636281658 31.692607143907
+299700 -105.487979620135 31.6834055008765
+300600 -105.550054237055 31.6741020454906
+301500 -105.612847151772 31.6646989896346
+302400 -105.676345686443 31.6551984956739
+303300 -105.740537649135 31.6456026491071
+304200 -105.805411460533 31.6359134397949
+305100 -105.870956228048 31.6261327511502
+306000 -105.937161775748 31.6162623559849
+306900 -106.004018640053 31.6063039174947
+307800 -106.071518040768 31.5962589939242
+308700 -106.139651835758 31.5861290456527
+309600 -106.208381931772 31.5759199770598
+310500 -106.277760522032 31.5656242807825
+311400 -106.347754165529 31.555247170229
+312300 -106.418354870033 31.544790073961
+313200 -106.489556817874 31.5342540958275
+314100 -106.561354488201 31.5236402938998
+315000 -106.633742593164 31.5129496900357
+315900 -106.706715967457 31.502183286272
+316800 -106.780269382315 31.4913420922522
+317700 -106.854397311726 31.4804271595245
+318600 -106.929093727864 31.4694396113352
+319500 -107.004351994834 31.4583806577965
+320400 -107.080164883454 31.447251593193
+321300 -107.156524686432 31.4360537785819
+322200 -107.233423392745 31.4247886158237
+323100 -107.310852880025 31.4134575191355
+324000 -107.388805094297 31.402061888669
+324900 -107.467272199224 31.3906030887044
+325800 -107.546246687754 31.3790824314715
+326700 -107.625721456315 31.3675011665309
+327600 -107.705689845901 31.3558604750494
+328500 -107.786145656175 31.3441614680412
+329400 -107.867083139028 31.3324051876097
+330300 -107.948463082992 31.3205975254715
+331200 -108.030295308134 31.3087372465479
+332100 -108.112645781734 31.2968149982623
+333000 -108.195460508876 31.2848388094671
+333900 -108.278733959944 31.2728096778649
+334800 -108.362462443387 31.2607283329967
+335700 -108.44664248805 31.2485954707263
+336600 -108.53127086955 31.2364117495953
+337500 -108.616344795422 31.2241777643877
+338400 -108.701862308539 31.2118939885446
+339300 -108.787822788784 31.1995607028919
+340200 -108.874227319058 31.1871779443022
+341100 -108.961078749495 31.1747454979084
+342000 -109.048381445837 31.1622629345251
+342900 -109.136140819289 31.1497296790253
+343800 -109.22436276798 31.1371450908563
+344700 -109.31305313872 31.1245085411148
+345600 -109.402217276507 31.1118194766007
+346500 -109.49185969071 31.0990774668392
+347400 -109.581983839473 31.0862822339851
+348300 -109.672592018206 31.0734336677497
+349200 -109.763685331316 31.0605318284197
+350100 -109.855263725374 31.0475769411542
+351000 -109.947326064024 31.0345693844091
+351900 -110.03987022839 31.0215096748337
+352800 -110.132893230468 31.0083984504353
+353700 -110.226391334038 30.9952364527925
+354600 -110.320360154363 30.9820245123731
+355500 -110.414794788713 30.9687635296213
+356400 -110.509689900599 30.955454462668
+357300 -110.605039816526 30.9420983133746
+358200 -110.70083863693 30.9286961114918
+359100 -110.797080423173 30.9152488883156
+360000 -110.893759494986 30.9017576351384
+360900 -110.990870773201 30.8882232557081
+361800 -111.088410038035 30.8746465308031
+362700 -111.186374010115 30.8610281077139
+363600 -111.284760246659 30.847368515462
+364500 -111.383566908373 30.8336681978305
+365400 -111.482792471415 30.8199275537499
+366300 -111.582435446632 30.8061469763731
+367200 -111.682494144699 30.7923268855121
+368100 -111.782966503789 30.7784677512029
+369000 -111.883849980769 30.7645701083356
+369900 -111.985141498109 30.7506345635065
+370800 -112.08683743493 30.736661795748
+371700 -112.188933650179 30.7226525528421
+372600 -112.29142552715 30.7086076447339
+373500 -112.394308030529 30.6945279352783
+374400 -112.497575769255 30.6804143332546
+375300 -112.601223065665 30.666267782591
+376200 -112.70524399557 30.6520892566242
+377100 -112.809632477413 30.6378797457264
+378000 -112.914382302183 30.623640253079
+378900 -113.019487179823 30.6093717882412
+379800 -113.124940742857 30.5950753665673
+380700 -113.230736445077 30.5807520228261
+381600 -113.336867307832 30.5664028452999
+382500 -113.443325579176 30.5520290213612
+383400 -113.55010245737 30.5376318740008
+384300 -113.657188001636 30.5232128728541
+385200 -113.764571257973 30.5087736162289
+386100 -113.87224054833 30.494315791353
+387000 -113.980183840227 30.4798411241645
+387900 -114.088389121214 30.465351328865
+388800 -114.19684472686 30.4508480641026
+389700 -114.305539596458 30.4363328991671
+390600 -114.414463450192 30.4218072909373
+391500 -114.523606893648 30.4072725706967
+392400 -114.632939244933 30.3927328915843
+393300 -114.742462574227 30.3781880374375
+394200 -114.852182939357 30.3636372649867
+395100 -114.962094522968 30.3490814068495
+396000 -115.072192263891 30.3345211912644
+396900 -115.182504605167 30.3199529209842
+397800 -115.292995852739 30.3053813720153
+398700 -115.403661711592 30.2908071617167
+399600 -115.514499351379 30.276230711651
+400500 -115.625506313924 30.2616523923168
+401400 -115.736680428333 30.2470725346194
+402300 -115.848019668635 30.2324914487683
+403200 -115.959521920761 30.2179094548654
+404100 -116.071184697436 30.2033269200355
+405000 -116.18300489766 30.1887442894323
+405900 -116.294978692675 30.1741621005221
+406800 -116.407101560354 30.1595809779554
+407700 -116.519368437337 30.1450016131987
+408600 -116.631773935672 30.1304247359754
+409500 -116.74431257346 30.1158510841323
+410400 -116.856978983678 30.1012813765806
+411300 -116.969768081704 30.0867162917934
+412200 -117.082675185099 30.0721564526375
+413100 -117.195696087684 30.0576024172178
+414000 -117.308827094407 30.0430546748376
+414900 -117.422065025224 30.028513645973
+415800 -117.535407196156 30.0139796851734
+416700 -117.648851384789 29.9994530859315
+417600 -117.762395786165 29.9849340867411
+418500 -117.876038968471 29.9704228771317
+419400 -117.989779803569 29.9559196068607
+420300 -118.103617445765 29.9414243888896
+421200 -118.217551266255 29.92693730797
+422100 -118.331580822847 29.9124584246808
+423000 -118.445705889246 29.8979877718863
+423900 -118.559926679783 29.883525326494
+424800 -118.674244366354 29.8690709445322
+425700 -118.788661771277 29.854624274577
+426600 -118.903183949622 29.8401846858416
+427500 -119.0178184186 29.8257512412819
+428400 -119.132574967159 29.8113227236843
+429300 -119.247465133014 29.7968977032685
+430200 -119.362501501025 29.7824746271161
+431100 -119.477696969737 29.7680519118366
+432000 -119.593064090526 29.7536280263875
+432900 -119.708614535908 29.7392015580841
+433800 -119.82435871517 29.7247712596969
+434700 -119.940305530431 29.710336078676
+435600 -120.056462252963 29.6958951711816
+436500 -120.172834494781 29.6814479041688
+437400 -120.289426250746 29.6669938487089
+438300 -120.406239989448 29.652532767324
+439200 -120.523276774975 29.6380645976028
+440100 -120.640536410514 29.6235894332537
+441000 -120.758017564729 29.6091075074312
+441900 -120.875717945273 29.5946191704001
+442800 -120.993634418923 29.5801248739385
+443700 -121.111763148263 29.5656251538387
+444600 -121.230099724868 29.5511206129816
+445500 -121.348639327939 29.5366119014404
+446400 -121.467376923232 29.5220996918273
+447300 -121.586307473789 29.5075846534141
+448200 -121.705426105179 29.4930674320112
+449100 -121.824728184285 29.4785486405344
+450000 -121.944209309085 29.4640288604629
+450900 -122.063865235409 29.4495086509284
+451800 -122.183691775266 29.4349885611708
+452700 -122.303684695629 29.4204691428317
+453600 -122.423839635692 29.405950959914
+454500 -122.544152050338 29.3914345954937
+455400 -122.664617180343 29.376920655156
+456300 -122.785230045728 29.3624097676187
+457200 -122.905985456951 29.347902583207
+458100 -123.026878038481 29.3333997708572
+459000 -123.147902259909 29.3189020142431
+459900 -123.269052470741 29.3044100074968
+460800 -123.390322935956 29.289924450872
+461700 -123.511707877534 29.2754460457373
+462600 -123.633201477678 29.2609754941682
+463500 -123.754797950322 29.2465134904295
+464400 -123.876491537485 29.2320607214507
+465300 -123.998276532973 29.2176178640552
+466200 -124.120147260803 29.2031855875748
+467100 -124.242097942229 29.1887645696037
+468000 -124.364122403866 29.1743555303687
+468900 -124.486213704359 29.1599592764019
+469800 -124.608363845315 29.145576733923
+470700 -124.730548987936 29.1312106848912
+471600 -124.852772155185 29.1168607437481
+472500 -124.975024140103 29.102527959843
+473400 -125.097293881925 29.0882135933074
+474300 -125.21957042834 29.0739188843027
+475200 -125.341843263424 29.0596450148971
+476100 -125.464102554618 29.0453930807005
+477000 -125.586339315607 29.031164072526
+477900 -125.708545493959 29.0169588669511
+478800 -125.830713997782 29.0027782240316
+479700 -125.952838676738 28.9886227903266
+480600 -126.074914271405 28.9744931055566
+481500 -126.196936342662 28.9603896115155
+482400 -126.3189011902 28.9463126621608
+483300 -126.44081904372 28.9322610049556
+484200 -126.562674541102 28.9182363376423
+485100 -126.684465276067 28.9042388603156
+486000 -126.806189665732 28.8902686773844
+486900 -126.927846465318 28.8763258538254
+487800 -127.049434664256 28.8624104273417
+488700 -127.17095326836 28.8485224334325
+489600 -127.292400902106 28.8346619507671
+490500 -127.413775301341 28.8208291586601
+491400 -127.535072881328 28.8070243854974
+492300 -127.656288540566 28.7932481299812
+493200 -127.777415746704 28.779501050206
+494100 -127.898446848217 28.7657839272572
+495000 -128.019373510292 28.7520976150642
+495900 -128.140187177369 28.738442987662
+496800 -128.260879492582 28.7248208917495
+497700 -128.38144263592 28.7112321087965
+498600 -128.501869568277 28.6976773280488
+499500 -128.622154185118 28.6841571299075
+500400 -128.742291392368 28.6706719781677
+501300 -128.86227712053 28.6572222192402
+502200 -128.982108293016 28.6438080864989
+503100 -129.101782762951 28.6304297081136
+504000 -129.221299230198 28.6170871170246
+504900 -129.340657150518 28.6037802617098
+505800 -129.459856627496 28.5905090187809
+506700 -129.578898332517 28.5772732023603
+507600 -129.697783402589 28.5640725758384
+508500 -129.816513364889 28.550906860575
+509400 -129.935090119034 28.5377757381404
+510300 -130.053516102593 28.524678832289
+511200 -130.171794745133 28.5116156592275
+512100 -130.28993112555 28.4985855558749
+513000 -130.407932570496 28.4855876151736
+513900 -130.525808945941 28.472620655648
+514800 -130.643572546963 28.4596832353103
+515700 -130.761237643025 28.4467737032272
+516600 -130.878819813813 28.4338902736136
+517500 -130.996335217164 28.4210311067669
+518400 -131.113799898073 28.4081943848817
+519300 -131.23122920471 28.395378375598
+520200 -131.348637339982 28.38258148029
+521100 -131.466037050758 28.369802267002
+522000 -131.583439441245 28.3570394896396
+522900 -131.700853889685 28.344292095802
+523800 -131.818288045641 28.3315592258184
+524700 -131.935747886525 28.3188402053818
+525600 -132.053237814859 28.3061345338352
+526500 -132.170760786992 28.2934418691529
+527400 -132.288318427743 28.2807620145543
+528300 -132.405911203048 28.2680948989746
+529200 -132.523538543542 28.2554405629634
+530100 -132.641198981907 28.2427991432112
+531000 -132.75889028318 28.2301708579505
+531900 -132.876609571068 28.2175559928983
+532800 -132.994353453613 28.2049548873749
+533700 -133.112118142313 28.19236792123
+534600 -133.229899552397 28.1797955038801
+535500 -133.347693375169 28.1672380664068
+536400 -133.465495122236 28.1546960567072
+537300 -133.583300148624 28.1421699369265
+538200 -133.701103664198 28.1296601821502
+539100 -133.81890074153 28.1171672794846
+540000 -133.936686325513 28.1046917269588
+540900 -134.054455247188 28.0922340319901
+541800 -134.172202242185 28.0797947093751
+542700 -134.289921972938 28.0673742788978
+543600 -134.407609053301 28.0549732627037
+544500 -134.525258074105 28.0425921825964
+545400 -134.642863628365 28.0302315573903
+546300 -134.760420335149 28.0178919004269
+547200 -134.877922861383 28.0055737173237
+548100 -134.995365945961 27.9932775035026
+549000 -135.112744397379 27.9810037445014
+549900 -135.23005313625 27.9687529116016
+550800 -135.347287187551 27.9565254627282
+551700 -135.464441688396 27.944321841726
+552600 -135.581511846151 27.9321424828067
+553500 -135.698492760418 27.9199878290953
+554400 -135.81537904866 27.9078583714017
+555300 -135.93216437107 27.8957546971333
+556200 -136.048841708623 27.8836774609275
+557100 -136.165401332648 27.8716275940049
+558000 -136.281832828837 27.8596060935922
+558900 -136.398125002838 27.8476140322461
+559800 -136.514266295366 27.8356525146662
+560700 -136.63024526227 27.8237226281566
+561600 -136.746050982775 27.8118254008331
+562500 -136.861673366423 27.7999617705318
+563400 -136.977103354871 27.7881325647154
+564300 -137.09233302979 27.7763384901341
+565200 -137.207355644751 27.7645801303261
+566100 -137.322165600271 27.7528579489339
+567000 -137.436758379516 27.7411722970038
+567900 -137.551130459223 27.7295234227517
+568800 -137.665279207292 27.7179114826081
+569700 -137.7792001031 27.7063368240352
+570600 -137.892894626058 27.6947991843351
+571500 -138.006362269037 27.683298503345
+572400 -138.119602918563 27.6718346814042
+573300 -138.23261685118 27.660407579959
+574200 -138.345404599324 27.6490170353335
+575100 -138.457966662389 27.6376628880067
+576000 -138.570302979803 27.6263450356427
+576900 -138.682412271205 27.6150634991074
+577800 -138.794291497087 27.6038184759186
+578700 -138.905935647633 27.5926103603901
+579600 -139.017337906545 27.581439726061
+580500 -139.128490100718 27.5703072796423
+581400 -139.239383293436 27.5592138009439
+582300 -139.350008391605 27.5481600818269
+583200 -139.460356679366 27.5371468729277
+584100 -139.570420234016 27.52617484248
+585000 -139.680192213328 27.5152445482208
+585900 -139.789667023825 27.5043564213188
+586800 -139.898840389711 27.4935107602755
+587700 -140.007709345208 27.4827077324581
+588600 -140.116272172023 27.4719473810523
+589500 -140.224528300665 27.4612296355398
+590400 -140.332478190614 27.4505543241894
+591300 -140.440123202072 27.4399211872899
+592200 -140.547465460031 27.4293298910472
+593100 -140.654507735191 27.418780039725
+594000 -140.761253320543 27.4082711881277
+594900 -140.86770592962 27.3978028518673
+595800 -140.97386964376 27.3873745127495
+596700 -141.079755160154 27.3769850062302
+597600 -141.18536164985 27.366634302113
+598500 -141.290695238093 27.3563216899937
+599400 -141.395763589077 27.3460463122836
+600300 -141.500575750798 27.3358071801455
+601200 -141.605141940543 27.3256031951108
+602100 -141.709473151119 27.3154331880173
+603000 -141.813580682291 27.30529596497
+603900 -141.917475686979 27.2951903515702
+604800 -142.021168788852 27.2851152299254

+ 674 - 0
connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/710010002.predict

@@ -0,0 +1,674 @@
+# time [s]     hpress [kPa]    sat deg [%]  
+0 -181.2 24.1129915711394
+900 -181.199999987291 24.1129915720001
+1800 -181.199978884801 24.1129930011504
+2700 -181.199651961429 24.1130151418217
+3600 -181.198480430554 24.1130944834706
+4500 -181.196213889521 24.1132479865846
+5400 -181.192936521422 24.1134699537316
+6300 -181.1888718934 24.1137452481189
+7200 -181.184255929365 24.1140578952321
+8100 -181.179290198849 24.1143942458394
+9000 -181.174133119558 24.1147435718293
+9900 -181.168904752524 24.1150977417392
+10800 -181.163694857313 24.1154506754666
+11700 -181.158569849336 24.1157978733948
+12600 -181.153579012514 24.1161359958119
+13500 -181.148758717773 24.1164625773737
+14400 -181.144135458961 24.1167758216125
+15300 -181.139728066517 24.1170744511026
+16200 -181.13554934805 24.1173575964141
+17100 -181.131607318235 24.1176247128621
+18000 -181.127906127474 24.1178755176421
+18900 -181.124446774142 24.1181099416122
+19800 -181.121227662881 24.1183280914917
+20700 -181.118245042503 24.1185302202079
+21600 -181.115493330069 24.1187167049472
+22500 -181.112965360187 24.1188880302672
+23400 -181.110652613319 24.1190447726269
+24300 -181.10854545062 24.1191875844695
+25200 -181.106633363549 24.1193171773005
+26100 -181.104905224141 24.1194343047188
+27000 -181.103349514257 24.1195397468701
+27900 -181.101954508995 24.1196342980057
+28800 -181.100708381736 24.119718759353
+29700 -181.099599236642 24.1197939369028
+30600 -181.098615098304 24.1198606421018
+31500 -181.097743827978 24.1199196975217
+32400 -181.096972917706 24.1199719508066
+33300 -181.096289203699 24.1200182940935
+34200 -181.095678602601 24.1200596818841
+35100 -181.095125893741 24.1200971457992
+36000 -181.094614503599 24.1201318091851
+36900 -181.094126277918 24.1201649025578
+37800 -181.093641258075 24.1201977787607
+38700 -181.093137447188 24.1202319288194
+39600 -181.092590505763 24.1202690025762
+40500 -181.091973343078 24.1203108363951
+41400 -181.091255588063 24.1203594890413
+42300 -181.090402944327 24.1204172854209
+43200 -181.089376407445 24.1204868696684
+44100 -181.088131309415 24.1205712699644
+45000 -181.086616117263 24.1206739800412
+45900 -181.084770918557 24.1207990619414
+46800 -181.082525565705 24.120951271952
+47700 -181.079797490843 24.1211362089323
+48600 -181.076489252569 24.1213604809111
+49500 -181.072485837009 24.1216318884666
+50400 -181.067651776104 24.1219596206754
+51300 -181.061828102915 24.122354462357
+52200 -181.054829223943 24.1228290072777
+53100 -181.046439718613 24.1233978767407
+54000 -181.036411116612 24.1240779402696
+54900 -181.024458741776 24.1248885325547
+55800 -181.010258607911 24.1258516678755
+56700 -180.993444365518 24.1269922523464
+57600 -180.973604217002 24.1283382999117
+58500 -180.950278124581 24.1299211304959
+59400 -180.922955505703 24.1317755375436
+60300 -180.891073420539 24.13393992514
+61200 -180.854014993533 24.1364564327955
+62100 -180.811108094066 24.1393710468483
+63000 -180.761625938536 24.1427335862264
+63900 -180.704788366213 24.1465976478385
+64800 -180.639763980648 24.1510204991461
+65700 -180.565671133733 24.1560630561436
+66600 -180.481578432193 24.1617899015158
+67500 -180.386513933113 24.1682687190467
+68400 -180.279471596042 24.1755699217382
+69300 -180.15941690339 24.183766344044
+70200 -180.025290712092 24.192933062653
+71100 -179.876001780768 24.2031480010175
+72000 -179.710450251964 24.2144904264848
+72900 -179.527575154966 24.2270377961488
+73800 -179.326302157917 24.2408694406962
+74700 -179.105615271936 24.256061749362
+75600 -178.864471211178 24.2726941702834
+76500 -178.601826202087 24.2908475060684
+77400 -178.316818245925 24.3105914160042
+78300 -178.008749589738 24.3319856263518
+79200 -177.676751774933 24.3551032645585
+80100 -177.32038919738 24.3799889473749
+81000 -176.938786239744 24.4067196925719
+81900 -176.531284887384 24.4353592455233
+82800 -176.097454836932 24.4659572601655
+83700 -175.636982145096 24.4985570321374
+84600 -175.149443394194 24.533211529886
+85500 -174.634597834992 24.569962767016
+86400 -174.092487263637 24.6088344510632
+87300 -173.523052383772 24.649859295968
+88200 -172.92660162467 24.6930452287146
+89100 -172.303422346568 24.7384031226158
+90000 -171.653898302158 24.7859382255016
+90900 -170.978575422315 24.8356451087578
+91800 -170.278162775079 24.8875072256781
+92700 -169.553535700773 24.9414962562922
+93600 -168.80565494199 24.9975777135751
+94500 -168.036026477179 25.0556757915701
+95400 -167.245831420875 25.1157381661863
+96300 -166.435276808515 25.1777865367007
+97200 -165.606134686409 25.2417227220678
+98100 -164.759915884671 25.3074664950475
+99000 -163.898057080333 25.3749413952746
+99900 -163.022037235847 25.4440655125179
+100800 -162.13335792459 25.5147527123711
+101700 -161.233533317583 25.5869131532056
+102600 -160.324080174582 25.660453840772
+103500 -159.406839298552 25.7352520793672
+104400 -158.483736104555 25.8111738974594
+105300 -157.554333981174 25.8882773464247
+106200 -156.621097368705 25.9663785303402
+107100 -155.685428763526 26.0453769096685
+108000 -154.748645020934 26.1251754889776
+108900 -153.812797152692 26.2056102071333
+109800 -152.878538883966 26.2866326129555
+110700 -151.945642355198 26.3682698362907
+111600 -151.016296531546 26.4503354736117
+112500 -150.091512303538 26.5327416217439
+113400 -149.172233817576 26.6154031136943
+114300 -148.259338442168 26.6982377171731
+115200 -147.353637833495 26.7811662461059
+116100 -146.455878634172 26.8641127137922
+117000 -145.566743798744 26.9470044356639
+117900 -144.686853803258 27.0297721470116
+118800 -143.816768483992 27.1123500641693
+119700 -142.956988776508 27.1946759543977
+120600 -142.107958882405 27.2766911627584
+121500 -141.2700686278 27.3583406154534
+122400 -140.443656339607 27.4395727652736
+123300 -139.629011802882 27.520339518599
+124200 -138.826379368549 27.6005961356355
+125100 -138.035961178273 27.6803011055755
+126000 -137.257920499976 27.7594159959761
+126900 -136.492385083972 27.8379052843863
+127800 -135.739450197431 27.915736207158
+128700 -134.99918168656 27.9928785903902
+129600 -134.271618447189 28.0693047278559
+130500 -133.55677473832 28.1449892629348
+131400 -132.854747895835 28.2198977679203
+132300 -132.16569345097 28.2939891061453
+133200 -131.489196871549 28.3672835375824
+134100 -130.825200434939 28.4397635038557
+135000 -130.173629808626 28.5114133999192
+135900 -129.534395668678 28.582219473703
+136800 -128.907395304527 28.6521697181642
+137700 -128.292514183472 28.721253758848
+138600 -127.689627432303 28.7894627420788
+139500 -127.098601202494 28.8567892281562
+140400 -126.519293897477 28.9232270927603
+141300 -125.951557266245 28.9887714369186
+142200 -125.3952373791 29.0534185045139
+143100 -124.850175497431 29.1171656066636
+144000 -124.316208840944 29.1800110532242
+144900 -123.793171272136 29.2419540897004
+145800 -123.280893932335 29.3029948359767
+146700 -122.779205853207 29.3631342243341
+147600 -122.287934546705 29.422373936613
+148500 -121.806906569104 29.4807163412538
+149400 -121.335948062745 29.5381644300006
+150300 -120.874885303615 29.5947217510157
+151200 -120.423545266422 29.6503923370364
+152100 -119.981756156056 29.7051806349567
+153000 -119.549347815946 29.7590914482857
+153900 -119.126151950831 29.8121299010042
+154800 -118.712002172139 29.8643014227006
+155700 -118.306733935097 29.9156117470583
+156600 -117.910184453141 29.9660669132736
+157500 -117.522192648031 30.0156732630252
+158400 -117.142599156405 30.064437430174
+159300 -116.771246383956 30.1123663241065
+160200 -116.407978572339 30.1594671110767
+161100 -116.052641816723 30.2057472016279
+162000 -115.705084003483 30.2512142483161
+162900 -115.365154719884 30.2958761472447
+163800 -115.032705221481 30.3397410321876
+164700 -114.707588489645 30.3828172567765
+165600 -114.389659356074 30.4251133675089
+166500 -114.078774671402 30.4666380704156
+167400 -113.774793512577 30.5074001919801
+168300 -113.477577420641 30.5474086353436
+169200 -113.186990643641 30.5866723351563
+170100 -112.90290035115 30.625200215668
+171000 -112.62517679039 30.6630011562974
+171900 -112.353693367854 30.7000839671287
+172800 -112.088326657018 30.7364573745324
+173700 -111.828956350148 30.7721300146946
+174600 -111.575465183568 30.80711043118
+175500 -111.327814190143 30.8413966273008
+176400 -111.085853025959 30.8750022741494
+177300 -110.849441627174 30.9079399750514
+178200 -110.618473710615 30.9402179464902
+179100 -110.39284577227 30.971844292233
+180000 -110.172457005562 31.0028270041329
+180900 -109.957209236056 31.0331739610336
+181800 -109.747006718479 31.0628929475419
+182700 -109.541756172199 31.0919916396334
+183600 -109.341366564841 31.1204776262241
+184500 -109.145749028853 31.1483584124529
+185400 -108.954816760509 31.1756414258419
+186300 -108.76848493558 31.2023340204538
+187200 -108.586670649525 31.2284434778711
+188100 -108.409292872789 31.2539770062765
+189000 -108.236272399687 31.278941740709
+189900 -108.067531772933 31.3033447470969
+190800 -107.902917802425 31.3272042583886
+191700 -107.742437255094 31.3505155162789
+192600 -107.585964129538 31.3732931739828
+193500 -107.433475531843 31.3955370539057
+194400 -107.284901437209 31.4172539716791
+195300 -107.140286824285 31.4384340342598
+196200 -106.999337368167 31.4591172050749
+197100 -106.862099793345 31.4792936543863
+198000 -106.728509024381 31.498970046186
+198900 -106.598618714844 31.5181356427851
+199800 -106.47225255777 31.5368137349251
+200700 -106.349316825703 31.5550156172639
+201600 -106.229687592127 31.5727572177694
+202500 -106.113513896508 31.590014059607
+203400 -106.000624957947 31.6068092016521
+204300 -105.890960217959 31.6231494799019
+205200 -105.784459515892 31.6390417785399
+206100 -105.681073140687 31.6544915232778
+207000 -105.580750156509 31.6695044162363
+207900 -105.48343420071 31.6840870647131
+208800 -105.389073452273 31.6982454875681
+209700 -105.297504008344 31.7120026405046
+210600 -105.208785898068 31.725347941174
+211500 -105.122873796881 31.7382866827015
+212400 -105.039719875034 31.7508246118967
+213300 -104.959388409227 31.7629506191568
+214200 -104.881725547233 31.7746865756633
+215100 -104.806618550904 31.78604827095
+216000 -104.734040067315 31.7970386668971
+216900 -104.664003972552 31.8076545261269
+217800 -104.596453871757 31.8179033064632
+218700 -104.531356984333 31.8277889461104
+219600 -104.468674099998 31.8373164140773
+220500 -104.408367049265 31.8464905759996
+221400 -104.350398658857 31.8553161986427
+222300 -104.294732697677 31.8637979559554
+223200 -104.241333814091 31.8719404365633
+224100 -104.190271850172 31.8797322183428
+225000 -104.141336006393 31.8872047498038
+225900 -104.094533998551 31.894356195488
+226800 -104.049865256264 31.9011860117613
+227700 -104.007297985379 31.9076984612958
+228600 -103.966800990491 31.9138977538761
+229500 -103.928343658317 31.9197880474519
+230400 -103.891895945149 31.925373448618
+231300 -103.857428366628 31.9306580127875
+232200 -103.82491199066 31.9356457439315
+233100 -103.794318434384 31.9403405937395
+234000 -103.765619864574 31.9447464602971
+234900 -103.738788999338 31.948867186602
+235800 -103.713799108784 31.9527065592801
+236700 -103.690624012898 31.9562683077692
+237600 -103.669238075913 31.9595561040812
+238500 -103.649616197221 31.9625735631372
+239400 -103.631733799316 31.9653242435985
+240300 -103.615566813506 31.9678116490804
+241200 -103.601091664175 31.9700392296279
+242100 -103.588285252305 31.9720103833415
+243000 -103.577124938775 31.9737284580738
+243900 -103.567588527849 31.9751967531303
+244800 -103.559654251246 31.9764185209135
+245700 -103.553391070034 31.977383058916
+246600 -103.548689817928 31.9781071132282
+247500 -103.545527124538 31.9785942361137
+248400 -103.543882796486 31.9788475065397
+249300 -103.543737006131 31.9788699624279
+250200 -103.545070321119 31.9786645954541
+251100 -103.547863846234 31.9782343285794
+252000 -103.552099526545 31.9775819687695
+252900 -103.557760533414 31.9767101470084
+253800 -103.564831563734 31.9756212717507
+254700 -103.573298921529 31.9743175159761
+255600 -103.583150359455 31.9728008412882
+256500 -103.594374744347 31.9710730491483
+257400 -103.60696164189 31.9691358445655
+258300 -103.620900904283 31.9669908993025
+259200 -103.636182316001 31.964639906096
+260100 -103.652795323774 31.96208461986
+261000 -103.670728855339 31.9593268851772
+261900 -103.689971218454 31.9563686513949
+262800 -103.710510065524 31.9532119775915
+263700 -103.732332407694 31.949859029909
+264600 -103.755424663322 31.9463120735876
+265500 -103.779772728164 31.9425734616577
+266400 -103.805362057278 31.9386456218368
+267300 -103.832177770305 31.9345310398517
+268200 -103.860204659702 31.9302322576686
+269100 -103.889427387109 31.9257518428785
+270000 -103.919830479639 31.9210923888093
+270900 -103.95139841413 31.9162565011647
+271800 -103.984115664539 31.9112467903407
+272700 -104.017966713108 31.9060658693111
+273600 -104.05293601428 31.9007163587491
+274500 -104.089007933162 31.8952008960296
+275400 -104.126166702131 31.8895221414354
+276300 -104.164396427487 31.8836827767032
+277200 -104.203681150136 31.8776854953281
+278100 -104.244004943276 31.8715329872581
+279000 -104.285352023529 31.8652279215938
+279900 -104.327706855776 31.8587729303146
+280800 -104.371054239572 31.8521705948792
+281700 -104.415379372154 31.8454234364488
+282600 -104.460667888169 31.8385339097043
+283500 -104.50690587905 31.8315043997963
+284400 -104.554079896159 31.8243372217906
+285300 -104.602176941925 31.8170346219557
+286200 -104.651184452768 31.8095987803086
+287100 -104.701090276904 31.8020318139427
+288000 -104.751882649421 31.7943357807709
+288900 -104.803550182853 31.7865126809215
+289800 -104.856081775369 31.7785644706025
+290700 -104.90946668566 31.7704930507251
+291600 -104.963694443114 31.7623002804607
+292500 -105.018754840038 31.7539879783711
+293400 -105.074637886554 31.7455579291682
+294300 -105.131333695784 31.7370119009558
+295200 -105.188832263593 31.7283516782745
+296100 -105.247123188409 31.7195791040033
+297000 -105.306195440501 31.710696113626
+297900 -105.366037270913 31.7017047483427
+298800 -105.426636281658 31.692607143907
+299700 -105.487979620135 31.6834055008765
+300600 -105.550054237055 31.6741020454906
+301500 -105.612847151772 31.6646989896346
+302400 -105.676345686443 31.6551984956739
+303300 -105.740537649135 31.6456026491071
+304200 -105.805411460533 31.6359134397949
+305100 -105.870956228048 31.6261327511502
+306000 -105.937161775748 31.6162623559849
+306900 -106.004018640053 31.6063039174947
+307800 -106.071518040768 31.5962589939242
+308700 -106.139651835758 31.5861290456527
+309600 -106.208381931772 31.5759199770598
+310500 -106.277760522032 31.5656242807825
+311400 -106.347754165529 31.555247170229
+312300 -106.418354870033 31.544790073961
+313200 -106.489556817874 31.5342540958275
+314100 -106.561354488201 31.5236402938998
+315000 -106.633742593164 31.5129496900357
+315900 -106.706715967457 31.502183286272
+316800 -106.780269382315 31.4913420922522
+317700 -106.854397311726 31.4804271595245
+318600 -106.929093727864 31.4694396113352
+319500 -107.004351994834 31.4583806577965
+320400 -107.080164883454 31.447251593193
+321300 -107.156524686432 31.4360537785819
+322200 -107.233423392745 31.4247886158237
+323100 -107.310852880025 31.4134575191355
+324000 -107.388805094297 31.402061888669
+324900 -107.467272199224 31.3906030887044
+325800 -107.546246687754 31.3790824314715
+326700 -107.625721456315 31.3675011665309
+327600 -107.705689845901 31.3558604750494
+328500 -107.786145656175 31.3441614680412
+329400 -107.867083139028 31.3324051876097
+330300 -107.948463082992 31.3205975254715
+331200 -108.030295308134 31.3087372465479
+332100 -108.112645781734 31.2968149982623
+333000 -108.195460508876 31.2848388094671
+333900 -108.278733959944 31.2728096778649
+334800 -108.362462443387 31.2607283329967
+335700 -108.44664248805 31.2485954707263
+336600 -108.53127086955 31.2364117495953
+337500 -108.616344795422 31.2241777643877
+338400 -108.701862308539 31.2118939885446
+339300 -108.787822788784 31.1995607028919
+340200 -108.874227319058 31.1871779443022
+341100 -108.961078749495 31.1747454979084
+342000 -109.048381445837 31.1622629345251
+342900 -109.136140819289 31.1497296790253
+343800 -109.22436276798 31.1371450908563
+344700 -109.31305313872 31.1245085411148
+345600 -109.402217276507 31.1118194766007
+346500 -109.49185969071 31.0990774668392
+347400 -109.581983839473 31.0862822339851
+348300 -109.672592018206 31.0734336677497
+349200 -109.763685331316 31.0605318284197
+350100 -109.855263725374 31.0475769411542
+351000 -109.947326064024 31.0345693844091
+351900 -110.03987022839 31.0215096748337
+352800 -110.132893230468 31.0083984504353
+353700 -110.226391334038 30.9952364527925
+354600 -110.320360154363 30.9820245123731
+355500 -110.414794788713 30.9687635296213
+356400 -110.509689900599 30.955454462668
+357300 -110.605039816526 30.9420983133746
+358200 -110.70083863693 30.9286961114918
+359100 -110.797080423173 30.9152488883156
+360000 -110.893759494986 30.9017576351384
+360900 -110.990870773201 30.8882232557081
+361800 -111.088410038035 30.8746465308031
+362700 -111.186374010115 30.8610281077139
+363600 -111.284760246659 30.847368515462
+364500 -111.383566908373 30.8336681978305
+365400 -111.482792471415 30.8199275537499
+366300 -111.582435446632 30.8061469763731
+367200 -111.682494144699 30.7923268855121
+368100 -111.782966503789 30.7784677512029
+369000 -111.883849980769 30.7645701083356
+369900 -111.985141498109 30.7506345635065
+370800 -112.08683743493 30.736661795748
+371700 -112.188933650179 30.7226525528421
+372600 -112.29142552715 30.7086076447339
+373500 -112.394308030529 30.6945279352783
+374400 -112.497575769255 30.6804143332546
+375300 -112.601223065665 30.666267782591
+376200 -112.70524399557 30.6520892566242
+377100 -112.809632477413 30.6378797457264
+378000 -112.914382302183 30.623640253079
+378900 -113.019487179823 30.6093717882412
+379800 -113.124940742857 30.5950753665673
+380700 -113.230736445077 30.5807520228261
+381600 -113.336867307832 30.5664028452999
+382500 -113.443325579176 30.5520290213612
+383400 -113.55010245737 30.5376318740008
+384300 -113.657188001636 30.5232128728541
+385200 -113.764571257973 30.5087736162289
+386100 -113.87224054833 30.494315791353
+387000 -113.980183840227 30.4798411241645
+387900 -114.088389121214 30.465351328865
+388800 -114.19684472686 30.4508480641026
+389700 -114.305539596458 30.4363328991671
+390600 -114.414463450192 30.4218072909373
+391500 -114.523606893648 30.4072725706967
+392400 -114.632939244933 30.3927328915843
+393300 -114.742462574227 30.3781880374375
+394200 -114.852182939357 30.3636372649867
+395100 -114.962094522968 30.3490814068495
+396000 -115.072192263891 30.3345211912644
+396900 -115.182504605167 30.3199529209842
+397800 -115.292995852739 30.3053813720153
+398700 -115.403661711592 30.2908071617167
+399600 -115.514499351379 30.276230711651
+400500 -115.625506313924 30.2616523923168
+401400 -115.736680428333 30.2470725346194
+402300 -115.848019668635 30.2324914487683
+403200 -115.959521920761 30.2179094548654
+404100 -116.071184697436 30.2033269200355
+405000 -116.18300489766 30.1887442894323
+405900 -116.294978692675 30.1741621005221
+406800 -116.407101560354 30.1595809779554
+407700 -116.519368437337 30.1450016131987
+408600 -116.631773935672 30.1304247359754
+409500 -116.74431257346 30.1158510841323
+410400 -116.856978983678 30.1012813765806
+411300 -116.969768081704 30.0867162917934
+412200 -117.082675185099 30.0721564526375
+413100 -117.195696087684 30.0576024172178
+414000 -117.308827094407 30.0430546748376
+414900 -117.422065025224 30.028513645973
+415800 -117.535407196156 30.0139796851734
+416700 -117.648851384789 29.9994530859315
+417600 -117.762395786165 29.9849340867411
+418500 -117.876038968471 29.9704228771317
+419400 -117.989779803569 29.9559196068607
+420300 -118.103617445765 29.9414243888896
+421200 -118.217551266255 29.92693730797
+422100 -118.331580822847 29.9124584246808
+423000 -118.445705889246 29.8979877718863
+423900 -118.559926679783 29.883525326494
+424800 -118.674244366354 29.8690709445322
+425700 -118.788661771277 29.854624274577
+426600 -118.903183949622 29.8401846858416
+427500 -119.0178184186 29.8257512412819
+428400 -119.132574967159 29.8113227236843
+429300 -119.247465133014 29.7968977032685
+430200 -119.362501501025 29.7824746271161
+431100 -119.477696969737 29.7680519118366
+432000 -119.593064090526 29.7536280263875
+432900 -119.708614535908 29.7392015580841
+433800 -119.82435871517 29.7247712596969
+434700 -119.940305530431 29.710336078676
+435600 -120.056462252963 29.6958951711816
+436500 -120.172834494781 29.6814479041688
+437400 -120.289426250746 29.6669938487089
+438300 -120.406239989448 29.652532767324
+439200 -120.523276774975 29.6380645976028
+440100 -120.640536410514 29.6235894332537
+441000 -120.758017564729 29.6091075074312
+441900 -120.875717945273 29.5946191704001
+442800 -120.993634418923 29.5801248739385
+443700 -121.111763148263 29.5656251538387
+444600 -121.230099724868 29.5511206129816
+445500 -121.348639327939 29.5366119014404
+446400 -121.467376923232 29.5220996918273
+447300 -121.586307473789 29.5075846534141
+448200 -121.705426105179 29.4930674320112
+449100 -121.824728184285 29.4785486405344
+450000 -121.944209309085 29.4640288604629
+450900 -122.063865235409 29.4495086509284
+451800 -122.183691775266 29.4349885611708
+452700 -122.303684695629 29.4204691428317
+453600 -122.423839635692 29.405950959914
+454500 -122.544152050338 29.3914345954937
+455400 -122.664617180343 29.376920655156
+456300 -122.785230045728 29.3624097676187
+457200 -122.905985456951 29.347902583207
+458100 -123.026878038481 29.3333997708572
+459000 -123.147902259909 29.3189020142431
+459900 -123.269052470741 29.3044100074968
+460800 -123.390322935956 29.289924450872
+461700 -123.511707877534 29.2754460457373
+462600 -123.633201477678 29.2609754941682
+463500 -123.754797950322 29.2465134904295
+464400 -123.876491537485 29.2320607214507
+465300 -123.998276532973 29.2176178640552
+466200 -124.120147260803 29.2031855875748
+467100 -124.242097942229 29.1887645696037
+468000 -124.364122403866 29.1743555303687
+468900 -124.486213704359 29.1599592764019
+469800 -124.608363845315 29.145576733923
+470700 -124.730548987936 29.1312106848912
+471600 -124.852772155185 29.1168607437481
+472500 -124.975024140103 29.102527959843
+473400 -125.097293881925 29.0882135933074
+474300 -125.21957042834 29.0739188843027
+475200 -125.341843263424 29.0596450148971
+476100 -125.464102554618 29.0453930807005
+477000 -125.586339315607 29.031164072526
+477900 -125.708545493959 29.0169588669511
+478800 -125.830713997782 29.0027782240316
+479700 -125.952838676738 28.9886227903266
+480600 -126.074914271405 28.9744931055566
+481500 -126.196936342662 28.9603896115155
+482400 -126.3189011902 28.9463126621608
+483300 -126.44081904372 28.9322610049556
+484200 -126.562674541102 28.9182363376423
+485100 -126.684465276067 28.9042388603156
+486000 -126.806189665732 28.8902686773844
+486900 -126.927846465318 28.8763258538254
+487800 -127.049434664256 28.8624104273417
+488700 -127.17095326836 28.8485224334325
+489600 -127.292400902106 28.8346619507671
+490500 -127.413775301341 28.8208291586601
+491400 -127.535072881328 28.8070243854974
+492300 -127.656288540566 28.7932481299812
+493200 -127.777415746704 28.779501050206
+494100 -127.898446848217 28.7657839272572
+495000 -128.019373510292 28.7520976150642
+495900 -128.140187177369 28.738442987662
+496800 -128.260879492582 28.7248208917495
+497700 -128.38144263592 28.7112321087965
+498600 -128.501869568277 28.6976773280488
+499500 -128.622154185118 28.6841571299075
+500400 -128.742291392368 28.6706719781677
+501300 -128.86227712053 28.6572222192402
+502200 -128.982108293016 28.6438080864989
+503100 -129.101782762951 28.6304297081136
+504000 -129.221299230198 28.6170871170246
+504900 -129.340657150518 28.6037802617098
+505800 -129.459856627496 28.5905090187809
+506700 -129.578898332517 28.5772732023603
+507600 -129.697783402589 28.5640725758384
+508500 -129.816513364889 28.550906860575
+509400 -129.935090119034 28.5377757381404
+510300 -130.053516102593 28.524678832289
+511200 -130.171794745133 28.5116156592275
+512100 -130.28993112555 28.4985855558749
+513000 -130.407932570496 28.4855876151736
+513900 -130.525808945941 28.472620655648
+514800 -130.643572546963 28.4596832353103
+515700 -130.761237643025 28.4467737032272
+516600 -130.878819813813 28.4338902736136
+517500 -130.996335217164 28.4210311067669
+518400 -131.113799898073 28.4081943848817
+519300 -131.23122920471 28.395378375598
+520200 -131.348637339982 28.38258148029
+521100 -131.466037050758 28.369802267002
+522000 -131.583439441245 28.3570394896396
+522900 -131.700853889685 28.344292095802
+523800 -131.818288045641 28.3315592258184
+524700 -131.935747886525 28.3188402053818
+525600 -132.053237814859 28.3061345338352
+526500 -132.170760786992 28.2934418691529
+527400 -132.288318427743 28.2807620145543
+528300 -132.405911203048 28.2680948989746
+529200 -132.523538543542 28.2554405629634
+530100 -132.641198981907 28.2427991432112
+531000 -132.75889028318 28.2301708579505
+531900 -132.876609571068 28.2175559928983
+532800 -132.994353453613 28.2049548873749
+533700 -133.112118142313 28.19236792123
+534600 -133.229899552397 28.1797955038801
+535500 -133.347693375169 28.1672380664068
+536400 -133.465495122236 28.1546960567072
+537300 -133.583300148624 28.1421699369265
+538200 -133.701103664198 28.1296601821502
+539100 -133.81890074153 28.1171672794846
+540000 -133.936686325513 28.1046917269588
+540900 -134.054455247188 28.0922340319901
+541800 -134.172202242185 28.0797947093751
+542700 -134.289921972938 28.0673742788978
+543600 -134.407609053301 28.0549732627037
+544500 -134.525258074105 28.0425921825964
+545400 -134.642863628365 28.0302315573903
+546300 -134.760420335149 28.0178919004269
+547200 -134.877922861383 28.0055737173237
+548100 -134.995365945961 27.9932775035026
+549000 -135.112744397379 27.9810037445014
+549900 -135.23005313625 27.9687529116016
+550800 -135.347287187551 27.9565254627282
+551700 -135.464441688396 27.944321841726
+552600 -135.581511846151 27.9321424828067
+553500 -135.698492760418 27.9199878290953
+554400 -135.81537904866 27.9078583714017
+555300 -135.93216437107 27.8957546971333
+556200 -136.048841708623 27.8836774609275
+557100 -136.165401332648 27.8716275940049
+558000 -136.281832828837 27.8596060935922
+558900 -136.398125002838 27.8476140322461
+559800 -136.514266295366 27.8356525146662
+560700 -136.63024526227 27.8237226281566
+561600 -136.746050982775 27.8118254008331
+562500 -136.861673366423 27.7999617705318
+563400 -136.977103354871 27.7881325647154
+564300 -137.09233302979 27.7763384901341
+565200 -137.207355644751 27.7645801303261
+566100 -137.322165600271 27.7528579489339
+567000 -137.436758379516 27.7411722970038
+567900 -137.551130459223 27.7295234227517
+568800 -137.665279207292 27.7179114826081
+569700 -137.7792001031 27.7063368240352
+570600 -137.892894626058 27.6947991843351
+571500 -138.006362269037 27.683298503345
+572400 -138.119602918563 27.6718346814042
+573300 -138.23261685118 27.660407579959
+574200 -138.345404599324 27.6490170353335
+575100 -138.457966662389 27.6376628880067
+576000 -138.570302979803 27.6263450356427
+576900 -138.682412271205 27.6150634991074
+577800 -138.794291497087 27.6038184759186
+578700 -138.905935647633 27.5926103603901
+579600 -139.017337906545 27.581439726061
+580500 -139.128490100718 27.5703072796423
+581400 -139.239383293436 27.5592138009439
+582300 -139.350008391605 27.5481600818269
+583200 -139.460356679366 27.5371468729277
+584100 -139.570420234016 27.52617484248
+585000 -139.680192213328 27.5152445482208
+585900 -139.789667023825 27.5043564213188
+586800 -139.898840389711 27.4935107602755
+587700 -140.007709345208 27.4827077324581
+588600 -140.116272172023 27.4719473810523
+589500 -140.224528300665 27.4612296355398
+590400 -140.332478190614 27.4505543241894
+591300 -140.440123202072 27.4399211872899
+592200 -140.547465460031 27.4293298910472
+593100 -140.654507735191 27.418780039725
+594000 -140.761253320543 27.4082711881277
+594900 -140.86770592962 27.3978028518673
+595800 -140.97386964376 27.3873745127495
+596700 -141.079755160154 27.3769850062302
+597600 -141.18536164985 27.366634302113
+598500 -141.290695238093 27.3563216899937
+599400 -141.395763589077 27.3460463122836
+600300 -141.500575750798 27.3358071801455
+601200 -141.605141940543 27.3256031951108
+602100 -141.709473151119 27.3154331880173
+603000 -141.813580682291 27.30529596497
+603900 -141.917475686979 27.2951903515702
+604800 -142.021168788852 27.2851152299254

+ 4 - 0
connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/predict.times

@@ -0,0 +1,4 @@
+# sensor data from:
+2021-10-22 15:00:00+02
+# meteo data from
+2021-11-02 16:00:00

+ 1 - 0
connector-fetch-drutes/src/test/resources/predictions/4151559_20220301/sensors.success

@@ -0,0 +1 @@
+1

+ 8 - 0
connector-model/src/main/java/cz/senslog/connector/model/api/VoidSession.java

@@ -0,0 +1,8 @@
+package cz.senslog.connector.model.api;
+
+public class VoidSession extends ProxySessionModel {
+
+    public VoidSession() {
+        super(false);
+    }
+}

+ 6 - 6
connector-model/src/main/java/cz/senslog/connector/model/azure/SensorData.java

@@ -46,7 +46,7 @@ public class SensorData {
 
     private Float pH;
 
-    private Integer orp;
+    private Integer ORP;
 
     public OffsetDateTime getTime() {
         return time;
@@ -136,12 +136,12 @@ public class SensorData {
         this.pH = pH;
     }
 
-    public Integer getOrp() {
-        return orp;
+    public Integer getORP() {
+        return ORP;
     }
 
-    public void setOrp(Integer orp) {
-        this.orp = orp;
+    public void setORP(Integer ORP) {
+        this.ORP = ORP;
     }
 
     public Map<String, Float> getValues() {
@@ -161,7 +161,7 @@ public class SensorData {
         setValue.accept("rumination", NumberUtils.valueOf(rumination));
         setValue.accept("pedometer", NumberUtils.valueOf(pedometer));
         setValue.accept("pH", pH);
-        setValue.accept("ORP", NumberUtils.valueOf(orp));
+        setValue.accept("ORP", NumberUtils.valueOf(ORP));
 
         return values;
     }

+ 118 - 0
connector-model/src/main/java/cz/senslog/connector/model/converter/DrutesModelSenslogV1ModelConverter.java

@@ -0,0 +1,118 @@
+package cz.senslog.connector.model.converter;
+
+import cz.senslog.connector.model.api.Converter;
+import cz.senslog.connector.model.drutes.DrutesModel;
+import cz.senslog.connector.model.drutes.PredictionData;
+import cz.senslog.connector.model.v1.Observation;
+import cz.senslog.connector.model.v1.Record;
+import cz.senslog.connector.model.v1.SenslogV1Model;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.time.OffsetDateTime;
+import java.time.ZoneId;
+import java.util.*;
+
+public class DrutesModelSenslogV1ModelConverter implements Converter<DrutesModel, SenslogV1Model> {
+
+    private static final Logger logger = LogManager.getLogger(DrutesModelSenslogV1ModelConverter.class);
+
+    private interface SensorPredictionConverter {
+
+        SensorPredictionConverter VOID_CONVERTER = (unitId, timestamp, dayOffset, values) -> Collections.emptyList();
+
+        List<Observation> convert(long unitId, OffsetDateTime timestamp, int dayOffset, double [] values);
+    }
+
+    private static final Map<Long, SensorPredictionConverter> SENSOR_TO_CONVERTER;
+
+    static {
+        SENSOR_TO_CONVERTER = new HashMap<>();
+        SENSOR_TO_CONVERTER.put(340260001L, (unitId, timestamp, dayOffset, values) -> {
+            if (values.length != 1) { return Collections.emptyList(); }
+            Observation observation = new Observation();
+            observation.setTime(timestamp);
+            observation.setUnitId(unitId);
+            observation.setValue((float) values[0]);
+            observation.setSensorId((dayOffset * 1000L) + 340590001L);
+            return Collections.singletonList(observation);
+        });
+        SENSOR_TO_CONVERTER.put(340260002L, (unitId, timestamp, dayOffset, values) -> {
+            if (values.length != 1) { return Collections.emptyList(); }
+
+            Observation observation = new Observation();
+            observation.setTime(timestamp);
+            observation.setUnitId(unitId);
+            observation.setValue((float) values[0]);
+            observation.setSensorId((dayOffset * 1000L) + 340590002L);
+
+            return Collections.singletonList(observation);
+        });
+        SENSOR_TO_CONVERTER.put(710010001L, (unitId, timestamp, dayOffset, values) -> {
+            if (values.length != 2) { return Collections.emptyList(); }
+
+            Observation observation1 = new Observation();
+            observation1.setTime(timestamp);
+            observation1.setUnitId(unitId);
+            observation1.setValue((float) values[0]);
+            observation1.setSensorId((dayOffset * 1000L) + 710060001);
+
+            Observation observation2 = new Observation();
+            observation2.setTime(timestamp);
+            observation2.setUnitId(unitId);
+            observation2.setValue((float) values[1]);
+            observation2.setSensorId((dayOffset * 1000L) + 890020001);
+
+            return Arrays.asList(observation1, observation2);
+        });
+        SENSOR_TO_CONVERTER.put(710010002L, (unitId, timestamp, dayOffset, values) -> {
+            if (values.length != 2) { return Collections.emptyList(); }
+
+            Observation observation1 = new Observation();
+            observation1.setTime(timestamp);
+            observation1.setUnitId(unitId);
+            observation1.setValue((float) values[0]);
+            observation1.setSensorId((dayOffset * 1000L) + 710060002);
+
+            Observation observation2 = new Observation();
+            observation2.setTime(timestamp);
+            observation2.setUnitId(unitId);
+            observation2.setValue((float) values[1]);
+            observation2.setSensorId((dayOffset * 1000L) + 890020002);
+
+            return Arrays.asList(observation1, observation2);
+        });
+    }
+
+    @Override
+    public SenslogV1Model convert(DrutesModel model) {
+        if (model == null || model.getPredictions().isEmpty()) {
+            logger.warn("Nothing to convert. Received model is empty.");
+            return null;
+        }
+        logger.info("Received {} sensors to convert.", model.getPredictions().size());
+
+        logger.debug("Creating an empty list of observation.");
+        List<Record> observations = new LinkedList<>();
+
+        long unitId = model.getUnitId();
+        OffsetDateTime timestampBase = model.getStart().atZone(ZoneId.systemDefault()).toOffsetDateTime();
+        for (Map.Entry<Long, List<PredictionData>> predictionEntry : model.getPredictions().entrySet()) {
+            long sensorId = predictionEntry.getKey();
+            logger.info("Converting sensor with ID {}.", sensorId);
+
+            for (PredictionData prediction : predictionEntry.getValue()) {
+                OffsetDateTime timestamp = timestampBase.plusSeconds(prediction.getTimeshift());
+                observations.addAll(SENSOR_TO_CONVERTER
+                        .getOrDefault(sensorId, SensorPredictionConverter.VOID_CONVERTER)
+                        .convert(unitId, timestamp, model.getDayOffset(), prediction.getValues())
+                );
+            }
+        }
+
+        logger.debug("Creating a new SenslogV1 model.");
+        SenslogV1Model senslogV1Model = new SenslogV1Model(observations, model.getFrom(), model.getTo());
+        logger.info("Conversion was completed successfully.");
+        return senslogV1Model;
+    }
+}

+ 1 - 0
connector-model/src/main/java/cz/senslog/connector/model/converter/ModelConverterProvider.java

@@ -24,5 +24,6 @@ public class ModelConverterProvider extends ConverterProvider {
         register(AzureModelSenslogV2ModelConverter.class);
         register(FieldClimateModelSenslogV1ModelConverter.class);
         register(SenslogV1ModelAFarCloudModelConverter.class);
+        register(DrutesModelSenslogV1ModelConverter.class);
     }
 }

+ 40 - 0
connector-model/src/main/java/cz/senslog/connector/model/drutes/DrutesModel.java

@@ -0,0 +1,40 @@
+package cz.senslog.connector.model.drutes;
+
+import cz.senslog.connector.model.api.AbstractModel;
+
+import java.time.LocalDateTime;
+import java.time.OffsetDateTime;
+import java.util.List;
+import java.util.Map;
+
+public class DrutesModel extends AbstractModel {
+
+    private final long unitId;
+    private final LocalDateTime start;
+    private final int dayOffset;
+    private final Map<Long, List<PredictionData>> predictions;
+
+    public DrutesModel(long unitId, LocalDateTime start, int dayOffset, Map<Long, List<PredictionData>> predictions, OffsetDateTime from, OffsetDateTime to) {
+        super(from, to);
+        this.unitId = unitId;
+        this.start = start;
+        this.dayOffset = dayOffset;
+        this.predictions = predictions;
+    }
+
+    public long getUnitId() {
+        return unitId;
+    }
+
+    public LocalDateTime getStart() {
+        return start;
+    }
+
+    public int getDayOffset() {
+        return dayOffset;
+    }
+
+    public Map<Long, List<PredictionData>> getPredictions() {
+        return predictions;
+    }
+}

+ 20 - 0
connector-model/src/main/java/cz/senslog/connector/model/drutes/PredictionData.java

@@ -0,0 +1,20 @@
+package cz.senslog.connector.model.drutes;
+
+public class PredictionData {
+
+    private final long timeshift;
+    private final double [] values;
+
+    public PredictionData(long timestamp, double [] values) {
+        this.timeshift = timestamp;
+        this.values = values;
+    }
+
+    public long getTimeshift() {
+        return timeshift;
+    }
+
+    public double[] getValues() {
+        return values;
+    }
+}

+ 60 - 0
connector-model/src/test/java/cz/senslog/connector/model/converter/DrutesModelSenslogV1ModelConverterTest.java

@@ -0,0 +1,60 @@
+package cz.senslog.connector.model.converter;
+
+import cz.senslog.connector.model.drutes.DrutesModel;
+import cz.senslog.connector.model.drutes.PredictionData;
+import cz.senslog.connector.model.v1.Observation;
+import cz.senslog.connector.model.v1.Record;
+import cz.senslog.connector.model.v1.SenslogV1Model;
+import org.junit.jupiter.api.Test;
+
+import java.time.LocalDateTime;
+import java.time.OffsetDateTime;
+import java.time.ZoneId;
+import java.util.*;
+
+import static java.time.format.DateTimeFormatter.ofPattern;
+import static java.util.Collections.singletonList;
+import static org.junit.jupiter.api.Assertions.*;
+
+class DrutesModelSenslogV1ModelConverterTest {
+
+    @Test // happy scenario
+    void convert() {
+
+        final long timeShift = 604800;
+
+        Map<Long, List<PredictionData>> predictions = new HashMap<>();
+        predictions.put(340260001L, singletonList(new PredictionData(timeShift, new double[]{-1})));
+        predictions.put(340260002L, singletonList(new PredictionData(timeShift, new double[] {-2})));
+        predictions.put(710010001L, singletonList(new PredictionData(timeShift, new double[] {-3, 3})));
+        predictions.put(710010002L, singletonList(new PredictionData(timeShift, new double[] {-4, 4})));
+
+        LocalDateTime predictionFrom = LocalDateTime.parse("2021-11-02 16:00:00", ofPattern("yyyy-MM-dd HH:mm:ss"));
+        OffsetDateTime predictionTo = predictionFrom.atZone(ZoneId.systemDefault()).toOffsetDateTime().plusSeconds(timeShift);
+        DrutesModel drutesModel = new DrutesModel(4151559L, predictionFrom, 5, predictions, null, null);
+
+        SenslogV1Model senslogV1Model = new DrutesModelSenslogV1ModelConverter().convert(drutesModel);
+
+        assertEquals(6, senslogV1Model.getObservations().size());
+        for (Record rec : senslogV1Model.getObservations()) {
+
+            assertEquals(4151559L, rec.getUnitId());
+            assertEquals(predictionTo, rec.getTime());
+            assertEquals(Observation.class, rec.getClass());
+
+            Observation obs = (Observation)rec;
+            int sensorId = obs.getSensorId().intValue();
+            double value = obs.getValue();
+
+            switch (sensorId) {
+                case 340595001 : assertEquals(-1, value); break;
+                case 340595002 : assertEquals(-2, value); break;
+                case 710065001 : assertEquals(-3, value); break;
+                case 890025001 : assertEquals(3, value); break;
+                case 710065002 : assertEquals(-4, value); break;
+                case 890025002 : assertEquals(4, value); break;
+                default: fail(String.format("Sensor ID '%d' is not defined.", sensorId));
+            }
+        }
+    }
+}

+ 1 - 0
pom.xml

@@ -65,6 +65,7 @@
         <module>connector-app</module>
         <module>connector-model</module>
         <module>connector-push-api</module>
+        <module>connector-fetch-drutes</module>
     </modules>
 
     <properties>