Explorar el Código

气象预报数据下载

hdc hace 2 años
padre
commit
b30a82ff57

+ 59 - 43
tongfei_river_data_collection/src/main/java/com/ublinkage/datacollection/service/QxybDataService.java

@@ -166,51 +166,67 @@ public class QxybDataService {
      * 下载澜沧江上游高程带融雪覆盖预报
      */
     public void downloadSnowCover(String publishDt) {
-        log.info("###开始下载澜沧江上游高程带融雪覆盖预报");
-        //融雪数据从本地获取
+        log.info("###开始下载澜沧江上游高程带融雪覆盖预报,批次:{}", publishDt);
+        //积雪覆盖数据从本地获取
         List<String> cdNewList = new LinkedList<>();
+        log.info("下载昌都积雪覆盖数据:", snowCdFile);
         if (new File(snowCdFile).exists()) {
-            List<String> cdlist = readFile(snowCdFile);
-            cdNewList.add(cdlist.get(cdlist.size() - 10));
-            cdNewList.add(cdlist.get(cdlist.size() - 9));
-            cdNewList.add(cdlist.get(cdlist.size() - 8));
-            cdNewList.add(cdlist.get(cdlist.size() - 7));
-            cdNewList.add(cdlist.get(cdlist.size() - 6));
-            cdNewList.add(cdlist.get(cdlist.size() - 5));
-            cdNewList.add(cdlist.get(cdlist.size() - 4));
-            cdNewList.add(cdlist.get(cdlist.size() - 3));
-            cdNewList.add(cdlist.get(cdlist.size() - 2));
-            cdNewList.add(cdlist.get(cdlist.size() - 1));
-
-            String first = cdNewList.get(0);
-            if (StringUtils.isEmpty(first)) {
-                return;
+            try {
+                List<String> cdlist = readFile(snowCdFile);
+                cdNewList.add(cdlist.get(cdlist.size() - 10));
+                cdNewList.add(cdlist.get(cdlist.size() - 9));
+                cdNewList.add(cdlist.get(cdlist.size() - 8));
+                cdNewList.add(cdlist.get(cdlist.size() - 7));
+                cdNewList.add(cdlist.get(cdlist.size() - 6));
+                cdNewList.add(cdlist.get(cdlist.size() - 5));
+                cdNewList.add(cdlist.get(cdlist.size() - 4));
+                cdNewList.add(cdlist.get(cdlist.size() - 3));
+                cdNewList.add(cdlist.get(cdlist.size() - 2));
+                cdNewList.add(cdlist.get(cdlist.size() - 1));
+
+                String first = cdNewList.get(0);
+                if (StringUtils.isEmpty(first)) {
+                    return;
+                }
+                //String yyyyMMdd = DateUtil.parseLocalDateTime(first.split(",")[0], "yyyy-MM-dd").minusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+                writeFile(cdNewList, downloadFilePath + "DomainSnow,cd," + publishDt + "," + ensemble + "," + System.currentTimeMillis() + ".txt");
+                log.info("下载成功");
+            } catch (Exception e) {
+                log.warn("下载失败", e);
             }
-            //String yyyyMMdd = DateUtil.parseLocalDateTime(first.split(",")[0], "yyyy-MM-dd").minusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
-            writeFile(cdNewList, downloadFilePath + "DomainSnow,cd," + publishDt + "," + ensemble + "," + System.currentTimeMillis() + ".txt");
+        } else {
+            log.warn("下载失败文件不存在");
         }
+        log.info("下载曲孜卡积雪覆盖数据:", snowQzkFile);
         if (new File(snowQzkFile).exists()) {
-            List<String> qzkNewList = new LinkedList<>();
-            List<String> qzkList = readFile(snowQzkFile);
-            qzkNewList.add(qzkList.get(qzkList.size() - 10));
-            qzkNewList.add(qzkList.get(qzkList.size() - 9));
-            qzkNewList.add(qzkList.get(qzkList.size() - 8));
-            qzkNewList.add(qzkList.get(qzkList.size() - 7));
-            qzkNewList.add(qzkList.get(qzkList.size() - 6));
-            qzkNewList.add(qzkList.get(qzkList.size() - 5));
-            qzkNewList.add(qzkList.get(qzkList.size() - 4));
-            qzkNewList.add(qzkList.get(qzkList.size() - 3));
-            qzkNewList.add(qzkList.get(qzkList.size() - 2));
-            qzkNewList.add(qzkList.get(qzkList.size() - 1));
-
-            String first = qzkNewList.get(0);
-            if (StringUtils.isEmpty(first)) {
-                return;
+            try {
+                List<String> qzkNewList = new LinkedList<>();
+                List<String> qzkList = readFile(snowQzkFile);
+                qzkNewList.add(qzkList.get(qzkList.size() - 10));
+                qzkNewList.add(qzkList.get(qzkList.size() - 9));
+                qzkNewList.add(qzkList.get(qzkList.size() - 8));
+                qzkNewList.add(qzkList.get(qzkList.size() - 7));
+                qzkNewList.add(qzkList.get(qzkList.size() - 6));
+                qzkNewList.add(qzkList.get(qzkList.size() - 5));
+                qzkNewList.add(qzkList.get(qzkList.size() - 4));
+                qzkNewList.add(qzkList.get(qzkList.size() - 3));
+                qzkNewList.add(qzkList.get(qzkList.size() - 2));
+                qzkNewList.add(qzkList.get(qzkList.size() - 1));
+
+                String first = qzkNewList.get(0);
+                if (StringUtils.isEmpty(first)) {
+                    return;
+                }
+                //String yyyyMMdd = DateUtil.parseLocalDateTime(first.split(",")[0], "yyyy-MM-dd").minusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+                writeFile(qzkNewList, downloadFilePath + "DomainSnow,qzk," + publishDt + "," + ensemble + "," + System.currentTimeMillis() + ".txt");
+                log.info("下载成功");
+            } catch (Exception e) {
+                log.warn("下载失败", e);
             }
-            //String yyyyMMdd = DateUtil.parseLocalDateTime(first.split(",")[0], "yyyy-MM-dd").minusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
-            writeFile(qzkNewList, downloadFilePath + "DomainSnow,qzk," + publishDt + "," + ensemble + "," + System.currentTimeMillis() + ".txt");
+        } else {
+            log.warn("下载失败文件不存在");
         }
-        log.info("###结束下载澜沧江上游高程带融雪覆盖预报");
+        log.info("###结束下载澜沧江上游高程带融雪覆盖预报,批次:{}", publishDt);
     }
 
     /**
@@ -361,16 +377,16 @@ public class QxybDataService {
             daysForGridRain.forEach(day -> {
                 try {
                     LocalTime time = LocalTime.of(0, 0);
-                    if("00".equals(timeFlg)){
+                    if ("00".equals(timeFlg)) {
                         time = LocalTime.of(12, 0);
                     } else if ("06".equals(timeFlg)) {
                         time = LocalTime.of(18, 0);
-                    }else if ("12".equals(timeFlg)) {
+                    } else if ("12".equals(timeFlg)) {
                         time = LocalTime.of(0, 0);
-                    }else if ("18".equals(timeFlg)) {
+                    } else if ("18".equals(timeFlg)) {
                         time = LocalTime.of(6, 0);
                     }
-                    String dt1 = LocalDateTime.of(day, time) .format(DATE_TIME_FORMATTER1);
+                    String dt1 = LocalDateTime.of(day, time).format(DATE_TIME_FORMATTER1);
                     String dt2 = LocalDateTime.of(day.plusDays(1), time).format(DATE_TIME_FORMATTER1);
                     String url2 = BASE_URL + "/getForecastMatrixByWrfRDField?RDField=" + RDField + "&publishDT=" + publishInfo.getPublishDT() + "&ensemble=" + publishInfo.getEnsemble() + "&domain=" + domain + "&content=precipitation&DT1=" + dt1 + "&DT2=" + dt2 + "&step=" + 24;
                     log.info("下载网格降水预报数据(日尺度):{}", url2);
@@ -581,10 +597,10 @@ public class QxybDataService {
         int days = 0;
         switch (timeFlg) {
             case "00":
+            case "06":
                 days = 3;
                 startDate = date;
                 break;
-            case "06":
             case "18":
                 days = 3;
                 startDate = date.plusDays(1);

+ 1 - 1
tongfei_river_data_collection/src/main/resources/application-dev.properties

@@ -1,6 +1,6 @@
 server.port=9001
 
-#昌都和曲孜卡的融雪路径
+#昌都和曲孜卡的积雪覆盖预报文件
 snow.cd.file=/usr/local/LCJ/SnowCoverPrediction/cd/predict.csv
 snow.qzk.file=/usr/local/LCJ/SnowCoverPrediction/qzk/predict.csv
 

+ 1 - 1
tongfei_river_data_collection/src/main/resources/application-sky.properties

@@ -1,6 +1,6 @@
 server.port=9001
 
-#昌都和曲孜卡的融雪路径
+#昌都和曲孜卡的积雪覆盖预报文件
 snow.cd.file=/media/sky/73b9d852-878a-4b11-a82f-249a237fa9e7/sky/LCJ/SnowCoverPrediction/cd/predict.csv
 snow.qzk.file=/media/sky/73b9d852-878a-4b11-a82f-249a237fa9e7/sky/LCJ/SnowCoverPrediction/qzk/predict.csv