From 3de16f6a570633036cc3a77527866b47c02c2985 Mon Sep 17 00:00:00 2001 From: svend1079 Date: Fri, 7 Jul 2023 15:12:12 +0200 Subject: [PATCH 1/7] initial harmonie tab First creation of the HARMONIE tab for forecast EDR --- DMI_Open_Data_dialog.py | 50 +- DMI_Open_Data_dialog_base.ui | 1582 ++++++++++------------------------ 2 files changed, 504 insertions(+), 1128 deletions(-) diff --git a/DMI_Open_Data_dialog.py b/DMI_Open_Data_dialog.py index 82e6338..b1e9ae3 100644 --- a/DMI_Open_Data_dialog.py +++ b/DMI_Open_Data_dialog.py @@ -89,12 +89,12 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.danish_waters.setChecked(True) #self.all_para_dkss.setChecked(True) #self.all_para_wam.setChecked(True) - self.dev_sea_mean.setChecked(True) - self.wind_speed_10.setChecked(True) self.composite.setChecked(True) self.full_range.setChecked(True) self._60960.setChecked(True) self.all_lightning_types.setChecked(True) + self.harm_fore.setChecked(True) + self.nea_sf_area.setChecked(True) # Datetime default today and yesterday @@ -140,11 +140,22 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.stackedWidget_2.setCurrentWidget(self.stat_para) self.stackedWidget_3.setCurrentWidget(self.met_stat_page) self.met_stat_info.clicked.connect(self.infoStat) - self.para_stacked.setCurrentWidget(self.wam_page) - self.stackedWidget_4.setCurrentWidget(self.nsbs_depth) + self.para_stacked.setCurrentWidget(self.harmonie_page) self.wam_fore.clicked.connect(self.wamTab) self.dkss_fore.clicked.connect(self.dkssTab) + self.harm_fore.clicked.connect(self.harmonieTab) self.tide_info.clicked.connect(self.infoTide) + + self.nea_sf_area.clicked.connect(self.neaSfTab) + self.nea_pl_area.clicked.connect(self.neaPlTab) + self.igb_sf_area.clicked.connect(self.igbSfTab) + self.igb_pl_area.clicked.connect(self.igbPlTab) + + self.coordi_harm.clicked.connect(self.enableCoordi) +# Mangler her !!!!! + self.bbox_harm.setChecked(True) + + self.radioButton_10.clicked.connect(self.disable_time) self.radioButton_11.clicked.connect(self.enable_time) self.radioButton_21.clicked.connect(self.disable_time_oce) @@ -155,19 +166,6 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.isefjord.clicked.connect(self.if_depth_tab) self.limfjord.clicked.connect(self.lf_depth_tab) self.little_belt.clicked.connect(self.lb_depth_tab) - self.dev_sea_mean.clicked.connect(self.depth_tab_dis) - self.u_comp_wind.clicked.connect(self.depth_tab_dis) - self.v_comp_wind.clicked.connect(self.depth_tab_dis) - self.u_comp_cur.clicked.connect(self.depth_tab_dis) - self.v_comp_cur.clicked.connect(self.depth_tab_dis) - self.water_temp.clicked.connect(self.depth_tab_dis) - self.salinity.clicked.connect(self.depth_tab_dis) - self.ice_thick.clicked.connect(self.depth_tab_dis) - self.ice_conc.clicked.connect(self.depth_tab_dis) - self.u_comp_cur_.clicked.connect(self.depth_tab_enabled) - self.v_comp_cur_.clicked.connect(self.depth_tab_enabled) - self.water_temp_.clicked.connect(self.depth_tab_enabled) - self.salinity_.clicked.connect(self.depth_tab_enabled) self.composite.clicked.connect(self.comp) self.pseudo.clicked.connect(self.pseud) @@ -177,8 +175,6 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.dateTimeEdit_3.setEnabled(False) self.dateTimeEdit_4.setEnabled(False) - self.groupBox_14.setEnabled(False) - self.stat_radar.setEnabled(False) self.radar_disable_if_needed() @@ -342,10 +338,24 @@ def wamTab(self): self.para_stacked.setCurrentWidget(self.wam_page) def dkssTab(self): self.para_stacked.setCurrentWidget(self.dkss_page) + def harmonieTab(self): + self.para_stacked.setCurrentWidget(self.harmonie_page) def depth_tab_dis(self): self.groupBox_14.setEnabled(False) def depth_tab_enabled(self): self.groupBox_14.setEnabled(True) + + def neaSfTab(self): + self.harm_para_stacked.setCurrentWidget(self.harm_nea_sf_para) + def neaPlTab(self): + self.harm_para_stacked.setCurrentWidget(self.harm_nea_pl_para) + def igbSfTab(self): + self.harm_para_stacked.setCurrentWidget(self.harm_igb_sf_para) + def igbPlTab(self): + self.harm_para_stacked.setCurrentWidget(self.harm_igb_pl_para) + + + def infoStat(self): self.stackedWidget_3.setCurrentWidget(self.met_stat_page) def infoGrid10(self): @@ -477,6 +487,8 @@ def run(self): data_type2 = 'wam' elif self.dkss_fore.isChecked(): data_type2 = 'dkss' + elif self.harm_fore.isChecked(): + data_type2 = 'harmonie' # Based on data_type2 the stationId, municipalityId or cellId will be assigned. diff --git a/DMI_Open_Data_dialog_base.ui b/DMI_Open_Data_dialog_base.ui index f04b744..717de9a 100644 --- a/DMI_Open_Data_dialog_base.ui +++ b/DMI_Open_Data_dialog_base.ui @@ -38,7 +38,7 @@ true - 0 + 5 false @@ -134,7 +134,7 @@ 0 0 624 - 246 + 245 @@ -165,7 +165,7 @@ 0 0 623 - 246 + 245 @@ -367,8 +367,8 @@ 0 0 - 98 - 28 + 628 + 204 @@ -990,7 +990,7 @@ 0 0 625 - 248 + 247 @@ -1079,9 +1079,16 @@ Model - + + + + + Weather Model (HARMONIE) + + + @@ -1106,6 +1113,412 @@ 0 + + + + + + + + + + Parameters + + + + + + 0 + + + + + + + true + + + + + 0 + 0 + 581 + 380 + + + + + + + Pressure at sea level + + + + + + + Total column vertically-integrated water vapour + + + + + + + Cloudcover + + + + + + + Global radiation + + + + + + + U component of wind + + + + + + + V component of wind + + + + + + + The speed of horizontal air movement in metres per second + + + + + + + Wind direction + + + + + + + Temperature + + + + + + + Presure at surface level + + + + + + + The potential energy of a unit mass relative to sea level. + + + + + + + Dew temperature + + + + + + + Relative humidity + + + + + + + Land percent + + + + + + + Specific humidity + + + + + + + Canopy Water (bladfugt) + + + + + + + + + + + + + + + true + + + + + 0 + 0 + 598 + 129 + + + + + + + Temperature + + + + + + + U component of wind + + + + + + + V component of wind + + + + + + + Wind direction + + + + + + + Wind speed + + + + + + + + + + + + + + + true + + + + + 0 + 0 + 142 + 127 + + + + + + + Temperature + + + + + + + U component of wind + + + + + + + V component of wind + + + + + + + Wind direction + + + + + + + Wind speed + + + + + + + + + + + + + + + true + + + + + 0 + 0 + 598 + 129 + + + + + + + Presure at sea level + + + + + + + Total column vertically-integrated water vapour + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + Areas + + + + + + Northwestern Europe Surface (NEA SF) + + + + + + + Northwestern Europe Pressure Level (NEA PL) + + + + + + + Iceland Greenland Surface (IGB SF) + + + + + + + Iceland Greenland Pressure Level (IGB PL) + + + + + + + + + + + + + + + 0 + 0 + + + + Coordinate or BBox + + + + + + + + BBox + + + + + + + + + + + + + + Coordinate + + + + + + + + + + + + + + + + + @@ -1132,106 +1545,106 @@ 0 0 - 604 - 348 + 600 + 334 - + - + - 10 metre wind speed + Wind speed - + - 10 metre wind direction + Wind Direction - + Significant wave height - + - Dominant wave period / peak period of 1D spectra + Dominant wave period - + - Mean wave period + Mean wave period - + - Mean zero-crossing wave period + Mean zerocrossing wave period - + Mean wave direction - + - Significant height of wind waves (sea) + Significant height of wind waves - + - Mean period of wind waves (sea) + Mean period of wind waves - + - Mean direction of wind waves (sea) + Mean direction of wind waves - + Significant height of total swell - + Mean period of total swell - + - Mean direction of total swell + Benjamin-Feir index - + - Benjamin-Feir index + CheckBox @@ -1328,99 +1741,99 @@ 0 0 - 251 - 324 + 600 + 311 - + - + Deviation of sea level from mean - + - u-component of wind + U component of wind - + - v-component of wind + V component of wind - + - u-component of current + U component of current - + - v-component of current + V component of current - + Water temperature - + Salinity - + Ice thickness - + - Ice concentration (ice=1;no ice=0) + Ice concentration - + - u-component of current (> 1 meters depth) + U component of current (>1 meter depth) - + - v-component of current (> 1 meters depth) + V component of current (>1 meter depth) - + - Water temperature (> 1 meters depth) + Water temperature (>1 meter depth) - + - Salinity (> 1 meters depth) + Salinity (>1 meter depth) @@ -1486,1055 +1899,6 @@ - - - - Depth (meters) - - - - - - 1 - - - - - - - - 4 - - - - - 9 - - - - - 11 - - - - - 13 - - - - - 15 - - - - - 17 - - - - - 19 - - - - - 21 - - - - - 23 - - - - - 25 - - - - - 27 - - - - - 29 - - - - - 31 - - - - - 33 - - - - - 35 - - - - - 37 - - - - - 39 - - - - - 41 - - - - - 43 - - - - - 45 - - - - - 47 - - - - - 49 - - - - - 51 - - - - - 53 - - - - - 55 - - - - - 57 - - - - - 59 - - - - - 61 - - - - - 63 - - - - - 65 - - - - - 67 - - - - - 69 - - - - - 71 - - - - - 73 - - - - - 75 - - - - - 77 - - - - - 79 - - - - - 82 - - - - - 88 - - - - - 96 - - - - - 113 - - - - - 138 - - - - - 175 - - - - - 225 - - - - - 275 - - - - - 325 - - - - - 375 - - - - - 425 - - - - - 475 - - - - - 525 - - - - - - - - - - - - - 1 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - - - - 9 - - - - - 10 - - - - - 11 - - - - - 12 - - - - - 13 - - - - - 14 - - - - - 15 - - - - - 16 - - - - - 17 - - - - - 18 - - - - - 19 - - - - - 20 - - - - - 21 - - - - - 22 - - - - - 23 - - - - - 24 - - - - - 25 - - - - - 26 - - - - - 27 - - - - - 28 - - - - - 29 - - - - - 30 - - - - - 31 - - - - - 33 - - - - - 35 - - - - - 37 - - - - - 39 - - - - - 41 - - - - - 43 - - - - - 45 - - - - - 47 - - - - - 49 - - - - - 51 - - - - - 53 - - - - - 55 - - - - - 57 - - - - - 59 - - - - - 61 - - - - - 63 - - - - - 65 - - - - - 67 - - - - - 69 - - - - - 71 - - - - - 73 - - - - - 75 - - - - - - - - - - - - - 4 - - - - - 9 - - - - - 11 - - - - - 13 - - - - - 15 - - - - - 17 - - - - - 19 - - - - - 21 - - - - - 23 - - - - - 25 - - - - - 27 - - - - - 29 - - - - - 31 - - - - - 33 - - - - - 35 - - - - - 37 - - - - - 39 - - - - - 41 - - - - - 43 - - - - - 45 - - - - - 47 - - - - - 49 - - - - - - - - - - - - - 1 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - - - - 9 - - - - - 10 - - - - - 11 - - - - - - - - - - - - - 1 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - - - - 9 - - - - - 10 - - - - - 11 - - - - - 12 - - - - - 13 - - - - - 14 - - - - - 15 - - - - - 16 - - - - - 17 - - - - - 18 - - - - - 19 - - - - - 20 - - - - - 21 - - - - - 22 - - - - - - - - - - - - - 1 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - - - - 9 - - - - - 10 - - - - - 11 - - - - - 12 - - - - - 13 - - - - - 14 - - - - - 15 - - - - - 16 - - - - - 17 - - - - - 18 - - - - - 19 - - - - - 20 - - - - - 21 - - - - - 22 - - - - - 23 - - - - - 24 - - - - - 25 - - - - - 26 - - - - - 27 - - - - - 28 - - - - - 29 - - - - - 30 - - - - - 31 - - - - - 33 - - - - - 35 - - - - - 37 - - - - - 39 - - - - - 41 - - - - - 43 - - - - - 45 - - - - - 47 - - - - - 49 - - - - - 51 - - - - - 53 - - - - - 55 - - - - - - - - - - - @@ -2923,7 +2287,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Plugin for DMIs Open Data </span></p> <p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Before starting</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Documentation and more information about DMI Open Data can be found </span><a href="https://confluence.govcloud.dk/display/FDAPI/Danish+Meteorological+Institute+-+Open+Data"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">here</span></a><span style=" font-size:11pt;">. This guide will only briefly cover the plugin - not the data, stations etc.</span></p> From b401aebc00a4e5e8ef6ae4166a054806ad1f882f Mon Sep 17 00:00:00 2001 From: svend1079 Date: Thu, 13 Jul 2023 14:54:08 +0200 Subject: [PATCH 2/7] Forecast tab done Save as csv has been added. WAM and DKSS is now functional too. --- DMI_Open_Data_dialog.py | 295 ++--- DMI_Open_Data_dialog_base.ui | 2324 +++++++++++++++++++++++++--------- forecast_para.py | 319 +++-- 3 files changed, 2089 insertions(+), 849 deletions(-) diff --git a/DMI_Open_Data_dialog.py b/DMI_Open_Data_dialog.py index b1e9ae3..d1e62e8 100644 --- a/DMI_Open_Data_dialog.py +++ b/DMI_Open_Data_dialog.py @@ -4,7 +4,7 @@ from qgis.PyQt import QtWidgets, uic import requests import pandas as pd -from pandas.io.json import json_normalize +from pandas import json_normalize import warnings from tempfile import mkdtemp from qgis.core import QgsVectorLayer, QgsProcessing, QgsProcessingFeedback, QgsRasterLayer, QgsContrastEnhancement, QgsRasterMinMaxOrigin, QgsFeature, QgsGeometry, QgsField, QgsPointXY, QgsProject, QgsRasterLayerTemporalProperties, QgsDateTimeRange, QgsColorRampShader, QgsRasterShader, QgsSingleBandPseudoColorRenderer, QgsSingleBandGrayRenderer, QgsRasterBandStats @@ -15,8 +15,6 @@ from PyQt5.QtWidgets import * from qgis.PyQt.QtCore import QVariant import webbrowser -from .forecast_para import depth_para_dkss, salinity_nsbs, salinity_idw, salinity_if, salinity_lb, salinity_lf, salinity_ws, water_temp_nsbs, water_temp_if, water_temp_lb, water_temp_lf, water_temp_ws, water_temp_idw, v_current_nsbs, v_current_idw, v_current_if, v_current_lb, v_current_lf, v_current_ws, u_current_nsbs, u_current_idw, u_current_if,u_current_lb, u_current_lf, u_current_ws -import processing from .api.station import get_stations, StationApi, StationId, Station, Parameter from .settings import DMISettingsManager, DMISettingKeys warnings.simplefilter(action='ignore', category=FutureWarning) @@ -25,6 +23,7 @@ # Stations are not part of this list, as stations are more dynamicly added and removed. # Stations are therefore imported from DMI Open Data via. the internet, each time QGIS is started. from .para_munic_grid import para_grid, grid10, grid20, munic +from .forecast_para import paraHarmPl, paraHarmSf, paraHarmIgbSf, paraHarmIgbPl, paraWam, paraNsbs # This loads your .ui file so that PyQt can populate your plugin with the elements from Qt Designer # Ignore this, we no longer use the static ui files, look at pluginui_test.py instead @@ -128,6 +127,7 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.browse_cli.clicked.connect(self.browse_files_cli) self.browse_lig.clicked.connect(self.browse_files_lig) self.browse_oce.clicked.connect(self.browse_files_oce) + self.browse_fore.clicked.connect(self.browse_files_fore) self.stat_type.clicked.connect(self.stat_typeR) self.grid10_type.clicked.connect(self.grid10_typeR) self.grid20_type.clicked.connect(self.grid20_typeR) @@ -139,6 +139,7 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.stackedWidget.setCurrentWidget(self.stat_clima) self.stackedWidget_2.setCurrentWidget(self.stat_para) self.stackedWidget_3.setCurrentWidget(self.met_stat_page) + self.harm_para_stacked.setCurrentWidget(self.harm_nea_sf_para) self.met_stat_info.clicked.connect(self.infoStat) self.para_stacked.setCurrentWidget(self.harmonie_page) self.wam_fore.clicked.connect(self.wamTab) @@ -152,7 +153,8 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.igb_pl_area.clicked.connect(self.igbPlTab) self.coordi_harm.clicked.connect(self.enableCoordi) -# Mangler her !!!!! + self.bbox_harm.clicked.connect(self.enableBBox) + self.coordi_line.setEnabled(False) self.bbox_harm.setChecked(True) @@ -160,12 +162,6 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.radioButton_11.clicked.connect(self.enable_time) self.radioButton_21.clicked.connect(self.disable_time_oce) self.radioButton_22.clicked.connect(self.enable_time_oce) - self.north_sea_baltic_sea.clicked.connect(self.nsbs_depth_tab) - self.inner_danish_waters.clicked.connect(self.idw_depth_tab) - self.wadden_sea.clicked.connect(self.ws_depth_tab) - self.isefjord.clicked.connect(self.if_depth_tab) - self.limfjord.clicked.connect(self.lf_depth_tab) - self.little_belt.clicked.connect(self.lb_depth_tab) self.composite.clicked.connect(self.comp) self.pseudo.clicked.connect(self.pseud) @@ -314,6 +310,7 @@ def display_parameters(self, parameters: Set[Parameter], settings_key: DMISettin parameter_layout.addWidget(DMIOpenDataDialog.generate_no_api_key_label(settings_key)) return checkboxes + def comp(self): self.stat_radar.setEnabled(False) self.scan_type.setEnabled(True) @@ -354,7 +351,12 @@ def igbSfTab(self): def igbPlTab(self): self.harm_para_stacked.setCurrentWidget(self.harm_igb_pl_para) - + def enableCoordi(self): + self.coordi_line.setEnabled(True) + self.bbox_line.setEnabled(False) + def enableBBox(self): + self.coordi_line.setEnabled(False) + self.bbox_line.setEnabled(True) def infoStat(self): self.stackedWidget_3.setCurrentWidget(self.met_stat_page) @@ -370,18 +372,6 @@ def infoLight(self): self.stackedWidget_3.setCurrentWidget(self.light_page) def infoTide(self): self.stackedWidget_3.setCurrentWidget(self.tide_page) - def nsbs_depth_tab(self): - self.stackedWidget_4.setCurrentWidget(self.nsbs_depth) - def idw_depth_tab(self): - self.stackedWidget_4.setCurrentWidget(self.idw_depth) - def ws_depth_tab(self): - self.stackedWidget_4.setCurrentWidget(self.ws_depth) - def if_depth_tab(self): - self.stackedWidget_4.setCurrentWidget(self.if_depth) - def lf_depth_tab(self): - self.stackedWidget_4.setCurrentWidget(self.lf_depth) - def lb_depth_tab(self): - self.stackedWidget_4.setCurrentWidget(self.lb_depth) @@ -402,6 +392,10 @@ def browse_files_lig(self): def browse_files_oce(self): fname = QFileDialog.getSaveFileName(self, 'Open File', 'C:') self.file_name_oce.setText(fname[0]) + def browse_files_fore(self): + fname = QFileDialog.getSaveFileName(self, 'Open File', 'C') + self.file_name_fore.setText(fname[0]) + # Changing pages in Climate Data def stat_typeR(self): self.stackedWidget.setCurrentWidget(self.stat_clima) @@ -524,6 +518,15 @@ def run(self): fore_area = 'lf' elif self.little_belt.isChecked(): fore_area = 'lb' + elif data_type2 == 'harmonie': + if self.nea_sf_area.isChecked(): + fore_area = 'nea_sf' + elif self.nea_pl_area.isChecked(): + fore_area = 'nea_pl' + elif self.igb_sf_area.isChecked(): + fore_area = 'igb_sf' + elif self.igb_pl_area.isChecked(): + fore_area = 'igb_pl' # Oceanographic parameters if dataName == 'Oceanographic Observations': @@ -613,30 +616,41 @@ def run(self): qt_checkbox_widget.setChecked(False) if data_type2 == 'wam': - wam_para = ['wind_speed_10', 'wind_direction_10', 'sig_wave_height', 'dom_wave_period', 'mean_wave_period', - 'mean_zero_wave_period', 'mean_wave_dir', 'sig_height_wind_waves_sea', 'mean_period_wind_wave_sea', - 'mean_dir_wind_wave_sea', 'sig_height_swell', 'mean_period_swell', 'mean_dir_swell', - 'benjamin_index'] - wam_para_band = list(range(1, 15)) - para_fore_dict_wam = dict(zip(wam_para, wam_para_band)) - for fore_para in para_fore_dict_wam: - qt_checkbox_widget = getattr(self, fore_para) + for para in paraWam: + qt_checkbox_widget = getattr(self, para) if qt_checkbox_widget.isChecked(): - parameters.append(fore_para) + para = para[:-2] + para = para.replace('_', '-') + parameters.append(para) qt_checkbox_widget.setChecked(False) if data_type2 == 'dkss': - nsbs_para = ['dev_sea_mean', 'u_comp_wind', 'v_comp_wind', 'u_comp_cur', 'v_comp_cur', - 'water_temp', 'salinity', 'ice_thick', 'ice_conc', 'u_comp_cur_', - 'v_comp_cur_', 'water_temp_', 'salinity_'] - nsbs_para_band = list(range(1, 10)) - para_fore_dict_nsbs = dict(zip(nsbs_para[0:9], nsbs_para_band)) - for fore_para in nsbs_para: - qt_checkbox_widget = getattr(self, fore_para) - if qt_checkbox_widget.isChecked(): - parameters.append(fore_para) - qt_checkbox_widget.setChecked(False) - + for para in paraNsbs: + qt_checkbox_widget = getattr(self, para) + if qt_checkbox_widget.isChecked(): + para = para.replace('_', '-') + parameters.append(para) + qt_checkbox_widget.setChecked(False) + + if data_type2 == 'harmonie': + if fore_area == 'nea_sf': + parameterListForecast = paraHarmSf + elif fore_area == 'nea_pl': + parameterListForecast = paraHarmPl + elif fore_area == 'igb_sf': + parameterListForecast = paraHarmIgbSf + elif fore_area == 'igb_pl': + parameterListForecast = paraHarmIgbPl + for para in parameterListForecast: + qt_checkbox_widget = getattr(self, para) + if qt_checkbox_widget.isChecked(): + para = para.replace('_','-') + if fore_area == 'igb_pl' or fore_area == 'igb_sf': + para = para[:-2] + parameters.append(para) + qt_checkbox_widget.setChecked(False) + + # Information for stations. The list of stations is based on climateData and NOT metObs if dataName == 'Stations and Parameters' and data_type2 == 'climateData': for parameter in self.climatedata_parameters: @@ -1016,136 +1030,79 @@ def run(self): else: df.to_csv(self.file_name_lig.text() + '.csv', index=False) self.file_name_lig.clear() + # Forecast data if dataName == 'Forecast Data': - root = QgsProject.instance().layerTreeRoot() - layer_group = root.insertGroup(0, 'Forecast' + datetime) - temp = mkdtemp(suffix='_forecast-files') - url = 'https://dmigw.govcloud.dk/v1/' + data_type + '/collections/' + data_type2 + '_' + fore_area + '/items' + if self.bbox_harm.isChecked(): + position_res = 'cube' + elif self.coordi_harm.isChecked(): + position_res = 'position' + url = 'https://dmigw.govcloud.dk/v1/forecastedr/collections/' + data_type2 + '_' + fore_area + '/' + position_res + '?' params = {'api-key': api_key, 'datetime': datetime, - 'limit': '300000'} - if self.bbox_fore.text() != '': - params.update({'bbox': self.bbox_fore.text()}) - r = requests.get(url, params=params) - print(r, r.url) - json = r.json() - latest_model_run = sorted(json['features'], key=lambda feature: feature['properties']['modelRun'])[-1]['properties']['modelRun'] - print(latest_model_run) - for feature in filter(lambda feature: feature['properties']['modelRun'] == latest_model_run, json['features']): - downloadurl = feature['asset']['data']['href'] - downloaddata = requests.get(downloadurl) - id = feature['id'] - print(id) - tempfile = os.path.join(temp, id) - if not os.path.isfile(tempfile): - with open(tempfile, 'wb') as fd: - for chunk in downloaddata.iter_content(): - fd.write(chunk) - layer = QgsRasterLayer(tempfile) - #if self.all_para_wam.isChecked() == False or self.all_para_dkss.isChecked() == False: - if data_type2 == 'wam': - band_par = para_fore_dict_wam[parameters[0]] - print(band_par) - elif data_type2 == 'dkss': - if parameters[0] in depth_para_dkss: - if fore_area == 'nsbs': - depth = int(self.depth_box_nsbs.currentText()) - if parameters[0] == 'salinity_': - band_par = salinity_nsbs[depth] - elif parameters[0] == 'water_temp_': - band_par = water_temp_nsbs[depth] - elif parameters[0] == 'v_comp_cur_': - band_par = u_current_nsbs[depth] - elif parameters[0] == 'u_comp_cur_': - band_par = v_current_nsbs[depth] - elif fore_area == 'idw': - depth = int(self.depth_box_idw.currentText()) - if parameters[0] == 'salinity_': - band_par = salinity_idw[depth] - elif parameters[0] == 'water_temp_': - band_par = water_temp_idw[depth] - elif parameters[0] == 'v_comp_cur_': - band_par = u_current_idw[depth] - elif parameters[0] == 'u_comp_cur_': - band_par = v_current_idw[depth] - elif fore_area == 'ws': - depth = int(self.depth_box_ws.currentText()) - if parameters[0] == 'salinity_': - band_par = salinity_ws[depth] - elif parameters[0] == 'water_temp_': - band_par = water_temp_ws[depth] - elif parameters[0] == 'v_comp_cur_': - band_par = u_current_ws[depth] - elif parameters[0] == 'u_comp_cur_': - band_par = v_current_ws[depth] - elif fore_area == 'if': - depth = int(self.depth_box_if.currentText()) - if parameters[0] == 'salinity_': - band_par = salinity_if[depth] - elif parameters[0] == 'water_temp_': - band_par = water_temp_if[depth] - elif parameters[0] == 'v_comp_cur_': - band_par = u_current_if[depth] - elif parameters[0] == 'u_comp_cur_': - band_par = v_current_if[depth] - elif fore_area == 'lf': - depth = int(self.depth_box_lf.currentText()) - if parameters[0] == 'salinity_': - band_par = salinity_lf[depth] - elif parameters[0] == 'water_temp_': - band_par = water_temp_lf[depth] - elif parameters[0] == 'v_comp_cur_': - band_par = u_current_lf[depth] - elif parameters[0] == 'u_comp_cur_': - band_par = v_current_lf[depth] - elif fore_area == 'lb': - depth = int(self.depth_box_lb.currentText()) - if parameters[0] == 'salinity_': - band_par = salinity_lb[depth] - elif parameters[0] == 'water_temp_': - band_par = water_temp_lb[depth] - elif parameters[0] == 'v_comp_cur_': - band_par = u_current_lb[depth] - elif parameters[0] == 'u_comp_cur_': - band_par = v_current_lb[depth] - elif parameters[0] not in depth_para_dkss: - band_par = para_fore_dict_nsbs[parameters[0]] - # Provides the statistics for the layer. Used to find min and max - stats = layer.dataProvider().bandStatistics(band_par, QgsRasterBandStats.All) - # The layer will be mapped in a Gray symbology - renderer = QgsSingleBandGrayRenderer(layer.dataProvider(), band_par) - # Sets the color scale for the layer - myType = renderer.dataType(1) - myEnhancement = QgsContrastEnhancement(myType) - contrast_enhancement = QgsContrastEnhancement.StretchToMinimumMaximum - myEnhancement.setContrastEnhancementAlgorithm(contrast_enhancement, True) - myEnhancement.setMinimumValue(stats.minimumValue) - myEnhancement.setMaximumValue(stats.maximumValue) - d = feature['properties']['datetime'] - start_time = QDateTime.fromString(d, 'yyyy-MM-ddThh:mm:ssZ') - end_time = start_time.addSecs(3600) - time_range = QgsDateTimeRange(start_time, end_time) - layer.temporalProperties().setFixedTemporalRange(time_range) - layer.temporalProperties().setIsActive(True) - layer.setRenderer(renderer) - layer.renderer().setContrastEnhancement(myEnhancement) - - - # Changes the name - if len(parameters) > 0: - if self.wam_fore.isChecked(): - layer.setName(data_type2 + ' ' + fore_area + ' ' + parameters[0] + ' ' + feature['properties']['datetime']) - elif self.dkss_fore.isChecked() and parameters[0] in depth_para_dkss: - layer.setName(data_type2 + ' ' + fore_area + ' ' + parameters[0] + ' ' + str(depth) + 'm ' + feature['properties']['datetime']) - elif self.dkss_fore.isChecked() and parameters[0] not in depth_para_dkss: - layer.setName(data_type2 + ' ' + fore_area + ' ' + parameters[0] + ' ' + feature['properties']['datetime']) - elif len(parameters) == 0: - layer.setName(data_type2 + ' ' + fore_area + ' ' + 'All parameters ' + feature['properties']['datetime']) - # Adds the layer to the map - project = QgsProject.instance() - project.addMapLayer(layer, addToLegend=False) - layer_group.insertLayer(-1, layer) + 'limit': '300000', + 'f': 'GeoJSON'} + + + if self.bbox_harm.isChecked(): + returned_data = '1' + if ',' in self.bbox_line.text(): + QMessageBox.warning(self, self.tr("DMI Open Data"), + self.tr('Please use space as coordinates seperator and not comma.' \ + + '\n' + '\n' + 'E.g. change 10.52,57.13,11.20,57.40 to 10.52 57.13 11.20 57.40')) + returned_data = '0' + bbox_cordi = self.bbox_line.text() + bbox_cordi = bbox_cordi.replace(' ', ',') + params.update({'bbox': bbox_cordi}) + + elif self.coordi_harm.isChecked(): + returned_data = '1' + if ',' in self.coordi_line.text(): + QMessageBox.warning(self, self.tr("DMI Open Data"), + self.tr('Please use space as coordinates seperator and not comma.' \ + + '\n' + '\n' + 'E.g. change 10.52,57.13 to 10.52 57.13')) + returned_data = '0' + params.update({'coords': 'POINT(' + self.coordi_line.text() + ')'}) + + if len(parameters) > 0 and returned_data != '0': + params.update({'parameter-name': parameters}) + returned_data = '1' + elif len(parameters) == 0: + QMessageBox.warning(self, self.tr("DMI Open Data"), + self.tr('Please select a parameter.')) + returned_data = '0' + + if returned_data != '0': + r = requests.get(url, params=params) + print(r, r.url) + json = r.json() + df = json_normalize(json['features']) + df = df.drop(['type', 'geometry.type'], axis=1) + vl = QgsVectorLayer("Point", data_type2 + ' ' + fore_area, "memory") + pd.set_option('display.max_columns', None) + print(df.head()) + pr = vl.dataProvider() + vl.startEditing() + for head in df: + if head == 'properties.step': + pr.addAttributes([QgsField(head, QVariant.DateTime)]) + if head != 'geometry.coordinates': + pr.addAttributes([QgsField(head, QVariant.Double)]) + for row in df.itertuples(): + f = QgsFeature() + f.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(row[1][0], row[1][1]))) + vl.updateFields() + params_list_to_feat = list(row[2:len(df.columns)+1]) + f.setAttributes(params_list_to_feat) + vl.addFeature(f) + vl.updateExtents() + vl.commitChanges() + QgsProject.instance().addMapLayer(vl) + iface.zoomToActiveLayer() + + if self.file_name_fore.text() != '': + df.to_csv(self.file_name_fore.text() + '.csv', index=False) + # Information about stations and parameters if dataName == 'Stations and Parameters': if self.met_stat_info.isChecked(): diff --git a/DMI_Open_Data_dialog_base.ui b/DMI_Open_Data_dialog_base.ui index 717de9a..f828846 100644 --- a/DMI_Open_Data_dialog_base.ui +++ b/DMI_Open_Data_dialog_base.ui @@ -10,7 +10,7 @@ 0 0 1345 - 528 + 534 @@ -38,7 +38,7 @@ true - 5 + 4 false @@ -134,7 +134,7 @@ 0 0 624 - 245 + 251 @@ -165,7 +165,7 @@ 0 0 623 - 245 + 251 @@ -367,8 +367,8 @@ 0 0 - 628 - 204 + 63 + 18 @@ -390,7 +390,7 @@ 0 0 628 - 204 + 210 @@ -422,7 +422,7 @@ 0 0 627 - 204 + 210 @@ -443,8 +443,8 @@ 0 0 - 98 - 28 + 63 + 18 @@ -465,8 +465,8 @@ 0 0 - 98 - 28 + 63 + 18 @@ -487,8 +487,8 @@ 0 0 - 98 - 28 + 63 + 18 @@ -990,7 +990,7 @@ 0 0 625 - 247 + 253 @@ -1031,7 +1031,7 @@ Forecast Data - + @@ -1111,409 +1111,1553 @@ - 0 + 2 - + - - - - - - - Parameters - - - - - - 0 - - - - - - - true - - - - - 0 - 0 - 581 - 380 - - - - - - - Pressure at sea level - - - - - - - Total column vertically-integrated water vapour - - - - - - - Cloudcover - - - - - - - Global radiation - - - - - - - U component of wind - - - - - - - V component of wind - - - - - - - The speed of horizontal air movement in metres per second - - - - - - - Wind direction - - - - - - - Temperature - - - - - - - Presure at surface level - - - - - - - The potential energy of a unit mass relative to sea level. - - - - - - - Dew temperature - - - - - - - Relative humidity - - - - - - - Land percent - - - - - - - Specific humidity - - - - - - - Canopy Water (bladfugt) - - - - - - - - - - - - - - - true - - - - - 0 - 0 - 598 - 129 - - - - - - - Temperature - - - - - - - U component of wind - - - - - - - V component of wind - - - - - - - Wind direction - - - - - - - Wind speed - - - - - - - - - - - - - - - true - - - - - 0 - 0 - 142 - 127 - - - - - - - Temperature - - - - - - - U component of wind - - - - - - - V component of wind - - - - - - - Wind direction - - - - - - - Wind speed - - - - - - - - - - - - - - - true - - - - - 0 - 0 - 598 - 129 - - - - - - - Presure at sea level - - - - - - - Total column vertically-integrated water vapour - - - - - - - - - - - - - - - - - - - 0 - 0 - - - - Areas - - - - - - Northwestern Europe Surface (NEA SF) - - - - - - - Northwestern Europe Pressure Level (NEA PL) - - - - - - - Iceland Greenland Surface (IGB SF) - - - - - - - Iceland Greenland Pressure Level (IGB PL) - - - - - - - - + - - - - - - 0 - 0 - - - - Coordinate or BBox - - - - + + + + 0 + 0 + + + + Parameters + + + + + + + 0 + 0 + + + + 2 + + + - - - BBox + + + true + + + + 0 + 0 + 582 + 817 + + + + + + + Pressure at sea level + + + + + + + Total column vertically-integrated water vapour + + + + + + + Cloudcover + + + + + + + Global radiation + + + + + + + Wind 50m. U component + + + + + + + Wind 50m. V component + + + + + + + Wind direction 50m. + + + + + + + Wind speed 50m. + + + + + + + Wind 100m. U component + + + + + + + Wind 100m. V component + + + + + + + Wind direction 100m. + + + + + + + Wind speed 100m. + + + + + + + Wind 150m. U component + + + + + + + Wind 150m. V component + + + + + + + Wind direction 150m. + + + + + + + Wind speed 150m. + + + + + + + Wind 250m. U component + + + + + + + Wind 250m. V component + + + + + + + Wind direction 250m. + + + + + + + Wind speed 250m. + + + + + + + Temperature 50 m. + + + + + + + Temperature 100m. + + + + + + + Temperature 150m. + + + + + + + Temperature 250m. + + + + + + + Preasure at surface level + + + + + + + Geopotential + + + + + + + Temperature 2m. + + + + + + + Temperature 0m. + + + + + + + Dew temperature + + + + + + + Relative humidity + + + + + + + Land percent + + + + + + + Wind direction + + + + + + + Wind speed + + + + + + + Specific humidity + + + + + + + Canopy water + + + + + + + + + - + + + true + + + + + 0 + 0 + 582 + 1852 + + + + + + + Temperature 50 hPa + + + + + + + Wind 50 hPa. U component + + + + + + + Wind 50 hPa. V component + + + + + + + Wind direction 50 hPa + + + + + + + Wind speed 50 hPa + + + + + + + Temperature 100 hPa + + + + + + + Wind 100 hPa. U component + + + + + + + Wind 100 hPa. V component + + + + + + + Wind direction 100 hPa + + + + + + + Wind speed 100 hPa + + + + + + + Temperature 150 hPa + + + + + + + Wind 150 hPa. U component + + + + + + + Wind 150 hPa. V component + + + + + + + Wind direction 150 hPa + + + + + + + Wind speed 150 hPa + + + + + + + Temperature 200 hPa + + + + + + + Wind 200 hPa. U component + + + + + + + Wind 200 hPa. V component + + + + + + + Wind direction 200 hPa + + + + + + + Wind speed 200 hPa + + + + + + + Temperature 250 hPa + + + + + + + Wind 250 hPa. U component + + + + + + + Wind 250 hPa. V component + + + + + + + Wind direction 250 hPa + + + + + + + Wind speed 250 hPa + + + + + + + Temperature 300 hPa + + + + + + + Wind 300 hPa. U component + + + + + + + Wind 300 hPa. V component + + + + + + + Wind direction 300 hPa + + + + + + + Wind speed 300 hPa + + + + + + + Temperature 400 hPa + + + + + + + Wind 400 hPa. U component + + + + + + + Wind 400 hPa. V component + + + + + + + Wind direction 400 hPa + + + + + + + Wind speed 400 hPa + + + + + + + Temperature 500 hPa + + + + + + + Wind 500 hPa. U component + + + + + + + Wind 500 hPa. V component + + + + + + + Wind direction 500 hPa + + + + + + + Wind speed 500 hPa + + + + + + + Temperature 600 hPa + + + + + + + Wind 600 hPa. U component + + + + + + + Wind 600 hPa. V component + + + + + + + Wind direction 600 hPa + + + + + + + Wind speed 600 hPa + + + + + + + Temperature 700 hPa + + + + + + + Wind 700 hPa. U component + + + + + + + Wind 700 hPa. V component + + + + + + + Wind direction 700 hPa + + + + + + + Wind speed 700 hPa + + + + + + + Temperature 800 hPa + + + + + + + Wind 800 hPa. U component + + + + + + + Wind 800 hPa. V component + + + + + + + Wind direction 800 hPa + + + + + + + Wind speed 800 hPa + + + + + + + Temperature 850 hPa + + + + + + + Wind 850 hPa. U component + + + + + + + Wind 850 hPa. V component + + + + + + + Wind direction 850 hPa + + + + + + + Wind speed 850 hPa + + + + + + + Temperature 900 hPa + + + + + + + Wind 900 hPa. U component + + + + + + + Wind 900 hPa. V component + + + + + + + Wind direction 900 hPa + + + + + + + Wind speed 900 hPa + + + + + + + Temperature 925 hPa + + + + + + + Wind 925 hPa. U component + + + + + + + Wind 925 hPa. V component + + + + + + + Wind direction 925 hPa + + + + + + + Wind speed 925 hPa + + + + + + + Temperature 950 hPa + + + + + + + Wind 950 hPa. U component + + + + + + + Wind 950 hPa. V component + + + + + + + Wind direction 950 hPa + + + + + + + Wind speed 950 hPa + + + + + + + Temperature 1000 hPa + + + + + + + Wind 1000 hPa. U component + + + + + + + Wind 1000 hPa. V component + + + + + + + Wind direction 1000 hPa + + + + + + + Wind speed 1000 hPa + + + + + + - - - + + + - - - Coordinate + + + true + + + + 0 + 0 + 582 + 1852 + + + + + + + Temperature 50 hPa + + + + + + + Wind 50 hPa. U component + + + + + + + Wind 50 hPa. V component + + + + + + + Wind direction 50 hPa + + + + + + + Wind speed 50 hPa + + + + + + + Temperature 100 hPa + + + + + + + Wind 100 hPa. U component + + + + + + + Wind 100 hPa. V component + + + + + + + Wind direction 100 hPa + + + + + + + Wind speed 100 hPa + + + + + + + Temperature 150 hPa + + + + + + + Wind 150 hPa. U component + + + + + + + Wind 150 hPa. V component + + + + + + + Wind direction 150 hPa + + + + + + + Wind speed 150 hPa + + + + + + + Temperature 200 hPa + + + + + + + Wind 200 hPa. U component + + + + + + + Wind 200 hPa. V component + + + + + + + Wind direction 200 hPa + + + + + + + Wind speed 200 hPa + + + + + + + Temperature 250 hPa + + + + + + + Wind 250 hPa. U component + + + + + + + Wind 250 hPa. V component + + + + + + + Wind direction 250 hPa + + + + + + + Wind speed 250 hPa + + + + + + + Temperature 300 hPa + + + + + + + Wind 300 hPa. U component + + + + + + + Wind 300 hPa. V component + + + + + + + Wind direction 300 hPa + + + + + + + Wind speed 300 hPa + + + + + + + Temperature 400 hPa + + + + + + + Wind 400 hPa. U component + + + + + + + Wind 400 hPa. V component + + + + + + + Wind direction 400 hPa + + + + + + + Wind speed 400 hPa + + + + + + + Temperature 500 hPa + + + + + + + Wind 500 hPa. U component + + + + + + + Wind 500 hPa. V component + + + + + + + Wind direction 500 hPa + + + + + + + Wind speed 500 hPa + + + + + + + Temperature 600 hPa + + + + + + + Wind 600 hPa. U component + + + + + + + Wind 600 hPa. V component + + + + + + + Wind direction 600 hPa + + + + + + + Wind speed 600 hPa + + + + + + + Temperature 700 hPa + + + + + + + Wind 700 hPa. U component + + + + + + + Wind 700 hPa. V component + + + + + + + Wind direction 700 hPa + + + + + + + Wind speed 700 hPa + + + + + + + Temperature 800 hPa + + + + + + + Wind 800 hPa. U component + + + + + + + Wind 800 hPa. V component + + + + + + + Wind direction 800 hPa + + + + + + + Wind speed 800 hPa + + + + + + + Temperature 850 hPa + + + + + + + Wind 850 hPa. U component + + + + + + + Wind 850 hPa. V component + + + + + + + Wind direction 850 hPa + + + + + + + Wind speed 850 hPa + + + + + + + Temperature 900 hPa + + + + + + + Wind 900 hPa. U component + + + + + + + Wind 900 hPa. V component + + + + + + + Wind direction 900 hPa + + + + + + + Wind speed 900 hPa + + + + + + + Temperature 925 hPa + + + + + + + Wind 925 hPa. U component + + + + + + + Wind 925 hPa. V component + + + + + + + Wind direction 925 hPa + + + + + + + Wind speed 925 hPa + + + + + + + Temperature 950 hPa + + + + + + + Wind 950 hPa. U component + + + + + + + Wind 950 hPa. V component + + + + + + + Wind direction 950 hPa + + + + + + + Wind speed 950 hPa + + + + + + + Temperature 1000 hPa + + + + + + + Wind 1000 hPa. U component + + + + + + + Wind 1000 hPa. V component + + + + + + + Wind direction 1000 hPa + + + + + + + Wind speed 1000 hPa + + + + + + + + + - + + + true + + + + + 0 + 0 + 599 + 139 + + + + + + + Presure at sea level + + + + + + + Total column vertically-integrated water vapour + + + + + + - - - - - + + + + + + + + + + + 0 + 0 + + + + Areas + + + + + + Northwestern Europe Surface (NEA SF) + + + + + + + Northwestern Europe Pressure Level (NEA PL) + + + + + + + Iceland Greenland Surface (IGB SF) + + + + + + + Iceland Greenland Pressure Level (IGB PL) + + + + + @@ -1544,107 +2688,107 @@ 0 - 0 + -101 600 334 - + Wind speed - + Wind Direction - + Significant wave height - + Dominant wave period - + Mean wave period - + Mean zerocrossing wave period - + Mean wave direction - + Significant height of wind waves - + Mean period of wind waves - + Mean direction of wind waves - + Significant height of total swell - + - Mean period of total swell + Mean direction of total swell - + - Benjamin-Feir index + Mean period of total swell - + - CheckBox + Benjamin-Feir index @@ -1688,160 +2832,113 @@ - - - - - - 0 - 0 - - - - BBox - - - - - - E.g. 8.0786,54.5576,15.1712,57.7664 - - - - - - - + - + - Parameters + Parameters (forecasts below 1 meter is not available) - - - - - - 0 - 0 - - - - true - - - - - 0 - 0 - 600 - 311 - - - - - - - Deviation of sea level from mean - - - - - - - U component of wind - - - - - - - V component of wind - - - - - - - U component of current - - - - - - - V component of current - - - - - - - Water temperature - - - - - - - Salinity - - - - - - - Ice thickness - - - - - - - Ice concentration - - - - - - - U component of current (>1 meter depth) - - - - - - - V component of current (>1 meter depth) - - - - - - - Water temperature (>1 meter depth) - - - - - - - Salinity (>1 meter depth) - - - - - - - - + + + + 10 + 23 + 619 + 145 + + + + + 0 + 0 + + + + true + + + + + 0 + 0 + 600 + 219 + + + + + + + Deviation of sea level from mean + + + + + + + U component of wind + + + + + + + V component of wind + + + + + + + U component of current + + + + + + + V component of current + + + + + + + Water temperature + + + + + + + Salinity + + + + + + + Ice thickness + + + + + + + Ice concentration + + + + + + @@ -1897,32 +2994,82 @@ - - - - - - - 0 - 0 - - - - BBox - - - - - - - - - - + + + + + + Coordinate or BBox (Please remember to seperate the coordinates with spaces and not with comma) + + + + + + + + BBox + + + + + + + E.g. 8.07 54.55 15.17 57.76 + + + + + + + + + + + Coordinate + + + + + + + E.g. 13.58 55.06 + + + + + + + + + + + + Save as .csv file also (Optional) + + + + + + + + + + + Browse + + + + + + + + + + @@ -2015,8 +3162,8 @@ 0 0 - 98 - 28 + 18 + 18 @@ -2296,8 +3443,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">How to use this plugin</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">In order to get data, an API Key must be configured in QGIS settings menu. To configure API keys, please go to Settings -&gt; Options -&gt; DMI Open Data. Note that each type of data requires one specific API Key corresponding to that UI. <br />After the API Key has been configured in settings, stations and parameters will be accessible, and the plugin will work as intended. </span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Things to note when using the plugin: </span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:11pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum amount of parameters available is 7.</li> -<li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Internet is neccessary in order to open the plugin and get data.</li> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Internet is neccessary in order to open the plugin and get data.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Sort the data in a manner that your QGIS can handle. Otherwise there is a risk of crashing.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Be sure to read about the stations and parameters, as not all stations measure all parameters. A list of meteorological stations and their associated parameters can also be found <a href="https://confluence.govcloud.dk/pages/viewpage.action?pageId=53086560"><span style=" text-decoration: underline; color:#0000ff;">here</span></a>.</li></ul> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">If you have any questions about the plugin or DMI Open Data then please contact us. </span></p> diff --git a/forecast_para.py b/forecast_para.py index 6065693..60a79d6 100644 --- a/forecast_para.py +++ b/forecast_para.py @@ -1,97 +1,234 @@ -depth_para_dkss = ['salinity_', 'water_temp_','v_comp_cur_','u_comp_cur_'] +fore_para_names = [] -################ nsbs ######################### +paraHarmSf = [ + 'pressure_sealevel', + 'total_column_vertically_integrated_water_vapour', + 'cloudcover', + 'global_radiation', + 'wind_50m_u', + 'wind_50m_v', + 'temperature_50m', + 'temperature_100m', + 'temperature_150m', + 'temperature_250m', + 'pressure_surface', + 'geopotential', + 'temperature_2m', + 'temperature_0m', + 'dew_temperature', + 'relative_humidity', + 'land_percent', + 'wind_dir', + 'wind_speed', + 'specific_humidity', + 'wind_speed_50m', + 'wind_100m_u', + 'wind_100m_v', + 'wind_dir_100m', + 'wind_speed_100m', + 'wind_150m_u', + 'wind_150m_v', + 'wind_dir_150m', + 'wind_speed_150m', + 'wind_250m_u', + 'wind_250m_v', + 'wind_dir_250m', + 'wind_speed_250m', + 'canopy_water' +] +paraHarmPl = [ + 'temperature_50hPa', + 'wind_50hPa_u', + 'wind_50hPa_v', + 'wind_dir_50hPa', + 'wind_speed_50hPa', + 'temperature_100hPa', + 'wind_100hPa_u', + 'wind_100hPa_v', + 'wind_dir_100hPa', + 'wind_speed_100hPa', + 'temperature_150hPa', + 'wind_150hPa_u', + 'wind_150hPa_v', + 'wind_dir_150hPa', + 'wind_speed_150hPa', + 'temperature_200hPa', + 'wind_200hPa_u', + 'wind_200hPa_v', + 'wind_dir_200hPa', + 'wind_speed_200hPa', + 'temperature_250hPa', + 'wind_250hPa_u', + 'wind_250hPa_v', + 'wind_dir_250hPa', + 'wind_speed_250hPa', + 'temperature_300hPa', + 'wind_300hPa_u', + 'wind_300hPa_v', + 'wind_dir_300hPa', + 'wind_speed_300hPa', + 'temperature_400hPa', + 'wind_400hPa_u', + 'wind_400hPa_v', + 'wind_dir_400hPa', + 'wind_speed_400hPa', + 'temperature_500hPa', + 'wind_500hPa_u', + 'wind_500hPa_v', + 'wind_dir_500hPa', + 'wind_speed_500hPa', + 'temperature_600hPa', + 'wind_600hPa_u', + 'wind_600hPa_v', + 'wind_dir_600hPa', + 'wind_speed_600hPa', + 'temperature_700hPa', + 'wind_700hPa_u', + 'wind_700hPa_v', + 'wind_dir_700hPa', + 'wind_speed_700hPa', + 'temperature_800hPa', + 'wind_800hPa_u', + 'wind_800hPa_v', + 'wind_dir_800hPa', + 'wind_speed_800hPa', + 'temperature_850hPa', + 'wind_850hPa_u', + 'wind_850hPa_v', + 'wind_dir_850hPa', + 'wind_speed_850hPa', + 'temperature_900hPa', + 'wind_900hPa_u', + 'wind_900hPa_v', + 'wind_dir_900hPa', + 'wind_speed_900hPa', + 'temperature_925hPa', + 'wind_925hPa_u', + 'wind_925hPa_v', + 'wind_dir_925hPa', + 'wind_speed_925hPa', + 'temperature_950hPa', + 'wind_950hPa_u', + 'wind_950hPa_v', + 'wind_dir_950hPa', + 'wind_speed_950hPa', + 'temperature_1000hPa', + 'wind_1000hPa_u', + 'wind_1000hPa_v', + 'wind_dir_1000hPa', + 'wind_speed_1000hPa' +] +paraHarmIgbSf = ['pressure_sealevel_2', + 'total_column_vertically_integrated_water_vapour_2'] +paraHarmIgbPl = [ + 'temperature_50hPa_2', + 'wind_50hPa_u_2', + 'wind_50hPa_v_2', + 'wind_dir_50hPa_2', + 'wind_speed_50hPa_2', + 'temperature_100hPa_2', + 'wind_100hPa_u_2', + 'wind_100hPa_v_2', + 'wind_dir_100hPa_2', + 'wind_speed_100hPa_2', + 'temperature_150hPa_2', + 'wind_150hPa_u_2', + 'wind_150hPa_v_2', + 'wind_dir_150hPa_2', + 'wind_speed_150hPa_2', + 'temperature_200hPa_2', + 'wind_200hPa_u_2', + 'wind_200hPa_v_2', + 'wind_dir_200hPa_2', + 'wind_speed_200hPa_2', + 'temperature_250hPa_2', + 'wind_250hPa_u_2', + 'wind_250hPa_v_2', + 'wind_dir_250hPa_2', + 'wind_speed_250hPa_2', + 'temperature_300hPa_2', + 'wind_300hPa_u_2', + 'wind_300hPa_v_2', + 'wind_dir_300hPa_2', + 'wind_speed_300hPa_2', + 'temperature_400hPa_2', + 'wind_400hPa_u_2', + 'wind_400hPa_v_2', + 'wind_dir_400hPa_2', + 'wind_speed_400hPa_2', + 'temperature_500hPa_2', + 'wind_500hPa_u_2', + 'wind_500hPa_v_2', + 'wind_dir_500hPa_2', + 'wind_speed_500hPa_2', + 'temperature_600hPa_2', + 'wind_600hPa_u_2', + 'wind_600hPa_v_2', + 'wind_dir_600hPa_2', + 'wind_speed_600hPa_2', + 'temperature_700hPa_2', + 'wind_700hPa_u_2', + 'wind_700hPa_v_2', + 'wind_dir_700hPa_2', + 'wind_speed_700hPa_2', + 'temperature_800hPa_2', + 'wind_800hPa_u_2', + 'wind_800hPa_v_2', + 'wind_dir_800hPa_2', + 'wind_speed_800hPa_2', + 'temperature_850hPa_2', + 'wind_850hPa_u_2', + 'wind_850hPa_v_2', + 'wind_dir_850hPa_2', + 'wind_speed_850hPa_2', + 'temperature_900hPa_2', + 'wind_900hPa_u_2', + 'wind_900hPa_v_2', + 'wind_dir_900hPa_2', + 'wind_speed_900hPa_2', + 'temperature_925hPa_2', + 'wind_925hPa_u_2', + 'wind_925hPa_v_2', + 'wind_dir_925hPa_2', + 'wind_speed_925hPa_2', + 'temperature_950hPa_2', + 'wind_950hPa_u_2', + 'wind_950hPa_v_2', + 'wind_dir_950hPa_2', + 'wind_speed_950hPa_2', + 'temperature_1000hPa_2', + 'wind_1000hPa_u_2', + 'wind_1000hPa_v_2', + 'wind_dir_1000hPa_2', + 'wind_speed_1000hPa_2' +] -band_depth_nsbs = [4,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59, - 61,63,65,67,69,71,73,75,77,79,82,88,96,113,138,175,225,275,325,375,425,475,525] -# Salinity -band_num_salinity_nsbs = list(range(160,210)) -salinity_nsbs = dict(zip(band_depth_nsbs,band_num_salinity_nsbs)) -# Water temperature -band_num_water_temp_nsbs = list(range(110,160)) -water_temp_nsbs = dict(zip(band_depth_nsbs,band_num_water_temp_nsbs)) -# v-component of current -band_num_v_current_nsbs = list(range(60,110)) -v_current_nsbs = dict(zip(band_depth_nsbs,band_num_v_current_nsbs)) -# u-component of current -band_num_u_current_nsbs = list(range(10,60)) -u_current_nsbs = dict(zip(band_depth_nsbs,band_num_u_current_nsbs)) +paraWam = [ + 'wind_speed_2', + 'wind_dir_2', + 'significant_wave_height', + 'dominant_wave_period', + 'mean_wave_period', + 'mean_zerocrossing_period', + 'mean_wave_dir', + 'significant_windwave_height', + 'mean_windwave_period', + 'mean_windwave_dir', + 'significant_totalswell_height', + 'mean_totalswell_period', + 'mean_totalswell_dir', + 'benjamin_feir_index' +] -################# idw ####################### -band_depth_idw = [1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28, - 29,30,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75] -# Salinity -band_num_salinity_idw = list(range(166,218)) -salinity_idw = dict(zip(band_depth_idw,band_num_salinity_idw)) -# Water temperature -band_num_water_temp_idw = list(range(114,166)) -water_temp_idw = dict(zip(band_depth_idw,band_num_water_temp_idw)) -# v-component of current -band_num_v_current_idw = list(range(62,114)) -v_current_idw = dict(zip(band_depth_idw,band_num_v_current_idw)) -# v-component of current -band_num_u_current_idw = list(range(10,62)) -u_current_idw = dict(zip(band_depth_idw,band_num_u_current_idw)) +paraNsbs = ['sea_mean_deviation', + 'wind_u', + 'wind_v', + 'current_u', + 'current_v', + 'water_temperature', + 'salinity', + 'ice_thickness', + 'ice_concentration'] -################## ws ########################## -band_depth_ws = [4,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49] -# Salinity -band_num_salinity_ws = list(range(76,98)) -salinity_ws = dict(zip(band_depth_ws,band_num_salinity_ws)) -# Water temperature -band_num_water_temp_ws = list(range(54,76)) -water_temp_ws = dict(zip(band_depth_ws,band_num_water_temp_ws)) -# v-component of current -band_num_v_current_ws = list(range(32,54)) -v_current_ws = dict(zip(band_depth_ws,band_num_v_current_ws)) -# v-component of current -band_num_u_current_ws = list(range(10,32)) -u_current_ws = dict(zip(band_depth_ws,band_num_u_current_ws)) -######################## if ####################### -band_depth_if = [1,3,4,5,6,7,8,9,10,11] -# Salinity -band_num_salinity_if = list(range(40,50)) -salinity_if = dict(zip(band_depth_if,band_num_salinity_if)) -# Water temperature -band_num_water_temp_if = list(range(30,40)) -water_temp_if = dict(zip(band_depth_if,band_num_water_temp_if)) -# v-component of current -band_num_v_current_if = list(range(20,30)) -v_current_if = dict(zip(band_depth_if,band_num_v_current_if)) -# v-component of current -band_num_u_current_if = list(range(10,30)) -u_current_if = dict(zip(band_depth_if,band_num_u_current_if)) -##################### lf ###################### -band_depth_lf = [1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22] -# Salinity -band_num_salinity_lf = list(range(73,94)) -salinity_lf = dict(zip(band_depth_lf,band_num_salinity_lf)) -# Water temperature -band_num_water_temp_lf = list(range(52,73)) -water_temp_lf = dict(zip(band_depth_lf,band_num_water_temp_lf)) -# v-component of current -band_num_v_current_lf = list(range(31,52)) -v_current_lf = dict(zip(band_depth_lf,band_num_v_current_lf)) -# v-component of current -band_num_u_current_lf = list(range(10,31)) -u_current_lf = dict(zip(band_depth_lf,band_num_u_current_lf)) - -##################### lb ###################### -band_depth_lb = [1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,35,37,39,41,43,45,47,49,51,53,55] -# Salinity -band_num_salinity_lb = list(range(136,178)) -salinity_lb = dict(zip(band_depth_lb,band_num_salinity_lb)) -# Water temperature -band_num_water_temp_lb = list(range(94,136)) -water_temp_lb = dict(zip(band_depth_lb,band_num_water_temp_lb)) -# v-component of current -band_num_v_current_lb = list(range(52,94)) -v_current_lb = dict(zip(band_depth_lb,band_num_v_current_lb)) -# v-component of current -band_num_u_current_lb = list(range(10,52)) -u_current_lb = dict(zip(band_depth_lb,band_num_u_current_lb)) - - -fore_para_names = [] \ No newline at end of file From e1e3c481d9b61800ec8d6b542701fb03a899845e Mon Sep 17 00:00:00 2001 From: svend1079 Date: Fri, 14 Jul 2023 10:15:47 +0200 Subject: [PATCH 3/7] Comments, and bug fix Comments were added to the script. Forecast name changed to ForecastEDR. --- DMI_Open_Data_dialog.py | 19 ++++++++++++------ DMI_Open_Data_dialog_base.ui | 38 ++++++++++++++++++------------------ settings/settings.ui | 6 +++--- 3 files changed, 35 insertions(+), 28 deletions(-) diff --git a/DMI_Open_Data_dialog.py b/DMI_Open_Data_dialog.py index d1e62e8..1033472 100644 --- a/DMI_Open_Data_dialog.py +++ b/DMI_Open_Data_dialog.py @@ -441,7 +441,7 @@ def run(self): elif dataName == 'Lightning Data': data_type = 'lightningdata' api_key = self.settings_manager.value(DMISettingKeys.LIGHTNINGDATA_API_KEY.value) - elif dataName == 'Forecast Data': + elif dataName == 'ForecastEDR Data': data_type = 'forecastdata' api_key = self.settings_manager.value(DMISettingKeys.FORECASTDATA_API_KEY.value) elif dataName == 'Stations and Parameters' and self.met_stat_info.isChecked(): @@ -619,7 +619,8 @@ def run(self): for para in paraWam: qt_checkbox_widget = getattr(self, para) if qt_checkbox_widget.isChecked(): - para = para[:-2] + if '_2' in para: + para = para[:-2] para = para.replace('_', '-') parameters.append(para) qt_checkbox_widget.setChecked(False) @@ -697,7 +698,7 @@ def run(self): start_datetime = self.start_date5.dateTime().toString(Qt.ISODate) + 'Z' end_datetime = self.end_date5.dateTime().toString(Qt.ISODate) + 'Z' - elif dataName == 'Forecast Data': + elif dataName == 'ForecastEDR Data': start_datetime = self.datetime_fore_start.dateTime().toString(Qt.ISODate) + 'Z' end_datetime = self.datetime_fore_end.dateTime().toString(Qt.ISODate) + 'Z' @@ -1031,8 +1032,8 @@ def run(self): df.to_csv(self.file_name_lig.text() + '.csv', index=False) self.file_name_lig.clear() - # Forecast data - if dataName == 'Forecast Data': + # ForecastEDR data + if dataName == 'ForecastEDR Data': if self.bbox_harm.isChecked(): position_res = 'cube' elif self.coordi_harm.isChecked(): @@ -1043,8 +1044,9 @@ def run(self): 'limit': '300000', 'f': 'GeoJSON'} - if self.bbox_harm.isChecked(): + # This variable is used to decide wheter or not QGIS should try to add data. + # returned_data = 1 then it proceeds, returned_data = 0 it stops. returned_data = '1' if ',' in self.bbox_line.text(): QMessageBox.warning(self, self.tr("DMI Open Data"), @@ -1052,11 +1054,13 @@ def run(self): + '\n' + '\n' + 'E.g. change 10.52,57.13,11.20,57.40 to 10.52 57.13 11.20 57.40')) returned_data = '0' bbox_cordi = self.bbox_line.text() + # comma is added as it is used in BBOX to seperate coordinates. Not used in coordinates. bbox_cordi = bbox_cordi.replace(' ', ',') params.update({'bbox': bbox_cordi}) elif self.coordi_harm.isChecked(): returned_data = '1' + # commas not allowed, as the API does not accept it. if ',' in self.coordi_line.text(): QMessageBox.warning(self, self.tr("DMI Open Data"), self.tr('Please use space as coordinates seperator and not comma.' \ @@ -1064,6 +1068,7 @@ def run(self): returned_data = '0' params.update({'coords': 'POINT(' + self.coordi_line.text() + ')'}) + # A parameter must be given. Otherwise QGIS will try to import all parameters, which is rarely needed. if len(parameters) > 0 and returned_data != '0': params.update({'parameter-name': parameters}) returned_data = '1' @@ -1077,8 +1082,10 @@ def run(self): print(r, r.url) json = r.json() df = json_normalize(json['features']) + # Remove collumns that are not needed. df = df.drop(['type', 'geometry.type'], axis=1) vl = QgsVectorLayer("Point", data_type2 + ' ' + fore_area, "memory") + # If the user wants an overview of the data, the df.head is printed with all columns visible. pd.set_option('display.max_columns', None) print(df.head()) pr = vl.dataProvider() diff --git a/DMI_Open_Data_dialog_base.ui b/DMI_Open_Data_dialog_base.ui index f828846..de9a41b 100644 --- a/DMI_Open_Data_dialog_base.ui +++ b/DMI_Open_Data_dialog_base.ui @@ -38,7 +38,7 @@ true - 4 + 5 false @@ -367,8 +367,8 @@ 0 0 - 63 - 18 + 98 + 28 @@ -443,8 +443,8 @@ 0 0 - 63 - 18 + 98 + 28 @@ -465,8 +465,8 @@ 0 0 - 63 - 18 + 98 + 28 @@ -487,8 +487,8 @@ 0 0 - 63 - 18 + 98 + 28 @@ -1029,7 +1029,7 @@ - Forecast Data + ForecastEDR Data @@ -1152,7 +1152,7 @@ 0 0 - 582 + 269 817 @@ -1420,7 +1420,7 @@ 0 0 - 582 + 183 1852 @@ -2003,7 +2003,7 @@ 0 0 - 582 + 183 1852 @@ -2586,8 +2586,8 @@ 0 0 - 599 - 139 + 269 + 58 @@ -2688,8 +2688,8 @@ 0 - -101 - 600 + 0 + 195 334 @@ -3162,8 +3162,8 @@ 0 0 - 18 - 18 + 98 + 28 diff --git a/settings/settings.ui b/settings/settings.ui index 15ddd2a..370accc 100644 --- a/settings/settings.ui +++ b/settings/settings.ui @@ -45,8 +45,8 @@ 0 0 - 511 - 334 + 491 + 421 @@ -157,7 +157,7 @@ - API Key forecastData + API Key forecastedrData From 2f2cc7e5229fe3bc9b955768344ab0df1415c5f8 Mon Sep 17 00:00:00 2001 From: svend1079 Date: Thu, 27 Jul 2023 13:53:22 +0200 Subject: [PATCH 4/7] Forecast tab modification and clean up - EDR parameters added dynamically. - GRIB forecast added again after removal. - Clean up in code that is unused. --- DMI_Open_Data_dialog.py | 560 ++- DMI_Open_Data_dialog_base.ui | 3342 +++++++++-------- Guide.md | 20 +- api/edr_parameters.py | 37 + forecast_para.py | 319 +- .../{forecast.png => forecast_raster.png} | Bin guide image/forecast_vector.png | Bin 0 -> 432099 bytes para_munic_grid.py | 898 +---- settings/settings.ui | 20 +- settings/settings_manager.py | 14 +- 10 files changed, 2338 insertions(+), 2872 deletions(-) create mode 100644 api/edr_parameters.py rename guide image/{forecast.png => forecast_raster.png} (100%) create mode 100644 guide image/forecast_vector.png diff --git a/DMI_Open_Data_dialog.py b/DMI_Open_Data_dialog.py index 1033472..d030a09 100644 --- a/DMI_Open_Data_dialog.py +++ b/DMI_Open_Data_dialog.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- import os -from typing import Tuple, Dict, Set +from typing import Tuple, Dict, Set, List from qgis.PyQt import QtWidgets, uic import requests import pandas as pd @@ -8,29 +8,27 @@ import warnings from tempfile import mkdtemp from qgis.core import QgsVectorLayer, QgsProcessing, QgsProcessingFeedback, QgsRasterLayer, QgsContrastEnhancement, QgsRasterMinMaxOrigin, QgsFeature, QgsGeometry, QgsField, QgsPointXY, QgsProject, QgsRasterLayerTemporalProperties, QgsDateTimeRange, QgsColorRampShader, QgsRasterShader, QgsSingleBandPseudoColorRenderer, QgsSingleBandGrayRenderer, QgsRasterBandStats -from qgis.PyQt.QtGui import ( - QColor) from qgis.utils import iface from PyQt5.QtCore import * from PyQt5.QtWidgets import * from qgis.PyQt.QtCore import QVariant import webbrowser + +from .api.edr_parameters import get_forecast_parameters, EDRForecastCollection from .api.station import get_stations, StationApi, StationId, Station, Parameter from .settings import DMISettingsManager, DMISettingKeys warnings.simplefilter(action='ignore', category=FutureWarning) # The lists that will be used for parameters, stations, municipalities, 10 and 20km grids in the API calls. # Stations are not part of this list, as stations are more dynamicly added and removed. -# Stations are therefore imported from DMI Open Data via. the internet, each time QGIS is started. -from .para_munic_grid import para_grid, grid10, grid20, munic -from .forecast_para import paraHarmPl, paraHarmSf, paraHarmIgbSf, paraHarmIgbPl, paraWam, paraNsbs +# Stations are therefore imported from DMI Open Data via. API call, each time QGIS is started. +from .para_munic_grid import para_grid, grid10, grid20, munic_id_name +from .forecast_para import depth_para_dkss, salinity_nsbs, salinity_idw, salinity_if, salinity_lb, salinity_lf, salinity_ws, water_temp_nsbs, water_temp_if, water_temp_lb, water_temp_lf, water_temp_ws, water_temp_idw, v_current_nsbs, v_current_idw, v_current_if, v_current_lb, v_current_lf, v_current_ws, u_current_nsbs, u_current_idw, u_current_if,u_current_lb, u_current_lf, u_current_ws # This loads your .ui file so that PyQt can populate your plugin with the elements from Qt Designer # Ignore this, we no longer use the static ui files, look at pluginui_test.py instead FORM_CLASS, _ = uic.loadUiType(os.path.join( os.path.dirname(__file__), 'DMI_Open_Data_dialog_base.ui')) -########### DELETE ############## - # This is where you import and inherit your PY UI class class DMIOpenDataDialog(QtWidgets.QDialog, FORM_CLASS): @@ -70,6 +68,29 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.tr(str(ex))) load_ui_options['invalid_metobs_api_key'] = True + self.harmonie_nea_sf_forecast_parameters = self.get_forecast_parameters_if_settings_allow( + EDRForecastCollection.HARMONIE_NEA_SF) + self.harmonie_nea_pl_forecast_parameters = self.get_forecast_parameters_if_settings_allow( + EDRForecastCollection.HARMONIE_NEA_PL) + self.harmonie_igb_sf_forecast_parameters = self.get_forecast_parameters_if_settings_allow( + EDRForecastCollection.HARMONIE_IGB_SF) + self.harmonie_igb_pl_forecast_parameters = self.get_forecast_parameters_if_settings_allow( + EDRForecastCollection.HARMONIE_IGB_PL) + self.dkss_nsbs_forecast_parameters = self.get_forecast_parameters_if_settings_allow( + EDRForecastCollection.DKSS_NSBS) + self.dkss_idw_forecast_parameters = self.get_forecast_parameters_if_settings_allow( + EDRForecastCollection.DKSS_IDW) + self.dkss_if_forecast_parameters = self.get_forecast_parameters_if_settings_allow( + EDRForecastCollection.DKSS_IF) + self.dkss_ws_forecast_parameters = self.get_forecast_parameters_if_settings_allow( + EDRForecastCollection.DKSS_WS) + self.dkss_lf_forecast_parameters = self.get_forecast_parameters_if_settings_allow( + EDRForecastCollection.DKSS_LF) + self.dkss_lb_forecast_parameters = self.get_forecast_parameters_if_settings_allow( + EDRForecastCollection.DKSS_LB) + self.wam_forecast_parameters = self.get_forecast_parameters_if_settings_allow( + EDRForecastCollection.WAM_DW) + super(DMIOpenDataDialog, self).setupUi(self) self.load_station_and_parameter_ui(**load_ui_options) @@ -84,16 +105,19 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.radioButton_19.setChecked(True) self.radioButton_21.setChecked(True) self.wam_fore.setChecked(True) + self.wam_fore_grib.setChecked(True) self.north_sea_baltic_sea.setChecked(True) + self.north_sea_baltic_sea_2.setChecked(True) self.danish_waters.setChecked(True) - #self.all_para_dkss.setChecked(True) - #self.all_para_wam.setChecked(True) self.composite.setChecked(True) self.full_range.setChecked(True) self._60960.setChecked(True) self.all_lightning_types.setChecked(True) self.harm_fore.setChecked(True) self.nea_sf_area.setChecked(True) + self.dev_sea_mean.setChecked(True) + self.wind_speed_10.setChecked(True) + self.danish_waters_2.setChecked(True) # Datetime default today and yesterday @@ -112,6 +136,9 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.datetime_fore_start.setDateTime(QDateTime(QDate.currentDate().addDays(1), QTime(22, 00, 0))) self.datetime_fore_end.setDateTime(QDateTime(QDate.currentDate().addDays(2), QTime(0, 0, 0))) + self.datetime_fore_start_2.setDateTime(QDateTime(QDate.currentDate().addDays(1), QTime(22, 00, 0))) + self.datetime_fore_end_2.setDateTime(QDateTime(QDate.currentDate().addDays(2), QTime(0, 0, 0))) + self.start_date5.setDateTime(QDateTime(QDate.currentDate().addDays(-1), QTime(0, 0, 0))) self.end_date5.setDateTime(QDateTime(QDate.currentDate(), QTime(0, 0, 0))) @@ -123,47 +150,100 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): # All the buttons that do actions self.run_app.clicked.connect(self.run) + + #Browse folder when saving as .csv self.browse_obs.clicked.connect(self.browse_files_obs) self.browse_cli.clicked.connect(self.browse_files_cli) self.browse_lig.clicked.connect(self.browse_files_lig) self.browse_oce.clicked.connect(self.browse_files_oce) self.browse_fore.clicked.connect(self.browse_files_fore) + + # Change parameter and station view when clicked in Climate Data. self.stat_type.clicked.connect(self.stat_typeR) self.grid10_type.clicked.connect(self.grid10_typeR) self.grid20_type.clicked.connect(self.grid20_typeR) self.munic_type.clicked.connect(self.municipality_typeR) self.country_type.clicked.connect(self.country_typeR) + + # Opens dmi.dk self.dmi_open_data.clicked.connect(self.open_openData) self.dmi_open_data_2.clicked.connect(self.open_openData_2) self.dmi_dk.clicked.connect(self.open_dmi_dk) + + # Sets the initial page displayed self.stackedWidget.setCurrentWidget(self.stat_clima) self.stackedWidget_2.setCurrentWidget(self.stat_para) self.stackedWidget_3.setCurrentWidget(self.met_stat_page) self.harm_para_stacked.setCurrentWidget(self.harm_nea_sf_para) - self.met_stat_info.clicked.connect(self.infoStat) self.para_stacked.setCurrentWidget(self.harmonie_page) + self.para_stacked_2.setCurrentWidget(self.wam_page_2) + self.stacked_depth.setCurrentWidget(self.nsbs_depth) + self.depth_group.setEnabled(False) + + # Changes the page in Stations and Parameters + self.met_stat_info.clicked.connect(self.infoStat) + self.tide_info.clicked.connect(self.infoTide) + + # Defines time availability in Stations and Parameters + self.radioButton_10.clicked.connect(self.disable_time) + self.radioButton_11.clicked.connect(self.enable_time) + self.radioButton_21.clicked.connect(self.disable_time_oce) + self.radioButton_22.clicked.connect(self.enable_time_oce) + + # Changes the page in Forecast Data self.wam_fore.clicked.connect(self.wamTab) self.dkss_fore.clicked.connect(self.dkssTab) self.harm_fore.clicked.connect(self.harmonieTab) - self.tide_info.clicked.connect(self.infoTide) + #EDR + self.inner_danish_waters.clicked.connect(self.idw_tab) + self.north_sea_baltic_sea.clicked.connect(self.nsbs_tab) + self.limfjord.clicked.connect(self.lf_tab) + self.little_belt.clicked.connect(self.lb_tab) + self.wadden_sea.clicked.connect(self.ws_tab) + self.isefjord.clicked.connect(self.if_tab) + + + #GRIB + self.north_sea_baltic_sea_2.clicked.connect(self.nsbs_depth_tab) + self.inner_danish_waters_2.clicked.connect(self.idw_depth_tab) + self.wadden_sea_2.clicked.connect(self.ws_depth_tab) + self.isefjord_2.clicked.connect(self.if_depth_tab) + self.limfjord_2.clicked.connect(self.lf_depth_tab) + self.little_belt_2.clicked.connect(self.lb_depth_tab) + self.dev_sea_mean.clicked.connect(self.depth_tab_dis) + self.u_comp_wind.clicked.connect(self.depth_tab_dis) + self.v_comp_wind.clicked.connect(self.depth_tab_dis) + self.u_comp_cur.clicked.connect(self.depth_tab_dis) + self.v_comp_cur.clicked.connect(self.depth_tab_dis) + self.water_temp.clicked.connect(self.depth_tab_dis) + self.salinity_2.clicked.connect(self.depth_tab_dis) + self.ice_thick.clicked.connect(self.depth_tab_dis) + self.ice_conc.clicked.connect(self.depth_tab_dis) + self.u_comp_cur_.clicked.connect(self.depth_tab_enabled) + self.v_comp_cur_.clicked.connect(self.depth_tab_enabled) + self.water_temp_.clicked.connect(self.depth_tab_enabled) + self.salinity_.clicked.connect(self.depth_tab_enabled) + + self.wam_fore_grib.clicked.connect(self.wamTab_grib) + self.dkss_fore_grib.clicked.connect(self.dkssTab_grib) + + # Sets the correct parameter page for Forecast self.nea_sf_area.clicked.connect(self.neaSfTab) self.nea_pl_area.clicked.connect(self.neaPlTab) self.igb_sf_area.clicked.connect(self.igbSfTab) self.igb_pl_area.clicked.connect(self.igbPlTab) + # Defines coordinates or BBOX availability in forecast self.coordi_harm.clicked.connect(self.enableCoordi) self.bbox_harm.clicked.connect(self.enableBBox) self.coordi_line.setEnabled(False) self.bbox_harm.setChecked(True) - - self.radioButton_10.clicked.connect(self.disable_time) - self.radioButton_11.clicked.connect(self.enable_time) - self.radioButton_21.clicked.connect(self.disable_time_oce) - self.radioButton_22.clicked.connect(self.enable_time_oce) + # Changes the page for radar type self.composite.clicked.connect(self.comp) self.pseudo.clicked.connect(self.pseud) + self.stat_radar.setEnabled(False) # Sets the time in "Stations and parameters" unavailable untill "Defined Time" has been checked self.groupBox_25.setEnabled(False) @@ -171,14 +251,13 @@ def __init__(self, settings_manager: DMISettingsManager, parent=None): self.dateTimeEdit_3.setEnabled(False) self.dateTimeEdit_4.setEnabled(False) - self.stat_radar.setEnabled(False) - + # Defines the objects used if API key not defined. self.radar_disable_if_needed() self.lightning_disable_if_needed() self.metobs_disable_if_needed() self.climate_disable_if_needed() self.ocean_disable_if_needed() - self.forecast_disable_if_needed() + self.forecast_GRIB_disable_if_needed() self.stat_info_disable_if_needed() # Disables data-tab if no API key has been entered @@ -189,11 +268,18 @@ def stat_info_disable_if_needed(self): layout.addWidget(DMIOpenDataDialog.generate_no_api_key_label(DMISettingKeys.METOBS_API_KEY)) self.tab_8.setEnabled(False) - def forecast_disable_if_needed(self): - api_key = self.settings_manager.value(DMISettingKeys.FORECASTDATA_API_KEY.value) + def forecast_GRIB_disable_if_needed(self): + api_key = self.settings_manager.value(DMISettingKeys.FORECASTDATA_GRIB_API_KEY.value) + if api_key == '': + layout = self.tab_7.findChildren(QtWidgets.QVBoxLayout)[0] + layout.addWidget(DMIOpenDataDialog.generate_no_api_key_label(DMISettingKeys.FORECASTDATA_GRIB_API_KEY)) + self.tab_7.setEnabled(False) + + def forecast_EDR_disable_if_needed(self): + api_key = self.settings_manager.value(DMISettingKeys.FORECASTDATA_EDR_API_KEY.value) if api_key == '': layout = self.tab_4.findChildren(QtWidgets.QVBoxLayout)[0] - layout.addWidget(DMIOpenDataDialog.generate_no_api_key_label(DMISettingKeys.FORECASTDATA_API_KEY)) + layout.addWidget(DMIOpenDataDialog.generate_no_api_key_label(DMISettingKeys.FORECASTDATA_EDR_API_KEY)) self.tab_4.setEnabled(False) def ocean_disable_if_needed(self): @@ -240,6 +326,13 @@ def get_stations_and_parameters_if_settings_allow(self, station_type: StationApi parameters = {parameter for station in stations.values() for parameter in station.parameters } return stations, parameters + def get_forecast_parameters_if_settings_allow(self, forecast_collection: EDRForecastCollection) -> List[str]: # TODO return Parameter + api_key = self.settings_manager.value(DMISettingKeys.FORECASTDATA_EDR_API_KEY.value) + parameters = [] + if api_key: + parameters = [p[0] for p in get_forecast_parameters(forecast_collection, api_key)] + return parameters + def load_station_and_parameter_ui(self, invalid_metobs_api_key=False, invalid_oceanobs_api_key=False, invalid_climate_api_key=False): # Creates the checkboxes for parameters in metObs self.listCheckBox_para_stat_metObs = \ @@ -264,13 +357,47 @@ def load_station_and_parameter_ui(self, invalid_metobs_api_key=False, invalid_oc self.display_parameters(grid20, DMISettingKeys.CLIMATEDATA_API_KEY, self.scrollAreaWidgetContents_4, invalid_api_key=invalid_climate_api_key) # Creates the checkboxes for municipalities in climateData self.listCheckBox_municipalityId = \ - self.display_parameters(munic, DMISettingKeys.CLIMATEDATA_API_KEY, self.scrollAreaWidgetContents_7, invalid_api_key=invalid_climate_api_key) + self.display_parameters(munic_id_name, DMISettingKeys.CLIMATEDATA_API_KEY, self.scrollAreaWidgetContents_7, invalid_api_key=invalid_climate_api_key) # Creates the checkboxes for stations in oceanObs self.listCheckBox_stat_ocean = \ self.display_stations(self.stations_ocean, DMISettingKeys.OCEANOBS_API_KEY, self.scrollAreaWidgetContents_10, invalid_api_key=invalid_oceanobs_api_key) + self.listCheckBox_station_climate_information = \ self.display_parameters(self.climatedata_parameters, DMISettingKeys.METOBS_API_KEY, self.scrollAreaWidgetContents_9, invalid_api_key=invalid_climate_api_key, use_radio_button=True) + self.listCheckBox_para_harmonie_igb_sf_edr = \ + self.display_parameters(self.harmonie_igb_sf_forecast_parameters, DMISettingKeys.FORECASTDATA_EDR_API_KEY, + self.scrollAreaWidgetContents_16, invalid_api_key=False) + self.listCheckBox_para_harmonie_nea_pl_edr = \ + self.display_parameters(self.harmonie_nea_pl_forecast_parameters, DMISettingKeys.FORECASTDATA_EDR_API_KEY, + self.scrollAreaWidgetContents_14, invalid_api_key=False) + self.listCheckBox_para_harmonie_igb_pl_edr = \ + self.display_parameters(self.harmonie_igb_pl_forecast_parameters, DMISettingKeys.FORECASTDATA_EDR_API_KEY, + self.scrollAreaWidgetContents_15, invalid_api_key=False) + self.listCheckBox_para_harmonie_nea_sf_edr = \ + self.display_parameters(self.harmonie_nea_sf_forecast_parameters, DMISettingKeys.FORECASTDATA_EDR_API_KEY, + self.scrollAreaWidgetContents_12, invalid_api_key=False) + self.listCheckBox_para_dkss_nsbs_edr = \ + self.display_parameters(self.dkss_nsbs_forecast_parameters, DMISettingKeys.FORECASTDATA_EDR_API_KEY, + self.scrollAreaWidgetContents_13, invalid_api_key=False) + self.listCheckBox_para_dkss_idw_edr = \ + self.display_parameters(self.dkss_idw_forecast_parameters, DMISettingKeys.FORECASTDATA_EDR_API_KEY, + self.scrollAreaWidgetContents_20, invalid_api_key=False) + self.listCheckBox_para_dkss_lf_edr = \ + self.display_parameters(self.dkss_lf_forecast_parameters, DMISettingKeys.FORECASTDATA_EDR_API_KEY, + self.scrollAreaWidgetContents_21, invalid_api_key=False) + self.listCheckBox_para_dkss_lb_edr = \ + self.display_parameters(self.dkss_lb_forecast_parameters, DMISettingKeys.FORECASTDATA_EDR_API_KEY, + self.scrollAreaWidgetContents_22, invalid_api_key=False) + self.listCheckBox_para_dkss_if_edr = \ + self.display_parameters(self.dkss_if_forecast_parameters, DMISettingKeys.FORECASTDATA_EDR_API_KEY, + self.scrollAreaWidgetContents_23, invalid_api_key=False) + self.listCheckBox_para_dkss_ws_edr = \ + self.display_parameters(self.dkss_ws_forecast_parameters, DMISettingKeys.FORECASTDATA_EDR_API_KEY, + self.scrollAreaWidgetContents_24, invalid_api_key=False) + self.listCheckBox_para_wam_edr = \ + self.display_parameters(self.wam_forecast_parameters, DMISettingKeys.FORECASTDATA_EDR_API_KEY, + self.scrollAreaWidgetContents_11, invalid_api_key=False) @staticmethod def generate_no_api_key_label(settings_key: DMISettingKeys): @@ -310,14 +437,17 @@ def display_parameters(self, parameters: Set[Parameter], settings_key: DMISettin parameter_layout.addWidget(DMIOpenDataDialog.generate_no_api_key_label(settings_key)) return checkboxes + # The different actions that use the objects defined earlier. + # Enables or disables different radar types. def comp(self): self.stat_radar.setEnabled(False) self.scan_type.setEnabled(True) def pseud(self): self.stat_radar.setEnabled(True) self.scan_type.setEnabled(False) -# Disables or enables time in "Stations and parameters" + + # Disables or enables time in "Stations and parameters" def disable_time_oce(self): self.dateTimeEdit_3.setEnabled(False) self.dateTimeEdit_4.setEnabled(False) @@ -330,18 +460,14 @@ def disable_time(self): def enable_time(self): self.groupBox_25.setEnabled(True) self.groupBox_26.setEnabled(True) -# Changes pages when clicked + + # Changes pages when clicked def wamTab(self): self.para_stacked.setCurrentWidget(self.wam_page) def dkssTab(self): self.para_stacked.setCurrentWidget(self.dkss_page) def harmonieTab(self): self.para_stacked.setCurrentWidget(self.harmonie_page) - def depth_tab_dis(self): - self.groupBox_14.setEnabled(False) - def depth_tab_enabled(self): - self.groupBox_14.setEnabled(True) - def neaSfTab(self): self.harm_para_stacked.setCurrentWidget(self.harm_nea_sf_para) def neaPlTab(self): @@ -350,14 +476,6 @@ def igbSfTab(self): self.harm_para_stacked.setCurrentWidget(self.harm_igb_sf_para) def igbPlTab(self): self.harm_para_stacked.setCurrentWidget(self.harm_igb_pl_para) - - def enableCoordi(self): - self.coordi_line.setEnabled(True) - self.bbox_line.setEnabled(False) - def enableBBox(self): - self.coordi_line.setEnabled(False) - self.bbox_line.setEnabled(True) - def infoStat(self): self.stackedWidget_3.setCurrentWidget(self.met_stat_page) def infoGrid10(self): @@ -372,17 +490,71 @@ def infoLight(self): self.stackedWidget_3.setCurrentWidget(self.light_page) def infoTide(self): self.stackedWidget_3.setCurrentWidget(self.tide_page) + def stat_typeR(self): + self.stackedWidget.setCurrentWidget(self.stat_clima) + self.stackedWidget_2.setCurrentWidget(self.stat_para) + def grid10_typeR(self): + self.stackedWidget.setCurrentWidget(self.grid_10) + self.stackedWidget_2.setCurrentWidget(self.grid_para) + def grid20_typeR(self): + self.stackedWidget.setCurrentWidget(self.grid_20) + self.stackedWidget_2.setCurrentWidget(self.grid_para) + def municipality_typeR(self): + self.stackedWidget.setCurrentWidget(self.municipality) + self.stackedWidget_2.setCurrentWidget(self.grid_para) + def country_typeR(self): + self.stackedWidget.setCurrentWidget(self.country) + self.stackedWidget_2.setCurrentWidget(self.grid_para) + def wamTab_grib(self): + self.para_stacked_2.setCurrentWidget(self.wam_page_2) + def dkssTab_grib(self): + self.para_stacked_2.setCurrentWidget(self.dkss_page_2) + def nsbs_depth_tab(self): + self.stacked_depth.setCurrentWidget(self.nsbs_depth) + def idw_depth_tab(self): + self.stacked_depth.setCurrentWidget(self.idw_depth) + def ws_depth_tab(self): + self.stacked_depth.setCurrentWidget(self.ws_depth) + def if_depth_tab(self): + self.stacked_depth.setCurrentWidget(self.if_depth) + def lf_depth_tab(self): + self.stacked_depth.setCurrentWidget(self.lf_depth) + def lb_depth_tab(self): + self.stacked_depth.setCurrentWidget(self.lb_depth) + def depth_tab_dis(self): + self.depth_group.setEnabled(False) + def depth_tab_enabled(self): + self.depth_group.setEnabled(True) + def idw_tab(self): + self.stackedWidget_4.setCurrentWidget(self.idw) + def nsbs_tab(self): + self.stackedWidget_4.setCurrentWidget(self.nsbs) + def lf_tab(self): + self.stackedWidget_4.setCurrentWidget(self.lf) + def lb_tab(self): + self.stackedWidget_4.setCurrentWidget(self.lb) + def ws_tab(self): + self.stackedWidget_4.setCurrentWidget(self.ws) + def if_tab(self): + self.stackedWidget_4.setCurrentWidget(self.isf) + + # Enables coordinates or BBOX + def enableCoordi(self): + self.coordi_line.setEnabled(True) + self.bbox_line.setEnabled(False) + def enableBBox(self): + self.coordi_line.setEnabled(False) + self.bbox_line.setEnabled(True) - - -# Actions for buttons to go to dmi.dk + # Actions for buttons to go to dmi.dk def open_openData(self): webbrowser.open('https://confluence.govcloud.dk/display/FDAPI/Danish+Meteorological+Institute+-+Open+Data') def open_openData_2(self): webbrowser.open('https://confluence.govcloud.dk/display/FDAPI/Danish+Meteorological+Institute+-+Open+Data') def open_dmi_dk(self): webbrowser.open('https://www.dmi.dk/') -# Actions when saving as .csv + + # Actions when saving as .csv def browse_files_cli(self): fname = QFileDialog.getSaveFileName(self, 'Open File', 'C:') self.file_name_cli.setText(fname[0]) @@ -395,28 +567,12 @@ def browse_files_oce(self): def browse_files_fore(self): fname = QFileDialog.getSaveFileName(self, 'Open File', 'C') self.file_name_fore.setText(fname[0]) - -# Changing pages in Climate Data - def stat_typeR(self): - self.stackedWidget.setCurrentWidget(self.stat_clima) - self.stackedWidget_2.setCurrentWidget(self.stat_para) - def grid10_typeR(self): - self.stackedWidget.setCurrentWidget(self.grid_10) - self.stackedWidget_2.setCurrentWidget(self.grid_para) - def grid20_typeR(self): - self.stackedWidget.setCurrentWidget(self.grid_20) - self.stackedWidget_2.setCurrentWidget(self.grid_para) - def municipality_typeR(self): - self.stackedWidget.setCurrentWidget(self.municipality) - self.stackedWidget_2.setCurrentWidget(self.grid_para) - def country_typeR(self): - self.stackedWidget.setCurrentWidget(self.country) - self.stackedWidget_2.setCurrentWidget(self.grid_para) def browse_files_obs(self): fname = QFileDialog.getSaveFileName(self, 'Open File', 'C:') self.file_name_obs.setText(fname[0]) def run(self): + # The two lists used to store the users input parameters = [] stations = [] @@ -443,7 +599,10 @@ def run(self): api_key = self.settings_manager.value(DMISettingKeys.LIGHTNINGDATA_API_KEY.value) elif dataName == 'ForecastEDR Data': data_type = 'forecastdata' - api_key = self.settings_manager.value(DMISettingKeys.FORECASTDATA_API_KEY.value) + api_key = self.settings_manager.value(DMISettingKeys.FORECASTDATA_EDR_API_KEY.value) + elif dataName == 'Forecast Data (GRIB)': + data_type = 'forecastdata' + api_key = self.settings_manager.value(DMISettingKeys.FORECASTDATA_GRIB_API_KEY.value) elif dataName == 'Stations and Parameters' and self.met_stat_info.isChecked(): data_type = 'stat_para_info' elif dataName == 'Stations and Parameters' and self.tide_info.isChecked(): @@ -476,14 +635,18 @@ def run(self): data_type2 = 'climateData' elif data_type == 'ocean_para_info': data_type2 = 'oceanObs' - elif data_type == 'forecastdata': - if self.wam_fore.isChecked(): + elif dataName == 'Forecast Data (GRIB)': + if self.wam_fore_grib.isChecked(): data_type2 = 'wam' - elif self.dkss_fore.isChecked(): + elif self.dkss_fore_grib.isChecked(): data_type2 = 'dkss' - elif self.harm_fore.isChecked(): + elif dataName == 'ForecastEDR Data': + if self.harm_fore.isChecked(): data_type2 = 'harmonie' - + elif self.wam_fore.isChecked(): + data_type2 = 'wam' + elif self.dkss_fore.isChecked(): + data_type2 = 'dkss' # Based on data_type2 the stationId, municipalityId or cellId will be assigned. if data_type2 == 'observation' and data_type == 'metObs': @@ -499,24 +662,24 @@ def run(self): elif data_type2 == '20kmGridValue': stat1 = 'cellId' elif data_type2 == 'wam': - if self.danish_waters.isChecked(): + if self.danish_waters.isChecked() or self.danish_waters_2.isChecked(): fore_area = 'dw' - elif self.north_atlantic.isChecked(): + elif self.north_atlantic.isChecked() or self.north_atlantic_2.isChecked(): fore_area = 'natlant' - elif self.north_sea_baltic.isChecked(): + elif self.north_sea_baltic.isChecked() or self.north_sea_baltic_2.isChecked(): fore_area = 'nsb' elif data_type2 == 'dkss': - if self.north_sea_baltic_sea.isChecked(): + if self.north_sea_baltic_sea.isChecked() or self.north_sea_baltic_sea_2.isChecked(): fore_area = 'nsbs' - elif self.inner_danish_waters.isChecked(): + elif self.inner_danish_waters.isChecked() or self.inner_danish_waters_2.isChecked(): fore_area = 'idw' - elif self.wadden_sea.isChecked(): + elif self.wadden_sea.isChecked() or self.wadden_sea_2.isChecked(): fore_area = 'ws' - elif self.isefjord.isChecked(): + elif self.isefjord.isChecked() or self.isefjord_2.isChecked(): fore_area = 'if' - elif self.limfjord.isChecked(): + elif self.limfjord.isChecked() or self.limfjord_2.isChecked(): fore_area = 'lf' - elif self.little_belt.isChecked(): + elif self.little_belt.isChecked() or self.little_belt_2.isChecked(): fore_area = 'lb' elif data_type2 == 'harmonie': if self.nea_sf_area.isChecked(): @@ -577,10 +740,10 @@ def run(self): # Municipality ID if data_type2 == 'municipalityValue': - for munic_id in munic: + for munic_id in munic_id_name: qt_checkbox_widget = self.listCheckBox_municipalityId[munic_id] if qt_checkbox_widget.isChecked(): - stations.append(munic_id) + stations.append(munic_id[-4:]) qt_checkbox_widget.setChecked(False) # Grid, municipality and country parameters @@ -615,43 +778,91 @@ def run(self): parameters.append(parameter) qt_checkbox_widget.setChecked(False) - if data_type2 == 'wam': - for para in paraWam: - qt_checkbox_widget = getattr(self, para) - if qt_checkbox_widget.isChecked(): - if '_2' in para: - para = para[:-2] - para = para.replace('_', '-') - parameters.append(para) - qt_checkbox_widget.setChecked(False) - - if data_type2 == 'dkss': - for para in paraNsbs: - qt_checkbox_widget = getattr(self, para) + # Forecast WAM parameters (GRIB) + if data_type2 == 'wam' and dataName == 'Forecast Data (GRIB)': + wam_para = ['wind_speed_10', 'wind_direction_10', 'sig_wave_height', 'dom_wave_period', + 'mean_wave_period_2', + 'mean_zero_wave_period', 'mean_wave_dir_2', 'sig_height_wind_waves_sea', + 'mean_period_wind_wave_sea', + 'mean_dir_wind_wave_sea', 'sig_height_swell', 'mean_period_swell', 'mean_dir_swell', + 'benjamin_index'] + wam_para_band = list(range(1, 15)) + para_fore_dict_wam = dict(zip(wam_para, wam_para_band)) + for fore_para in para_fore_dict_wam: + qt_checkbox_widget = getattr(self, fore_para) + if qt_checkbox_widget.isChecked(): + parameters.append(fore_para) + qt_checkbox_widget.setChecked(False) + + # Forecast DKSS parameters (GRIB) + if data_type2 == 'dkss' and dataName == 'Forecast Data (GRIB)': + print('asd') + nsbs_para = ['dev_sea_mean', 'u_comp_wind', 'v_comp_wind', 'u_comp_cur', 'v_comp_cur', + 'water_temp', 'salinity_2', 'ice_thick', 'ice_conc', 'u_comp_cur_', + 'v_comp_cur_', 'water_temp_', 'salinity_'] + nsbs_para_band = list(range(1, 10)) + para_fore_dict_nsbs = dict(zip(nsbs_para[0:9], nsbs_para_band)) + for fore_para in nsbs_para: + qt_checkbox_widget = getattr(self, fore_para) if qt_checkbox_widget.isChecked(): - para = para.replace('_', '-') - parameters.append(para) + parameters.append(fore_para) + print(parameters) qt_checkbox_widget.setChecked(False) - if data_type2 == 'harmonie': + # Forecast HARMONIE, DKSS and WAM (EDR) + if data_type2 == 'harmonie' or data_type2 == 'dkss' or data_type2 == 'wam': if fore_area == 'nea_sf': - parameterListForecast = paraHarmSf + parameterListForecast = self.harmonie_nea_sf_forecast_parameters + listCheckBoxForecast = self.listCheckBox_para_harmonie_nea_sf_edr + elif fore_area == 'nea_pl': - parameterListForecast = paraHarmPl + parameterListForecast = self.harmonie_nea_pl_forecast_parameters + listCheckBoxForecast = self.listCheckBox_para_harmonie_nea_pl_edr + elif fore_area == 'igb_sf': - parameterListForecast = paraHarmIgbSf + parameterListForecast = self.harmonie_igb_sf_forecast_parameters + listCheckBoxForecast = self.listCheckBox_para_harmonie_igb_sf_edr + elif fore_area == 'igb_pl': - parameterListForecast = paraHarmIgbPl - for para in parameterListForecast: - qt_checkbox_widget = getattr(self, para) + parameterListForecast = self.harmonie_igb_pl_forecast_parameters + listCheckBoxForecast = self.listCheckBox_para_harmonie_igb_pl_edr + + elif fore_area == 'nsbs': + parameterListForecast = self.dkss_nsbs_forecast_parameters + listCheckBoxForecast = self.listCheckBox_para_dkss_nsbs_edr + + elif fore_area == 'idw': + parameterListForecast = self.dkss_idw_forecast_parameters + listCheckBoxForecast = self.listCheckBox_para_dkss_idw_edr + + elif fore_area == 'lf': + parameterListForecast = self.dkss_lf_forecast_parameters + listCheckBoxForecast = self.listCheckBox_para_dkss_lf_edr + + elif fore_area == 'lb': + parameterListForecast = self.dkss_lf_forecast_parameters + listCheckBoxForecast = self.listCheckBox_para_dkss_lf_edr + + elif fore_area == 'if': + parameterListForecast = self.dkss_if_forecast_parameters + listCheckBoxForecast = self.listCheckBox_para_dkss_if_edr + + elif fore_area == 'ws': + parameterListForecast = self.dkss_ws_forecast_parameters + listCheckBoxForecast = self.listCheckBox_para_dkss_ws_edr + + elif data_type2 == 'wam': + print("her") + parameterListForecast = self.wam_forecast_parameters + listCheckBoxForecast = self.listCheckBox_para_wam_edr + + for para in parameterListForecast: + qt_checkbox_widget = listCheckBoxForecast[para] if qt_checkbox_widget.isChecked(): para = para.replace('_','-') - if fore_area == 'igb_pl' or fore_area == 'igb_sf': - para = para[:-2] parameters.append(para) qt_checkbox_widget.setChecked(False) - # Information for stations. The list of stations is based on climateData and NOT metObs if dataName == 'Stations and Parameters' and data_type2 == 'climateData': for parameter in self.climatedata_parameters: @@ -659,6 +870,7 @@ def run(self): if qt_checkbox_widget.isChecked(): parameters.append(parameter) qt_checkbox_widget.setChecked(False) + if dataName == 'Stations and Parameters' and data_type2 == 'oceanObs': ocean_parameters = ['sea_reg_info', 'sealev_dvr_info', 'sealev_ln_info', 'tw_info'] for oce_para in ocean_parameters: @@ -675,7 +887,7 @@ def run(self): if qt_checkbox_widget.isChecked(): radar_stations_it.append(radar_stat[1:]) qt_checkbox_widget.setChecked(False) - # Datetime + # Changes the format of the datetime to make it compatible for the URL calls. # The format by QT is yyyy:m:d h:m:s and the format needed for URL is yyyy:mm:ddThh:mm:ssZ if dataName == 'Meteorological Observations': @@ -702,6 +914,10 @@ def run(self): start_datetime = self.datetime_fore_start.dateTime().toString(Qt.ISODate) + 'Z' end_datetime = self.datetime_fore_end.dateTime().toString(Qt.ISODate) + 'Z' + elif dataName == 'Forecast Data (GRIB)': + start_datetime = self.datetime_fore_start.dateTime().toString(Qt.ISODate) + 'Z' + end_datetime = self.datetime_fore_end.dateTime().toString(Qt.ISODate) + 'Z' + elif dataName == 'Stations and Parameters' and data_type2 == 'climateData': start_datetime = self.dateTimeEdit.dateTime().toString(Qt.ISODate) + 'Z' end_datetime = self.dateTimeEdit_2.dateTime().toString(Qt.ISODate) + 'Z' @@ -978,7 +1194,7 @@ def run(self): 'limit' : '300000'} # Did the user choose the BBOX? if self.bbox_lightning.text() != '': - params.update({'bbox': self.bbox_lig.text()}) + params.update({'bbox': self.bbox_lightning.text()}) # Did the user choose any specific lightning type? if self.cloud_to_g_pos.isChecked(): params.update({'type': '1'}) @@ -1042,7 +1258,7 @@ def run(self): params = {'api-key': api_key, 'datetime': datetime, 'limit': '300000', - 'f': 'GeoJSON'} + 'f': 'GeoJSON',} if self.bbox_harm.isChecked(): # This variable is used to decide wheter or not QGIS should try to add data. @@ -1110,6 +1326,140 @@ def run(self): if self.file_name_fore.text() != '': df.to_csv(self.file_name_fore.text() + '.csv', index=False) + # Forecast Data (GRIB) + if dataName == 'Forecast Data (GRIB)': + root = QgsProject.instance().layerTreeRoot() + layer_group = root.insertGroup(0, 'Forecast' + datetime) + temp = mkdtemp(suffix='_forecast-files') + url = 'https://dmigw.govcloud.dk/v1/' + data_type + '/collections/' + data_type2 + '_' + fore_area + '/items' + params = {'api-key': api_key, + 'datetime': datetime, + 'limit': '300000'} + r = requests.get(url, params=params) + print(r, r.url) + json = r.json() + latest_model_run = \ + sorted(json['features'], key=lambda feature: feature['properties']['modelRun'])[-1]['properties'][ + 'modelRun'] + print(latest_model_run) + for feature in filter(lambda feature: feature['properties']['modelRun'] == latest_model_run, + json['features']): + downloadurl = feature['asset']['data']['href'] + downloaddata = requests.get(downloadurl) + id = feature['id'] + print(id) + tempfile = os.path.join(temp, id) + if not os.path.isfile(tempfile): + with open(tempfile, 'wb') as fd: + for chunk in downloaddata.iter_content(): + fd.write(chunk) + layer = QgsRasterLayer(tempfile) + if data_type2 == 'wam': + band_par = para_fore_dict_wam[parameters[0]] + elif data_type2 == 'dkss': + # Checks if the chosen parameter is a parameter that can be viewed at different depths + if parameters[0] in depth_para_dkss: + if fore_area == 'nsbs': + depth = int(self.depth_box_nsbs.currentText()) + if parameters[0] == 'salinity_': + band_par = salinity_nsbs[depth] + elif parameters[0] == 'water_temp_': + band_par = water_temp_nsbs[depth] + elif parameters[0] == 'v_comp_cur_': + band_par = u_current_nsbs[depth] + elif parameters[0] == 'u_comp_cur_': + band_par = v_current_nsbs[depth] + elif fore_area == 'idw': + depth = int(self.depth_box_idw.currentText()) + if parameters[0] == 'salinity_': + band_par = salinity_idw[depth] + elif parameters[0] == 'water_temp_': + band_par = water_temp_idw[depth] + elif parameters[0] == 'v_comp_cur_': + band_par = u_current_idw[depth] + elif parameters[0] == 'u_comp_cur_': + band_par = v_current_idw[depth] + elif fore_area == 'ws': + depth = int(self.depth_box_ws.currentText()) + if parameters[0] == 'salinity_': + band_par = salinity_ws[depth] + elif parameters[0] == 'water_temp_': + band_par = water_temp_ws[depth] + elif parameters[0] == 'v_comp_cur_': + band_par = u_current_ws[depth] + elif parameters[0] == 'u_comp_cur_': + band_par = v_current_ws[depth] + elif fore_area == 'if': + depth = int(self.depth_box_if.currentText()) + if parameters[0] == 'salinity_': + band_par = salinity_if[depth] + elif parameters[0] == 'water_temp_': + band_par = water_temp_if[depth] + elif parameters[0] == 'v_comp_cur_': + band_par = u_current_if[depth] + elif parameters[0] == 'u_comp_cur_': + band_par = v_current_if[depth] + elif fore_area == 'lf': + depth = int(self.depth_box_lf.currentText()) + if parameters[0] == 'salinity_': + band_par = salinity_lf[depth] + elif parameters[0] == 'water_temp_': + band_par = water_temp_lf[depth] + elif parameters[0] == 'v_comp_cur_': + band_par = u_current_lf[depth] + elif parameters[0] == 'u_comp_cur_': + band_par = v_current_lf[depth] + elif fore_area == 'lb': + depth = int(self.depth_box_lb.currentText()) + if parameters[0] == 'salinity_': + band_par = salinity_lb[depth] + elif parameters[0] == 'water_temp_': + band_par = water_temp_lb[depth] + elif parameters[0] == 'v_comp_cur_': + band_par = u_current_lb[depth] + elif parameters[0] == 'u_comp_cur_': + band_par = v_current_lb[depth] + elif parameters[0] not in depth_para_dkss: + band_par = para_fore_dict_nsbs[parameters[0]] + # Provides the statistics for the layer. Used to find min and max + stats = layer.dataProvider().bandStatistics(band_par, QgsRasterBandStats.All) + # The layer will be mapped in a Gray symbology + renderer = QgsSingleBandGrayRenderer(layer.dataProvider(), band_par) + # Sets the color scale for the layer + myType = renderer.dataType(1) + myEnhancement = QgsContrastEnhancement(myType) + contrast_enhancement = QgsContrastEnhancement.StretchToMinimumMaximum + myEnhancement.setContrastEnhancementAlgorithm(contrast_enhancement, True) + myEnhancement.setMinimumValue(stats.minimumValue) + myEnhancement.setMaximumValue(stats.maximumValue) + d = feature['properties']['datetime'] + start_time = QDateTime.fromString(d, 'yyyy-MM-ddThh:mm:ssZ') + end_time = start_time.addSecs(3600) + time_range = QgsDateTimeRange(start_time, end_time) + layer.temporalProperties().setFixedTemporalRange(time_range) + layer.temporalProperties().setIsActive(True) + layer.setRenderer(renderer) + layer.renderer().setContrastEnhancement(myEnhancement) + + # Changes the name + if len(parameters) > 0: + if self.wam_fore_grib.isChecked(): + layer.setName( + data_type2 + ' ' + fore_area + ' ' + parameters[0] + ' ' + feature['properties'][ + 'datetime']) + elif self.dkss_fore.isChecked() and parameters[0] in depth_para_dkss: + layer.setName(data_type2 + ' ' + fore_area + ' ' + parameters[0] + ' ' + str(depth) + 'm ' + + feature['properties']['datetime']) + elif self.dkss_fore.isChecked() and parameters[0] not in depth_para_dkss: + layer.setName( + data_type2 + ' ' + fore_area + ' ' + parameters[0] + ' ' + feature['properties'][ + 'datetime']) + # Adds the layer to the map + project = QgsProject.instance() + project.addMapLayer(layer, addToLegend=False) + layer_group.insertLayer(-1, layer) + + # Information about stations and parameters if dataName == 'Stations and Parameters': if self.met_stat_info.isChecked(): diff --git a/DMI_Open_Data_dialog_base.ui b/DMI_Open_Data_dialog_base.ui index de9a41b..3253df7 100644 --- a/DMI_Open_Data_dialog_base.ui +++ b/DMI_Open_Data_dialog_base.ui @@ -10,7 +10,7 @@ 0 0 1345 - 534 + 598 @@ -38,7 +38,7 @@ true - 5 + 0 false @@ -134,7 +134,7 @@ 0 0 624 - 251 + 282 @@ -165,7 +165,7 @@ 0 0 623 - 251 + 282 @@ -353,7 +353,7 @@ - 1 + 0 @@ -367,8 +367,8 @@ 0 0 - 98 - 28 + 628 + 235 @@ -390,7 +390,7 @@ 0 0 628 - 210 + 235 @@ -407,7 +407,7 @@ - 0 + 3 @@ -421,8 +421,8 @@ 0 0 - 627 - 210 + 80 + 18 @@ -443,8 +443,8 @@ 0 0 - 98 - 28 + 80 + 18 @@ -465,8 +465,8 @@ 0 0 - 98 - 28 + 80 + 18 @@ -487,8 +487,8 @@ 0 0 - 98 - 28 + 627 + 235 @@ -990,7 +990,7 @@ 0 0 625 - 253 + 284 @@ -1029,7 +1029,7 @@ - ForecastEDR Data + Forecast Data (Vector) @@ -1111,7 +1111,7 @@ - 2 + 0 @@ -1120,7 +1120,7 @@ - + 0 0 @@ -1138,12 +1138,18 @@ - 2 + 0 + + + 0 + 0 + + true @@ -1152,257 +1158,11 @@ 0 0 - 269 - 817 + 599 + 149 - - - - - Pressure at sea level - - - - - - - Total column vertically-integrated water vapour - - - - - - - Cloudcover - - - - - - - Global radiation - - - - - - - Wind 50m. U component - - - - - - - Wind 50m. V component - - - - - - - Wind direction 50m. - - - - - - - Wind speed 50m. - - - - - - - Wind 100m. U component - - - - - - - Wind 100m. V component - - - - - - - Wind direction 100m. - - - - - - - Wind speed 100m. - - - - - - - Wind 150m. U component - - - - - - - Wind 150m. V component - - - - - - - Wind direction 150m. - - - - - - - Wind speed 150m. - - - - - - - Wind 250m. U component - - - - - - - Wind 250m. V component - - - - - - - Wind direction 250m. - - - - - - - Wind speed 250m. - - - - - - - Temperature 50 m. - - - - - - - Temperature 100m. - - - - - - - Temperature 150m. - - - - - - - Temperature 250m. - - - - - - - Preasure at surface level - - - - - - - Geopotential - - - - - - - Temperature 2m. - - - - - - - Temperature 0m. - - - - - - - Dew temperature - - - - - - - Relative humidity - - - - - - - Land percent - - - - - - - Wind direction - - - - - - - Wind speed - - - - - - - Specific humidity - - - - - - - Canopy water - - - - + @@ -1420,572 +1180,11 @@ 0 0 - 183 - 1852 + 599 + 149 - - - - - Temperature 50 hPa - - - - - - - Wind 50 hPa. U component - - - - - - - Wind 50 hPa. V component - - - - - - - Wind direction 50 hPa - - - - - - - Wind speed 50 hPa - - - - - - - Temperature 100 hPa - - - - - - - Wind 100 hPa. U component - - - - - - - Wind 100 hPa. V component - - - - - - - Wind direction 100 hPa - - - - - - - Wind speed 100 hPa - - - - - - - Temperature 150 hPa - - - - - - - Wind 150 hPa. U component - - - - - - - Wind 150 hPa. V component - - - - - - - Wind direction 150 hPa - - - - - - - Wind speed 150 hPa - - - - - - - Temperature 200 hPa - - - - - - - Wind 200 hPa. U component - - - - - - - Wind 200 hPa. V component - - - - - - - Wind direction 200 hPa - - - - - - - Wind speed 200 hPa - - - - - - - Temperature 250 hPa - - - - - - - Wind 250 hPa. U component - - - - - - - Wind 250 hPa. V component - - - - - - - Wind direction 250 hPa - - - - - - - Wind speed 250 hPa - - - - - - - Temperature 300 hPa - - - - - - - Wind 300 hPa. U component - - - - - - - Wind 300 hPa. V component - - - - - - - Wind direction 300 hPa - - - - - - - Wind speed 300 hPa - - - - - - - Temperature 400 hPa - - - - - - - Wind 400 hPa. U component - - - - - - - Wind 400 hPa. V component - - - - - - - Wind direction 400 hPa - - - - - - - Wind speed 400 hPa - - - - - - - Temperature 500 hPa - - - - - - - Wind 500 hPa. U component - - - - - - - Wind 500 hPa. V component - - - - - - - Wind direction 500 hPa - - - - - - - Wind speed 500 hPa - - - - - - - Temperature 600 hPa - - - - - - - Wind 600 hPa. U component - - - - - - - Wind 600 hPa. V component - - - - - - - Wind direction 600 hPa - - - - - - - Wind speed 600 hPa - - - - - - - Temperature 700 hPa - - - - - - - Wind 700 hPa. U component - - - - - - - Wind 700 hPa. V component - - - - - - - Wind direction 700 hPa - - - - - - - Wind speed 700 hPa - - - - - - - Temperature 800 hPa - - - - - - - Wind 800 hPa. U component - - - - - - - Wind 800 hPa. V component - - - - - - - Wind direction 800 hPa - - - - - - - Wind speed 800 hPa - - - - - - - Temperature 850 hPa - - - - - - - Wind 850 hPa. U component - - - - - - - Wind 850 hPa. V component - - - - - - - Wind direction 850 hPa - - - - - - - Wind speed 850 hPa - - - - - - - Temperature 900 hPa - - - - - - - Wind 900 hPa. U component - - - - - - - Wind 900 hPa. V component - - - - - - - Wind direction 900 hPa - - - - - - - Wind speed 900 hPa - - - - - - - Temperature 925 hPa - - - - - - - Wind 925 hPa. U component - - - - - - - Wind 925 hPa. V component - - - - - - - Wind direction 925 hPa - - - - - - - Wind speed 925 hPa - - - - - - - Temperature 950 hPa - - - - - - - Wind 950 hPa. U component - - - - - - - Wind 950 hPa. V component - - - - - - - Wind direction 950 hPa - - - - - - - Wind speed 950 hPa - - - - - - - Temperature 1000 hPa - - - - - - - Wind 1000 hPa. U component - - - - - - - Wind 1000 hPa. V component - - - - - - - Wind direction 1000 hPa - - - - - - - Wind speed 1000 hPa - - - - + @@ -2003,572 +1202,11 @@ 0 0 - 183 - 1852 + 599 + 149 - - - - - Temperature 50 hPa - - - - - - - Wind 50 hPa. U component - - - - - - - Wind 50 hPa. V component - - - - - - - Wind direction 50 hPa - - - - - - - Wind speed 50 hPa - - - - - - - Temperature 100 hPa - - - - - - - Wind 100 hPa. U component - - - - - - - Wind 100 hPa. V component - - - - - - - Wind direction 100 hPa - - - - - - - Wind speed 100 hPa - - - - - - - Temperature 150 hPa - - - - - - - Wind 150 hPa. U component - - - - - - - Wind 150 hPa. V component - - - - - - - Wind direction 150 hPa - - - - - - - Wind speed 150 hPa - - - - - - - Temperature 200 hPa - - - - - - - Wind 200 hPa. U component - - - - - - - Wind 200 hPa. V component - - - - - - - Wind direction 200 hPa - - - - - - - Wind speed 200 hPa - - - - - - - Temperature 250 hPa - - - - - - - Wind 250 hPa. U component - - - - - - - Wind 250 hPa. V component - - - - - - - Wind direction 250 hPa - - - - - - - Wind speed 250 hPa - - - - - - - Temperature 300 hPa - - - - - - - Wind 300 hPa. U component - - - - - - - Wind 300 hPa. V component - - - - - - - Wind direction 300 hPa - - - - - - - Wind speed 300 hPa - - - - - - - Temperature 400 hPa - - - - - - - Wind 400 hPa. U component - - - - - - - Wind 400 hPa. V component - - - - - - - Wind direction 400 hPa - - - - - - - Wind speed 400 hPa - - - - - - - Temperature 500 hPa - - - - - - - Wind 500 hPa. U component - - - - - - - Wind 500 hPa. V component - - - - - - - Wind direction 500 hPa - - - - - - - Wind speed 500 hPa - - - - - - - Temperature 600 hPa - - - - - - - Wind 600 hPa. U component - - - - - - - Wind 600 hPa. V component - - - - - - - Wind direction 600 hPa - - - - - - - Wind speed 600 hPa - - - - - - - Temperature 700 hPa - - - - - - - Wind 700 hPa. U component - - - - - - - Wind 700 hPa. V component - - - - - - - Wind direction 700 hPa - - - - - - - Wind speed 700 hPa - - - - - - - Temperature 800 hPa - - - - - - - Wind 800 hPa. U component - - - - - - - Wind 800 hPa. V component - - - - - - - Wind direction 800 hPa - - - - - - - Wind speed 800 hPa - - - - - - - Temperature 850 hPa - - - - - - - Wind 850 hPa. U component - - - - - - - Wind 850 hPa. V component - - - - - - - Wind direction 850 hPa - - - - - - - Wind speed 850 hPa - - - - - - - Temperature 900 hPa - - - - - - - Wind 900 hPa. U component - - - - - - - Wind 900 hPa. V component - - - - - - - Wind direction 900 hPa - - - - - - - Wind speed 900 hPa - - - - - - - Temperature 925 hPa - - - - - - - Wind 925 hPa. U component - - - - - - - Wind 925 hPa. V component - - - - - - - Wind direction 925 hPa - - - - - - - Wind speed 925 hPa - - - - - - - Temperature 950 hPa - - - - - - - Wind 950 hPa. U component - - - - - - - Wind 950 hPa. V component - - - - - - - Wind direction 950 hPa - - - - - - - Wind speed 950 hPa - - - - - - - Temperature 1000 hPa - - - - - - - Wind 1000 hPa. U component - - - - - - - Wind 1000 hPa. V component - - - - - - - Wind direction 1000 hPa - - - - - - - Wind speed 1000 hPa - - - - + @@ -2586,26 +1224,11 @@ 0 0 - 269 - 58 + 599 + 149 - - - - - Presure at sea level - - - - - - - Total column vertically-integrated water vapour - - - - + @@ -2689,110 +1312,11 @@ 0 0 - 195 - 334 + 617 + 159 - - - - - Wind speed - - - - - - - Wind Direction - - - - - - - Significant wave height - - - - - - - Dominant wave period - - - - - - - Mean wave period - - - - - - - Mean zerocrossing wave period - - - - - - - Mean wave direction - - - - - - - Significant height of wind waves - - - - - - - Mean period of wind waves - - - - - - - Mean direction of wind waves - - - - - - - Significant height of total swell - - - - - - - Mean direction of total swell - - - - - - - Mean period of total swell - - - - - - - Benjamin-Feir index - - - - + @@ -2845,104 +1369,157 @@ Parameters (forecasts below 1 meter is not available) - - - - 10 - 23 - 619 - 145 - - - - - 0 - 0 - - - - true - - - - - 0 - 0 - 600 - 219 - - - - - - - Deviation of sea level from mean - - - - - - - U component of wind - - - - - - - V component of wind - - - - - - - U component of current - - - - - - - V component of current - - - - - - - Water temperature - - - - - - - Salinity - - - - - - - Ice thickness - - - - - - - Ice concentration - - - - - - + + + + + 2 + + + + + + + true + + + + + 0 + 0 + 599 + 149 + + + + + + + + + + + + + + true + + + + + 0 + 0 + 599 + 149 + + + + + + + + + + + + + + true + + + + + 0 + 0 + 599 + 149 + + + + + + + + + + + + + + true + + + + + 0 + 0 + 599 + 149 + + + + + + + + + + + + + + true + + + + + 0 + 0 + 599 + 149 + + + + + + + + + + + + + + true + + + + + 0 + 0 + 599 + 149 + + + + + + + + + + + + + + 0 + 0 + + Areas @@ -3002,6 +1579,12 @@ + + + 0 + 0 + + Coordinate or BBox (Please remember to seperate the coordinates with spaces and not with comma) @@ -3047,7 +1630,13 @@ - + + + 0 + 0 + + + Save as .csv file also (Optional) @@ -3072,34 +1661,1527 @@ - + - Stations and Parameters + Forecast Data (Raster) - + - + - - - Meteorological Stations + + + + 0 + 0 + + + + Start date and time + + + + + true + + + + - - - Tide Gauges + + + End date and time + + + + + true + + + + - + + + Model + + + + + + + + Wave Model (WAM) + + + + + + + Strom Surge Model (DKSS) + + + + + + + + + + 1 + + + + + + + + Parameters + + + + + + + 0 + 0 + + + + true + + + + + 0 + -156 + 600 + 418 + + + + + + + 10 metre wind speed + + + + + + + 10 metre wind direction + + + + + + + Significant wave height + + + + + + + Dominant wave period / peak period of 1D spectra + + + + + + + Mean wave period + + + + + + + Mean zero-crossing wave period + + + + + + + Mean wave direction + + + + + + + Significant height of wind waves (sea) + + + + + + + Mean period of wind waves (sea) + + + + + + + Mean direction of wind waves (sea) + + + + + + + Significant height of total swell + + + + + + + Mean period of total swell + + + + + + + Mean direction of total swell + + + + + + + Benjamin-Feir index + + + + + + + + + + + + + + Areas + + + + + + Danish Waters + + + + + + + North Atlantic + + + + + + + North Sea-Baltic + + + + + + + + + + + + + + + + + + + + + Parameters + + + + + + + 0 + 0 + + + + true + + + + + 0 + -209 + 600 + 389 + + + + + + + Deviation of sea level from mean + + + + + + + u-component of wind + + + + + + + v-component of wind + + + + + + + u-component of current + + + + + + + v-component of current + + + + + + + Water temperature + + + + + + + Salinity + + + + + + + Ice thickness + + + + + + + Ice concentration (ice=1;no ice=0) + + + + + + + u-component of current (> 1 meters depth) + + + + + + + v-component of current (> 1 meters depth) + + + + + + + Water temperature (> 1 meters depth) + + + + + + + Salinity (> 1 meters depth) + + + + + + + + + + + + + + Areas + + + + + + North Sea Baltic Sea + + + + + + + Inner Danish Waters + + + + + + + Wadden Sea + + + + + + + Isefjord + + + + + + + Limfjord + + + + + + + Little Belt + + + + + + + + + + + + + + Depth (meters) + + + + + + 1 + + + + + + + + 4 + + + + + 9 + + + + + 11 + + + + + 13 + + + + + 15 + + + + + 17 + + + + + 19 + + + + + 21 + + + + + 23 + + + + + 25 + + + + + 27 + + + + + 29 + + + + + 31 + + + + + 33 + + + + + 35 + + + + + 37 + + + + + 39 + + + + + 41 + + + + + 43 + + + + + 45 + + + + + 47 + + + + + 49 + + + + + 51 + + + + + 53 + + + + + 55 + + + + + 57 + + + + + 59 + + + + + 61 + + + + + 63 + + + + + 65 + + + + + 67 + + + + + 69 + + + + + 71 + + + + + 73 + + + + + 75 + + + + + 77 + + + + + 79 + + + + + 82 + + + + + 88 + + + + + 96 + + + + + 113 + + + + + 138 + + + + + 175 + + + + + 225 + + + + + 275 + + + + + 325 + + + + + 375 + + + + + 425 + + + + + 475 + + + + + 525 + + + + + + + + + + + + + 1 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + 17 + + + + + 18 + + + + + 19 + + + + + 20 + + + + + 21 + + + + + 22 + + + + + 23 + + + + + 24 + + + + + 25 + + + + + 26 + + + + + 27 + + + + + 28 + + + + + 29 + + + + + 30 + + + + + 31 + + + + + 33 + + + + + 35 + + + + + 37 + + + + + 39 + + + + + 41 + + + + + 43 + + + + + 45 + + + + + 47 + + + + + 49 + + + + + 51 + + + + + 53 + + + + + 55 + + + + + 57 + + + + + 59 + + + + + 61 + + + + + 63 + + + + + 65 + + + + + 67 + + + + + 69 + + + + + 71 + + + + + 73 + + + + + 75 + + + + + + + + + + + + + 4 + + + + + 9 + + + + + 11 + + + + + 13 + + + + + 15 + + + + + 17 + + + + + 19 + + + + + 21 + + + + + 23 + + + + + 25 + + + + + 27 + + + + + 29 + + + + + 31 + + + + + 33 + + + + + 35 + + + + + 37 + + + + + 39 + + + + + 41 + + + + + 43 + + + + + 45 + + + + + 47 + + + + + 49 + + + + + + + + + + + + + 1 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + + + + + + + + + 1 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + 17 + + + + + 18 + + + + + 19 + + + + + 20 + + + + + 21 + + + + + 22 + + + + + + + + + + + + + 1 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + 17 + + + + + 18 + + + + + 19 + + + + + 20 + + + + + 21 + + + + + 22 + + + + + 23 + + + + + 24 + + + + + 25 + + + + + 26 + + + + + 27 + + + + + 28 + + + + + 29 + + + + + 30 + + + + + 31 + + + + + 33 + + + + + 35 + + + + + 37 + + + + + 39 + + + + + 41 + + + + + 43 + + + + + 45 + + + + + 47 + + + + + 49 + + + + + 51 + + + + + 53 + + + + + 55 + + + + + + + + + + + + + + + + + + + + + + Stations and Parameters + + + + + + + + Meteorological Stations + + + + + + + Tide Gauges + + + + + + + + + 0 + @@ -3162,8 +3244,8 @@ 0 0 - 98 - 28 + 295 + 381 @@ -3434,13 +3516,13 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:12pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Plugin for DMIs Open Data </span></p> -<p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Before starting</span></p> +<p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Before starting</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Documentation and more information about DMI Open Data can be found </span><a href="https://confluence.govcloud.dk/display/FDAPI/Danish+Meteorological+Institute+-+Open+Data"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">here</span></a><span style=" font-size:11pt;">. This guide will only briefly cover the plugin - not the data, stations etc.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">A thorough guide of how to use this plugin, along with examples, can be found </span><a href="https://github.com/dmidk/Open-Data-QGIS-plugin/blob/master/Guide.md"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">here</span></a><span style=" font-size:11pt;">. </span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">The plugin allows the user to easily import data from DMIs Open Data from Meteorological Observations (metObs), Climate Data (climateData), Lightning Data (lightningData), Radar Data (radarData) and Oceanographic Observations (oceanObs). At each tab, the users API-key has to be inserted in order to get data. An API-key can be created </span><a href="https://confluence.govcloud.dk/display/FDAPI/User+Creation"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">here</span></a><span style=" font-size:11pt;">.</span></p> -<p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">How to use this plugin</span></p> +<p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">How to use this plugin</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">In order to get data, an API Key must be configured in QGIS settings menu. To configure API keys, please go to Settings -&gt; Options -&gt; DMI Open Data. Note that each type of data requires one specific API Key corresponding to that UI. <br />After the API Key has been configured in settings, stations and parameters will be accessible, and the plugin will work as intended. </span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Things to note when using the plugin: </span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Internet is neccessary in order to open the plugin and get data.</li> diff --git a/Guide.md b/Guide.md index 1a848de..05b47e4 100644 --- a/Guide.md +++ b/Guide.md @@ -95,11 +95,25 @@ The output is also the same as Meteorological Observations and the fields includ ![Oceanographic Observations](guide%20image/ocean.png) -## Forecast Data +## Forecast Data (Vector) - About -Forecast data allows the user to import data from DMIs Forecast models. 4 models will be made available: Weather Model (Harmonie), Wave Model (WAM), Storm Surge Model (DKSS) and Arctic Sea Ice Model (HYCOM-CICE). In version 0.1 of the plugin, only WAM and DKSS is available. When the two remaining models are released, they will also be included in the plugin. +Forecast data allows the user to import data from DMIs 3 Forecast models: HARMONIE (weather model), WAM (Wave model) and DKSS (Strom Surge model). + - Usage + +To choose between the different models, use the radio button. Each page has different parameters, areas and specifications. You can specify an area of interest, either by getting the closest point to a specified coordinate, or by defining a bounding box. Read more about forecast data [here](https://confluence.govcloud.dk/pages/viewpage.action?pageId=76155038). + - Output +The output is one or more points that contains the parameters chosen and a timestamp. + + +![Forecast Data](guide%20image/forecast_vector.png) + +## Forecast Data (Raster) + + - About + +Forecast data allows the user to import data from DMIs Forecast models. 2 models are available: Wave Model (WAM) and Storm Surge Model (DKSS). In version 0.1 of the plugin, only WAM and DKSS is available. When the two remaining models are released, they will also be included in the plugin. - Usage To choose between the different models, use the radio button. Each page has different parameters, areas and specifications. It is not possible to choose more than one parameter, as the output is all parameters in one layer. Read more about forecast data [here](https://confluence.govcloud.dk/display/FDAPI/Forecast+Data). @@ -107,7 +121,7 @@ To choose between the different models, use the radio button. Each page has diff The output is one layer with all parameters, where the chosen parameter is displayed. In the layer symbology, you can choose between all parameters and depths (depths is only available for DKSS) by clicking on another band. Each band thereby represent a parameter and a depth, that can be visualized by clicking on it. -![Forecast Data](guide%20image/forecast.png) +![Forecast Data](guide%20image/forecast_raster.png) ## Stations and Parameters diff --git a/api/edr_parameters.py b/api/edr_parameters.py new file mode 100644 index 0000000..0cb5fce --- /dev/null +++ b/api/edr_parameters.py @@ -0,0 +1,37 @@ +from typing import Tuple, Dict, List + +import requests +from enum import Enum + +ParameterId = str +ParameterDescription = str +ParameterInfo = Tuple[ParameterId, ParameterDescription] + +class EDRForecastCollection(Enum): + collection: str + + HARMONIE_NEA_SF = 'harmonie_nea_sf' + HARMONIE_NEA_PL = 'harmonie_nea_pl' + HARMONIE_IGB_SF = 'harmonie_igb_sf' + HARMONIE_IGB_PL = 'harmonie_igb_pl' + DKSS_NSBS = 'dkss_nsbs' + DKSS_IDW = 'dkss_idw' + DKSS_IF = 'dkss_if' + DKSS_WS = 'dkss_ws' + DKSS_LF = 'dkss_lf' + DKSS_LB = 'dkss_lb' + WAM_DW = 'wam_dw' + WAM_NSB = 'wam_nsb' + WAM_NATLANT = 'wam_natlant' + +def get_forecast_parameters(forecast_collection: EDRForecastCollection, api_key: str) -> List[ParameterInfo]: + edr_params = {'api-key': api_key} + forecast_para_request = requests.get( + f'https://dmigw.govcloud.dk/v1/forecastedr/collections/{forecast_collection.value}', + params=edr_params + ) + forecast_metadata = forecast_para_request.json() + parameters = [] + for parameter_id, parameter_metadata in forecast_metadata['parameter_names'].items(): + parameters.append((parameter_id, parameter_metadata['description'])) + return parameters diff --git a/forecast_para.py b/forecast_para.py index 60a79d6..6065693 100644 --- a/forecast_para.py +++ b/forecast_para.py @@ -1,234 +1,97 @@ -fore_para_names = [] +depth_para_dkss = ['salinity_', 'water_temp_','v_comp_cur_','u_comp_cur_'] -paraHarmSf = [ - 'pressure_sealevel', - 'total_column_vertically_integrated_water_vapour', - 'cloudcover', - 'global_radiation', - 'wind_50m_u', - 'wind_50m_v', - 'temperature_50m', - 'temperature_100m', - 'temperature_150m', - 'temperature_250m', - 'pressure_surface', - 'geopotential', - 'temperature_2m', - 'temperature_0m', - 'dew_temperature', - 'relative_humidity', - 'land_percent', - 'wind_dir', - 'wind_speed', - 'specific_humidity', - 'wind_speed_50m', - 'wind_100m_u', - 'wind_100m_v', - 'wind_dir_100m', - 'wind_speed_100m', - 'wind_150m_u', - 'wind_150m_v', - 'wind_dir_150m', - 'wind_speed_150m', - 'wind_250m_u', - 'wind_250m_v', - 'wind_dir_250m', - 'wind_speed_250m', - 'canopy_water' -] -paraHarmPl = [ - 'temperature_50hPa', - 'wind_50hPa_u', - 'wind_50hPa_v', - 'wind_dir_50hPa', - 'wind_speed_50hPa', - 'temperature_100hPa', - 'wind_100hPa_u', - 'wind_100hPa_v', - 'wind_dir_100hPa', - 'wind_speed_100hPa', - 'temperature_150hPa', - 'wind_150hPa_u', - 'wind_150hPa_v', - 'wind_dir_150hPa', - 'wind_speed_150hPa', - 'temperature_200hPa', - 'wind_200hPa_u', - 'wind_200hPa_v', - 'wind_dir_200hPa', - 'wind_speed_200hPa', - 'temperature_250hPa', - 'wind_250hPa_u', - 'wind_250hPa_v', - 'wind_dir_250hPa', - 'wind_speed_250hPa', - 'temperature_300hPa', - 'wind_300hPa_u', - 'wind_300hPa_v', - 'wind_dir_300hPa', - 'wind_speed_300hPa', - 'temperature_400hPa', - 'wind_400hPa_u', - 'wind_400hPa_v', - 'wind_dir_400hPa', - 'wind_speed_400hPa', - 'temperature_500hPa', - 'wind_500hPa_u', - 'wind_500hPa_v', - 'wind_dir_500hPa', - 'wind_speed_500hPa', - 'temperature_600hPa', - 'wind_600hPa_u', - 'wind_600hPa_v', - 'wind_dir_600hPa', - 'wind_speed_600hPa', - 'temperature_700hPa', - 'wind_700hPa_u', - 'wind_700hPa_v', - 'wind_dir_700hPa', - 'wind_speed_700hPa', - 'temperature_800hPa', - 'wind_800hPa_u', - 'wind_800hPa_v', - 'wind_dir_800hPa', - 'wind_speed_800hPa', - 'temperature_850hPa', - 'wind_850hPa_u', - 'wind_850hPa_v', - 'wind_dir_850hPa', - 'wind_speed_850hPa', - 'temperature_900hPa', - 'wind_900hPa_u', - 'wind_900hPa_v', - 'wind_dir_900hPa', - 'wind_speed_900hPa', - 'temperature_925hPa', - 'wind_925hPa_u', - 'wind_925hPa_v', - 'wind_dir_925hPa', - 'wind_speed_925hPa', - 'temperature_950hPa', - 'wind_950hPa_u', - 'wind_950hPa_v', - 'wind_dir_950hPa', - 'wind_speed_950hPa', - 'temperature_1000hPa', - 'wind_1000hPa_u', - 'wind_1000hPa_v', - 'wind_dir_1000hPa', - 'wind_speed_1000hPa' -] -paraHarmIgbSf = ['pressure_sealevel_2', - 'total_column_vertically_integrated_water_vapour_2'] -paraHarmIgbPl = [ - 'temperature_50hPa_2', - 'wind_50hPa_u_2', - 'wind_50hPa_v_2', - 'wind_dir_50hPa_2', - 'wind_speed_50hPa_2', - 'temperature_100hPa_2', - 'wind_100hPa_u_2', - 'wind_100hPa_v_2', - 'wind_dir_100hPa_2', - 'wind_speed_100hPa_2', - 'temperature_150hPa_2', - 'wind_150hPa_u_2', - 'wind_150hPa_v_2', - 'wind_dir_150hPa_2', - 'wind_speed_150hPa_2', - 'temperature_200hPa_2', - 'wind_200hPa_u_2', - 'wind_200hPa_v_2', - 'wind_dir_200hPa_2', - 'wind_speed_200hPa_2', - 'temperature_250hPa_2', - 'wind_250hPa_u_2', - 'wind_250hPa_v_2', - 'wind_dir_250hPa_2', - 'wind_speed_250hPa_2', - 'temperature_300hPa_2', - 'wind_300hPa_u_2', - 'wind_300hPa_v_2', - 'wind_dir_300hPa_2', - 'wind_speed_300hPa_2', - 'temperature_400hPa_2', - 'wind_400hPa_u_2', - 'wind_400hPa_v_2', - 'wind_dir_400hPa_2', - 'wind_speed_400hPa_2', - 'temperature_500hPa_2', - 'wind_500hPa_u_2', - 'wind_500hPa_v_2', - 'wind_dir_500hPa_2', - 'wind_speed_500hPa_2', - 'temperature_600hPa_2', - 'wind_600hPa_u_2', - 'wind_600hPa_v_2', - 'wind_dir_600hPa_2', - 'wind_speed_600hPa_2', - 'temperature_700hPa_2', - 'wind_700hPa_u_2', - 'wind_700hPa_v_2', - 'wind_dir_700hPa_2', - 'wind_speed_700hPa_2', - 'temperature_800hPa_2', - 'wind_800hPa_u_2', - 'wind_800hPa_v_2', - 'wind_dir_800hPa_2', - 'wind_speed_800hPa_2', - 'temperature_850hPa_2', - 'wind_850hPa_u_2', - 'wind_850hPa_v_2', - 'wind_dir_850hPa_2', - 'wind_speed_850hPa_2', - 'temperature_900hPa_2', - 'wind_900hPa_u_2', - 'wind_900hPa_v_2', - 'wind_dir_900hPa_2', - 'wind_speed_900hPa_2', - 'temperature_925hPa_2', - 'wind_925hPa_u_2', - 'wind_925hPa_v_2', - 'wind_dir_925hPa_2', - 'wind_speed_925hPa_2', - 'temperature_950hPa_2', - 'wind_950hPa_u_2', - 'wind_950hPa_v_2', - 'wind_dir_950hPa_2', - 'wind_speed_950hPa_2', - 'temperature_1000hPa_2', - 'wind_1000hPa_u_2', - 'wind_1000hPa_v_2', - 'wind_dir_1000hPa_2', - 'wind_speed_1000hPa_2' -] +################ nsbs ######################### -paraWam = [ - 'wind_speed_2', - 'wind_dir_2', - 'significant_wave_height', - 'dominant_wave_period', - 'mean_wave_period', - 'mean_zerocrossing_period', - 'mean_wave_dir', - 'significant_windwave_height', - 'mean_windwave_period', - 'mean_windwave_dir', - 'significant_totalswell_height', - 'mean_totalswell_period', - 'mean_totalswell_dir', - 'benjamin_feir_index' -] +band_depth_nsbs = [4,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59, + 61,63,65,67,69,71,73,75,77,79,82,88,96,113,138,175,225,275,325,375,425,475,525] +# Salinity +band_num_salinity_nsbs = list(range(160,210)) +salinity_nsbs = dict(zip(band_depth_nsbs,band_num_salinity_nsbs)) +# Water temperature +band_num_water_temp_nsbs = list(range(110,160)) +water_temp_nsbs = dict(zip(band_depth_nsbs,band_num_water_temp_nsbs)) +# v-component of current +band_num_v_current_nsbs = list(range(60,110)) +v_current_nsbs = dict(zip(band_depth_nsbs,band_num_v_current_nsbs)) +# u-component of current +band_num_u_current_nsbs = list(range(10,60)) +u_current_nsbs = dict(zip(band_depth_nsbs,band_num_u_current_nsbs)) -paraNsbs = ['sea_mean_deviation', - 'wind_u', - 'wind_v', - 'current_u', - 'current_v', - 'water_temperature', - 'salinity', - 'ice_thickness', - 'ice_concentration'] +################# idw ####################### +band_depth_idw = [1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28, + 29,30,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75] +# Salinity +band_num_salinity_idw = list(range(166,218)) +salinity_idw = dict(zip(band_depth_idw,band_num_salinity_idw)) +# Water temperature +band_num_water_temp_idw = list(range(114,166)) +water_temp_idw = dict(zip(band_depth_idw,band_num_water_temp_idw)) +# v-component of current +band_num_v_current_idw = list(range(62,114)) +v_current_idw = dict(zip(band_depth_idw,band_num_v_current_idw)) +# v-component of current +band_num_u_current_idw = list(range(10,62)) +u_current_idw = dict(zip(band_depth_idw,band_num_u_current_idw)) +################## ws ########################## +band_depth_ws = [4,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49] +# Salinity +band_num_salinity_ws = list(range(76,98)) +salinity_ws = dict(zip(band_depth_ws,band_num_salinity_ws)) +# Water temperature +band_num_water_temp_ws = list(range(54,76)) +water_temp_ws = dict(zip(band_depth_ws,band_num_water_temp_ws)) +# v-component of current +band_num_v_current_ws = list(range(32,54)) +v_current_ws = dict(zip(band_depth_ws,band_num_v_current_ws)) +# v-component of current +band_num_u_current_ws = list(range(10,32)) +u_current_ws = dict(zip(band_depth_ws,band_num_u_current_ws)) +######################## if ####################### +band_depth_if = [1,3,4,5,6,7,8,9,10,11] +# Salinity +band_num_salinity_if = list(range(40,50)) +salinity_if = dict(zip(band_depth_if,band_num_salinity_if)) +# Water temperature +band_num_water_temp_if = list(range(30,40)) +water_temp_if = dict(zip(band_depth_if,band_num_water_temp_if)) +# v-component of current +band_num_v_current_if = list(range(20,30)) +v_current_if = dict(zip(band_depth_if,band_num_v_current_if)) +# v-component of current +band_num_u_current_if = list(range(10,30)) +u_current_if = dict(zip(band_depth_if,band_num_u_current_if)) +##################### lf ###################### +band_depth_lf = [1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22] +# Salinity +band_num_salinity_lf = list(range(73,94)) +salinity_lf = dict(zip(band_depth_lf,band_num_salinity_lf)) +# Water temperature +band_num_water_temp_lf = list(range(52,73)) +water_temp_lf = dict(zip(band_depth_lf,band_num_water_temp_lf)) +# v-component of current +band_num_v_current_lf = list(range(31,52)) +v_current_lf = dict(zip(band_depth_lf,band_num_v_current_lf)) +# v-component of current +band_num_u_current_lf = list(range(10,31)) +u_current_lf = dict(zip(band_depth_lf,band_num_u_current_lf)) + +##################### lb ###################### +band_depth_lb = [1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,35,37,39,41,43,45,47,49,51,53,55] +# Salinity +band_num_salinity_lb = list(range(136,178)) +salinity_lb = dict(zip(band_depth_lb,band_num_salinity_lb)) +# Water temperature +band_num_water_temp_lb = list(range(94,136)) +water_temp_lb = dict(zip(band_depth_lb,band_num_water_temp_lb)) +# v-component of current +band_num_v_current_lb = list(range(52,94)) +v_current_lb = dict(zip(band_depth_lb,band_num_v_current_lb)) +# v-component of current +band_num_u_current_lb = list(range(10,52)) +u_current_lb = dict(zip(band_depth_lb,band_num_u_current_lb)) + + +fore_para_names = [] \ No newline at end of file diff --git a/guide image/forecast.png b/guide image/forecast_raster.png similarity index 100% rename from guide image/forecast.png rename to guide image/forecast_raster.png diff --git a/guide image/forecast_vector.png b/guide image/forecast_vector.png new file mode 100644 index 0000000000000000000000000000000000000000..260cfe1abcaf3c233b2566d373e98b45e07099d9 GIT binary patch literal 432099 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

nF3x# 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 R$_xj5Bt>OE7Yl#$`afNcP89$E literal 0 HcmV?d00001 diff --git a/para_munic_grid.py b/para_munic_grid.py index 70b1034..966f538 100644 --- a/para_munic_grid.py +++ b/para_munic_grid.py @@ -6,7 +6,6 @@ grid10 = ['10km_605_65', '10km_605_66', '10km_605_68', '10km_605_69', '10km_606_60', '10km_606_61', '10km_606_63', '10km_606_64', '10km_606_65', '10km_606_66', '10km_606_67', '10km_606_68', '10km_606_69', '10km_607_51', '10km_607_52', '10km_607_54', '10km_607_59', '10km_607_60', '10km_607_61', '10km_607_62', '10km_607_63', '10km_607_64', '10km_607_65', '10km_607_66', '10km_607_67', '10km_607_68', '10km_607_69', '10km_608_47', '10km_608_48', '10km_608_49', '10km_608_50', '10km_608_51', '10km_608_52', '10km_608_53', '10km_608_54', '10km_608_55', '10km_608_56', '10km_608_57', '10km_608_58', '10km_608_59', '10km_608_60', '10km_608_61', '10km_608_62', '10km_608_63', '10km_608_64', '10km_608_65', '10km_608_66', '10km_608_67', '10km_608_68', '10km_608_69', '10km_608_70', '10km_609_47', '10km_609_48', '10km_609_49', '10km_609_50', '10km_609_51', '10km_609_52', '10km_609_53', '10km_609_54', '10km_609_55', '10km_609_56', '10km_609_57', '10km_609_58', '10km_609_59', '10km_609_60', '10km_609_61', '10km_609_62', '10km_609_63', '10km_609_64', '10km_609_65', '10km_609_66', '10km_609_67', '10km_609_68', '10km_609_69', '10km_609_70', '10km_609_71', '10km_609_72', '10km_610_46', '10km_610_47', '10km_610_48', '10km_610_49', '10km_610_50', '10km_610_51', '10km_610_52', '10km_610_53', '10km_610_54', '10km_610_55', '10km_610_56', '10km_610_57', '10km_610_58', '10km_610_59', '10km_610_60', '10km_610_61', '10km_610_62', '10km_610_65', '10km_610_66', '10km_610_67', '10km_610_68', '10km_610_69', '10km_610_70', '10km_610_71', '10km_610_72', '10km_611_46', '10km_611_47', '10km_611_48', '10km_611_49', '10km_611_50', '10km_611_51', '10km_611_52', '10km_611_53', '10km_611_54', '10km_611_56', '10km_611_57', '10km_611_58', '10km_611_59', '10km_611_60', '10km_611_61', '10km_611_62', '10km_611_63', '10km_611_65', '10km_611_66', '10km_611_67', '10km_611_68', '10km_611_69', '10km_611_70', '10km_611_86', '10km_611_87', '10km_611_88', '10km_611_89', '10km_612_47', '10km_612_48', '10km_612_49', '10km_612_50', '10km_612_51', '10km_612_52', '10km_612_53', '10km_612_54', '10km_612_55', '10km_612_56', '10km_612_57', '10km_612_58', '10km_612_59', '10km_612_60', '10km_612_61', '10km_612_63', '10km_612_64', '10km_612_65', '10km_612_66', '10km_612_67', '10km_612_68', '10km_612_69', '10km_612_70', '10km_612_71', '10km_612_86', '10km_612_87', '10km_612_88', '10km_612_89', '10km_613_46', '10km_613_47', '10km_613_48', '10km_613_49', '10km_613_50', '10km_613_51', '10km_613_52', '10km_613_53', '10km_613_54', '10km_613_55', '10km_613_56', '10km_613_57', '10km_613_58', '10km_613_59', '10km_613_60', '10km_613_61', '10km_613_63', '10km_613_64', '10km_613_65', '10km_613_66', '10km_613_67', '10km_613_68', '10km_613_69', '10km_613_70', '10km_613_71', '10km_613_86', '10km_613_87', '10km_613_88', '10km_614_45', '10km_614_46', '10km_614_47', '10km_614_48', '10km_614_49', '10km_614_50', '10km_614_51', '10km_614_52', '10km_614_53', '10km_614_54', '10km_614_55', '10km_614_56', '10km_614_57', '10km_614_58', '10km_614_59', '10km_614_60', '10km_614_61', '10km_614_63', '10km_614_64', '10km_614_65', '10km_614_66', '10km_614_67', '10km_614_68', '10km_614_69', '10km_614_70', '10km_614_71', '10km_614_86', '10km_614_89', '10km_615_44', '10km_615_45', '10km_615_46', '10km_615_47', '10km_615_48', '10km_615_49', '10km_615_50', '10km_615_51', '10km_615_52', '10km_615_53', '10km_615_54', '10km_615_55', '10km_615_56', '10km_615_57', '10km_615_58', '10km_615_59', '10km_615_60', '10km_615_61', '10km_615_63', '10km_615_64', '10km_615_65', '10km_615_66', '10km_615_67', '10km_615_68', '10km_615_69', '10km_615_70', '10km_616_44', '10km_616_45', '10km_616_46', '10km_616_47', '10km_616_48', '10km_616_49', '10km_616_50', '10km_616_51', '10km_616_52', '10km_616_53', '10km_616_54', '10km_616_55', '10km_616_57', '10km_616_58', '10km_616_60', '10km_616_63', '10km_616_64', '10km_616_65', '10km_616_66', '10km_616_67', '10km_616_68', '10km_616_69', '10km_616_70', '10km_616_71', '10km_616_72', '10km_616_73', '10km_617_44', '10km_617_45', '10km_617_46', '10km_617_47', '10km_617_48', '10km_617_49', '10km_617_50', '10km_617_51', '10km_617_52', '10km_617_53', '10km_617_54', '10km_617_55', '10km_617_56', '10km_617_58', '10km_617_62', '10km_617_63', '10km_617_64', '10km_617_65', '10km_617_66', '10km_617_67', '10km_617_68', '10km_617_69', '10km_617_70', '10km_617_71', '10km_617_72', '10km_617_73', '10km_618_44', '10km_618_45', '10km_618_46', '10km_618_47', '10km_618_48', '10km_618_49', '10km_618_50', '10km_618_51', '10km_618_52', '10km_618_53', '10km_618_54', '10km_618_55', '10km_618_56', '10km_618_57', '10km_618_58', '10km_618_59', '10km_618_60', '10km_618_64', '10km_618_65', '10km_618_66', '10km_618_67', '10km_618_68', '10km_618_69', '10km_618_70', '10km_618_71', '10km_618_72', '10km_619_44', '10km_619_45', '10km_619_46', '10km_619_47', '10km_619_48', '10km_619_49', '10km_619_50', '10km_619_51', '10km_619_52', '10km_619_53', '10km_619_54', '10km_619_55', '10km_619_56', '10km_619_57', '10km_619_59', '10km_619_60', '10km_619_63', '10km_619_64', '10km_619_65', '10km_619_66', '10km_619_67', '10km_619_68', '10km_619_69', '10km_619_70', '10km_619_71', '10km_619_72', '10km_620_44', '10km_620_45', '10km_620_46', '10km_620_47', '10km_620_48', '10km_620_49', '10km_620_50', '10km_620_51', '10km_620_52', '10km_620_53', '10km_620_54', '10km_620_55', '10km_620_56', '10km_620_57', '10km_620_58', '10km_620_59', '10km_620_64', '10km_620_65', '10km_620_66', '10km_620_67', '10km_620_68', '10km_620_69', '10km_620_70', '10km_620_71', '10km_620_72', '10km_621_44', '10km_621_45', '10km_621_46', '10km_621_47', '10km_621_48', '10km_621_49', '10km_621_50', '10km_621_51', '10km_621_52', '10km_621_53', '10km_621_54', '10km_621_55', '10km_621_56', '10km_621_57', '10km_621_59', '10km_621_68', '10km_621_69', '10km_621_70', '10km_621_71', '10km_621_72', '10km_622_44', '10km_622_45', '10km_622_46', '10km_622_47', '10km_622_48', '10km_622_49', '10km_622_50', '10km_622_51', '10km_622_52', '10km_622_53', '10km_622_54', '10km_622_55', '10km_622_56', '10km_622_57', '10km_622_58', '10km_622_59', '10km_622_60', '10km_622_69', '10km_622_70', '10km_622_71', '10km_623_44', '10km_623_45', '10km_623_46', '10km_623_47', '10km_623_48', '10km_623_49', '10km_623_50', '10km_623_51', '10km_623_52', '10km_623_53', '10km_623_54', '10km_623_55', '10km_623_56', '10km_623_57', '10km_623_58', '10km_623_59', '10km_623_60', '10km_623_61', '10km_624_44', '10km_624_45', '10km_624_46', '10km_624_47', '10km_624_48', '10km_624_49', '10km_624_50', '10km_624_51', '10km_624_52', '10km_624_53', '10km_624_54', '10km_624_55', '10km_624_56', '10km_624_57', '10km_624_58', '10km_624_59', '10km_624_60', '10km_624_61', '10km_625_44', '10km_625_45', '10km_625_46', '10km_625_47', '10km_625_48', '10km_625_49', '10km_625_50', '10km_625_51', '10km_625_52', '10km_625_53', '10km_625_54', '10km_625_55', '10km_625_56', '10km_625_57', '10km_625_58', '10km_625_59', '10km_625_60', '10km_625_61', '10km_626_44', '10km_626_45', '10km_626_46', '10km_626_47', '10km_626_48', '10km_626_49', '10km_626_50', '10km_626_51', '10km_626_52', '10km_626_53', '10km_626_54', '10km_626_55', '10km_626_56', '10km_626_57', '10km_626_58', '10km_626_59', '10km_626_60', '10km_626_61', '10km_627_44', '10km_627_45', '10km_627_46', '10km_627_47', '10km_627_48', '10km_627_49', '10km_627_50', '10km_627_51', '10km_627_52', '10km_627_53', '10km_627_54', '10km_627_55', '10km_627_56', '10km_627_57', '10km_627_58', '10km_628_45', '10km_628_46', '10km_628_47', '10km_628_48', '10km_628_49', '10km_628_50', '10km_628_51', '10km_628_52', '10km_628_53', '10km_628_54', '10km_628_55', '10km_628_56', '10km_628_57', '10km_628_58', '10km_628_65', '10km_628_66', '10km_629_45', '10km_629_46', '10km_629_47', '10km_629_48', '10km_629_49', '10km_629_50', '10km_629_51', '10km_629_52', '10km_629_53', '10km_629_54', '10km_629_55', '10km_629_56', '10km_629_57', '10km_629_66', '10km_630_45', '10km_630_46', '10km_630_47', '10km_630_48', '10km_630_49', '10km_630_50', '10km_630_51', '10km_630_52', '10km_630_53', '10km_630_54', '10km_630_55', '10km_630_56', '10km_630_57', '10km_631_45', '10km_631_46', '10km_631_47', '10km_631_48', '10km_631_49', '10km_631_50', '10km_631_51', '10km_631_52', '10km_631_53', '10km_631_54', '10km_631_55', '10km_631_56', '10km_631_57', '10km_631_58', '10km_632_46', '10km_632_47', '10km_632_48', '10km_632_49', '10km_632_50', '10km_632_51', '10km_632_52', '10km_632_53', '10km_632_54', '10km_632_55', '10km_632_56', '10km_632_57', '10km_632_58', '10km_633_49', '10km_633_50', '10km_633_51', '10km_633_52', '10km_633_53', '10km_633_54', '10km_633_55', '10km_633_56', '10km_633_57', '10km_633_58', '10km_634_53', '10km_634_54', '10km_634_55', '10km_634_56', '10km_634_57', '10km_634_58', '10km_634_59', '10km_634_61', '10km_634_62', '10km_635_54', '10km_635_55', '10km_635_56', '10km_635_57', '10km_635_58', '10km_635_59', '10km_635_61', '10km_635_62', '10km_636_54', '10km_636_55', '10km_636_56', '10km_636_57', '10km_636_58', '10km_636_59', '10km_637_55', '10km_637_56', '10km_637_57', '10km_637_58', '10km_637_59', '10km_638_55', '10km_638_56', '10km_638_57', '10km_638_58', '10km_639_58', '10km_639_59'] grid20 = ['20km_604_64', '20km_604_66', '20km_604_68', '20km_606_50', '20km_606_52', '20km_606_54', '20km_606_58', '20km_606_60', '20km_606_62', '20km_606_64', '20km_606_66', '20km_606_68', '20km_608_46', '20km_608_48', '20km_608_50', '20km_608_52', '20km_608_54', '20km_608_56', '20km_608_58', '20km_608_60', '20km_608_62', '20km_608_64', '20km_608_66', '20km_608_68', '20km_608_70', '20km_608_72', '20km_610_46', '20km_610_48', '20km_610_50', '20km_610_52', '20km_610_54', '20km_610_56', '20km_610_58', '20km_610_60', '20km_610_62', '20km_610_64', '20km_610_66', '20km_610_68', '20km_610_70', '20km_610_72', '20km_611_86', '20km_611_88', '20km_612_46', '20km_612_48', '20km_612_50', '20km_612_52', '20km_612_54', '20km_612_56', '20km_612_58', '20km_612_60', '20km_612_62', '20km_612_64', '20km_612_66', '20km_612_68', '20km_612_70', '20km_613_86', '20km_613_88', '20km_614_44', '20km_614_46', '20km_614_48', '20km_614_50', '20km_614_52', '20km_614_54', '20km_614_56', '20km_614_58', '20km_614_60', '20km_614_62', '20km_614_64', '20km_614_66', '20km_614_68', '20km_614_70', '20km_616_44', '20km_616_46', '20km_616_48', '20km_616_50', '20km_616_52', '20km_616_54', '20km_616_56', '20km_616_58', '20km_616_60', '20km_616_62', '20km_616_64', '20km_616_66', '20km_616_68', '20km_616_70', '20km_616_72', '20km_618_44', '20km_618_46', '20km_618_48', '20km_618_50', '20km_618_52', '20km_618_54', '20km_618_56', '20km_618_58', '20km_618_60', '20km_618_62', '20km_618_64', '20km_618_66', '20km_618_68', '20km_618_70', '20km_618_72', '20km_620_44', '20km_620_46', '20km_620_48', '20km_620_50', '20km_620_52', '20km_620_54', '20km_620_56', '20km_620_58', '20km_620_64', '20km_620_66', '20km_620_68', '20km_620_70', '20km_620_72', '20km_622_44', '20km_622_46', '20km_622_48', '20km_622_50', '20km_622_52', '20km_622_54', '20km_622_56', '20km_622_58', '20km_622_60', '20km_622_68', '20km_622_70', '20km_624_44', '20km_624_46', '20km_624_48', '20km_624_50', '20km_624_52', '20km_624_54', '20km_624_56', '20km_624_58', '20km_624_60', '20km_626_44', '20km_626_46', '20km_626_48', '20km_626_50', '20km_626_52', '20km_626_54', '20km_626_56', '20km_626_58', '20km_626_60', '20km_628_44', '20km_628_46', '20km_628_48', '20km_628_50', '20km_628_52', '20km_628_54', '20km_628_56', '20km_628_58', '20km_628_65', '20km_630_44', '20km_630_46', '20km_630_48', '20km_630_50', '20km_630_52', '20km_630_54', '20km_630_56', '20km_630_58', '20km_632_46', '20km_632_48', '20km_632_50', '20km_632_52', '20km_632_54', '20km_632_56', '20km_632_58', '20km_634_52', '20km_634_54', '20km_634_56', '20km_634_58', '20km_634_61', '20km_636_54', '20km_636_56', '20km_636_58', '20km_638_54', '20km_638_56', '20km_638_58'] - para_grid = ['acc_heating_degree_days_17', 'acc_precip', 'bright_sunshine', @@ -41,902 +40,6 @@ 'temp_soil_10', 'temp_soil_30', 'vapour_pressure_deficit_mean'] - -grid_para = ['acc_heating_degree_days_17', - 'acc_precip', - 'bright_sunshine', - 'drought_index', - 'leaf_moisture', - 'max_precip_30m', - 'max_temp_w_date', - 'max_wind_speed_10min', - 'max_wind_speed_3sec', - 'mean_cloud_cover', - 'mean_daily_max_temp', - 'mean_daily_min_temp', - 'mean_pressure', - 'mean_radiation', - 'mean_relative_hum', - 'mean_temp', - 'mean_wind_dir', - 'mean_wind_speed', - 'min_temp', - 'no_cold_days', - 'no_days_acc_precip_01', - 'no_days_acc_precip_1', - 'no_days_acc_precip_10', - 'no_frost_days', - 'no_ice_days', - 'no_summer_days', - 'no_tropical_nights', - 'pot_evaporation_makkink', - 'pot_evaporation_penman', - 'snow_depth', - 'temp_grass', - 'temp_soil_10', - 'temp_soil_30', - 'vapour_pressure_deficit_mean'] - -cliamte_para_stat = ['acc_heating_degree_days_17', - 'acc_heating_degree_days_19', - 'acc_precip', - 'bright_sunshine', - 'leaf_moisture', - 'max_precip_30m', - 'max_pressure', - 'max_relative_hum', - 'max_temp_w_date', - 'max_wind_speed_10min', - 'max_wind_speed_3sec', - 'mean_cloud_cover', - 'mean_pressure', - 'mean_radiation', - 'mean_relative_hum', - 'mean_temp', - 'mean_wind_dir', - 'mean_wind_dir_min0', - 'mean_wind_speed', - 'min_pressure', - 'min_relative_hum', - 'min_temp', - 'min_temperature_12h', - 'no_days_acc_precip_01', - 'no_ice_days', - 'snow_cover', - 'snow_depth', - 'temp_grass', - 'temp_soil_10', - 'temp_soil_30', - 'vapour_pressure_deficit_mean'] -munic_dict_num = {0: '0101', - 1: '0147', - 2: '0151', - 3: '0153', - 4: '0155', - 5: '0157', - 6: '0159', - 7: '0161', - 8: '0163', - 9: '0165', - 10: '0167', - 11: '0169', - 12: '0173', - 13: '0175', - 14: '0183', - 15: '0185', - 16: '0187', - 17: '0190', - 18: '0201', - 19: '0210', - 20: '0217', - 21: '0219', - 22: '0223', - 23: '0230', - 24: '0240', - 25: '0250', - 26: '0253', - 27: '0259', - 28: '0260', - 29: '0265', - 30: '0269', - 31: '0270', - 32: '0306', - 33: '0316', - 34: '0320', - 35: '0326', - 36: '0329', - 37: '0330', - 38: '0336', - 39: '0340', - 40: '0350', - 41: '0360', - 42: '0370', - 43: '0376', - 44: '0390', - 45: '0400', - 46: '0410', - 47: '0420', - 48: '0430', - 49: '0440', - 50: '0450', - 51: '0461', - 52: '0479', - 53: '0480', - 54: '0482', - 55: '0492', - 56: '0510', - 57: '0530', - 58: '0540', - 59: '0550', - 60: '0561', - 61: '0563', - 62: '0573', - 63: '0575', - 64: '0580', - 65: '0607', - 66: '0615', - 67: '0621', - 68: '0630', - 69: '0657', - 70: '0661', - 71: '0665', - 72: '0671', - 73: '0706', - 74: '0707', - 75: '0710', - 76: '0727', - 77: '0730', - 78: '0740', - 79: '0741', - 80: '0746', - 81: '0751', - 82: '0756', - 83: '0760', - 84: '0766', - 85: '0773', - 86: '0779', - 87: '0787', - 88: '0791', - 89: '0810', - 90: '0813', - 91: '0820', - 92: '0825', - 93: '0840', - 94: '0846', - 95: '0849', - 96: '0851', - 97: '0860'} - -grid10_id = ['10km_605_66', - '10km_605_68', - '10km_606_60', - '10km_606_61', - '10km_606_63', - '10km_606_64', - '10km_606_65', - '10km_606_66', - '10km_606_67', - '10km_606_68', - '10km_606_69', - '10km_607_52', - '10km_607_54', - '10km_607_59', - '10km_607_60', - '10km_607_62', - '10km_607_64', - '10km_607_65', - '10km_607_66', - '10km_607_67', - '10km_607_68', - '10km_607_69', - '10km_608_47', - '10km_608_48', - '10km_608_49', - '10km_608_50', - '10km_608_51', - '10km_608_52', - '10km_608_54', - '10km_608_55', - '10km_608_58', - '10km_608_59', - '10km_608_60', - '10km_608_61', - '10km_608_62', - '10km_608_63', - '10km_608_64', - '10km_608_65', - '10km_608_66', - '10km_608_67', - '10km_608_69', - '10km_608_70', - '10km_609_47', - '10km_609_48', - '10km_609_49', - '10km_609_52', - '10km_609_53', - '10km_609_54', - '10km_609_55', - '10km_609_57', - '10km_609_58', - '10km_609_61', - '10km_609_62', - '10km_609_64', - '10km_609_65', - '10km_609_67', - '10km_609_69', - '10km_609_70', - '10km_609_71', - '10km_610_47', - '10km_610_49', - '10km_610_50', - '10km_610_52', - '10km_610_53', - '10km_610_55', - '10km_610_56', - '10km_610_57', - '10km_610_58', - '10km_610_59', - '10km_610_60', - '10km_610_61', - '10km_610_62', - '10km_610_65', - '10km_610_66', - '10km_610_67', - '10km_610_68', - '10km_610_69', - '10km_610_71', - '10km_610_72', - '10km_611_46', - '10km_611_47', - '10km_611_48', - '10km_611_49', - '10km_611_50', - '10km_611_51', - '10km_611_52', - '10km_611_53', - '10km_611_54', - '10km_611_56', - '10km_611_57', - '10km_611_58', - '10km_611_59', - '10km_611_60', - '10km_611_61', - '10km_611_62', - '10km_611_63', - '10km_611_65', - '10km_611_66', - '10km_611_67', - '10km_611_68', - '10km_611_69', - '10km_611_70', - '10km_611_86', - '10km_611_87', - '10km_611_88', - '10km_611_89', - '10km_612_47', - '10km_612_49', - '10km_612_51', - '10km_612_52', - '10km_612_53', - '10km_612_56', - '10km_612_57', - '10km_612_58', - '10km_612_61', - '10km_612_64', - '10km_612_65', - '10km_612_66', - '10km_612_67', - '10km_612_68', - '10km_612_69', - '10km_612_71', - '10km_612_86', - '10km_612_88', - '10km_613_46', - '10km_613_47', - '10km_613_48', - '10km_613_49', - '10km_613_51', - '10km_613_52', - '10km_613_53', - '10km_613_55', - '10km_613_57', - '10km_613_58', - '10km_613_59', - '10km_613_60', - '10km_613_63', - '10km_613_64', - '10km_613_65', - '10km_613_66', - '10km_613_68', - '10km_613_69', - '10km_613_70', - '10km_613_71', - '10km_613_87', - '10km_613_88', - '10km_614_46', - '10km_614_47', - '10km_614_48', - '10km_614_49', - '10km_614_50', - '10km_614_52', - '10km_614_53', - '10km_614_55', - '10km_614_56', - '10km_614_57', - '10km_614_58', - '10km_614_59', - '10km_614_60', - '10km_614_61', - '10km_614_63', - '10km_614_64', - '10km_614_67', - '10km_614_68', - '10km_614_69', - '10km_614_70', - '10km_614_86', - '10km_614_89', - '10km_615_44', - '10km_615_45', - '10km_615_46', - '10km_615_47', - '10km_615_48', - '10km_615_49', - '10km_615_51', - '10km_615_52', - '10km_615_53', - '10km_615_54', - '10km_615_55', - '10km_615_56', - '10km_615_57', - '10km_615_58', - '10km_615_59', - '10km_615_61', - '10km_615_63', - '10km_615_65', - '10km_615_66', - '10km_615_67', - '10km_615_68', - '10km_615_69', - '10km_615_70', - '10km_616_45', - '10km_616_46', - '10km_616_47', - '10km_616_48', - '10km_616_49', - '10km_616_50', - '10km_616_52', - '10km_616_53', - '10km_616_54', - '10km_616_55', - '10km_616_57', - '10km_616_58', - '10km_616_63', - '10km_616_69', - '10km_616_70', - '10km_616_72', - '10km_616_73', - '10km_617_44', - '10km_617_45', - '10km_617_46', - '10km_617_47', - '10km_617_48', - '10km_617_49', - '10km_617_50', - '10km_617_51', - '10km_617_52', - '10km_617_53', - '10km_617_54', - '10km_617_55', - '10km_617_56', - '10km_617_58', - '10km_617_62', - '10km_617_63', - '10km_617_64', - '10km_617_65', - '10km_617_66', - '10km_617_67', - '10km_617_68', - '10km_617_69', - '10km_617_72', - '10km_617_73', - '10km_618_44', - '10km_618_45', - '10km_618_46', - '10km_618_47', - '10km_618_49', - '10km_618_50', - '10km_618_51', - '10km_618_52', - '10km_618_54', - '10km_618_55', - '10km_618_56', - '10km_618_57', - '10km_618_58', - '10km_618_64', - '10km_618_65', - '10km_618_66', - '10km_618_67', - '10km_618_68', - '10km_618_69', - '10km_618_71', - '10km_618_72', - '10km_619_45', - '10km_619_46', - '10km_619_47', - '10km_619_48', - '10km_619_49', - '10km_619_50', - '10km_619_52', - '10km_619_53', - '10km_619_55', - '10km_619_56', - '10km_619_57', - '10km_619_59', - '10km_619_60', - '10km_619_63', - '10km_619_64', - '10km_619_65', - '10km_619_66', - '10km_619_67', - '10km_619_68', - '10km_619_69', - '10km_619_70', - '10km_619_71', - '10km_620_44', - '10km_620_45', - '10km_620_46', - '10km_620_47', - '10km_620_48', - '10km_620_49', - '10km_620_50', - '10km_620_51', - '10km_620_53', - '10km_620_54', - '10km_620_56', - '10km_620_57', - '10km_620_58', - '10km_620_59', - '10km_620_64', - '10km_620_65', - '10km_620_66', - '10km_620_68', - '10km_620_69', - '10km_620_70', - '10km_620_71', - '10km_621_44', - '10km_621_45', - '10km_621_46', - '10km_621_47', - '10km_621_48', - '10km_621_50', - '10km_621_51', - '10km_621_52', - '10km_621_53', - '10km_621_55', - '10km_621_56', - '10km_621_57', - '10km_621_59', - '10km_621_68', - '10km_621_69', - '10km_621_70', - '10km_621_71', - '10km_621_72', - '10km_622_44', - '10km_622_45', - '10km_622_47', - '10km_622_48', - '10km_622_49', - '10km_622_50', - '10km_622_51', - '10km_622_52', - '10km_622_53', - '10km_622_55', - '10km_622_56', - '10km_622_57', - '10km_622_58', - '10km_622_59', - '10km_622_60', - '10km_622_69', - '10km_622_70', - '10km_622_71', - '10km_623_44', - '10km_623_46', - '10km_623_47', - '10km_623_48', - '10km_623_49', - '10km_623_50', - '10km_623_51', - '10km_623_52', - '10km_623_53', - '10km_623_54', - '10km_623_55', - '10km_623_56', - '10km_623_57', - '10km_623_60', - '10km_623_61', - '10km_624_44', - '10km_624_45', - '10km_624_46', - '10km_624_47', - '10km_624_48', - '10km_624_50', - '10km_624_51', - '10km_624_52', - '10km_624_53', - '10km_624_54', - '10km_624_55', - '10km_624_56', - '10km_624_57', - '10km_624_59', - '10km_624_60', - '10km_624_61', - '10km_625_44', - '10km_625_45', - '10km_625_47', - '10km_625_48', - '10km_625_49', - '10km_625_51', - '10km_625_52', - '10km_625_53', - '10km_625_54', - '10km_625_55', - '10km_625_56', - '10km_625_57', - '10km_625_58', - '10km_625_59', - '10km_625_60', - '10km_625_61', - '10km_626_44', - '10km_626_45', - '10km_626_46', - '10km_626_48', - '10km_626_49', - '10km_626_51', - '10km_626_52', - '10km_626_53', - '10km_626_54', - '10km_626_55', - '10km_626_56', - '10km_626_57', - '10km_626_58', - '10km_626_59', - '10km_626_60', - '10km_626_61', - '10km_627_44', - '10km_627_46', - '10km_627_47', - '10km_627_48', - '10km_627_49', - '10km_627_51', - '10km_627_52', - '10km_627_53', - '10km_627_55', - '10km_627_56', - '10km_627_57', - '10km_627_58', - '10km_628_45', - '10km_628_46', - '10km_628_48', - '10km_628_49', - '10km_628_50', - '10km_628_51', - '10km_628_53', - '10km_628_54', - '10km_628_57', - '10km_628_58', - '10km_628_65', - '10km_628_66', - '10km_629_47', - '10km_629_48', - '10km_629_49', - '10km_629_51', - '10km_629_53', - '10km_629_55', - '10km_629_56', - '10km_629_57', - '10km_629_66', - '10km_630_45', - '10km_630_46', - '10km_630_48', - '10km_630_50', - '10km_630_52', - '10km_630_53', - '10km_630_54', - '10km_630_57', - '10km_631_45', - '10km_631_47', - '10km_631_48', - '10km_631_49', - '10km_631_51', - '10km_631_52', - '10km_631_55', - '10km_631_56', - '10km_631_57', - '10km_632_46', - '10km_632_48', - '10km_632_50', - '10km_632_51', - '10km_632_52', - '10km_632_53', - '10km_632_55', - '10km_632_56', - '10km_632_57', - '10km_632_58', - '10km_633_50', - '10km_633_52', - '10km_633_55', - '10km_633_56', - '10km_633_57', - '10km_633_58', - '10km_634_53', - '10km_634_54', - '10km_634_57', - '10km_634_58', - '10km_634_59', - '10km_634_61', - '10km_634_62', - '10km_635_54', - '10km_635_55', - '10km_635_56', - '10km_635_57', - '10km_635_58', - '10km_635_59', - '10km_635_61', - '10km_635_62', - '10km_636_54', - '10km_636_56', - '10km_636_57', - '10km_636_58', - '10km_636_59', - '10km_637_57', - '10km_637_58', - '10km_637_59', - '10km_638_56', - '10km_638_57', - '10km_638_58', - '10km_639_58', - '10km_639_59'] -grid20_id = ['20km_604_64', - '20km_604_66', - '20km_604_68', - '20km_606_50', - '20km_606_52', - '20km_606_54', - '20km_606_58', - '20km_606_60', - '20km_606_62', - '20km_606_64', - '20km_606_66', - '20km_606_68', - '20km_608_46', - '20km_608_48', - '20km_608_50', - '20km_608_52', - '20km_608_54', - '20km_608_56', - '20km_608_58', - '20km_608_60', - '20km_608_62', - '20km_608_64', - '20km_608_66', - '20km_608_68', - '20km_608_70', - '20km_608_72', - '20km_610_46', - '20km_610_48', - '20km_610_50', - '20km_610_52', - '20km_610_54', - '20km_610_56', - '20km_610_58', - '20km_610_60', - '20km_610_62', - '20km_610_64', - '20km_610_66', - '20km_610_68', - '20km_610_70', - '20km_610_72', - '20km_611_86', - '20km_611_88', - '20km_612_46', - '20km_612_48', - '20km_612_50', - '20km_612_52', - '20km_612_54', - '20km_612_56', - '20km_612_58', - '20km_612_60', - '20km_612_62', - '20km_612_64', - '20km_612_66', - '20km_612_68', - '20km_612_70', - '20km_613_86', - '20km_613_88', - '20km_614_46', - '20km_614_48', - '20km_614_50', - '20km_614_52', - '20km_614_54', - '20km_614_56', - '20km_614_58', - '20km_614_60', - '20km_614_62', - '20km_614_64', - '20km_614_66', - '20km_614_68', - '20km_614_70', - '20km_616_44', - '20km_616_46', - '20km_616_48', - '20km_616_50', - '20km_616_52', - '20km_616_54', - '20km_616_56', - '20km_616_58', - '20km_616_60', - '20km_616_62', - '20km_616_64', - '20km_616_66', - '20km_616_68', - '20km_616_70', - '20km_616_72', - '20km_618_44', - '20km_618_46', - '20km_618_48', - '20km_618_50', - '20km_618_52', - '20km_618_54', - '20km_618_56', - '20km_618_58', - '20km_618_60', - '20km_618_62', - '20km_618_64', - '20km_618_66', - '20km_618_68', - '20km_618_70', - '20km_618_72', - '20km_620_44', - '20km_620_46', - '20km_620_48', - '20km_620_50', - '20km_620_52', - '20km_620_54', - '20km_620_56', - '20km_620_58', - '20km_620_64', - '20km_620_66', - '20km_620_68', - '20km_620_70', - '20km_620_72', - '20km_622_44', - '20km_622_46', - '20km_622_48', - '20km_622_50', - '20km_622_52', - '20km_622_54', - '20km_622_56', - '20km_622_58', - '20km_622_60', - '20km_622_68', - '20km_622_70', - '20km_624_46', - '20km_624_48', - '20km_624_50', - '20km_624_52', - '20km_624_54', - '20km_624_56', - '20km_624_58', - '20km_624_60', - '20km_626_44', - '20km_626_46', - '20km_626_48', - '20km_626_50', - '20km_626_52', - '20km_626_54', - '20km_626_56', - '20km_626_58', - '20km_626_60', - '20km_628_44', - '20km_628_46', - '20km_628_48', - '20km_628_50', - '20km_628_52', - '20km_628_54', - '20km_628_56', - '20km_628_58', - '20km_628_65', - '20km_630_44', - '20km_630_46', - '20km_630_48', - '20km_630_50', - '20km_630_52', - '20km_630_54', - '20km_630_56', - '20km_630_58', - '20km_632_46', - '20km_632_48', - '20km_632_50', - '20km_632_52', - '20km_632_54', - '20km_632_56', - '20km_632_58', - '20km_634_52', - '20km_634_54', - '20km_634_56', - '20km_634_58', - '20km_634_61', - '20km_636_54', - '20km_636_56', - '20km_636_58', - '20km_638_54', - '20km_638_56', - '20km_638_58'] -grid_para = ['acc_heating_degree_days_17', - 'acc_precip', - 'bright_sunshine', - 'drought_index', - 'leaf_moisture', - 'max_precip_30m', - 'max_temp_w_date', - 'max_wind_speed_10min', - 'max_wind_speed_3sec', - 'mean_cloud_cover', - 'mean_daily_max_temp', - 'mean_daily_min_temp', - 'mean_pressure', - 'mean_radiation', - 'mean_relative_hum', - 'mean_temp', - 'mean_wind_dir', - 'mean_wind_speed', - 'min_temp', - 'no_cold_days', - 'no_days_acc_precip_01', - 'no_days_acc_precip_1', - 'no_days_acc_precip_10', - 'no_frost_days', - 'no_ice_days', - 'no_summer_days', - 'no_tropical_nights', - 'pot_evaporation_makkink', - 'pot_evaporation_penman', - 'snow_depth', - 'temp_grass', - 'temp_soil_10', - 'temp_soil_30', - 'vapour_pressure_deficit_mean'] -cliamte_para_stat = ['acc_heating_degree_days_17', - 'acc_heating_degree_days_19', - 'acc_precip', - 'bright_sunshine', - 'leaf_moisture', - 'max_precip_30m', - 'max_pressure', - 'max_relative_hum', - 'max_temp_w_date', - 'max_wind_speed_10min', - 'max_wind_speed_3sec', - 'mean_cloud_cover', - 'mean_pressure', - 'mean_radiation', - 'mean_relative_hum', - 'mean_temp', - 'mean_wind_dir', - 'mean_wind_dir_min0', - 'mean_wind_speed', - 'min_pressure', - 'min_relative_hum', - 'min_temp', - 'min_temperature_12h', - 'no_days_acc_precip_01', - 'no_ice_days', - 'snow_cover', - 'snow_depth', - 'temp_grass', - 'temp_soil_10', - 'temp_soil_30', - 'vapour_pressure_deficit_mean'] munic = ['0101', '0147', '0151', @@ -1035,3 +138,4 @@ '0849', '0851', '0860'] +munic_id_name = ['Aabenraa 0580', 'Aalborg 0851', 'Aarhus 0751', 'Albertslund 0165', 'Allerød 0201', 'Assens 0420', 'Ballerup 0151', 'Billund 0530', 'Bornholm 0400', 'Brøndby 0153', 'Brønderslev 0810', 'Dragør 0155', 'Egedal 0240', 'Esbjerg 0561', 'Faaborg-Midtfyn 0430', 'Fanø 0563', 'Favrskov 0710', 'Faxe 0320', 'Fredensborg 0210', 'Fredericia 0607', 'Frederiksberg 0147', 'Frederikshavn 0813', 'Frederikssund 0250', 'Furesø 0190', 'Gentofte 0157', 'Gladsaxe 0159', 'Glostrup 0161', 'Greve 0253', 'Gribskov 0270', 'Guldborgsund 0376', 'Haderslev 0510', 'Halsnæs 0260', 'Hedensted 0766', 'Helsingør 0217', 'Herlev 0163', 'Herning 0657', 'Hillerød 0219', 'Hjørring 0860', 'Holbæk 0316', 'Holstebro 0661', 'Horsens 0615', 'Hvidovre 0167', 'Høje-Taastrup 0169', 'Hørsholm 0223', 'Ikast-Brande 0756', 'Ishøj 0183', 'Jammerbugt 0849', 'Kalundborg 0326', 'Kerteminde 0440', 'Kolding 0621', 'København 0101', 'Køge 0259', 'Langeland 0482', 'Lejre 0350', 'Lemvig 0665', 'Lolland 0360', 'Lyngby-Taarbæk 0173', 'Læsø 0825', 'Mariagerfjord 0846', 'Middelfart 0410', 'Morsø 0773', 'Norddjurs 0707', 'Nordfyns 0480', 'Nyborg 0450', 'Næstved 0370', 'Odder 0727', 'Odense 0461', 'Odsherred 0306', 'Randers 0730', 'Rebild 0840', 'Ringkøbing-Skjern 0760', 'Ringsted 0329', 'Roskilde 0265', 'Rudersdal 0230', 'Rødovre 0175', 'Samsø 0741', 'Silkeborg 0740', 'Skanderborg 0746', 'Skive 0779', 'Slagelse 0330', 'Solrød 0269', 'Sorø 0340', 'Stevns 0336', 'Struer 0671', 'Svendborg 0479', 'Syddjurs 0706', 'Sønderborg 0540', 'Thisted 0787', 'Tårnby 0185', 'Tønder 0550', 'Vallensbæk 0187', 'Varde 0573', 'Vejen 0575', 'Vejle 0630', 'Vesthimmerlands 0820', 'Viborg 0791', 'Vordingborg 0390', 'Ærø 0492'] diff --git a/settings/settings.ui b/settings/settings.ui index 370accc..9cb47db 100644 --- a/settings/settings.ui +++ b/settings/settings.ui @@ -44,9 +44,9 @@ 0 - 0 + -95 491 - 421 + 480 @@ -154,14 +154,26 @@ + + + + API Key forecastData + + + + + + + + - API Key forecastedrData + API Key forecastEDRData - + diff --git a/settings/settings_manager.py b/settings/settings_manager.py index 41ba47e..0640024 100644 --- a/settings/settings_manager.py +++ b/settings/settings_manager.py @@ -7,7 +7,7 @@ class DMISettingKeys(Enum): """ - Holds the keys for this plugin settings retrievable by the DMISettingsManager. Note that these should match the + Holds the keys for this pluging settings retrievable by the DMISettingsManaer. Note that these should match the object names of the settings input widgets in settings.ui file. """ METOBS_API_KEY = 'DMI_apiKey_metObs' @@ -15,7 +15,8 @@ class DMISettingKeys(Enum): CLIMATEDATA_API_KEY = 'DMI_apiKey_climateData' LIGHTNINGDATA_API_KEY = 'DMI_apiKey_lightningData' RADARDATA_API_KEY = 'DMI_apiKey_radarData' - FORECASTDATA_API_KEY = 'DMI_apiKey_forecastData' + FORECASTDATA_GRIB_API_KEY = 'DMI_apiKey_forecastData_GRIB' + FORECASTDATA_EDR_API_KEY = 'DMI_apiKey_forecastEDRData' def get_api_name(self) -> str: if self is DMISettingKeys.METOBS_API_KEY: @@ -28,8 +29,10 @@ def get_api_name(self) -> str: return 'Lightning Data' if self is DMISettingKeys.RADARDATA_API_KEY: return 'Radar Data' - if self is DMISettingKeys.RADARDATA_API_KEY: - return 'Forecast Data' + if self is DMISettingKeys.FORECASTDATA_GRIB_API_KEY: + return 'Forecast GRIB Data' + if self is DMISettingKeys.FORECASTDATA_EDR_API_KEY: + return 'ForecastEDR Data' class DMISettingsManager(SettingManager, QObject): @@ -43,7 +46,8 @@ def __init__(self): self.add_setting(String(DMISettingKeys.CLIMATEDATA_API_KEY.value, Scope.Global, '')) self.add_setting(String(DMISettingKeys.LIGHTNINGDATA_API_KEY.value, Scope.Global, '')) self.add_setting(String(DMISettingKeys.RADARDATA_API_KEY.value, Scope.Global, '')) - self.add_setting(String(DMISettingKeys.FORECASTDATA_API_KEY.value, Scope.Global, '')) + self.add_setting(String(DMISettingKeys.FORECASTDATA_GRIB_API_KEY.value, Scope.Global, '')) + self.add_setting(String(DMISettingKeys.FORECASTDATA_EDR_API_KEY.value, Scope.Global, '')) def emit_updated(self): self.settings_updated.emit() From 762eada5187b84287015eccbafd00ecce75d9ed1 Mon Sep 17 00:00:00 2001 From: svend1079 Date: Thu, 27 Jul 2023 15:20:29 +0200 Subject: [PATCH 5/7] Comma separation Comma separation added to the BBOX and the Point. --- DMI_Open_Data_dialog.py | 82 ++++++++++++++++++------------------ DMI_Open_Data_dialog_base.ui | 10 ++--- 2 files changed, 45 insertions(+), 47 deletions(-) diff --git a/DMI_Open_Data_dialog.py b/DMI_Open_Data_dialog.py index d030a09..2662333 100644 --- a/DMI_Open_Data_dialog.py +++ b/DMI_Open_Data_dialog.py @@ -597,10 +597,10 @@ def run(self): elif dataName == 'Lightning Data': data_type = 'lightningdata' api_key = self.settings_manager.value(DMISettingKeys.LIGHTNINGDATA_API_KEY.value) - elif dataName == 'ForecastEDR Data': + elif dataName == 'Forecast Data (Vector)': data_type = 'forecastdata' api_key = self.settings_manager.value(DMISettingKeys.FORECASTDATA_EDR_API_KEY.value) - elif dataName == 'Forecast Data (GRIB)': + elif dataName == 'Forecast Data (Raster)': data_type = 'forecastdata' api_key = self.settings_manager.value(DMISettingKeys.FORECASTDATA_GRIB_API_KEY.value) elif dataName == 'Stations and Parameters' and self.met_stat_info.isChecked(): @@ -635,12 +635,12 @@ def run(self): data_type2 = 'climateData' elif data_type == 'ocean_para_info': data_type2 = 'oceanObs' - elif dataName == 'Forecast Data (GRIB)': + elif dataName == 'Forecast Data (Raster)': if self.wam_fore_grib.isChecked(): data_type2 = 'wam' elif self.dkss_fore_grib.isChecked(): data_type2 = 'dkss' - elif dataName == 'ForecastEDR Data': + elif dataName == 'Forecast Data (Vector)': if self.harm_fore.isChecked(): data_type2 = 'harmonie' elif self.wam_fore.isChecked(): @@ -779,7 +779,7 @@ def run(self): qt_checkbox_widget.setChecked(False) # Forecast WAM parameters (GRIB) - if data_type2 == 'wam' and dataName == 'Forecast Data (GRIB)': + if data_type2 == 'wam' and dataName == 'Forecast Data (Raster)': wam_para = ['wind_speed_10', 'wind_direction_10', 'sig_wave_height', 'dom_wave_period', 'mean_wave_period_2', 'mean_zero_wave_period', 'mean_wave_dir_2', 'sig_height_wind_waves_sea', @@ -795,8 +795,7 @@ def run(self): qt_checkbox_widget.setChecked(False) # Forecast DKSS parameters (GRIB) - if data_type2 == 'dkss' and dataName == 'Forecast Data (GRIB)': - print('asd') + if data_type2 == 'dkss' and dataName == 'Forecast Data (Raster)': nsbs_para = ['dev_sea_mean', 'u_comp_wind', 'v_comp_wind', 'u_comp_cur', 'v_comp_cur', 'water_temp', 'salinity_2', 'ice_thick', 'ice_conc', 'u_comp_cur_', 'v_comp_cur_', 'water_temp_', 'salinity_'] @@ -806,7 +805,6 @@ def run(self): qt_checkbox_widget = getattr(self, fore_para) if qt_checkbox_widget.isChecked(): parameters.append(fore_para) - print(parameters) qt_checkbox_widget.setChecked(False) # Forecast HARMONIE, DKSS and WAM (EDR) @@ -852,16 +850,15 @@ def run(self): listCheckBoxForecast = self.listCheckBox_para_dkss_ws_edr elif data_type2 == 'wam': - print("her") parameterListForecast = self.wam_forecast_parameters listCheckBoxForecast = self.listCheckBox_para_wam_edr - for para in parameterListForecast: - qt_checkbox_widget = listCheckBoxForecast[para] - if qt_checkbox_widget.isChecked(): - para = para.replace('_','-') - parameters.append(para) - qt_checkbox_widget.setChecked(False) + for para in parameterListForecast: + qt_checkbox_widget = listCheckBoxForecast[para] + if qt_checkbox_widget.isChecked(): + para = para.replace('_','-') + parameters.append(para) + qt_checkbox_widget.setChecked(False) # Information for stations. The list of stations is based on climateData and NOT metObs if dataName == 'Stations and Parameters' and data_type2 == 'climateData': @@ -910,11 +907,11 @@ def run(self): start_datetime = self.start_date5.dateTime().toString(Qt.ISODate) + 'Z' end_datetime = self.end_date5.dateTime().toString(Qt.ISODate) + 'Z' - elif dataName == 'ForecastEDR Data': + elif dataName == 'Forecast Data (Vector)': start_datetime = self.datetime_fore_start.dateTime().toString(Qt.ISODate) + 'Z' end_datetime = self.datetime_fore_end.dateTime().toString(Qt.ISODate) + 'Z' - elif dataName == 'Forecast Data (GRIB)': + elif dataName == 'Forecast Data (Raster)': start_datetime = self.datetime_fore_start.dateTime().toString(Qt.ISODate) + 'Z' end_datetime = self.datetime_fore_end.dateTime().toString(Qt.ISODate) + 'Z' @@ -985,17 +982,16 @@ def run(self): stat_and_res = {stat1 : stat, 'timeResolution': res} params.update(stat_and_res) -# No stations for country values. + # No stations for country values. elif dataName == 'Climate Data' and data_type2 == 'countryValue': res_country = {'timeResolution': res} params.update(res_country) else: observed_w_stat = {stat1 : stat} params.update(observed_w_stat) - r = requests.get(url, params=params) - print(r.url) + r = requests.get(url, params=params) + print(r, r.url) json = r.json() - #df = json_normalize(json['features']) # Makes sure that data gets a return. If no numbers returned then shows a warning box. # r_code represents the status code. r_code = r.status_code @@ -1136,7 +1132,7 @@ def run(self): elif self.pseudo.isChecked(): params.update({'stationId': radar_stations_it}) r = requests.get(url, params=params) - print(r.url) + print(r, r.url) r_code = r.status_code json = r.json() if r_code == 403: @@ -1209,7 +1205,7 @@ def run(self): name = 'Lightning' # URL creation r = requests.get(url, params=params) - print(r.url) + print(r, r.url) json = r.json() r_code = r.status_code if r_code == 403: @@ -1249,7 +1245,7 @@ def run(self): self.file_name_lig.clear() # ForecastEDR data - if dataName == 'ForecastEDR Data': + if dataName == 'Forecast Data (Vector)': if self.bbox_harm.isChecked(): position_res = 'cube' elif self.coordi_harm.isChecked(): @@ -1261,28 +1257,32 @@ def run(self): 'f': 'GeoJSON',} if self.bbox_harm.isChecked(): - # This variable is used to decide wheter or not QGIS should try to add data. + # This variable is used to decide whether or not QGIS should try to add data. # returned_data = 1 then it proceeds, returned_data = 0 it stops. returned_data = '1' - if ',' in self.bbox_line.text(): - QMessageBox.warning(self, self.tr("DMI Open Data"), - self.tr('Please use space as coordinates seperator and not comma.' \ - + '\n' + '\n' + 'E.g. change 10.52,57.13,11.20,57.40 to 10.52 57.13 11.20 57.40')) - returned_data = '0' bbox_cordi = self.bbox_line.text() - # comma is added as it is used in BBOX to seperate coordinates. Not used in coordinates. - bbox_cordi = bbox_cordi.replace(' ', ',') + if ' ' in bbox_cordi: + bbox_cordi = bbox_cordi.replace(' ', '') params.update({'bbox': bbox_cordi}) + if bbox_cordi == '': + QMessageBox.warning(self, self.tr("DMI Open Data"), + self.tr('Please fill out the BBox.')) + returned_data = '0' + elif self.coordi_harm.isChecked(): returned_data = '1' - # commas not allowed, as the API does not accept it. - if ',' in self.coordi_line.text(): + point_coordi = self.coordi_line.text() + if ' ' in point_coordi: + point_coordi = point_coordi.replace(' ', '') + # The API does not accept comma sepperation, which is why the comma is changed to a space. + point_coordi = point_coordi.replace(',',' ') + params.update({'coords': 'POINT(' + point_coordi + ')'}) + if point_coordi == '': QMessageBox.warning(self, self.tr("DMI Open Data"), - self.tr('Please use space as coordinates seperator and not comma.' \ - + '\n' + '\n' + 'E.g. change 10.52,57.13 to 10.52 57.13')) + self.tr('Please fill out the Coordinates.')) returned_data = '0' - params.update({'coords': 'POINT(' + self.coordi_line.text() + ')'}) + # A parameter must be given. Otherwise QGIS will try to import all parameters, which is rarely needed. if len(parameters) > 0 and returned_data != '0': @@ -1295,6 +1295,7 @@ def run(self): if returned_data != '0': r = requests.get(url, params=params) + if r.status_code == 200: print(r, r.url) json = r.json() df = json_normalize(json['features']) @@ -1303,7 +1304,6 @@ def run(self): vl = QgsVectorLayer("Point", data_type2 + ' ' + fore_area, "memory") # If the user wants an overview of the data, the df.head is printed with all columns visible. pd.set_option('display.max_columns', None) - print(df.head()) pr = vl.dataProvider() vl.startEditing() for head in df: @@ -1327,7 +1327,7 @@ def run(self): df.to_csv(self.file_name_fore.text() + '.csv', index=False) # Forecast Data (GRIB) - if dataName == 'Forecast Data (GRIB)': + if dataName == 'Forecast Data (Raster)': root = QgsProject.instance().layerTreeRoot() layer_group = root.insertGroup(0, 'Forecast' + datetime) temp = mkdtemp(suffix='_forecast-files') @@ -1341,13 +1341,11 @@ def run(self): latest_model_run = \ sorted(json['features'], key=lambda feature: feature['properties']['modelRun'])[-1]['properties'][ 'modelRun'] - print(latest_model_run) for feature in filter(lambda feature: feature['properties']['modelRun'] == latest_model_run, json['features']): downloadurl = feature['asset']['data']['href'] downloaddata = requests.get(downloadurl) id = feature['id'] - print(id) tempfile = os.path.join(temp, id) if not os.path.isfile(tempfile): with open(tempfile, 'wb') as fd: @@ -1495,7 +1493,7 @@ def run(self): elif self.radioButton_19.isChecked() and self.radioButton_22.isChecked(): params.update({'datetime': datetime}) r = requests.get(url, params=params) - print(r.url) + print(r, r.url) json = r.json() r_code = r.status_code if r_code == 403: diff --git a/DMI_Open_Data_dialog_base.ui b/DMI_Open_Data_dialog_base.ui index 3253df7..79889cb 100644 --- a/DMI_Open_Data_dialog_base.ui +++ b/DMI_Open_Data_dialog_base.ui @@ -38,7 +38,7 @@ true - 0 + 5 false @@ -1580,13 +1580,13 @@ - + 0 0 - Coordinate or BBox (Please remember to seperate the coordinates with spaces and not with comma) + Coordinate or BBox @@ -1601,7 +1601,7 @@ - E.g. 8.07 54.55 15.17 57.76 + E.g. 8.07,54.55,15.17,57.76 @@ -1619,7 +1619,7 @@ - E.g. 13.58 55.06 + E.g. 13.58,55.06 From e4709d461bfc495a711963f1ecc2c30dc478b75f Mon Sep 17 00:00:00 2001 From: svend1079 Date: Thu, 27 Jul 2023 15:26:38 +0200 Subject: [PATCH 6/7] Title change in ui file --- DMI_Open_Data_dialog_base.ui | 60 ++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/DMI_Open_Data_dialog_base.ui b/DMI_Open_Data_dialog_base.ui index 79889cb..4a822aa 100644 --- a/DMI_Open_Data_dialog_base.ui +++ b/DMI_Open_Data_dialog_base.ui @@ -38,7 +38,7 @@ true - 5 + 0 false @@ -389,8 +389,8 @@ 0 0 - 628 - 235 + 98 + 28 @@ -421,8 +421,8 @@ 0 0 - 80 - 18 + 98 + 28 @@ -443,8 +443,8 @@ 0 0 - 80 - 18 + 98 + 28 @@ -465,8 +465,8 @@ 0 0 - 80 - 18 + 98 + 28 @@ -1111,7 +1111,7 @@ - 0 + 2 @@ -1180,8 +1180,8 @@ 0 0 - 599 - 149 + 98 + 28 @@ -1202,8 +1202,8 @@ 0 0 - 599 - 149 + 98 + 28 @@ -1224,8 +1224,8 @@ 0 0 - 599 - 149 + 98 + 28 @@ -1367,7 +1367,7 @@ - Parameters (forecasts below 1 meter is not available) + Parameters @@ -1387,8 +1387,8 @@ 0 0 - 599 - 149 + 98 + 28 @@ -1409,8 +1409,8 @@ 0 0 - 599 - 149 + 98 + 28 @@ -1453,8 +1453,8 @@ 0 0 - 599 - 149 + 98 + 28 @@ -1475,8 +1475,8 @@ 0 0 - 599 - 149 + 98 + 28 @@ -1497,8 +1497,8 @@ 0 0 - 599 - 149 + 98 + 28 @@ -1765,8 +1765,8 @@ 0 - -156 - 600 + 0 + 399 418 @@ -1938,7 +1938,7 @@ 0 - -209 + 0 600 389 From 1219b568f81dd637d8b433669a3962af23662fd6 Mon Sep 17 00:00:00 2001 From: svend1079 Date: Fri, 28 Jul 2023 14:35:23 +0200 Subject: [PATCH 7/7] Small bug fix --- DMI_Open_Data_dialog.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/DMI_Open_Data_dialog.py b/DMI_Open_Data_dialog.py index 2662333..5b5d055 100644 --- a/DMI_Open_Data_dialog.py +++ b/DMI_Open_Data_dialog.py @@ -1275,7 +1275,7 @@ def run(self): point_coordi = self.coordi_line.text() if ' ' in point_coordi: point_coordi = point_coordi.replace(' ', '') - # The API does not accept comma sepperation, which is why the comma is changed to a space. + # The API does not accept comma sepperation, which is why the comma is changed to a space. point_coordi = point_coordi.replace(',',' ') params.update({'coords': 'POINT(' + point_coordi + ')'}) if point_coordi == '': @@ -1295,7 +1295,6 @@ def run(self): if returned_data != '0': r = requests.get(url, params=params) - if r.status_code == 200: print(r, r.url) json = r.json() df = json_normalize(json['features'])