From af69aeca60f565ce1d35b92309beb2a413b3e554 Mon Sep 17 00:00:00 2001
From: schroeder5 <s.schroeder@fz-juelich.de>
Date: Tue, 14 May 2024 15:40:21 +0000
Subject: [PATCH] a button for downloading ML Downscaling results have been
 added (available for O3 and NO2/NOx data)

---
 src/pages/dashboard.py              | 21 +++++++++++++++++++++
 src/pages/dashboard_translations.py |  3 +++
 2 files changed, 24 insertions(+)

diff --git a/src/pages/dashboard.py b/src/pages/dashboard.py
index 359385c..d94f4a6 100644
--- a/src/pages/dashboard.py
+++ b/src/pages/dashboard.py
@@ -502,8 +502,29 @@ def generate_eurad_im_output_body(language_id, context, jobnr):
             dbc.Checkbox(id="eurad_im_downscaling", label=f"{guitr.show_downscaling_label[language_id]}", value=0, disabled=True)
         ], width=12)
     ], class_name="row mt-3f"),
+    dbc.Row([
+        dbc.Col(html.Br(), width=12),
+        dbc.Col([
+            dbc.Button(f"{guitr.ml_download_label[language_id]}", id="ml_downscaling_data_download",
+                       n_clicks=0, class_name="fzj_style_btn"),
+        ], width=12),
+        dbc.Col([
+            dbc.Label(f"{guitr.ml_download_explanation[language_id]}", id="ml_download_explanation",
+                      style={'font-size': '12px'}),
+        ], width=12)
+    ], class_name="row mt-3f"),
 ]
 
+@callback(
+    Output('ml_downscaling_data_download', 'disabled'),
+    [Input('variable-dropdown-output', 'value')]
+)
+def update_button_disabled(selected_option):
+    if selected_option == 'O3' or selected_option == 'NO2':
+        return False
+    else:
+        return True
+
 
 def generate_eurad_im_output_modal(jobnr=None, lisopen=False, language_id=0):
     return html.Div([
diff --git a/src/pages/dashboard_translations.py b/src/pages/dashboard_translations.py
index 93e4883..13df98d 100644
--- a/src/pages/dashboard_translations.py
+++ b/src/pages/dashboard_translations.py
@@ -124,6 +124,9 @@ day_label = ["day", "Tag"]
 day_plural_label = ["s", "e"]
 download_label = ["Download Data", "Daten herunterladen"]
 im_download_label = ["Download Plots", "Plots herunterladen"]
+ml_download_label = ["Download ML Downscaling data (*)", "ML Downscaling Ergebnisse (*) herunterladen"]
+ml_download_explanation = ["(*): ML Downscaling for NO2 corresponds to downscaling NOx",
+                           "(*): ML Downscaling für NO2 entspricht dem Downscaling von NOx"]
 downscaling_label = ["Postprocessing with ML-Downscaling", "Postprocessing mit ML-Downscaling"]
 show_downscaling_label = ["Show results with ML downscaling", "Ergebnisse mit ML-Downscaling anzeigen"]
 show_target_plot_label = ["Show target plot", "Ergebnisse als Schwellwertplot anzeigen"]
-- 
GitLab