From 16e163a9f69aaac827749614055d212014b07cb2 Mon Sep 17 00:00:00 2001
From: schroeder5 <s.schroeder@fz-juelich.de>
Date: Wed, 15 May 2024 22:15:04 +0000
Subject: [PATCH] added button for downloading ML Downscaling results to the
 analysis panel for emission scenarios

---
 src/pages/dashboard.py | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/pages/dashboard.py b/src/pages/dashboard.py
index d94f4a6..97ffc9a 100644
--- a/src/pages/dashboard.py
+++ b/src/pages/dashboard.py
@@ -613,7 +613,7 @@ def generate_eurad_scen_output_body(language_id, context, jobnr):
         ], class_name="row mt-3"),
         dbc.Row([
             dbc.Col(dbc.Label("Variable:"), width=3),
-            dbc.Col(dcc.Dropdown(value=variables_list[0], options=variables_list, id='variable-dropdown-{}'.format(context)), width=3),
+            dbc.Col(dcc.Dropdown(value=variables_list[0], options=variables_list, id='variable-dropdown-em-{}'.format(context)), width=3),
             dbc.Col(dbc.Label(f"{guitr.location_label[language_id]}:"), width=1),
             dbc.Col(dcc.Dropdown(value=stations_list[0], options=stations_list, id='station-dropdown-{}'.format(context)), width=5)
         ], class_name="row mt-3"),
@@ -637,7 +637,28 @@ def generate_eurad_scen_output_body(language_id, context, jobnr):
                 dbc.Checkbox(id="eurad_scen_downscaling", label=f"{guitr.show_downscaling_label[language_id]}", value=0, disabled=True)
             ], style={"display": "flex"}),
         ], 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_em_data_download",
+                           n_clicks=0, class_name="fzj_style_btn"),
+        ], width=12),
+            dbc.Col([
+                dbc.Label(f"{guitr.ml_download_explanation[language_id]}",
+                          style={'font-size': '12px'}),
+        ], width=12)
+    ], class_name="row mt-3f"),
+]
+
+@callback(
+    Output('ml_downscaling_em_data_download', 'disabled'),
+    [Input('variable-dropdown-em-output', 'value')]
+)
+def update_button_disabled(selected_option):
+    if selected_option == 'O3' or selected_option == 'NO2':
+        return False
+    else:
+        return True
 
 
 def generate_eurad_scen_body(language_id):
-- 
GitLab