From c783a28c4a14d51379f3168dc272f21206783674 Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 24 Sep 2024 14:53:38 -0700 Subject: [PATCH 01/17] Hacking together new app for baylearn. Have map and prescriptor filtering set up. --- use_cases/eluc/app/app.py | 181 +++++++++--- use_cases/eluc/app/assets/custom.css | 6 + use_cases/eluc/app/components/map.py | 89 +++--- use_cases/eluc/app/newapp.py | 31 ++ use_cases/eluc/app/newcomponents/context.py | 58 ++++ use_cases/eluc/app/newcomponents/dms.py | 15 + use_cases/eluc/app/newcomponents/filter.py | 143 ++++++++++ use_cases/eluc/app/results/fields.json | 266 ++++++++++++++++++ .../eluc/app/results/predictor/.gitattributes | 35 +++ .../eluc/app/results/predictor/README.md | 1 + .../eluc/app/results/predictor/config.json | 1 + use_cases/eluc/app/results/predictor/model.pt | Bin 0 -> 362560 bytes .../eluc/app/results/predictor/scaler.joblib | Bin 0 -> 1655 bytes .../eluc/app/results/prescriptors/15_80.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/1_1.pt | Bin 0 -> 3056 bytes .../eluc/app/results/prescriptors/22_70.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/36_84.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/40_63.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/52_94.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/53_87.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/55_95.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/56_92.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/58_15.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/58_37.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/59_13.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/59_72.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/60_72.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/60_87.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/61_16.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/61_84.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/62_32.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/62_62.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/62_87.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/63_97.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/64_55.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/67_49.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/67_63.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/67_76.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/67_8.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/69_44.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/69_6.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/69_65.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/70_4.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/70_45.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/70_51.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/70_58.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/70_97.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/72_47.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/73_39.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/75_78.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/76_6.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/77_34.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/77_86.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/79_90.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/7_56.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/80_22.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/80_47.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/80_63.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/80_95.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/81_65.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/81_96.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/82_7.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/82_92.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/83_3.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/83_5.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/83_51.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/83_57.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/83_64.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/84_28.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/84_75.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/84_81.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/85_13.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/85_21.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/86_31.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/86_60.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/87_44.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/87_47.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/87_97.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/88_57.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/88_73.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/89_2.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/89_38.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/89_6.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/90_13.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/90_21.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/90_34.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/91_60.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/91_89.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/92_76.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/93_24.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/93_26.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/93_3.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/93_64.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/93_77.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/94_46.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/94_51.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/94_60.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/94_68.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/95_27.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/95_64.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/95_66.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/95_90.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/95_93.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/96_13.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/96_67.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/96_71.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/97_43.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/98_1.pt | Bin 0 -> 3064 bytes .../eluc/app/results/prescriptors/98_24.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/98_38.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/98_88.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/99_33.pt | Bin 0 -> 3072 bytes .../eluc/app/results/prescriptors/99_60.pt | Bin 0 -> 3072 bytes use_cases/eluc/app/utils.py | 110 +++++++- 114 files changed, 849 insertions(+), 87 deletions(-) create mode 100644 use_cases/eluc/app/assets/custom.css create mode 100644 use_cases/eluc/app/newapp.py create mode 100644 use_cases/eluc/app/newcomponents/context.py create mode 100644 use_cases/eluc/app/newcomponents/dms.py create mode 100644 use_cases/eluc/app/newcomponents/filter.py create mode 100644 use_cases/eluc/app/results/fields.json create mode 100644 use_cases/eluc/app/results/predictor/.gitattributes create mode 100644 use_cases/eluc/app/results/predictor/README.md create mode 100644 use_cases/eluc/app/results/predictor/config.json create mode 100644 use_cases/eluc/app/results/predictor/model.pt create mode 100644 use_cases/eluc/app/results/predictor/scaler.joblib create mode 100644 use_cases/eluc/app/results/prescriptors/15_80.pt create mode 100644 use_cases/eluc/app/results/prescriptors/1_1.pt create mode 100644 use_cases/eluc/app/results/prescriptors/22_70.pt create mode 100644 use_cases/eluc/app/results/prescriptors/36_84.pt create mode 100644 use_cases/eluc/app/results/prescriptors/40_63.pt create mode 100644 use_cases/eluc/app/results/prescriptors/52_94.pt create mode 100644 use_cases/eluc/app/results/prescriptors/53_87.pt create mode 100644 use_cases/eluc/app/results/prescriptors/55_95.pt create mode 100644 use_cases/eluc/app/results/prescriptors/56_92.pt create mode 100644 use_cases/eluc/app/results/prescriptors/58_15.pt create mode 100644 use_cases/eluc/app/results/prescriptors/58_37.pt create mode 100644 use_cases/eluc/app/results/prescriptors/59_13.pt create mode 100644 use_cases/eluc/app/results/prescriptors/59_72.pt create mode 100644 use_cases/eluc/app/results/prescriptors/60_72.pt create mode 100644 use_cases/eluc/app/results/prescriptors/60_87.pt create mode 100644 use_cases/eluc/app/results/prescriptors/61_16.pt create mode 100644 use_cases/eluc/app/results/prescriptors/61_84.pt create mode 100644 use_cases/eluc/app/results/prescriptors/62_32.pt create mode 100644 use_cases/eluc/app/results/prescriptors/62_62.pt create mode 100644 use_cases/eluc/app/results/prescriptors/62_87.pt create mode 100644 use_cases/eluc/app/results/prescriptors/63_97.pt create mode 100644 use_cases/eluc/app/results/prescriptors/64_55.pt create mode 100644 use_cases/eluc/app/results/prescriptors/67_49.pt create mode 100644 use_cases/eluc/app/results/prescriptors/67_63.pt create mode 100644 use_cases/eluc/app/results/prescriptors/67_76.pt create mode 100644 use_cases/eluc/app/results/prescriptors/67_8.pt create mode 100644 use_cases/eluc/app/results/prescriptors/69_44.pt create mode 100644 use_cases/eluc/app/results/prescriptors/69_6.pt create mode 100644 use_cases/eluc/app/results/prescriptors/69_65.pt create mode 100644 use_cases/eluc/app/results/prescriptors/70_4.pt create mode 100644 use_cases/eluc/app/results/prescriptors/70_45.pt create mode 100644 use_cases/eluc/app/results/prescriptors/70_51.pt create mode 100644 use_cases/eluc/app/results/prescriptors/70_58.pt create mode 100644 use_cases/eluc/app/results/prescriptors/70_97.pt create mode 100644 use_cases/eluc/app/results/prescriptors/72_47.pt create mode 100644 use_cases/eluc/app/results/prescriptors/73_39.pt create mode 100644 use_cases/eluc/app/results/prescriptors/75_78.pt create mode 100644 use_cases/eluc/app/results/prescriptors/76_6.pt create mode 100644 use_cases/eluc/app/results/prescriptors/77_34.pt create mode 100644 use_cases/eluc/app/results/prescriptors/77_86.pt create mode 100644 use_cases/eluc/app/results/prescriptors/79_90.pt create mode 100644 use_cases/eluc/app/results/prescriptors/7_56.pt create mode 100644 use_cases/eluc/app/results/prescriptors/80_22.pt create mode 100644 use_cases/eluc/app/results/prescriptors/80_47.pt create mode 100644 use_cases/eluc/app/results/prescriptors/80_63.pt create mode 100644 use_cases/eluc/app/results/prescriptors/80_95.pt create mode 100644 use_cases/eluc/app/results/prescriptors/81_65.pt create mode 100644 use_cases/eluc/app/results/prescriptors/81_96.pt create mode 100644 use_cases/eluc/app/results/prescriptors/82_7.pt create mode 100644 use_cases/eluc/app/results/prescriptors/82_92.pt create mode 100644 use_cases/eluc/app/results/prescriptors/83_3.pt create mode 100644 use_cases/eluc/app/results/prescriptors/83_5.pt create mode 100644 use_cases/eluc/app/results/prescriptors/83_51.pt create mode 100644 use_cases/eluc/app/results/prescriptors/83_57.pt create mode 100644 use_cases/eluc/app/results/prescriptors/83_64.pt create mode 100644 use_cases/eluc/app/results/prescriptors/84_28.pt create mode 100644 use_cases/eluc/app/results/prescriptors/84_75.pt create mode 100644 use_cases/eluc/app/results/prescriptors/84_81.pt create mode 100644 use_cases/eluc/app/results/prescriptors/85_13.pt create mode 100644 use_cases/eluc/app/results/prescriptors/85_21.pt create mode 100644 use_cases/eluc/app/results/prescriptors/86_31.pt create mode 100644 use_cases/eluc/app/results/prescriptors/86_60.pt create mode 100644 use_cases/eluc/app/results/prescriptors/87_44.pt create mode 100644 use_cases/eluc/app/results/prescriptors/87_47.pt create mode 100644 use_cases/eluc/app/results/prescriptors/87_97.pt create mode 100644 use_cases/eluc/app/results/prescriptors/88_57.pt create mode 100644 use_cases/eluc/app/results/prescriptors/88_73.pt create mode 100644 use_cases/eluc/app/results/prescriptors/89_2.pt create mode 100644 use_cases/eluc/app/results/prescriptors/89_38.pt create mode 100644 use_cases/eluc/app/results/prescriptors/89_6.pt create mode 100644 use_cases/eluc/app/results/prescriptors/90_13.pt create mode 100644 use_cases/eluc/app/results/prescriptors/90_21.pt create mode 100644 use_cases/eluc/app/results/prescriptors/90_34.pt create mode 100644 use_cases/eluc/app/results/prescriptors/91_60.pt create mode 100644 use_cases/eluc/app/results/prescriptors/91_89.pt create mode 100644 use_cases/eluc/app/results/prescriptors/92_76.pt create mode 100644 use_cases/eluc/app/results/prescriptors/93_24.pt create mode 100644 use_cases/eluc/app/results/prescriptors/93_26.pt create mode 100644 use_cases/eluc/app/results/prescriptors/93_3.pt create mode 100644 use_cases/eluc/app/results/prescriptors/93_64.pt create mode 100644 use_cases/eluc/app/results/prescriptors/93_77.pt create mode 100644 use_cases/eluc/app/results/prescriptors/94_46.pt create mode 100644 use_cases/eluc/app/results/prescriptors/94_51.pt create mode 100644 use_cases/eluc/app/results/prescriptors/94_60.pt create mode 100644 use_cases/eluc/app/results/prescriptors/94_68.pt create mode 100644 use_cases/eluc/app/results/prescriptors/95_27.pt create mode 100644 use_cases/eluc/app/results/prescriptors/95_64.pt create mode 100644 use_cases/eluc/app/results/prescriptors/95_66.pt create mode 100644 use_cases/eluc/app/results/prescriptors/95_90.pt create mode 100644 use_cases/eluc/app/results/prescriptors/95_93.pt create mode 100644 use_cases/eluc/app/results/prescriptors/96_13.pt create mode 100644 use_cases/eluc/app/results/prescriptors/96_67.pt create mode 100644 use_cases/eluc/app/results/prescriptors/96_71.pt create mode 100644 use_cases/eluc/app/results/prescriptors/97_43.pt create mode 100644 use_cases/eluc/app/results/prescriptors/98_1.pt create mode 100644 use_cases/eluc/app/results/prescriptors/98_24.pt create mode 100644 use_cases/eluc/app/results/prescriptors/98_38.pt create mode 100644 use_cases/eluc/app/results/prescriptors/98_88.pt create mode 100644 use_cases/eluc/app/results/prescriptors/99_33.pt create mode 100644 use_cases/eluc/app/results/prescriptors/99_60.pt diff --git a/use_cases/eluc/app/app.py b/use_cases/eluc/app/app.py index a926e00..f1d5173 100644 --- a/use_cases/eluc/app/app.py +++ b/use_cases/eluc/app/app.py @@ -67,45 +67,146 @@ app.css.append_css({'external_url': 'https://codepen.io/chriddyp/pen/brPBPO.css'}) app.layout = html.Div([ - dcc.Markdown(''' -# Land Use Optimization -This site is for demonstration purposes only. - -For a given context cell representing a portion of the earth, -identified by its latitude and longitude coordinates, and a given year: -* What changes can we make to the land usage -* In order to minimize the resulting estimated CO2 emissions? (Emissions from Land Use Change, ELUC, - in tons of carbon per hectare) - -'''), - dcc.Markdown('''## Context'''), - html.Div([ - dcc.Graph(id="map", figure=map_component.get_map_fig(), style={"grid-column": "1"}), - html.Div([map_component.get_context_div()], style={"grid-column": "2"}), - html.Div([legend_component.get_legend_div()], style={"grid-column": "3"}) - ], style={"display": "grid", "grid-template-columns": "auto 1fr auto", 'position': 'relative'}), - dcc.Markdown('''## Actions'''), - html.Div([ - html.Div([prescription_component.get_presc_select_div()], style={"grid-column": "1"}), - html.Div([chart_component.get_chart_select_div()], - style={"grid-column": "2", "margin-top": "-10px", "margin-left": "10px"}), - ], style={"display": "grid", "grid-template-columns": "45% 15%"}), - html.Div([ - html.Div(lock_component.get_checklist_div(), style={"grid-column": "1", "height": "100%"}), - html.Div(sliders_component.get_sliders_div(), style={'grid-column': '2'}), - dcc.Graph(id='context-fig', - figure=chart_component.create_treemap(type_context=True), - style={'grid-column': '3'}), - dcc.Graph(id='presc-fig', - figure=chart_component.create_treemap(type_context=False), - style={'grid-clumn': '4'}) - ], style={'display': 'grid', 'grid-template-columns': '4.5% 40% 1fr 1fr', "width": "100%"}), - # The above line can't be set to auto because the lines will overflow! - html.Div([ - sliders_component.get_frozen_div(), - html.Button("Sum to 100%", id='sum-button', n_clicks=0), - html.Div(id='sum-warning') - ]), +# dcc.Markdown(''' +# # Land Use Optimization +# This site is for demonstration purposes only. + +# For a given context cell representing a portion of the earth, +# identified by its latitude and longitude coordinates, and a given year: +# * What changes can we make to the land usage +# * In order to minimize the resulting estimated CO2 emissions? (Emissions from Land Use Change, ELUC, +# in tons of carbon per hectare) + +# '''), +# dcc.Markdown('''## Context'''), +# html.Div([ +# dcc.Graph(id="map", figure=map_component.get_map_fig(), style={"grid-column": "1"}), +# html.Div([map_component.get_context_div()], style={"grid-column": "2"}), +# html.Div([legend_component.get_legend_div()], style={"grid-column": "3"}) +# ], style={"display": "grid", "grid-template-columns": "auto 1fr auto", 'position': 'relative'}), + html.Div( + children=[ + dbc.Row( + html.H2("Land Use Optimization", className="display-4 w-50 mx-auto text-center mb-3") + ), + dbc.Row( + html.P("This site is for demonstration purposes only. For a given context cell representing a portion \ + of the earth, identified by its latitude and longitude coordinates, and a given year: \ + what changes can we make to the land usage in order to minimize the resulting estimated CO2 \ + emissions? (Emissions from Land Use Change, ELUC, in tonnes of carbon per hectare)", + className="lead w-50 mx-auto text-center") + ), + dbc.Row( + style={"height": "80vh"} + ), + dbc.Row( + html.P("Get Started:", className="w-50 text-center mx-auto text-white h4") + ), + dbc.Row( + html.I(className="bi bi-arrow-up w-50 text-center mx-auto text-white h1") + ), + dbc.Row( + style={"height": "5vh"} + ) + ] + ), + html.Div( + className="p-3 bg-white rounded-5 mx-auto w-75 mb-3", + children=[ + dbc.Container( + fluid=True, + className="py-3 d-flex flex-column h-100 align-items-center", + children=[ + html.H2("Context", className="text-center mb-5"), + dbc.Row( + className="w-100", + children=[ + dbc.Row( + children=[ + dbc.Col(dcc.Graph(id="map", figure=map_component.get_map_fig())), + dbc.Col(map_component.get_context_div()) + ] + ) + ] + ) + ] + ) + ] + ), + html.Div( + className="p-3 bg-white rounded-5 mx-auto w-75 mb-3", + children=[ + dbc.Container( + fluid=True, + className="py-3 d-flex flex-column h-100 align-items-center", + children=[ + html.H2("Actions", className="text-center mb-5"), + dbc.Row( + className="w-100", + children=[ + dbc.Row( + children=[ + dbc.Col(prescription_component.get_presc_select_div()), + dbc.Col(chart_component.get_chart_select_div()) + ] + ) + ] + ), + dbc.Row( + className="w-100", + children=[ + dbc.Col(lock_component.get_checklist_div(), className="h-100"), + dbc.Col(sliders_component.get_sliders_div(), className="h-100"), + dbc.Col(dcc.Graph(id='context-fig', figure=chart_component.create_treemap(type_context=True))), + dbc.Col(dcc.Graph(id='presc-fig', figure=chart_component.create_treemap(type_context=False))) + ] + ), + dbc.Row( + children=[ + dbc.Col( + sliders_component.get_frozen_div(), + width=6 + ) + ] + ), + dbc.Row( + className="w-100", + children=[ + dbc.Col( + children=[ + html.Button("Sum to 100%", id='sum-button', n_clicks=0), + html.Div(id='sum-warning') + ], + width=6 + ) + ] + ) + ] + ) + ] + ), + # dcc.Markdown('''## Actions'''), + # html.Div([ + # html.Div([prescription_component.get_presc_select_div()], style={"grid-column": "1"}), + # html.Div([chart_component.get_chart_select_div()], + # style={"grid-column": "2", "margin-top": "-10px", "margin-left": "10px"}), + # ], style={"display": "grid", "grid-template-columns": "45% 15%"}), + # html.Div([ + # html.Div(lock_component.get_checklist_div(), style={"grid-column": "1", "height": "100%"}), + # html.Div(sliders_component.get_sliders_div(), style={'grid-column': '2'}), + # dcc.Graph(id='context-fig', + # figure=chart_component.create_treemap(type_context=True), + # style={'grid-column': '3'}), + # dcc.Graph(id='presc-fig', + # figure=chart_component.create_treemap(type_context=False), + # style={'grid-clumn': '4'}) + # ], style={'display': 'grid', 'grid-template-columns': '4.5% 40% 1fr 1fr', "width": "100%"}), + # # The above line can't be set to auto because the lines will overflow! + # html.Div([ + # sliders_component.get_frozen_div(), + # html.Button("Sum to 100%", id='sum-button', n_clicks=0), + # html.Div(id='sum-warning') + # ]), dcc.Markdown('''## Outcomes'''), prediction_component.get_predict_div(), dcc.Markdown('''## Trivia'''), @@ -115,4 +216,4 @@ ], style={'padding-left': '10px'},) if __name__ == '__main__': - app.run_server(host='0.0.0.0', debug=False, port=4057, use_reloader=False, threaded=False) + app.run_server(host='0.0.0.0', debug=False, port=4057, use_reloader=True, threaded=False) diff --git a/use_cases/eluc/app/assets/custom.css b/use_cases/eluc/app/assets/custom.css new file mode 100644 index 0000000..57e014b --- /dev/null +++ b/use_cases/eluc/app/assets/custom.css @@ -0,0 +1,6 @@ +/* body { + background-image: url("https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Icelandic_Landscape_near_Neskaupsta%C3%B0ur_July_2014.JPG/640px-Icelandic_Landscape_near_Neskaupsta%C3%B0ur_July_2014.JPG"); + background-size: cover; + background-position: center; + background-attachment: fixed; +} */ \ No newline at end of file diff --git a/use_cases/eluc/app/components/map.py b/use_cases/eluc/app/components/map.py index 1342b83..4136ee9 100644 --- a/use_cases/eluc/app/components/map.py +++ b/use_cases/eluc/app/components/map.py @@ -1,9 +1,8 @@ """ This file is a component that handles the map where the user can select context and its associated callbacks. """ -from dash import Input, State, Output -from dash import dcc -from dash import html +from dash import Input, State, Output, dcc, html +import dash_bootstrap_components as dbc import numpy as np import pandas as pd import plotly.express as px @@ -47,45 +46,61 @@ def get_context_div(self): """ Div that allows the user to select context inputs manually instead of from the map. """ - select_style = {'width': '75%', 'justify-self': 'left', 'margin-top': '-3px'} context_div = html.Div( - style={'display': 'grid', - 'grid-template-columns': 'auto 1fr', 'grid-template-rows': 'auto auto auto auto', - 'position': 'absolute', 'bottom': '0'}, children=[ - html.P("Region", style={'grid-column': '1', 'grid-row': '1', 'padding-right': '10px'}), - dcc.Dropdown( - id="loc-dropdown", - options=list(self.countries_df["names"]), - value=list(self.countries_df["names"])[143], - style={'grid-column': '2', 'grid-row': '1', **select_style} + dbc.Row( + children=[ + dbc.Col(html.P("Region")), + dbc.Col( + dcc.Dropdown( + id="loc-dropdown", + options=list(self.countries_df["names"]), + value=list(self.countries_df["names"])[143] + ) + ) + ] ), - html.P("Lat", style={'grid-column': '1', 'grid-row': '2', 'padding-right': '10px'}), - dcc.Dropdown( - id='lat-dropdown', - options=self.lat_list, - placeholder="Select a latitude", - value=51.625, - style={'grid-column': '2', 'grid-row': '2', **select_style} + dbc.Row( + children=[ + dbc.Col(html.P("Latitude")), + dbc.Col( + dcc.Dropdown( + id="lat-dropdown", + options=[{"label": lat, "value": lat} for lat in self.lat_list], + value=51.625, + ) + ) + ] ), - html.P("Lon", style={'grid-column': '1', 'grid-row': '3', 'padding-right': '10px'}), - dcc.Dropdown( - id='lon-dropdown', - options=self.lon_list, - placeholder="Select a longitude", - value=-3.375, - style={'grid-column': '2', 'grid-row': '3', **select_style} + dbc.Row( + children=[ + dbc.Col(html.P("Longitude")), + dbc.Col( + dcc.Dropdown( + id="lon-dropdown", + options=[{"label": lon, "value": lon} for lon in self.lon_list], + value=-3.375, + ) + ) + ] ), - html.P("Year ", style={'grid-column': '1', 'grid-row': '4', 'margin-right': '10px'}), - html.Div([ - dcc.Input( - id="year-input", - type="number", - value=2021, - debounce=True - ), - dcc.Tooltip(f"Year must be between {self.min_time} and {self.max_time}."), - ], style={'grid-column': '2', 'grid-row': '4', **select_style}), + dbc.Row( + children=[ + dbc.Col(html.P("Year")), + dbc.Col( + html.Div([ + dcc.Input( + id="year-input", + type="number", + value=2021, + debounce=True + ), + dcc.Tooltip(f"Year must be between {self.min_time} and {self.max_time}.") + ]) + + ) + ] + ) ] ) return context_div diff --git a/use_cases/eluc/app/newapp.py b/use_cases/eluc/app/newapp.py new file mode 100644 index 0000000..2efd6bb --- /dev/null +++ b/use_cases/eluc/app/newapp.py @@ -0,0 +1,31 @@ +from dash import Dash, html, dcc +import dash_bootstrap_components as dbc +import pandas as pd + +import app.constants as app_constants +from app.newcomponents.context import ContextComponent +from app.newcomponents.filter import FilterComponent +from app.utils import EvolutionHandler +from data import constants + + +app = Dash(__name__, + external_stylesheets=[dbc.themes.BOOTSTRAP, dbc.icons.BOOTSTRAP], + prevent_initial_callbacks="initial_duplicate") +server = app.server + +app.title = 'Land Use Optimization' + +app_df = pd.read_csv(app_constants.DATA_FILE_PATH, index_col=app_constants.INDEX_COLS) +evolution_handler = EvolutionHandler() + +context_component = ContextComponent(app_df, evolution_handler) +filter_component = FilterComponent(evolution_handler) + +context_component.register_callbacks(app) +filter_component.register_callbacks(app) + +app.layout = html.Div([context_component.get_div(), filter_component.get_div()]) + +if __name__ == '__main__': + app.run_server(host='0.0.0.0', debug=False, port=4057, use_reloader=True, threaded=False) diff --git a/use_cases/eluc/app/newcomponents/context.py b/use_cases/eluc/app/newcomponents/context.py new file mode 100644 index 0000000..d0a326c --- /dev/null +++ b/use_cases/eluc/app/newcomponents/context.py @@ -0,0 +1,58 @@ + +from dash import html, dcc, Output, Input, State +import dash_bootstrap_components as dbc +import pandas as pd + +from app.components.map import MapComponent +from app.utils import add_nonland, EvolutionHandler +from data import constants + +class ContextComponent(): + def __init__(self, app_df: pd.DataFrame, handler: EvolutionHandler): + self.map_component = MapComponent(app_df) + self.app_df = app_df + self.handler = EvolutionHandler() + + def get_div(self): + div = html.Div( + className="w-50 vh-50", + children=[ + dbc.Row( + children=[ + dbc.Col( + dcc.Graph(id="map", figure=self.map_component.get_map_fig()) + ), + dbc.Col( + children=[ + self.map_component.get_context_div(), + dbc.Button("Prescribe", id="presc-button") + ] + ) + ] + ) + ] + ) + return div + + def register_callbacks(self, app): + self.map_component.register_click_map_callback(app) + self.map_component.register_select_country_callback(app) + self.map_component.register_update_map_callback(app) + + @app.callback( + Output("results-store", "data"), + Input("presc-button", "n_clicks"), + State("year-input", "value"), + State("lat-dropdown", "value"), + State("lon-dropdown", "value"), + prevent_initial_call=True + ) + def run_prescription(n_clicks: int, year: int, lat: float, lon: float) -> dict[str: list]: + if n_clicks is not None and n_clicks >= 1: + condition = (self.app_df["time"] == year) & (self.app_df["lat"] == lat) & (self.app_df["lon"] == lon) + context_df = self.app_df[condition] + context_df = context_df[constants.CAO_MAPPING["context"]].iloc[0:1] + results_df = self.handler.prescribe_all(context_df) + results_json = results_df.to_dict(orient="records") + print(f"Updating store with {len(results_df)} prescriptions.") + return results_json diff --git a/use_cases/eluc/app/newcomponents/dms.py b/use_cases/eluc/app/newcomponents/dms.py new file mode 100644 index 0000000..fa412b1 --- /dev/null +++ b/use_cases/eluc/app/newcomponents/dms.py @@ -0,0 +1,15 @@ + +import pandas as pd + + +from app.components.chart import ChartComponent +from app.components.lock import LockComponent +from app.components.prediction import PredictionComponent +from app.components.sliders import SlidersComponent + +class DMSComponent(): + def __init__(self, app_df: pd.DataFrame): + self.chart_component = ChartComponent(app_df) + self.lock_component = LockComponent() + self.prediction_component = PredictionComponent(app_df) + self.sliders_component = SlidersComponent(app_df) \ No newline at end of file diff --git a/use_cases/eluc/app/newcomponents/filter.py b/use_cases/eluc/app/newcomponents/filter.py new file mode 100644 index 0000000..d84885a --- /dev/null +++ b/use_cases/eluc/app/newcomponents/filter.py @@ -0,0 +1,143 @@ + +from dash import html, dcc, Input, Output, State +import pandas as pd +import plotly.express as px +import plotly.graph_objects as go + +import app.constants as app_constants +from app.utils import add_nonland, EvolutionHandler +from data import constants + +class FilterComponent: + def __init__(self, handler: EvolutionHandler): + self.handler = handler + self.slider_ids = [f"{outcome}-slider" for outcome in constants.CAO_MAPPING["outcomes"]] + self.slider_params = ["min", "max", "value", "marks"] + + def plot_prescriptions(self, results_df: pd.DataFrame, cand_ids: list[str]) -> go.Figure: + reco_df = self.handler.context_actions_to_recos(results_df) + fig = go.Figure() + + # Attempt to match the colors from the treemap + plo = px.colors.qualitative.Plotly + dar = px.colors.qualitative.Dark24 + # ['crop', 'pastr', 'primf', 'primn', 'range', 'secdf', 'secdn', 'urban', 'nonland'] + colors = [plo[4], plo[0], plo[2], dar[14], plo[5], plo[7], dar[2], plo[3], plo[1]] + + cand_id_order = cand_ids + [cand_id for cand_id in self.handler.prescriptor_list if cand_id not in cand_ids] + reco_df["cand_id"] = pd.Categorical(reco_df["cand_id"], categories=cand_id_order, ordered=True) + ordered_df = reco_df.sort_values("cand_id") + + for col, color in zip(app_constants.CHART_COLS, colors): + + # Add original values to the plot. + x = ["Original"] + list(ordered_df["cand_id"]) + y = list(ordered_df[col]) if col in reco_df.columns else list(results_df[col]) + y.insert(0, results_df[col].iloc[0]) + + # Candidate ids that aren't selected are grayed out + color_list = [color] * (len(cand_ids) + 1) + color_list = color_list + (["gray"] * (len(cand_id_order) - len(cand_ids))) + + fig.add_trace(go.Bar(x=x, y=y, name=col, marker_color=color_list)) + + fig.update_layout(barmode="stack") + + return fig + + def create_outcome_sliders(self): + """ + Creates initial outcome sliders and lines them up with their labels. + TODO: We need to stop hard-coding their names and adjustments. + TODO: Add a tooltip to the sliders to show their units. + """ + sliders = [] + for outcome in constants.CAO_MAPPING["outcomes"]: + col_id = outcome.replace(" ", "-").replace(".", "_") + slider = dcc.RangeSlider( + id=f"{col_id}-slider", + min=0, + max=1, + value=[0, 1], + marks={0: f"{0:.2f}", 1: f"{1:.2f}"}, + tooltip={"placement": "bottom", "always_visible": True}, + allowCross=False, + disabled=False + ) + sliders.append(slider) + + # w-25 and flex-grow-1 ensures they line up + div = html.Div( + children=[ + html.Div( + className="d-flex flex-row mb-2", + children=[ + html.Label(outcome, className="w-25"), + html.Div(slider, className="flex-grow-1") + ] + ) + for outcome, slider in zip(constants.CAO_MAPPING["outcomes"], sliders) + ] + ) + return div + + def get_div(self): + return html.Div( + className="w-100 vh-50", + children=[ + dcc.Loading( + type="circle", + children=[ + dcc.Store(id="results-store"), + dcc.Graph( + id="prescriptions" + ), + self.create_outcome_sliders() + ] + ) + ] + ) + + def register_callbacks(self, app): + @app.callback( + [Output(slider_id, param) for slider_id in self.slider_ids for param in self.slider_params], + Input("results-store", "data"), + prevent_initial_call=True + ) + def update_filter_sliders(results_json: dict[str: list]) -> list: + results_df = pd.DataFrame(results_json) + total_output = [] + for outcome in constants.CAO_MAPPING["outcomes"]: + metric_output = [] + min_val = results_df[outcome].min() + max_val = results_df[outcome].max() + # We need to round down for the min value and round up for the max value + val_range = max_val - min_val + min_val_rounded = min_val - val_range / 100 + max_val_rounded = max_val + val_range / 100 + metric_output = [ + min_val_rounded, + max_val_rounded, + [min_val_rounded, max_val_rounded], + {min_val_rounded: f"{min_val_rounded:.2f}", max_val_rounded: f"{max_val_rounded:.2f}"} + ] + total_output.extend(metric_output) + return total_output + + @app.callback( + Output("prescriptions", "figure"), + State("results-store", "data"), + [Input(slider_id, "value") for slider_id in self.slider_ids], + prevent_initial_call=True + ) + def update_prescriptions(results_json: dict[str: list], *slider_ranges) -> go.Figure: + results_df = pd.DataFrame(results_json) + if results_df.empty: + return go.Figure() + total_condition = True + for outcome, slider_range in zip(constants.CAO_MAPPING["outcomes"], slider_ranges): + condition = (results_df[outcome] >= slider_range[0]) & (results_df[outcome] <= slider_range[1]) + total_condition &= condition + cand_idxs = results_df[total_condition]["cand_id"].tolist() + print(f"Filtered to {len(cand_idxs)} candidates") + return self.plot_prescriptions(results_df, cand_idxs) diff --git a/use_cases/eluc/app/results/fields.json b/use_cases/eluc/app/results/fields.json new file mode 100644 index 0000000..90370bb --- /dev/null +++ b/use_cases/eluc/app/results/fields.json @@ -0,0 +1,266 @@ +{ + "crop": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.07339908426193414, + "range": [ + 0, + 1 + ], + "std_dev": 0.16265934528504822, + "sum": 2860188.724853294, + "valued": "CONTINUOUS" + }, + "pastr": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.028186925004809644, + "range": [ + 0, + 1 + ], + "std_dev": 0.08361703321142014, + "sum": 1098377.8053597955, + "valued": "CONTINUOUS" + }, + "primf": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.23964893649955774, + "range": [ + 0, + 1 + ], + "std_dev": 0.38454716715833803, + "sum": 9338552.285652943, + "valued": "CONTINUOUS" + }, + "primn": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.3245340850945395, + "range": [ + 0, + 1 + ], + "std_dev": 0.38925208060535765, + "sum": 12646325.773022957, + "valued": "CONTINUOUS" + }, + "range": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.11292289001268818, + "range": [ + 0, + 1 + ], + "std_dev": 0.22403471381928963, + "sum": 4400337.9611595785, + "valued": "CONTINUOUS" + }, + "secdf": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.07401922280621336, + "range": [ + 0, + 1 + ], + "std_dev": 0.19821889843267998, + "sum": 2884354.057296198, + "valued": "CONTINUOUS" + }, + "secdn": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.07384171667401307, + "range": [ + 0, + 1 + ], + "std_dev": 0.18563917129316915, + "sum": 2877437.0631263554, + "valued": "CONTINUOUS" + }, + "urban": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.001470729165265312, + "range": [ + 0, + 1 + ], + "std_dev": 0.015505845972764908, + "sum": 57310.83729591335, + "valued": "CONTINUOUS" + }, + "cell_area": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 54771.65765631698, + "range": [ + 8915.4794921875, + 77276.703125 + ], + "std_dev": 18437.729518379776, + "sum": 2134321963896.3154, + "valued": "CONTINUOUS" + }, + "lat": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 32.83876557109509, + "range": [ + -55.375, + 83.375 + ], + "std_dev": 31.918249782327756, + "sum": 1279649030.625, + "valued": "CONTINUOUS" + }, + "lon": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 17.70074937509038, + "range": [ + -179.875, + 179.875 + ], + "std_dev": 84.70808649468215, + "sum": 689756340.875, + "valued": "CONTINUOUS" + }, + "time": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 1931.0, + "range": [ + 1851.0, + 2011.0 + ], + "std_dev": 46.47580075082749, + "sum": 75246503185.0, + "valued": "CONTINUOUS" + }, + "crop_diff": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.0003485473230576186, + "range": [ + -1, + 1 + ], + "std_dev": 0.0034983136404717753, + "sum": 13582.064865136364, + "valued": "CONTINUOUS" + }, + "pastr_diff": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.00018371047761648197, + "range": [ + -1, + 1 + ], + "std_dev": 0.003419368559625308, + "sum": 7158.76283743474, + "valued": "CONTINUOUS" + }, + "primf_diff": { + "data_type": "FLOAT", + "has_nan": false, + "mean": -0.0007770527431400816, + "range": [ + -1, + 1 + ], + "std_dev": 0.003282573884994763, + "sum": -30279.90767043145, + "valued": "CONTINUOUS" + }, + "primn_diff": { + "data_type": "FLOAT", + "has_nan": false, + "mean": -0.0011011488395217908, + "range": [ + -1, + 1 + ], + "std_dev": 0.004067413763296919, + "sum": -42909.16605915872, + "valued": "CONTINUOUS" + }, + "range_diff": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.0006181910520406444, + "range": [ + -1, + 1 + ], + "std_dev": 0.00732248146861642, + "sum": 24089.443276185837, + "valued": "CONTINUOUS" + }, + "secdf_diff": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.0005058135084154264, + "range": [ + -1, + 1 + ], + "std_dev": 0.0035648070826364395, + "sum": 19710.356174001765, + "valued": "CONTINUOUS" + }, + "secdn_diff": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.0001974093167611805, + "range": [ + -1, + 1 + ], + "std_dev": 0.0061548025396158685, + "sum": 7692.574201149064, + "valued": "CONTINUOUS" + }, + "urban_diff": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 2.4529912601915283e-05, + "range": [ + -1, + 1 + ], + "std_dev": 0.0004476823913989698, + "sum": 955.872680853335, + "valued": "CONTINUOUS" + }, + "ELUC": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.08137410088681887, + "range": [ + -88.90611267089844, + 116.95401763916016 + ], + "std_dev": 0.5105799800687278, + "sum": 3170956.261810734, + "valued": "CONTINUOUS" + }, + "change": { + "data_type": "FLOAT", + "has_nan": false, + "mean": 0.5, + "range": [ + 0, + 1 + ], + "std_dev": 0.1, + "sum": 19483817, + "valued": "CONTINUOUS" + } +} \ No newline at end of file diff --git a/use_cases/eluc/app/results/predictor/.gitattributes b/use_cases/eluc/app/results/predictor/.gitattributes new file mode 100644 index 0000000..a6344aa --- /dev/null +++ b/use_cases/eluc/app/results/predictor/.gitattributes @@ -0,0 +1,35 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text diff --git a/use_cases/eluc/app/results/predictor/README.md b/use_cases/eluc/app/results/predictor/README.md new file mode 100644 index 0000000..1a66e9a --- /dev/null +++ b/use_cases/eluc/app/results/predictor/README.md @@ -0,0 +1 @@ +This is a demo model created for project resilience \ No newline at end of file diff --git a/use_cases/eluc/app/results/predictor/config.json b/use_cases/eluc/app/results/predictor/config.json new file mode 100644 index 0000000..273d3e7 --- /dev/null +++ b/use_cases/eluc/app/results/predictor/config.json @@ -0,0 +1 @@ +{"features": ["crop", "pastr", "primf", "primn", "range", "secdf", "secdn", "urban", "cell_area", "lat", "lon", "time", "crop_diff", "pastr_diff", "primf_diff", "primn_diff", "range_diff", "secdf_diff", "secdn_diff", "urban_diff"], "label": "ELUC", "hidden_sizes": [4096], "linear_skip": true, "dropout": 0, "epochs": 3, "batch_size": 2048, "optim_params": {}, "train_pct": 1, "step_lr_params": {"step_size": 1, "gamma": 0.1}} \ No newline at end of file diff --git a/use_cases/eluc/app/results/predictor/model.pt b/use_cases/eluc/app/results/predictor/model.pt new file mode 100644 index 0000000000000000000000000000000000000000..d0b22e419a934305fbe24882fd813275688d7a87 GIT binary patch literal 362560 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�WzB+?g$`0jw{S!}{;- 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%0A-Yj7+! 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%0D|OqF^* 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/predictor/scaler.joblib b/use_cases/eluc/app/results/predictor/scaler.joblib new file mode 100644 index 0000000000000000000000000000000000000000..c94af34c4652164efa0050a24d5681c36241863b GIT binary patch literal 1655 zcma)7du-KI9NzBk-9{OEF&HwK2oA>U66Sbl#yy>rh+G|UgmGh#a@wA|c58ck+TP*i zB?x01mLRN`C=48e@>U$+D^miK5XmBj7{ElLiNIh&U=oZ*1W(&-0b-2jkM=uXe&=_- zujf1IN^g8xVuCZwJiSIjP*eP>hEy%WAzc@hDnG+R16pSKTmvdR)cCm^l#pgMSz}jO z%dJAQ-(t}a7#TsuYA{osiEi)&d%1`jBk!y*f<{zBi~?n(Gor#+=D_L*D~YUMiOOn> zQALhyZJAl+_Ow*fU~IkyRrSGbQuQdyNl@1<)90+R%oJM>sU=!WpDsWZS;3q-f+HGF zmYRuW1oK9W@Ir<#m{fV@Ot%^v>a7Z^FqmW}F0;zZ%V*yw!+8XOVX-C!B`LC)k!7e_ zjb@&!(AkH9l31n4NHG{TW+2@PW=7eS9?mK8a}f>s<)~zcPBF!3h>Iw?p+z}^!U=8_ z)gzh0iNSJn$Njj!UY!jPA&;k1Z~vqL@tRY>IG zfiBiWIgE4qu!09USc6Ix!h;>GBaRQ_+&-+}Ar6jeEL8Agp?-FIBuNa^5X3`6Nn}ne z;XD^b6g{b*Y1CM6?@zZ2;dzk48(-UAfyTKeYLt%6%s}f1Gj*y+_LI0Wo%S_hE zZGrY}5pqqB_)z*v9!XyUNncs&+;=MMlT5JIl9ZZ0`(81Y(BHjmLb{M8WZNMZa)d#` zV7qDffu_QkhmYEBDGYBA^6jK1k(~2+wXrhw-95TWR+F?H$bBGfU3q zZUsN=+B6C8Tn6OL8w9FSxPg;OMU5yFe$`vHI^_J3xI# z=9dktCxPz$Sp`p*9Vz|Aq+TmJw}CclazBoyw9$^LpIhkLYc`LVx9?iu-6g5)sJg3x z&dAWuZ@qmb(6sfC=T4|Qz%9hP6jgFhyL+;iZI1y|Mu;uCuP zImtl(%OTb4?*9EnGe24EJNq>lRwH?CR2>C>$nbDY^93+%)!xQc*DiqWH!By8KiC1* zZh3!O3G)pop1E&Ya{DQ;srq-W{`dyaY^^__B%Y;5?#<$}e+BgAV07lo6X(&Rmj31K zEP0;Z5nXX+#U2TqOq##qrbhy89ec#|OVxlCE)Tf3M+KD~v6hMVmV>&KrN!M($sn!t rjp9>NVqnqrrs9j0GeA7Q*Iy>n^E+W`k*13gg@k#szsO%?MOptps;7ad literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/15_80.pt b/use_cases/eluc/app/results/prescriptors/15_80.pt new file mode 100644 index 0000000000000000000000000000000000000000..fd3ad8c02d7f7307dcc1b7afe939afacff5797a5 GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/1_1.pt b/use_cases/eluc/app/results/prescriptors/1_1.pt new file mode 100644 index 0000000000000000000000000000000000000000..78c1e6642139aee19ccc105655e3387098300784 GIT binary patch literal 3056 zcmb7G3sjRw7XCpZ5KsX@M61QB1rhR;0FoJ$YD7~@L~FBMT^d3bB9SoRhpw&&+JY|> zTeh(E-C{*b(G}ViA#>v@>e?4tm9Fd7$67(HqDL$$1?~R_a0BX|Iyv{`oSXT+@6Me& zxmTke;KDF&Zp;(QlNrWH6Q$y09jg;%q?uH)KFpg>tUPDE-fS`%^sLdGo+*sCBpWP- z1mYB|9n4WLHYXcQB8lj2gE1wQCC+-*Y|*ER60=yNDN~qeF(hRfP05L@ zAwAPSwP&?o@%E8B3zToN8`Z~&jd0^>*)|ul2MmQ2B&g*sV=GAd{Qzb)m81q z5-&SXKJivN_$CC9PYgiu^8S&>>G%Oj;vk25)1tfqAii>7MH`7R# zypTXfIYc89*`pcVheu9cHdr#bt0EKCPMKOkZyrc!4hc)O`}m~yTo)1L5OII6lt^-j zw7*wIWI04`_hw}#i8N|gxA43no&L@Y!<*)rWj2Tr*~=_x32QL()uW0Hc}krlW9&oj7Y zYO7VaBpmi#XoMT_H|dJ+^YD8IR^a)YTH)Zlt#FSirvo02fiu}{^__ucSaf9@d^qV% zD5xu-w*#i*zf^pJoxsm~$JxgxnKG{Lfq8p^vNA-~*Y<;82_ag6~&TfvXWEn17(+t^!== ze+Nxy4zwL;tVU_ewfM+Ki*UoGP<$k-1}}1XfCm3mg&(%IqhZ2TcxRg&&&aKYwFNU# zc+n$zuF@BdzZC*S|GkbI-w?*^(QQZj_lm*4vVvxNpTHM~>fzd<;n;t33Lcqp04Du> z29@u4gr|nC1n-L*t=spFfryDW&;u8OSFM(z(x7EvZ2y8L9503BOJ}K|DH)2^hT}au zN73(Mt3e?AlX7S5CMa2b$$DG61q{=@;M#^;;JM@mb!jL-C68rCUfE{ra^Ta9WX%@Ax-h z)!A3!2hW{!L*nngw5VR>8^3LHN$DI())y zAhdll7tNk10-@{$C~<#;^G1)gUCFD3kfVUd?SB!97i1v%-~#<@j5}WTa5Er^n%B6QcPPKt>xS(0m=p0qkTx6pJ>X z*~*{cN~Zy}#gC;|H+=we|6B&|-@8WrGd$|ba=YMu?my6A%SGk!jWhJwbgo3Sycq$53?JYq)t>hjQ)aVYavuAN;%1-_yx0 zuIQGz6Gtk`F&;e*mbvCoYtR%t^Rq>Gi=PDiUarB}vr6GuaRZ=pU9j@13+`;Y3@eUS z(%+|>>ndlJ;`NFCc<=kppnClQ5+2ZiYvW}s+Z+vw$j%Z0q!$!#gGb6twz?b&K07=>L; z#P?Tmrom#=nT$(y{N$5pOjgCpo>!b}D3S=dVp60+GD#|xMo6O~6mo?`DwBlE6j5@y zToxHVNgP|*f$6Dfu(Q?Jo0gC z?hkc*_`*KWrXHw0QO9E+(hPQwkpkM-pJ zagJr-(dT?SdvHC4*B|J3QzQBSeYhcw7kqjRY19J;hW6|qJs|8cl2fy<-tQ)U>g84~ fKk{*l!|`Jqv!N$S{%4I^z>h+V8~5S&cklfb`g_H? literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/22_70.pt b/use_cases/eluc/app/results/prescriptors/22_70.pt new file mode 100644 index 0000000000000000000000000000000000000000..bc2c7a85ef700b20ddaf2b14d14f4aa4da3725c1 GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/40_63.pt b/use_cases/eluc/app/results/prescriptors/40_63.pt new file mode 100644 index 0000000000000000000000000000000000000000..660c804fce7e78d15fdcb68c7531e1a4bba411c4 GIT binary patch literal 3072 zcmb7G4OCNC5`O$cKtT}|r7YFp0!H#nAec8nsOXwn5Jj`aiV&iSM)8uzkFHR31yOsz z3av^N-CFTy4=S_=Yss5%S{ILNb*r^1di<-u6{~L1RjEJw9zhK0y2sv}$-9}{Z@#&6 z=f0U#t(!YVd3#g88U3k2ltPlJl#6q+n5^hU^UcYL0o1!rqtsQe&o!G3dd8Hy&>~35 z%Q55`a^5oO83Cap(}+uiu0LmbL2i!094(11G??ZZ8RDvEa`W`Y=*)b^WVQ%0^92Llx@ngkp4!F&**Nn+mjN1 zqn9>-ApzZX%E$n%OBoqxw-LyYL1`q&VOz2n+Zx=*ii`~5tfVqzC~w6>8&FPyIj1;p zhS@C*XGlmIdBedQS#-BIp?&Pg$sag79t;WVwo^vlbTw=t3-!ZZ?|Ura{ne7Id@ zE-)}z{DF}_cJG*rBB!NDWHE{Aj%R@(&%zxQ8Lf4(=saG;fryI97-P4N4|>mWk?3L~ zcGgOXq?kyZwK5_rCh~4=z9l<4RqN#)Q|kX@h$}_$lKRRt^QS~TX_md1G34_3lbjgw zn>=$$yWXE>6T_GdJY5-mCD@bmotIbB`B4cDSuK_%C#qkYtC!Sa@|TRswvdC%5d0a~ znJ^Z&E{TC`(F0iQ`4xVXSp~I4Q`z>yaLtajrKs;;1z$9t$Biuwu)o9?N`6VFwM!4v z8xK8YTP{$bS{}m+7RTVs8AmX(xe=e1wZSLiCU!!Hx2<*BW_(EPV8_ARc<16yc7BHk zV#Ry5Q*%aQQL_*|J}L$A)qleE%PCO%=pgP~D`LY`)A3l$Ec~T80M<9%fL*rg7SG2M zu^}=UTsoGs`d}$!8+PF*vnb6aO($MX7r}?^L2&80Tzz2dMjTOHgXNtybhy|Iv3HMQ zP1H5kHjhB$^)TCke>Kr>JVThVdKDC$Sq^ULWATI7nRNY0M)U24Rq%t)TKLnU^%y_r z2CO)()U<9NK6Xjm=Wuv-6q2eZFuUUk?8(|f@82uNA%EY+9zWa!mjd-TjPU_slaJ=s zxp14}!4LF~tr&5#Rf%g8g14#=Sdqc#J(v$EzMARa+h3-0Ft~Pwug|V&l}ci9_&04TY6|`xq+Q zX280bMhqOf8tco}z|klP4nONfH=Y&K($IFeb>RrkzpxE%)zz{3ec^Z{tcET-a31yw z8=!OhRC?W-bhSVhf-5Rinls}=Y(rzNVN@H!G?^4P7-m_mML*-aWIyv$#8L4u@m?`f zHwS9+k7U5Si^*1=f7CWnP69{I%WLz??EDLpPGi@;XeiwJG4!t=s5uv~1B$+BLD%7~ zwx+~%c8~OqdXC}>8>-ok%|aSO=6s5kxh}R#%RX;01pBj__CL3t__5M@enKQpf4%|_ zwyc1(`IWdi;3kwD`v?*mufWQrui37Lt*E<}0GUa@!itmo#u|gWSmE2#*-2lxL&|^5 zFfphQTY^i_!#f zo_luXAnrVQd9}@cl(Z+OddgaI;+Ws}I+qLh9UQNlo6c1!ikDZjg;0tfwrIY>iYwI8 zQ@!BsXi1!rj@Py?GL@_0FI^T(oso_S*BAL+U!=?#>6li1k*Qn@?7%5^MmnZQzn7cj zW}o#Udy>!@>UeG;eV_xmmd#H3zcVUT>**=#L4>-E>BVx4-Q&gcI^P9z<4e8;Jum;a_H{_j++2j3b|-rR>@Z(sXgp?$g- literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/52_94.pt b/use_cases/eluc/app/results/prescriptors/52_94.pt new file mode 100644 index 0000000000000000000000000000000000000000..410e8f547aa98f565ff53b6107e5ea54e2dd77aa GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/59_72.pt b/use_cases/eluc/app/results/prescriptors/59_72.pt new file mode 100644 index 0000000000000000000000000000000000000000..913d7de9bd83de49b371df9a63c4dd772adfcbaf GIT binary patch literal 3072 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≪~Mv!kvIjNRbLFd?XGI8`)x@zkY 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/61_16.pt b/use_cases/eluc/app/results/prescriptors/61_16.pt new file mode 100644 index 0000000000000000000000000000000000000000..4beb3228ae5bf7f49313b9886f9c087bfd201f0e GIT binary patch literal 3072 zcmb7G3sjR=68?EZKtRPRimp(EfDrP)0Fr+|)aWr4Q=~mv`=9|LM1tXxfK=qsS|4ny zrJ`_J(Yk68Z52dCY`7EFql@jSRBQD}U9GaNb=O^WZ7UWZyZ@gcCUo6nZ_ebuncQ!_ zxpU|KGisHaJHvQ;Grt=COb{cNWJ%<4xmvSUR8(M4rUf#KhK*|1oE)RUpvy7qjY~~} z1;x3#VqNYmeU4c`n5YcmBGmYErVEX^I)g|oTBg(I<(r9Xj@ek8lP}6DG3yN`K~}LY zyF_ou%`)qjnvBI+rBVTL6ACq69MZ(C)aL1kyB#7>8jM==Lc3BxJTxxc8Zq(IxN*;% zq7vez>M|4W7gdZZQ02Fp_^A9;E~|;4CZG4l*G&8}$Ow&}gG;ObA0*k`F48} z5|Hnu3N({Io1Il;q{?L#8D+OI+Dw8n$QXxhNgr?PIVUSpGM2NVHj{C@6%SS5Y7)#j z#d$N{ZfSyS%bbn3$3 zy?WE(mGoIY6GM$ z_!%`Vg}@y9gq=1!%(~@MU-;3l1^O#)QPb!?_ISww=zOIQ<1c1n)14r=de;>;Y!9X* zAKu1VpDN47rg^j@`3>-YvlIgx4#NyK9cDyZ*gt&qJw3X%ir!Q;!^&&XY-`(E%a!0o z&~?2VKQhgOhwn2fP4^>l=EGKc^u~Vnbm2jEx?~X^X)b|XA0NinF<&UoG=lYB!f3_e z(STDzJ1Bxx>!C3Lu+=j1v4U{Z^0tg)i;KX zNxsKwgkQ2{=l4JjT?@V0+t?{Z-gv5aQ}T%wopifC3Fq7kwq~Duz>Yfv?1dXMA*f@3 z^{g|&zU_5%g|d#W-7tkp$_sE)XDnR4yAy9Tc*5@2da=F1gllS|XyYFr(3cA|7&+-( z*xG&odL{K54R_7;q+?uVkTE>tgi4PUNkr#^8F zaB#yq`t7+;m_Jp70%-^iR4Y=(S5B~|*T0L=e@0M*CZb4Ph-(U_;%A{gu;NiAPX9#? z+NS$>@c73tdH(0g)54BIX3t4B=RgqL>3`U{>%Dj7X)?V$0q9?|D&{U}qq(ehw+H|$6n z+j*z{5QfhSQ`8FzsO0K48~^yWrKPDHJulD9FSYZ#EIxr%0Yd1`42JkiCYUSQ@%dTh zar`<$U=0Y@(#0=|Q_>IA;KK49*dETJby+})TV@;HtNIf=@O%jE59#ZC(A~<&Q)a+K z!&&e+Uym=i=V9~j(^z#g;`&f)7JH` zqvcUpO6HYMpnLK=xWcP~o)u|f`=L8j)pdnFG;M*>c@3E4bq23RUBDj;*I|2t9RJ~c zgYKR^6Ds=~;god>$OUD{s@mv{dmm!$w$ETzR63r|RDjiI0Mez`*;jij*cp?{*&RNW z7#I=Ep4yn*8FH+J75;NB##)ynfBsw3vOH6{I?T&6$6scT|92<0;M=cA@OnHXzcD_E zcHI8f!rNS3ma7lq&Xbp?+Z@4226Jk#tSQrCf7|O^Cg9mlZ_Rs&t5OUvPiG5Z;s@D8 ze1(lO>5BDQgMPV|?|riLxym&0ZzJdGh&Vwek580~<0TSFf+Q(HE|ZIGGkM}PPA^N4 zNhGqwX;R+H#t(87Le4{8)G8O=*`dzOvDoqrm-BG$0@t$#A4&!Z{;PIU~8SIfuzHt(=i+t_61BlnqBZ zrpSmVo8)FYhmeCwI2`JDZXr(4QC!PrC;i_UrB-=*#tb4Rxy24)IY!%f{Jh3@!QANJ hTR?7bIKGWzw)*nl48#AeR(bHP5#!B$`1SU+{{?>oupR&a literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/61_84.pt b/use_cases/eluc/app/results/prescriptors/61_84.pt new file mode 100644 index 0000000000000000000000000000000000000000..1417ecd1ddd6af1cfc080a6eef14060586078e9d GIT binary patch literal 3072 zcmb7G30PBC7Jh6=h+!3xqT-5zKu7|z=zAxa+SnoE7_n-mVkt`s(MY(-!*vj96;TV; zs>4u09Yw6Q{nXLA!8>v6e4y33R;Z4j+tdxWabTRm(K_!D#E_2j*^}?&-Q3*&{O6u~ z?mI`X^YEl7iG=!@_)O`2gfW)+&u zIT@@m-)6C9%uz{+M?{1{%p-05%FJ9N@pM3>TC*jSo$Q#D5-)=rzeYhs1`qz3T~J8G zy2C7yOwv(0f1Rw9cc^7)X=H$tH!69jH(@>O#F2r#9WRy)>a??z3>Lf@;;=E4CBxE4cwrG4Zt&)Jl`-4M zW(o&JMs)6&k0L)yk;o!4vNN7@j8+?eR3u90W;1xbhy#f(A~AWLb3)L&j*G~PNUZCu zk|>IZ(sfovR7E7NbGFcyCD-f3l2IjoPy4!4l%V=orkNiV-IZop^I4-s$RDjH;%9m0 zl6Kuc%_f#L8wI+h%-`M+@xBZCYC0K};*`~~3ay5IZLV%or@_MM6YMjK%TaNXJcs#WJjUv=z_KX{-NxYAMdV zu>q4(J#cP&9_Mkl8YJKT5!^;if-L_ix_U(u*J|4jWmod>AN%~FX83%yjFBh)0W-Ohz3w8O;AF#DjK#q??89(rK#J}5{jM_=1I4EBv=jxIo)5!AND!T91o z;gXgF^y%~83PT~Dn6{Koy?q~A`W4~iHa{pZBhx7J zu&-^{*062UbI?|-$AGJ!Gz6ab4JJn2WA=XcjBXzGK9eD?!@jmMu6fZv5!&2w;`Hgb zYQ-oxH~3w=G`k&7Sr2lxn$Iwu7SoS9G^i>9yi@TIW%KWG*Zq^AvhEsFb)$|^E$e3= zU*!pJw=ST4BK2@JeG1gOF9NM>8NB^ftUYOK6&|~AAGHIjVb<6Y@Z+GShEHuGxVUm0 zyt%W2Ic2Ydl=HV3`LM+pULe6OZTFea&rrB$;tVvDY3$y0YvEskQ*m+eLI^tWgh>_` zfd1kBh8cItxQ_CCR4$x_F;Tafw#h;EMz<`uQ9Y2`S82oCY5I$ca`ekE0an|K6aBaX!3|df!?V=&jC#wQH zM*-8ebuu#{N{(N8&BdJy+|!qHqWEVgho*KvjWat$L)sDv6mXoZcXJLoQQ?&JwY(?KNFa3A3qsWu(J|`n|E~kSRYDw|ML3(Zl1{b z<|(xrcmC!ndu`wrJz9ve-^ViFuNHB^;#h7K)824ouLLigN~E`JmU0EtR&h_?Y65A? zP&)9`nnV9S(;Ig5>klCn^B94@+VaRr$pEaD(4^b~Z?_(dcdNVd2_<}oc4aVCa1vh+> zzZj=JUxIbDwQycjhnEsk(Me z+5)u~FT)=Kwqwqwdd^D{4i@q6U}*Gd?*5t(bPg0>PSX1{5{l8>0qP>_1Mz-5LD~O;1BQ6@Y85J91e(LKKSMqlTvkv zv!#82hSm-)_n4h)Jbf0v4QRr-o9Cer|A*@*JWS#1u%NFU|2RkdKOOiSsZj1v{;!JY z_d}DpU$+Hx<`gyh`mG@TJOzEVO&?0xl~Y}1O{DkA*Vx23eUk_j|&*8v! z7iU+n^W_)Xs+ZE-4epGV!WHR!ZF?g1d<}o;a;(x7>6~yqk*9kiRjx?qwCah}^DVFw zXPhh2IYoS4Zjv9>b|brz&=u-@ZvA^e1NoNCLHfTlO0N@%qPq}b9x>fmp0QJ2JZ}nJ kFfRv$7LXSnC$w?YhF-!qMG1fFbzVYiL`nFMu->uuzc*>JcK`qY literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/62_32.pt b/use_cases/eluc/app/results/prescriptors/62_32.pt new file mode 100644 index 0000000000000000000000000000000000000000..988effcc71d09778150bfa0ea55b56392c37a748 GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/64_55.pt b/use_cases/eluc/app/results/prescriptors/64_55.pt new file mode 100644 index 0000000000000000000000000000000000000000..693c34d8e5b213beed46718b5f1f5fe6bfc4aee6 GIT binary patch literal 3072 zcmb7G3s@6Z79QRZd5H*O6%}QRE{24Jpe1uaRD`A|rCQN-p**6AqHvP|wMu2xu%NCF z>Z`3qt0ubpxhGc9O7#<~0_$UirHIt}s21s#>h8`E#E`E0*^}?gOzzzO{O6u~ z?wpgLva@FxXJ_VD;?8(83VBLcSV%@HmnzO)kQo#0$;`HreB1Q&tjtVxI;YKAq!&%o zWvF%Pj7i#bPDGf|iNq!-$(=X7Fe^iyDVB&AtF`kq9I;L3vUKShaY_!S&D4uhbn3Jm zZDvLar(UGb(xv2viillMP?8gm)ble_=c$Rk86t|w%u40nG7pM~Ly`?YM?xHv?D%_n zb`Eh;o#2S`n<_@-sd6nKE-F`*O#u-VX#{Wjal|!|xFxw-xRj<%)f0CO&!@51nC(f4 zhsH_e$q~oS2!{xkqou)CRE(*jej3IGBS*}f_u^|Z7HYD67nY| zI_Ot1flm#G%$4D7dlj=b-JzL?IHiL%J*5J^n5@};?YNi80(mD-zDk50y} zH?vsg+#p)sP|QYO+z+FxTui4@Hh}k?cwD&eEIf#N9V>G7!SLHqz3jD4su(#1JUwdJ zyM(mwIlZy03zxKPF>YOP9XC&J!k?HjnyhQawjw_m zI4KUNZqL9E_=0&@J!kV4I5r-T1T=E?&53{3w};oR;cu%4QELB|F`r@YBice^zY8ld)>7Qp}{A zBw1|ug9~`Ha3xHVZfDmmcpvKbw6WQR6>$2K`Jf-r!k*4K0`u*EX0K?%Bga1)16|dp zl-IO3O>Wi2uxpV9T1p#~uXWw0)wb`!5alIh?12!|z>Ze*{zD>GId8(MHQ!-= zCr6hrp2(h(_(F64Ev#|CT-f+UQT5fdU2I^sGm59Rv5Wotp>&UpDXmdq+TI!t^W&F7 zSxpUX-z8<6TiD3paW{=c$sNia_wq4#PcmMhwd}!jtMJK$Sg@(d#g2~sc(>h?-Tn3! z_UQDb_}57X*}u#@4^`VV^dGLJROe}cba4vZ7Tro8hXcDu(FxNlALD|XdmwJ<5t_<;}DTpb!6y+Uw#{deTUI~<~>xw8GP@)u0-fr8bI!5^Z z^7{Wyo}=Z-lg32b@+U8O^C2o~9H|s^Tx|(WtM!8oY=^Nf+W?>cdk|E7)(=|}C*bfi zMwq}Hptmkl={Ui6{+TrDBNFItEcfCw)WDK4;R!+~#zGd52`53ha zIlRmr#mQscpgwvZ-W}mX$ zyi14S=0WwK+?fNa6?Sl_*cJ<0$AjC|5~bnZ3jQ1P4vbu|8ObW=pNT2@YvKEQcAhZ);j zoUOr@hhJ!`o=Zb7xI0=BYoz6|?Tbv{Yxr}QL!{P7%Y^HTyx12RYK^o^tG>ttz6G}6 zlvyJ!Q^f80BKfD%USv-aT0<@OZAc%e7vHj(N&k07C8!)7gL@GEc4K?7JY%;!ySE8l kFfYf17LXSnC$w=)Nk8GrFv9Bum4nb4G0yx?m~Wo@U#MEaTL1t6 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/67_49.pt b/use_cases/eluc/app/results/prescriptors/67_49.pt new file mode 100644 index 0000000000000000000000000000000000000000..51bfd06dc5d13631f8b79725858823c15d7039d7 GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/67_76.pt b/use_cases/eluc/app/results/prescriptors/67_76.pt new file mode 100644 index 0000000000000000000000000000000000000000..36ba63cdec7705032967c2d35168df45609c25ef GIT binary patch literal 3072 zcmb7G3s@6Z79N5?Kps)46$HfxEAq&jfMMo9Ll@aE?HXDAVAYBNB1EEalR>*}L25x! zchR+|sQu8kh_9}zwOGHBIbmIkw)n2#(z3O+w%FAbUEdUSX9!|K*Zu6xcQTWk`Okmu zx&NJW40_KY6eSi@KO2EmFr`VzPSD8mjI2>wTxdztNvK(aM!6_Ax5#2K<+A3YMK-@_ z);yEdl=q@Jm-Qpm_p$K$=~`nk_cJY^y1! z#B9mSW=)H1Mb_-aNaH_gGH+Ru%}+3}uOb1_{XWcL^!SY_yTU0-mp6NP*Lz zf&>-#=p`(X^!ceI!}K1NWVqAE2$lqAkmp>MrF^`sk#1g;aiR&^2xpK3H`G-><#MS>J2Nw#7G_ zsI}aovZykgs03UP`4V`oFNZGCPmD+WbjXp!(C@4|%C(X&K>ztkEFOIziFsF@?9cc! z-uKh-RMJl7az`X*Vgn$@vv8Mb>0G4D z0>{D@V!EON4#usqH$FNDZ>-&CpUoVC-)~z0^6eaW&P>AYn!jO(Z#%TB0zvz685|`X zYUg)B#d%F~GpnXgcE1Z_W1_G^8K0c9^axz6(c`MD5gI%pfdGtZ8*ZUNNmHlrkYmpx_LjHbhDrlI(wf1>B7BD^R`gyL=)d^r0jFzJFE zEvs}W88MGr`^6CMm6hpClc)@8Pkh4Mh%UtUQX{ae%ENJBj}!`Dm;{NjR(tWobg24q zJ!X1tfK!eJNNMY0KKd#iTX$aJ4&==R+4^jp9ljB#-V1T~Hq=1Ggpt@=t>mJ5>g-c| zis5QY96fCAIVSk>BRX(*6(=#?wx9g$E>fG{)}D?&N+)#R;PO{ibJe@!uzyT7FJ8ha+cm(1Vm!}ap7 zpm%Wy*W0azb*pF6dtaW48+;!@=Uah}mc-Mj43B|h`ChoRh@&kPvp7rY4tmpZF`ixb zTkh=8``Ec?7euW-W$z;Am@!w(u;4G7xXrIjg}wht;)?&e5rmVswesqVl<@xL?f;!T zZ`YHjNYjbt(9OnxoC6rzA{x144c+*<)1 z%O}&D^mphyUY~nLhe79zR$Ab{e|D)Xg{K$nnfaAY{(tWn>gd@gg-ZDru-`sMcU)Tz zVcS1M(P)t)Lh28cG>Eypc|D#T8HO#PzRVfJ_~d160gm8>Gf|pr#*plBxO2{R+Ps&= zKkmF_Z>X<_HeCaDCfGRZYd*=nJ{7Pc^)T0Sw;3;qCP0~X8|-K~06&DB#rDQY$gVjA zx|&@e-Mt-`9gapXaU|SHHNcPcf!yg7dduqt79&zws6h+ zHzZAc;GcXfV?KUjgVMeGB-lvoHaCmuz= zPd~ujUdLhcuT_w^sYbi>Rw$;;yw8a9n(+L;x}ovH9IRc_iVw98XdV{B%>R2ABW|dm zZ9EU?N8r?U4cB}=hl^Gp#w&Y6QON(k9md8Kz77la%=uS2^S^HFBWyeV7Si_lTvPnj zDJR~L^=Yb3^L=J8zn_9V-Dd!$=+{(#SxeK!{j%4&%1>CqnY#R$e3haEdpcVfrS4~w z3KdpnGg-|>i}^L9(EDVY^U`$kUq;T?5qW}2qfXSw)e40oK`|vkqteI~ibRD%sg75u zG#X8UMx$0GD1|78ZRqNZ;v*Eyp!X1h9q8O#i>=Ubxexa~ZZOuhat65p^LY*@cAz*9 z2D=`9p{;r{+6TaW*^&=Nx*l71q=B#DPePU{1|wYs=Z-w>j^xwko+ejWxg!mH3+%$F z8jN(6NWhat@^|$E$bJzHhPv)sm>YCB-?BML|F@zHdT;O8e#98hxB)EB*f$*lCH!sBdkL)(CFVcE^Ui1g3xFfLbpQYW literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/67_8.pt b/use_cases/eluc/app/results/prescriptors/67_8.pt new file mode 100644 index 0000000000000000000000000000000000000000..4dceeba0e772895d1b262121f4dfdfd08ceae5bd GIT binary patch literal 3064 zcmb7G3s_TE623eG;jJRR%_3G*2zihMBzJ<~A|+L_s5R|&8v}_X8o?6+Dr+oSL8}(g z6|pNmKb241iqB;iawpnt)#_>$l||Oq)^B}n>#J5<@w0nx014^3pPhX3ottydKmVLL zbMA~r?c+;P0Rhy{B!r5j4g#MfDkxy5FS zL1!}-6ct)^B@#aIiH+6rSY#2qQlD=mzMT+$hNVz%o6CR z(Wd84jEr*an2jPkOOerbGR76p5~H<y877vy*s}YmN(g*KrY{og{e9 ziiyZh#GbPfBC!*xYqq#3SEy0*0%T=j&!fC4ic`%i(=3#V?@Y7Y1vXaaOsF{`dY&STtxQn7)sKZ?|p30v{c=rwQ=v*IJZ^tYreG3RLl%D{229 zGx41}@i2y-h;8dy=%J1b{AT-gnBOn@xWwdzc zDqM7ka@H0shq|plL8Tml7av@pCtLPo((ow`&FOP!_}3*S zrT!@MM4*GLsr|6FwUmj<--X-lK2FN7FLU62CcbyPk-1ZOAAP>?#+U`)GrIm?(a}S$ zf+^y*!?f@qebqODsVzx`r^RDw^{GR!;dB$7W|6|h)KaWgEyII*gphtl5A>ELNNH;6 zbkafp{YHQ)y*(d>MMgtoO$}okH3v&>t_1z@k7)1g%NS{(oq@a7fnwhz7%QFuH5=E` zeb$eFOCjaxY|BQIY7~anFJ~fW-lI3{e1IJ@X3%FNSHQiHkI}oztlVlk!0`Wk93MCH zR0EcGz=nZWQr^s~ZeOivRM=7aO|Bl5zmZ_QzdU4?lf4xWZs_i0;WpDc@*H+ho z%&(Qsd|*fFb{`ddyBua+%W!b~o8tufRF(hCIZ9gS3pPQKFJp1v)>edxoZ@tZA z9rA@c?@xn|D=YA=%PIIGdlcLq+5mx1&G^F)-@)3rQh2<*gFadCoVhz)E z)a_}OJ;-s~`@BDGkp2lG3WMJujFa{0|nA6vdzqBj8ou9QZ)oPX~JLlIhXRe3_7_OuBo-%$6O(1h z5``jBB$dnL$ub4!W&JD9-1Lfs1|*Q@nNK1<<( zzO2ojSofgd z_Ap94f$qt{HI6;9qZ`if2Wd0?e8Dg1sLWN{}Rgbxuko% l%5}f2{Do`%SYdHo`$nzr+93B@qxR!kA}WCWaqBzR{ukKGvf2Ou literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/69_44.pt b/use_cases/eluc/app/results/prescriptors/69_44.pt new file mode 100644 index 0000000000000000000000000000000000000000..d43f868946b68d4a23473bec51a104eb5bee124a GIT binary patch literal 3072 zcmb7G4OCM{7JdW>5Q9)eDT;{vNVF3214JM*fvD6r?rFfErq*K)KT)zq!$3e?g}NXJ zTdk<9Vr8+qU0vFWfGt+ZyALg`b*m@}*jA4})uYI|)QW%GqG#Vr5EEMW*vYw>m&tth zyL0E>cdu6C>PAtXp46|#NXnmzi`U1*L}#U2(#1JTO(|+$YQeCvmY11nHkk~W7NdE2 zp5Tq#EJLm#Ylbn?A|TY{G~y!Cjbv3XGiMo0Vu^T#!MG&bLU@@Lb8cp~Sf6h(n(_qt zTth~_(UhgP7?$UmbM*x>0dWBePk)Y`1K? zJ}L3Z_R#oRh_6jgDS1ibQcC>nI!0NDe;OI>a4gx=V~ugrA|nB;7OjQ6%xQ7g_?D4C z)+pARv35=4EF>t6jCZg`Cbn4R22(yszG!l_tNG9pL z*i-4387%4Cg^@_xiCHhQs}z}BNT%5QSzyS`W3P(5qH)R7xj*#-nOaDqvTbXe(+97M zhzm*d@Kq_16cXw1RT+^L61iff#%raJ43}!BV zQq-bf#o4g18~SN7S}Z05M^}oj1@c+jIe9*vkVS#%dTKU3UL!=H58LvEsThmwJ zpHt1~2IH-~v~4w3=nvwT|IK5XKJtN{N`>Tz zhY_Jmb?{o*CVc#yH=cYWgz39G7LGqG#;5Mo;I^w%al!7zIB8mB;>BA5s?E)MJVvk{ zUu|BGyPNqc>8f_r`j2sm7e4lf%9ByB>4#o?p!F^eu1Ln!kw3z*@^|R6J&pKy*sHMR zol4vg)|l9PA%cmy--SN^`Xo-CS_}nUYtXL7iEuCe7UJ_?!y$L9%I%SB!1&-Znx9h- zSy#WKuP-&zkK<(c^|}5qnLi5L1uK;|8y-P_^-T06I2o>|c*EfhVi2ynP2Zc}ghO`i zw^FWR)v=%EF~|Mn36c0?s66LJw^lQ>=9^D(^{FFh*8XUw>UI|_yZ3;eSn(lxc=1++InE04$?i7v2xu6M!SHA^A%z`t-6EmRZLUX>>i*? zORj-iV;L^qdmXD%cK~x>9<7L7kDsKb(`#x(Xy3|WSaHo&Rki*Ol+W6Uw_c9GGmjmC z57K5Qw$c^&j3*!JH($4whBF|L1;HOb6RJ934eTk+chys3*|PTBV+WIDWLDyg7-b=j4U?Wp@6Pe~x03p^uI~x(6qQ zm7;;#!?0ES9y&cqz*L_&Ouw;8uiV~u17aB&7*R6Rj~Gd(?cp&Yf2c;(wkdGp=fAfs zJQ{|Wx;mJ4RsvO*3vrivFLa9oP|t-T9K+_#`sv5$4YzAxplFBnyyPZc*V&LLs40f< z+4JexzB4E$*HblX^a@y{ETseMyV0Yr**G=!2imXFUA0N#i#Co8!v9)6KqqVwF|obv ziEnkDr@x%$fs3qPWAvXx7zc+#{Yzf(s5SwsJKx7qJwMT-CmqC{q!~U+ii4YZ|Alth zN}S~73unSMBmL|ST5ave8}$MBYEA`QG?!q(VJ*CWw+S!b6$szXRbt)E6L{;DOIYrH z(3%{w8mR*!;gg1OQ2%(N_4>ju@V4crfj|C~&Hn|b)en={I?Txn`(JMNzaLYm>^fNj zM$sr`OYH6VYXy&NF{O*l3ifC3lauG`^robPF*R7$Qq)nu?{zL0a1qo|yJQ|)r6^9G z&lW_*46=#23LBkg$Tg;$jDJe!dLO+pD@85&edKH%ktpPGG1KBCF;b~iA&pnW$>Sta znMAIT#K_qPd2D<aUm5WY^z7Vk%a-!9^aK;XGZjQy4Yq*?;b00Sx>sUE`oPbMM z4m)x|U0HT;>$(d^-!59=6k&d4*)NZD|tV^}#O zwQLLQz$qV&bPN&iXNP2;J{&?02H|k1TDA8cN>XP=w`wF-`6X)#|8>I(DqKcKnuAt-7?!(y@x4c`ty3w9c|8>#X~7-`!`Q zd+xdK9JR{Jo1*;us9#ASHIPb4&rM0vYZA zH0g60!$OO>Aa}8ZkGCpR(L8w1s=jW#d`Bv zm!)t9zn+aFT)dG8o!$)XV@HaIv37V2j&$0w;wa9W;axVO861<1V+%|12#r6xtK578 zqvcKvk96*sjUqcs;rLQK${Ekah5`$FRQL^*hegBdi33h3#ff>&IWFkk$AyKZILUoh zj76nb>^>{Ol2R;n&K6qc2-PZIKUrD-CxbjGic|GV(=3Qe>`JpaOBsWiOCM!s{IB!O zJ@0z{n~V%&GH`TO`nw@MtnZw@oUR`=rZ=mTM9NJ1)wy~&UB|NdUqXY=HW)&xNcj)3 za6I>h{IX>q+9G)X>Vz7Q2(FV$g`tX>mzO|C$Ql&qp(b~4zXK`JTU9u zeKF{!t%Sb1b`xrg?jZMC1}i3MhdP?fBhlxJ8tE-D#b{H+YDfqLvh!#?+SXZvq`TUn zx#}6I2s=T?e;?`C(%28#(-t6o>sch)L6Fzf45;#Uz%-w8NU%P_{@8X@zANwu{pQ@8 z=-|(jp>;=i#jHrgFWl?eR-*O9{jN8KCBO!3CZtHBf9SpG^~mSwZhB|PFnegrWBS?+ zTCr}85tLb0sH}}8`Q>93XUIuXy2t1NTIbF8CIMj;-TN5oXjG$;7T2e?MQ=DwWlGc^e_q9)`V1- zs>r9y-y^jjOqDmkGY-=J{%OX4%7YxA>GdFqcmv%HXoNK0DmtoZH5d~r>5^y5;mg{I zNvLlH!fZmx~Uh95z`Yx!uS_7qvU{|j^nmY~Xzt#a<>?Gi?Brnv7ftN-uj`MTUZ zu`<((yLmB-ZRFqIJtq8%(QURAP>a{uvM39xOCMza zn=HdY-3nIhnfs%CWASXl@ozt0!Hj0REWaSBO%Qo|A-Pf5nO81d_iw zOsBVxaP*JSl4kKe`56Bw$CTnacqBPM+WlWsNVX?~_xMRDCvE_lKZAl>3z%5{* zd5*Ue1JUJ2-j3{*v7}&`uj0IZEwb(%2#d_sAYd+{VC!wVAY^YLJN(WU2drltjD z2+pFY!7UJX>ZzRP7mK{(&&p4X8m;y zjC&fO7y6lfp+ zoP1!YhC8Vb=*YG`wkMP7K{@pi?WeZ^&T2tp<0r!T=?mzbiihYAjlt+{(O^1{=LKbr zZ^E*Ynds4!@9nYs)}Yl{2jR+xuRG&k^yentXtoY>`l|7lcE>;XqqoUd|75>m_POLp z`Uo`Z6JG~+rm1sk7KF0r$?3~&22hf&oa(M>%1q(!{G3bq9NW3A^QN*@isJO;Y~hrw zi%rNC*d&Xgz^FADmub1yC)cP~W{Q6&Ih+5YRB1|bT8b!HEEcDV(^FHVDI&2%B$K4e zlGDTzsVps7B9@6|oR`+{umN$bhn%Wa9-Ol;Iycv18_2!rBYpZfcc^RO#|n$%+Ba%__XfGwY88)bi6}qz$F1*L`#%M8u~7g3 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/69_65.pt b/use_cases/eluc/app/results/prescriptors/69_65.pt new file mode 100644 index 0000000000000000000000000000000000000000..3cca781272c1953144b82762359dd4981ee848d7 GIT binary patch literal 3072 zcmb7G3sh5A7JYz(5FsGohY>ARsi*<+BMFdqgGf^~D$xq1Gqp63NP@9=!vl&HL`VFf zQby^h^;2~zFs`NbkJa20b=eNMEK<-GYMokj1gsW6GvjBl&U*wgq;;0PStsx1=Iy=D zJ@?#qj$Y?AfTH+(>Q_TZg;0vP3`J~=(ZCp@7tFJ2lLDzfx{XrLtgKwC)s)3pa^KGr zq}Yrmo5`4L$zlYU8aE4jM5YT_>iM}wlQmi#U1+jon;Gnx#pK$u%+VS7jK!KK$gr6* z^DS0m24i|ZFV~h)AQfP*$jEdb7MaIBX~;I=0ZxcOYt1z0azL zYe7Et(Vb*4f2NMo1?v2kV_%)0&SN(KU!0hCc z-~h9aE|9^2Jv?Q2kj|qF2RS){85}YT4|Z9W^x3k8^kb3Yp)8A@!NWKfZ(ZPW9LhSy zdh-V-({Kid&B7yGypcxtcr&sej|{)U@^~{iyoaX@zsh+t%E>XB!DD9Oi2P#wTDmX0 zs*L$2#=vbD9^12GHj3;lg~t`+@jdY@Fxm3ht-=#@9(n2B&*FeZ#W>2`GsgwJce`+O zF^+Mcm0)o(mblMKv9uV=dS>(UGNbi6AAW3UK=)8jisDTF!ZZt@M7?R2S;Uxfx%|;4 zMgA(!+|sV^r`5tRRud;zMqdl%vA%QmVmUu5(Iu;6#M&hFOKbIsy4-}@Jsn|ZmcY&* zXf!1`07z0MYMK5oRKzNGpg(H-1b(O}DDxZ0Fk$9+w8XvyE^#Y#1t9mY^{wUnIOo zlfhV&MlZSDO-zhGx_i6^=6L&Pu4wK5Nq zK!5xo(ZLL>fST=3(VebFP<>ixf9&5*$N#*Vgyk+pD^^PBx7yB-{ev6Sd+WU&hLuZD z!k$y)qw-i3>VFtYWlC7waRF{^33X83!6fAAVmSR#3UpR(_jo1K#jkLqJx(XfmZa)0?Ni2$d zyv?4SEYe(fdWwv?*+MFZe`pu(SxEv7|F*}+Jp$^J_3`)qAqQpGU1GZNIclgE!B`N% z1w|QJS?#GgYDl4X@e4^^^IAlQX43_RDmr|}448|B8vT?_5Ei|bzBIBNr7Ew$g*q9T z6LkVL@pq(Xcr!&xc4t>|L^4S zTu+`vo8-x!ytLC1M8Eee3A`Lk1|MlAN7tz#p`ca0GU8kM;ju1IHQZMJxVecA|I&`y zmXA}f<-H43N04Spzz~x2gVxUJSNwIslSEdYvzOMFI`zwy=iyH0K6?AnTlW1Q4$>sI zG$CP18>}8a)N#aT9@;1QSv^;Njf~Xn2H(hqMJ3CGhpDb*k6xLuy^)r^yuZ@*E4p$VQ ztFp~x+RQS<%c((Q+xHRWh9hK=Pchk(K7medSct;!ZintQ5>3+XDrl`f1oWjRAn-Xv zDoaz~`qZan^Fh95Uc*+T+Ef+aow5tGsgG#B@dV(>$IvM8aeM1*HTosqf&A--YnESn zhw!VHsmH4mKy&RIa^{?kocuPEc&*q1!Tcb^#b0Qmm_)V?bN15lmpS7fCLI$vZhUn`hBl+nSfit*W0pF*(ybG_F}a# zO5Up$%~jZ#Jd@30uv!)xxZWqjV$>#yf1fy8N5o2*LatJXop zUvYK^yB>b7t$IGb=>zvfOYDwxJ+}RkdbWl?cR5Dlj&x19{>Y~ONU1y0HLdz1^=u35 zqA7Dnx~7Q#^F^|EyZVs5N$3uB-M6rQ&>*&DbBg|UM(K4to~Rcw(krSD%PRJaXV)8C m7tD@hTnoq!7RR-5)V6`#H$`!O>vi5-Yeezc5BI$D+5Z8M=Cf7+ literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/70_4.pt b/use_cases/eluc/app/results/prescriptors/70_4.pt new file mode 100644 index 0000000000000000000000000000000000000000..e24eae114de3ee5f4460b9d033a83e51ce12b11d GIT binary patch literal 3064 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/70_51.pt b/use_cases/eluc/app/results/prescriptors/70_51.pt new file mode 100644 index 0000000000000000000000000000000000000000..118e8a9e869b563215826203fb3d3e275715fb1c GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/72_47.pt b/use_cases/eluc/app/results/prescriptors/72_47.pt new file mode 100644 index 0000000000000000000000000000000000000000..f9074870c10978088b1e63e3e9250fc658e4fd16 GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/76_6.pt b/use_cases/eluc/app/results/prescriptors/76_6.pt new file mode 100644 index 0000000000000000000000000000000000000000..6dc06fa689a2a92ea254807c86cdba36c3d8bbe9 GIT binary patch literal 3064 zcmb7G2~bn#7QSH#J5qNll>sDID)}_?fBRfKn<9io`r4V-y$V+cfDfP&0ZwF7Cyi81CvB@GflrUDCJMh07D^YBI{c6$@q!;YN1$l38_NR-=7H5tx(Gor)BNQOk~iKwK4jLHe%c4a6q zGe-Wz$Y}SDxhQh86p5`Maqf7Qnv3n+QIRoPfj!5!D-I;Sf+Senb9~S{kBf*aNMi3< zDUnnVY42GXkyQ}6d$z=$E7ocK{F5sCJRIajQM~G&nP#C>LPwhAE@I4ueEMk8WB;6I zz4NZ?zs<@pHZxCGP5%%spivT6b0_N;K*8^K*4^dXAL~zQK=$A0qT&VENA? zJZiY1%8kDdi-ccdvtb?7mA}GXEEB0`e_w`e{nkQ^K*!cP8sLj1L9nDXo9=t~pHTbN zBi3<+f|O-R?5WWz+I^-@+DeJ%@L$*0cGyeGym9 zcKyD4Iqr{ALxijV5?f9{*{lWNwR#_0zdoK#J=b4-I%y8JHip4ln;an6_P$E^AOrg* zRY1zhsbC71LazB^e18t5&N4>2u4l)?;i6si-=Y`8KT>OP#Kw1UXY+OtCE7sw%V}I? z7{jg@c#MwyDauuTtd({q=flV|-$LnyW#FBiimQEGI9+%a!rmL^Y1~$IZJ5 zRp%AzLpvf;UrXK($LGdj>!MvS_x3|r8n&C3l&(`9nIga`uaAOj{Y*H734rK*0qR?q zMXs^;zokF=;0dI~FT>=&mpQlid9m^BaqOwNI*7XKR0X}u;CJf-K!1D_=3T$YX3d<5 z>uQo9$9WBZ3KHOqHh|m7Lf87W1DuZ|)39k>77nSpj^0PSaO}+KtZAPf8s-(N(n7_q z5XS~6H&@}*dq(`dWDGs4e-mheSHeB8;>InnV?o<*tazCYHAXWmyZi=wGOhrdC4*pV zW-LPE+pxLps%qc%{m!OjA3UT!3Lfmsp9q5y#rA>>qk0jM+3V`be?XRbpa2Zl{l!oqLfzuIEYE+mZIN<3N6+i?^2<8;7fv{j?VpK3k@$p-UmT!5c9g~PW(Vr) zhq|gB9%uJR@2JuOhPxuwJFqdD#+HB~>a~Re*R`el9p>;p?9HDq)5B_m@cYTJXs3N$ zlM+HepT8FMRU&rD>33oL-XCD)geJDAum;1J^B^i}fy0CaOL#k5e(8xS^MDUz{bmE- z=*8#=UxL2=BJhblquM;lLjUo{J&+%zAZ+|6FgyAxduzJdRTI7fR0o%!u0hXEeiW=8 zeRB^Bk;?pL2O2zk{<|=4W$NisJRzY!Osa2b-8Lu!(ka zvDIj^zGmcGAA>bdlP>*>NRyJ4N=0(AM3$uB zrzO0X^;P0oF`S3I>a+sh*{7YGXR!_8U-Xb3eOzy-XW`^~wQiZuQMjQ`Yjba`=hYAD z269j5y0Gq8asK!8*YnQy1nRf~{?y+@X>Xusvh@Uh-2*7=4fM>Yo$JXnOGNo|KYo43+W!KV?5IEh literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/77_34.pt b/use_cases/eluc/app/results/prescriptors/77_34.pt new file mode 100644 index 0000000000000000000000000000000000000000..924487d4e75318d19ff4547a7ffb03f8ea4e5a4e GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/79_90.pt b/use_cases/eluc/app/results/prescriptors/79_90.pt new file mode 100644 index 0000000000000000000000000000000000000000..394030e3b29405914f7ab9eab4b110288a26c47c GIT binary patch literal 3072 zcmb7G30PBC7Jlp)kxdX$v@F%4#jHR?axaP!a8heP>lc@n0?Ck6G~Do@)e*&oO{u7S zg^E_JGAdS`0*(vhp7>dY0M3e`MkE~j$k7^ z&fEa&BWFQTQxSa-n1DY&wE;UsCF2`y^$>hF5Q1Z7z|QZ+!oz*uc;wA?TxY3hF1)UV zkLq8=$w|p{=ENg-m{|#Tw)})IuRaOyPK?CI?|+M2Pd4L&Ig217tOUY;X`n7{26Q}V z9*8=Na8tlTG^!=oa`1Em3M^cXkAC_dK5{hzAI)vVs#Rx@=k4A2FJP zC|?AN!NVmOy4d|Ld}kg@yA~`p`_g+OWCwmnD?lihLqN#(5aJfK|4#;v*y6l zt` zxMkyru~*Ec?>tfzOj-^PTK(e0M~C3at*ubEyA3gqVA*T(o=6H!nx=| z{4n4MR$h7o{^?OmhyGfJz8)=xu?hQ{bxXdXVSCN^)|Ic|!lHNZz4AZ7R~@@yZ>CcAqlZFQ5b6J0-#yjedB#t{wd+xDy>&US{S`-mWo&3=IGM<@EoZ zJXhP3CsD>bawkvHe-lk#WmI@niqQJJDq0jHL*?j^S(P3aTe)C~*;G?))_>bhI}(mz zH=ni0_jE;5%H=hvQZSc}Sn7v({;gVEI-aBF^`-fxR{oXp(~x+6J~}o%5Gw`S@VX=k zR0vn2DT<%rdWR0RO%0A6q7E#VsW}Y3C}!t zk+xK*;J&c~k5z2P;X4=7uB46T=ww$sdDnY*jdU>hk8H#Z-*16;%~gOdcfzt8&bXuP z8l=oErL*T7n-n#e&MzFm(kM98|;K&$nQvxPILC(-m0LdIFD3UWxmUYgbGN z{tKGYnE*{IedwOf56%Cc^98mH*$HDT3xSV+LZZfZJXeQ#ed+kitnv4?Zi){{IBt1FRQ`VI6WB%CZTqfXGaCTGXTU?c5czrQj z5EI$MCgdxuC`V^9q-7Zvrt!T`szIxa7ymJGu8xT1vgpXM(c(ynL?V~O$fIS^Vu>V1 zB94-am{LZ$W*azFf;@CH?)3Qmb5DBYF_SoyPQHImT{z pc5mUkU``J3Eg&Zxj&I|bP5t>_hT;EKt6ccjh;ipGe!g|?{{UD?#vT9w literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/7_56.pt b/use_cases/eluc/app/results/prescriptors/7_56.pt new file mode 100644 index 0000000000000000000000000000000000000000..184376352215ecb630b7d3ee38f2700a8051e301 GIT binary patch literal 3064 zcmb7G30PBC7Jlp)q5^`53xX>kW`%%~dl9OD&1Vg`OzO~~Aw-D=!%ZHvS`l2ps??3C zjLW!G2Hd6KRE4|~hQWnuU8bVr=T}@>an~7fP$}4XFMxz}oX?(o=esZW-T(aOo_p>) zN2zdfrYLuJ>Q~a2@}(kEBV@vKHLVt8Ezrluc~NuhCErn_G3fPL4XraQH1Vbz)3ruz z`edDk<`F6+nK%Ti`mv@n4e46FKqUA?tDBcW6GshgFlsUcsoAtnZ{npIwQ1QpeR?Xb zU1%~GQ*$Id;uIXLa$}JucBOirmN<7pc=39Jnx4@)$s;Z*2X>8!xT>7kQInNT+!VDm zaZgfE3Qq;Ukn~aT6%K`jw>pFK#)BsOWYSl~w{a;=r#6v(87yChb4I5`2LQ){YBJ0vc4(*K%|P=tqB7)^|?dPUk_z_GGnC6d#A)ovWMEc1#=B0V_lP0BuPI)L**Ky#LB3 z6q#Cu2R(GORNgs+eI87M%(64sN2mn8(HoaE*CEN?&CIc-9@wlMfpaV|m|En6Ynmv$ zqH!#YJ9@91nLsC5d5-|Ii6mP&J4{2VMigZ z_IrjxngcB-E>t4_f))7W?)lg>;5Is$U4`d6ze4>U9>TAmw4#B$Rk*Z8iWBlGVNKyw z)Wk@b>j!+G;p0$PfBOMGa+ViU^l&9Qc0>qupXV_-UKjDr0UEepHwb6x0T~w`fbjn` zqViq8;MlO`;B|9@dFR(b5IODe9hz&D?`w{=oc5MZ z^c?Upv*CMZ=A+e#sK#+A{?m8WDDjZcQZ(Z(WIk_Yf>xKJ1+imsek;u==cK^3-ER23 zBkR!Q!J{C+cLctcwhN8Ua)&)FkI~*s6jV+B2ohfUTX4c!c;P)8cJWo%=Xe{M;Fg8M zqMFPbCvGz5PhJ7fL*ru3GYx3!-Mi2pn~1X`1&pv^6|-t}2(x{6J9F-X1h_0Kz|Z{Z z@%9@M_<>)_4EcE<`Yu!iQB%ID(dM0JMjkce2Tf;TLDL@mWc~Z#v$zZ{{WuoSnq7%6 zy1PQlUuK|b;{?Ey42AQf!(#FSMq2LVABWIWfJYr04#g>1hi@fWZZrV-E7D@3UmTokZani1L*@LjrhUq3e627< z?tP)SI{Eqrw3)Ynx%)#O%<U5i?#k7Vv`{Ssz;wg)!7xX)}c@L^A02fWPt8>(=9Vs2>LQ}ZnEpjmgA zhS|TY1exdy+!$8|#(trwB4Hg4I`u8AdasTtdbAyG<()^vuGHd{mn))q+n2+Yd;exG zx9r5xo)>VU?j7QwfaUj`@$MIy zuaV^{H#}qcR~q&ZEVJpZPD=0nR2YU+knR;t-&4>TjjBV zpP^|TQ(#xr@`;B#zA*ok@^@?*ydTC}76TW5S682JC$V*y(|3)(v@8DJmRz|;RczJ; z50KYHJem;K@(OV_N!H_hAND*seY;IQCF#tmuBsLvC-{w@b19EwyR>88EVfEfoW7lH z2o=%ECg2LJ(4;l$)Oy`wHP`y2>eA!m#J`c8&3{p(R2Cj36NQV#;z;p?NSRb7VxJ;p z5i*H5ToNf3i=^TxX%y$B*X>Cu!K{azDisc#vu`>#+hW_7d(lgJ^>Ox4+rr89YCSTK zrLaQZ)Mk6E?bY|_0kTh5y0O++iR^*4ceXcB$rkW8{tCtRK-*;N4ZPS3D6t3HW>jyW zlI?zb7^U_=+vMOH#~vx|26m;NJ<|5ThV;PLCvUb_vr_)=R8lHjUBkKn0Z!xJKv_Pk nbdOD3_shz0uJvPu#c}N$wYh79+-s%6g=>i@clO7v?_B#|KbyvM literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/80_22.pt b/use_cases/eluc/app/results/prescriptors/80_22.pt new file mode 100644 index 0000000000000000000000000000000000000000..32e66f355471c48bedc726be21e7ee0ec9581604 GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/80_47.pt b/use_cases/eluc/app/results/prescriptors/80_47.pt new file mode 100644 index 0000000000000000000000000000000000000000..0b65f8f401191bd7ac230e4955e9a316487088c3 GIT binary patch literal 3072 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 iqg)Hf3X9{~IBHv8?wg{xzqJ|Drr literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/80_95.pt b/use_cases/eluc/app/results/prescriptors/80_95.pt new file mode 100644 index 0000000000000000000000000000000000000000..26411980e612e2b897647c445330dd7cacba2b70 GIT binary patch literal 3072 zcmb7G3se(l79Ji!hzJqE_X7|rRSZdZ2qklafE1gq#?-|~u_=T=vZlfh11MY63gHO8 zvG~~b_^7+OxK**OR!ZiEgJ|vA?WtN&skJ^3e6Z^SwbkO;oky(*=fJ4JbVQoj-(%AbmrXyc+IvNM@XasEP6N}`BLA0W$Jb-Fy0Nv~s!d5a2# zvkS8I1^Vn{qmB_0>SZ-?3Dfv+rr*iS)|#*~8N}Km#%L-OY76vP zMMhJ$meDUN%q!3q%Y?)&EKDhG@JUT*@+L77`x=$7gUi*zHM) zuVIi<#1N6qj+qQqx|oTd-NrD6_^U~P!?I*gmo?nUij0iltf&|=lD8sIiYmz{&MD5D z(RNE?7&2B(#yNN+6WhEQ?_?*EOyKMY7!qi+VGjSxQs*$ z9F-DD8IcYgl@VDPiL{Lt6=sQ5%0Zsd%YA!CxKb3as^_MeFBRUGW?4%ZeIB1bDT!gf z%CiA!*Z*oVGK@*j)0ye3qdYj@d3`>eH*T4rd929yEBbE@ zkAQ(ZIo$&w%0LCfL7YEgUQQ6#nG?i2lwnO%Zi3A4HdrS=z-F z_)1O}RGf`b-1@_-YyymyKhCMba}D9_fs;bTd!mo&>c9NRUZ1L@-|!bGE)CORc4Hb` znw(@AHo?`p_Q@CYg^}YFR@RKM+e<7e$t$?cQ;Z%SGeM-;ZJBqzg-!Ne4{b{yVD{zn zY^iW3o6@ri#{V}NGmduQ(TK4ys5ZoUqNXtZhb0>^P*9FH*4{?%CEctSTSQldWWk}K zOl`tMufq5qRy;X8fsW3LUQ0L6@eJPJMI_0`7O9|C?(3I&C+8H+?oNf5@=! zmL$$2&WS((c!oYIjF z)w`sS;BywjV=r3fzb(NtaS`aVcO_e2H&?#@WI6UuPX(8jV$5j$9=orL=#SEB=~K<6 z_(}49ddS!&e}@wHw_?*PwW9d6OTW$C!Q2R{z-f~d$_ z^xc~^v}c#t`q{DVK)G*{%TufAn29O~c3T1eda#Awv-)xT4?QE0KY96EG-`_f{&M>N zPM(M3$&;oex^gG)%;|P|XPYkw&rXzI(kk&z(!2EA(Gb@+y73e7NOv z#tqLfhq0xx0@MrFVt3GRcIh{@;Nh_a9|q>&=H_4ULeW{vj-CzhaOwiwEoj2F>v!3Y zCa8gGt%sFW<+!4GG73CHVbpvdxY_G%-8LpnQ4?MY@jbJkbNFL8WsBH01-_(?nz|~=1UpW4e_V~ZF!xyXl+t}+-5N}>& z!h>EuRz9Z^-u!31KewN}KHugLO4^rGePt~raq92;oJR_Iwo}`3|HxG-ir43}jisXc z*u;E=jVRO?7&A@A(oDYh(HgT;5+%QnoU0>}X^}Beu`!Y;sZ=^m8aFK_GDaem#!9Be zNhEPG(zwXzXjxQDY$WgHG4t-`FwR3>RZ17$+5XPWvDoqrm$NwcaRafAmDAS=n9Fh4 zvHit)AlUKn^KI2LY3m2uq9qxKbUe1sNEKJZpSc_%9f)*HIA`Ry&Pdrnq+?n+BUM}r z?7+zd+&RFGDKg~QBDtr(_9Od}a3Iui-^MyY{kWFRPWsy!rBZr$g!duFyG`xKa*Q^4 odhg`BU`~$kEg&Zxj&I|rZG-t=isJuPDFu9MM0s)-Ki@w0f43U96951J literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/81_65.pt b/use_cases/eluc/app/results/prescriptors/81_65.pt new file mode 100644 index 0000000000000000000000000000000000000000..5b81caa20d0d11517c4f4dd39d17522dd8340fce GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/82_7.pt b/use_cases/eluc/app/results/prescriptors/82_7.pt new file mode 100644 index 0000000000000000000000000000000000000000..c35b5167029a08a450299cab9e0e69cc82b71af7 GIT binary patch literal 3064 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 hM6Y0x?cn0hf$M9EV|GFr&krd1z2^L(nKL zsm2(!sKtedViJu8n0Fx7xKv|Inrd6BXtZjqs1@pxqV_!oahTM8=DhFBd+*Nu&wuW@ z=e~0?RK1)TMl5E2CZ3Eh6R*%DD5SYsRvT6LjxjyOi<#mei=1>ilhLTxu?41C7Rfks zuHLNAO)b!|63PtCqM``3CvSSDDOYcdl10tY7vvjQ>ZD^$W}P8QQ^Xb+EfS4cpHoy| z%+;{^Sr(I7Gg~2{y&@viZamV$&(!AYsk03tNjI9b?0DOtgu19j{2Uo|RrliWy22vr zrfOoTI8()_yi^|Lw71GbB`T+q_Y8tJ?kx4lqJ7jJb}r=0w1d{dg-GEcF+xxTw6!X#npO?@gf1 z(yJ^D%A&z`-YB9vy$R`IM@jqhc3fCGpwmtn9VmDcYO^tjrD0iga8U^zqVCPFN;6Z> zYK0A>;hihyqsWgkbZ7}3))~*)db5S!Dmq*xvZ!62#eqha&=H2tF(K$(+eM>FsMK*( zPGu!j?l`KTiV~{q94)fsL}jSl#4(HdcKA6ljG!4WOtZdBWLKKy6tjAhkU!}u5kJc_ zhqUW{H5Ra}Q7_Pykt+eNyzhd(n9hSqw##a%EIlRhrMbFE?H+Q5KgQGJ8W8%ja5?Bh zPBv$_b!1#zlK(%Q8i)8U1OJfLhKdIqoQm9r9%diN{3wkmsyA?l7r28}9}3&%?uD=; zuR_B`27XFCMI^;B_+Y|WoZ0UXxA^=bc)xBjOxkoCnTd;S!UOV#_K`rchAes|| zJ}!rPzk4LEBc)NjH5vlSO5v;RGhpqEWew*%FT)JyM`X^mlknvBeX=od3MdDbVdbb& zIJ@pCd3^6NhloE0}=?&ZI7vROfi zYgWWS?T%oMiQHPZ-q23AR+VD$;$Uve53@LZniqOsZbgscTU^R#y+F5SHSEhXCtiJ; z-8kyQaLl>GaD}38NcMYUNQ2V?*!Xol@oo)ntQdbC+ushy@pW_I&E*NO=swH2eK`h4 z)Bljs`&W}hV>1`hFBD=%hm*mDVytRwCDq?Dcwk&Meo91*Ui1EjF`rLDpI=V|=ab%C z?)3_YjK64|JY9yR*J`kRSV~gAyxU|`&UIXwlns>wEO8$iLwBnz86RcNey8-3)I} zI>g7v729@>C)H<^oWCI%EgO0#P5n(;V_`r!4m*YrcDO%=T+9XTQ45!tbChiVcqh*P zA`tJ6`UoSo{|LLiE4cYXV&L{^Dd-OP0$iveUZv@YM@uWL!pVCpTC)|C_d4iJk?o&fj|02f+d-JTu{;|l+Ufb{t$U z3@1L{tgFvzUQ0Ge-r?5Yzd!_j$R8Y-%+m|{()e8r;O-kM;U`@x zHr0P-rRMGUj}ATg!xIU)vFQVJ-TX(SZ~0>37Ei0|#6jpk%>@>0426?FRW&#-S;o!W zQ;L(GF2z{cDyU7aK(psCvf#`IfMx&271h6o)!gizWHcQkD)nf%WC|UbdcJ?-!PT>2^7rRC z_Cz$^F?9fGJq)jx#^8Ln5^hmTK3x6!6$r@IXiXbN)EQ)Iu4oUbFYIAv^fe5@>5E|!sCQCj;VAPei=siJ459nv__1Wzl8a=x&H;AOtV)2 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/83_3.pt b/use_cases/eluc/app/results/prescriptors/83_3.pt new file mode 100644 index 0000000000000000000000000000000000000000..f4ee460c301af044a3d1356a4b6ea1ef407de416 GIT binary patch literal 3064 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 m=QY0j<>V0G`f zP%4&jq3*USZUad2PONo7TSw~H7QauVRTRY$>oTYe(0Pv_hP2LSPrj4)a`OK3pL_1P z@0?hbn>$5$c~QTSK9mm?6_yYo4Ncb28gXWtUKt~z<~vEAYf@5%Uaw7}bs39{f?0-S ztwEdox-N+p5NcdJaT%-b!@5q-NY?7b67k=(x|CF!xF*pVhNM(+LKdyl8wCjlZDN*A zpPWEz7a21Q3E46MaT_~U?a3mI?30=lEpfL)1WJ8|hMsLV3W$f=g?&ascxpHHnv|JE zJXI%X;uWW&R3eqoO!z9H%Ee3st5UgWdeKA}PkO6`4k0D#G)B@VmE}uyPqq7#lD?^) zDiKXYoqqC3Kb1>9@wWTuPZOVb;_I+1+4E%$=;1|12C`maY2wFu@lc7(#Geg{jb@PD z(_oqe#FHTo(a6M|(G2b3CyWeZ{dmx1c&DFyGJ=a{q}@j#O-99&pez#^t>&|A5qKgyV~zo|2) zvg`h-*U_|I%hBbd8~!{tc1~YTC#0essybAnj8VKYS2wA{P2%`=sOeaYkKL|?gBK&P zqV5Yc?E!=R?z-Ccn>V81lA1a| zhogjz)`+@?$hxhSS$WyZ)|A-BB=7hZD}A#p^GcdwIR6%W)aZ@fI!3^u*H5Egrkg>L z{f2Fn41>AK%pA-Y<1_p??0%&HHQY>r)aEiYFk>qdv)&)fhXY5`{AgI3|VsuE}_Txo6kW|-~M=r}wtVhV(| zoAHUIY1T`-huF4!*$amlYw_~Y=a8}gbyR-i94vHyhD380;*RDPbj&3RO*>l*ehaQc zIl5ItskQN{lPi-a^9<4-w=ndu0BrcDKQ8UnX31PR(|YA| zPh9gviE}i!aH4x5rY3DdL785#xc+Z%HAI zA2q;A*GzP?O^Y7Q3S>V2WiZUn-2sJ9?l4V!Dg0D%7k>KSsO1o^*}AWK1wOHT4TR3W z&dmFDImD+=L{XA7F!TvVf8D1;l(_HYYK^}gap@&KrK z=mnER7x5lbDI}L#7!R)?Y-~7#|5Le(@!sGudCuN?X8!ym_|||{MdRaI@ExHXx0FYLa_%#9Cclyi6&}R0zfXcV-Yz(lQekDhOYqIoJTzr^ zF4~Y52Pdlj0SDVZwl*yI8lUfX7WNk8GF<-azgboo&GunVUpfC__WalGGy&hgPQfqt z1WUxfUqjMwf%AFKtk3ab_mk6?`|M3gyK1Vdttn$B{IS=0n1EyZZfnY1wo6f*zML(9 z3h!bQa~(F+s5R&`dfodPZuUvgB`aeje~g^%Ba+B4d3cmu5-ycWBc-oJ%EROmsZ0_s z<4h7sgj^<*heygHxhVTj6n;9EjgZq=l?xYa_vGf-Y`KA}r}UiToUx9bvu_Vz3d>=~ zb~k5du;bz9#;Oxr!CiIh1b9m}dGGL{{I z9XP|Bk&Y$O`^6&JyPe(0t|D}XI__IQ52!agve`+0zoKGQJYGl_VyN4MZY;~#DbKIB nxG9*GN^S&Xg~f4W9JRF<_f1jU-?1tWZZx92*bn!-{n`HkX4=Uf literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/83_57.pt b/use_cases/eluc/app/results/prescriptors/83_57.pt new file mode 100644 index 0000000000000000000000000000000000000000..b4cce6cac15a87fb0f61446a0d7bd4e5ddb65eb6 GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/84_28.pt b/use_cases/eluc/app/results/prescriptors/84_28.pt new file mode 100644 index 0000000000000000000000000000000000000000..b9c28cfc11db3d2438f5d462b1a8d06a6de032db GIT binary patch literal 3072 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 aj;R_ed^3#jw?XeAv__1W{|M^`*8UHNc(cL) literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/85_13.pt b/use_cases/eluc/app/results/prescriptors/85_13.pt new file mode 100644 index 0000000000000000000000000000000000000000..ce9e861a1021946303712243e8fae81745b2603d GIT binary patch literal 3072 zcmb7G4O~;#6@MfUXox_OLYa=DfTD$vFFw@V8$?8Hwi&V3$gjdeh>#kD3lBf0C?cRt z5h~1SZJqd4#n#VS5OPnbZi3UTYE`N@ox}No;`dKChj#A~#E{PY?8)!E_j2F;pZ~e% zp8L+xX@#x~ueDUPG z3{##dBhhSR#e^A=OkBeCUYzOdoD7piDwEDLnKQFkA~3Q!dB!YhS^;ae5hq!44D3|vmu{&WpR92u32__a^juk zuJvJwPmi5a@}}0Ml=#|h3}lI4GI`5kS&A3S^6zIwK>|1{I+nc6TXEC+l#xKrDbAap z*)0uX$>3!2a|dq}(jISu`q@#EcQ`w4ED7$hQ%Z*L-VC+d2w_QRG6^dvB*XM?aH~qo zHn9eN!^rTS6?0MKMj0}qkc{k!=Uh`>KDSlmU9C&L-t9#kNJJrt%<38AgWkJcL|RCq zoJZwER!HQ|qY9!ZB+8!Ag8X!;PV4RwUF6*zAYd3?b+1e_ZziHQ&C(aJrW`(hk`lsy zlxI$9*Z0?AW?74grz=Grfg;X#USCZoVd5RKI!cz5pnh$xK2nE=hTk)q!GBx|n=d1r zyzK_6%`C@Xt*pfhM2#?^_ySJ8`WX^_7^eBWst6=`zIe*|@#x~&o$4>7r;v~LF_bbR zLX)yE6gORB@PV;+tVd_3fNR_?=uGdX@BjG(6lun*|0CE7IYrG-9#=-Ajnm-FrPFH3 zwGz5Gd@*b(IS#%pE3l=jo6>AA@Utm3+MPb2!!v2ns2V(SvX_mi4y9qrYk2RJ(dxT@ z2m0QJN70mTt08`69ljd;HJo*mYUU4=*uDpZJCFL)+j$uO`@%&!w7Lf7?~&W)K3au8 zF1Y}c$||wxo)Oo0r(%7xO5O6L82d|`al@ft{IPH&Hu|=!E7PxI)q`C8wCRX?hf)Z& zM+KUawir!gW-7Gr@`Ks+6|nG^KAJtp#hRr)U!dEIBH)ps0+(&xhg(7>Kuy&Kx;JFs zn9lYv+ubJ>)K+`aI=&$Xjy=Jr`wS`!3I!mfj;br3Fk%+lQF z6LDf=FbzG_NbA&|xb99R>I&J8!*V^~_BR{wj#CUAm^>5aZq(SUhJB#AGZQvR^w_WA zDcaP&3F!{(L^FOZgGs43!K-csZT);1QkT4A)1?S-s{aQNd-p!w+EPdV(lrvJ8-t)_ z+-_Pi{RDoLHVY;h>zYO{xq^(+Gzz0ZByI4mbkDU(Mp!M+4L5b#Rt*`A5s&#K;xb35V1b|9; z3*GNrg9IIcfZuMyDVvLF_x#IhH1#wZDlEolps~%jy3+ zc_PP?Cr?Tca3}A((-%HPE2aAm_u6f4_= z6CYMm!=D-;xxET~y|%&ntWAJqHP1&nFpq>@N zrZx;UmkV*=yuU%M@Cm)qz8H%{>tOk~!*qDaX}DO>X07ZD&^(Tu38K_cE=R?kB zg!*sx)ZA;!#TzUoNTk>fC3k!^!`Cl^+95GmYyccGdo$KwKZe70wcuGtuA{NR3(>DoEpg4;tK@bRxXpKXcf>M*ab9e<@g{;Qs6fKgv8|kCl&#jZwzP7K literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/85_21.pt b/use_cases/eluc/app/results/prescriptors/85_21.pt new file mode 100644 index 0000000000000000000000000000000000000000..08c93d6e482c4638dd9f98e9f3b65c8da616b5d7 GIT binary patch literal 3072 zcmb7G3sh5A7JVS$6Hq>afWM+tK^jATe4@E07!|sV3sI5DC>ntTLJiGa2#vJs`wdcM^{y>3jOHxqo^b8%zFeeq~k1mvrgX2&D(pQ zd+xdKoD6+GFNX2;WqvURFriFxf>9xlH|4N7(uE7Gsk$I$w%e%i%*!jWTFrTEVM(!F zJk4e@+svj(g?X%)GGk^?k66P1p1P>SWVT9W(#7V&0t-t$^Vkwwo<(XbWecr#vC(GE zEiJT~jI6oXUScyYQiy54*jR%PkF@ho<`kHzmlGmRwU*?tGo6!SDl&NR&&a5^p&x(E zTUbhc^ha6hJ6+G{gY*Ga)K4Fv_o$-c*DZoK{wxicLHip5TwKa6%(2q}7GBTdWpVP! zX`sbNAH>q2Zk|dStoNv-Ax@5gEDfDO!(5i7c(SZPeOMGUoM*{kX@tNc(g#)1NZu*l zo54<|AuJs_gAQ}?Mj`F?W_TYSC4GVC5wSF?o2QbF5WE@bQ;K#4Z zSY&2%gbkxH-7Ds!$j>r#Oc{;qj^`q?&CYKXeM#?OH;A6ZflA8gSWEYu5cHnyqS7)N z?>;N1vN9@npH)yr8C7=AmfCZr8G0Yzgo?nfa8HI2EaRDJ7RX3?(kyogYc3J;Csh~w zi#&5nyWXGHLYB3f1-VM{Wu!OnyI{|j3t&=QvN~Rts?$8TR9Xwj z%B?y)mb?sWC8xOjJq>U%aR^_Xc#dUv?Bv83&e# zm+&g5;I1@=VshF%oGv*G^S|kW`NL`*DVi3pD|CfpW~fMeePAA%j%0yKwVJanZA8`m zOJq*k-(iAeIr^_3P0BxG`0PcW9Ni&YpWAr zN@gflD3eemepO?VevBJdwmE(tJ^_!dorb|}cTiK`!Rhw)1LL3;@?O48v+MSRrU&V1 zB(6Oiz1e}dZD;~Y^m$No<}lG&m2mg&5-hsc$?a>D!h#7gP|?Y9)@+Is>0`2}@fw+U zxd4py{tz`<18htYp1reyglHFX`=-ssFcWDCT6P&9(k)!{8jh^m9?6+c)Pf}Ws^how zWq45?kN4tq+OYh)q&Bx5AE;uWZiF0)j}9b3>aj;QZ|&m5AAN#vY*9kQ%Ez$zngRz# zRO67xyU5iOS>)A`jU;MoI!5nzz}Htl#n`BC$k7%HhAwTu&PkKt!asG z`SF^UtI68sXGn?RZ8%jk3-SwM$?-p|b_gdgqP@n<2=8Cs{@=;-c0GCWRGlY(@-AMu zOb)h9#()j+ggG6ERca+!OYS)ob97LjZo$`Er;}O!_qmYDKf#LH-Q?x(%8=;@(QXhg z;5yT`6G8u=^8Ef3US6>0)>k<7izj}DEe9rzZ}IyL*rZx$QG9^Riq^x6O8uH-DUC-i zPYxjwiUwS)O+oR;(eTr>eRyh5aMS6Ejoj_77|rGb|8ZphEt>3qoQ{F(yzuyu6%g3` z78;uDT>06z;IqH9VLh`F$}eoiw%5**(}T9bihulde1qsHzBo0Do3h^vX0aTcZ~p+7 zAB#hg?L{s_AAZ1{F{HJmE$;xf+pG?`SNlic?wV#h0!Vf>yBvi?mw zRIP93e&T&HG2)H0H9nvY+v4Te2G zt#Qb2d{3GNzl)qG9EJGrGF0wN;p?zq&mDiIGyeZNGz^3t2f8Fa`DHc|6zOG;vU!@qqo~<^NQT3=vg$f&QH`@wx ztc6Q+gx<$kXiC+|ew{d9M`TILL{)O4OeL4gljQ28L}j9kzf-G|Wiq);o+wXH@zaU~ z!OOJSzh4*2dnj0j-a~M*!A!WZPnA! z+6(TEmdqXLdTje5Gx!?*)a7`&JJL1b`XbNuMJn8pu4&a5nZdWfE}BYrq-%=wf4WHi zZhJ4XCkfr5uKPB$4>W{t*_@*PJEJo6-rkZP#PEJ&d$GJ?_jq!>Ep);BI4HD${NQmy b8^_f73*QVQ{GFi}39S+1%YTIDozMOkKYg*` literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/86_31.pt b/use_cases/eluc/app/results/prescriptors/86_31.pt new file mode 100644 index 0000000000000000000000000000000000000000..632db679c67c70f69e117a13b89ba3d032ee0730 GIT binary patch literal 3072 zcmb7G30PBC7Jd+k5W}KiL8}ffZ9$Q2tde(FM&n?xL<)#nixC1ugLuhfu`L=GP|()8 zRINIExQkY;wqi%PC-fVOqfs3Yu@J{jG z476E#lOuzY$Y48fl);_e4C!GNkZRsuVFcB^GR-`hpsqBVIgc~s3HhUm z3;0c*Iiy|ptI5c5CWAm%%3d2F=6x6R)pSxO#xAR6a!s82wYj=U?H)dwHqqMecq6?P zZ-A|Xci_PFOX#@GkHD|Z*}Cf73fNfu9=-D55)|iJX=?fb_~zhcG##_xk@7Z;!UKwO1HuEt)|k^FqH zyQlG?c{w&``mur6{jIHKC3NsJgvk}*pb8j2|93AVc51)%5I%L(uGBsur7PuLiL=9xQz)vy*>1Mt#l8XzHv4{GmD!`!eabdzR7D^aNX~m0Hhzd5Ep4m*PClEL>V1NXxb?21(6v96Dt$ES`23 zHVn8Ng6fw)-Rt>m~#o@Gd!(+p+95H-g}U&RN##d?yKvHZ)3iqorb8|*qX`X==WY? zYlme6G)ym`>OWPmL)wfGwqQ8cx9ntVPOW7}9vF?n$=kblTQnnle|i0XCr@mD@)Vjl zXa3~n&-(}@7l*5*>tyV|559qAkt$ZyCmWU1;-KaICagazuVo6?){abVf}hF))xWGe zjImMWaC1PfI-NRz3jE`rozTYc^n$)NztYA(=Z_chv;N=FqN;V^v9n)vfWHwg)_PbQ zz1uM6Z>QM(iaYA8kZW|qCQs{WH!%##+KObitF?LI*R=^P7B-|dmJLpp;NgWqnEHGP zjvMU`NwYu2KYQJT`KLdJn1j~(Ow;5Nn+57nJu3n#3{<7lqO?IwOUjR7 zRm7q(>f|Hpp>1ufXz6Br(y@^h;=gkI&Au^w9TxPpPoz_Wkw!3q)FSbI%)l+)*agJE~%IVnyn9Xz8u-(Pk z5o~|>g|_OYT<8XOMoaF9v_G~zkvhJHzjRrqa75ZCTuoVOPGC literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/86_60.pt b/use_cases/eluc/app/results/prescriptors/86_60.pt new file mode 100644 index 0000000000000000000000000000000000000000..c7ba2ddda056faa98236531afcd03b1c55c576fd GIT binary patch literal 3072 zcmb7G3s@6Z79Jkq5dtD*TcAKuP!JUI;H6|vFtV|2s3NEvT@`r*5{ZVJ42l&j7C{hJ zu@*!ZA8plIU)Z{S?$+EJMZ0dbVyz+tE%;j2;-~hLS}R(2XA;DO*8S|wcV;GM?tlJs z&pmg}NmDvGQJ6ET#eC!x5utKrkw$iAR=yfJTOoXfPM^hOSe1OlQ#r76gvdqZ#NKlX zi;%1GD1+RlDJiA5Qc#K9l>((hCE{0WIBz@{BuGb|DuInl+1e~4^3t$;8fT5wo(K)o zxGKFFlEuv zfYs8g3<^v~K{noqqb=S9+u4zz*H}9|28CGcRG<-@HzTb!LKzg6jz$%gqR}dMc2$`R z)l3$*VJO_PVm6AbmO^7nQKTiFi`51ryHzMk>0ngxp2h)$&_<$RmE0 zXG79%@UKqGFgi6yS3zI*cVT_!uQ*}=?*zMeKYxs$QNIbt|4uU`;M%2 zn?vRuat86vR^oHA3QXn0059|+)&J5%)nA>>;x08l-`YZyr&`GgO(jIN-i40D$#5v| zIv$COv1E!CA27(ENAe?%S?Vv_({+LTV@e3@ejEqE#~fr2J1^slK?Ot;oJ?j4-h)Rz zb)@_74)E^S2=^$SS+zA5PCj@SzW87P)Gb(bWZSu|kenEvv}}9}gemsYFY{M{WJCp- z+<2a>u6%?3<=!WzZ!`A5(FJ))Yp?Y}^J%^;xOyTSZjK@HDn5Ra?k4M6$0Nn}{czpp z_i^u~QRdkDZFE`SF*xVBlMKI7XS&(5pMAmj&=bVGOv0iSV@{^bUed$j`# z7X?b!u8xEK+k1@z3GJ`KAFLod1E|eK3Po zzU@Xj52VtD&C{WM^A@^m#}4So-bRnA)svq1AiV1wMQ$b>BeOhO2u!Xa4Ph(DHh~Hv z`nQ-Kd)|?1L{8v7@4jim7k*~f_R+E|H#QcjJadg~F3b+yj+ZJH5Vxut>6zP+@b9C= z#(sk_zdckcXo#VAp85_~j+fB0Hr8Tgwk+wv-aJ#t4I#XB!;3Wf zc0fnv7^%@)K9|f3KO=`j6yg6j7R0oQE|ACbk4kYoL-X+5K zSL00aEn2eT0+d9h5>5Tzu>byx^v`XnFfHyH?vw<`=Ii3IQZ)&#=toXSX@AY!Tu8yJ z3+-6_r?d23{bQhSABM^0apZ|pF>Y}OhQP`92O@ANcJ`S3LT zxbHg2b8R!VU)Exuls=fgv5Rhg&ygr*JfzFtsU@54eFpm*8i_}R6dX_8hQ3<|!DGTt z(upC<=uX)-k{4Hv71d7U#+>7DII5Sp1f8+O|8h&RS2A0NIeFpuORVv)eUeMszA7h@ z0y&;@yb{a%9$IYnf3>9Em)%cJo^R8W5)I_kKv`4B$Nj#~xrEPU(77%7GuSFcaq@h& zKq_{CEt;#aF-EmPo2ApfoyGM&nc7^1T=@IQ**YRjki^F(#tUObB2j{9d_ue=UMLbJ z3KJ3&#c}b%L@}!y9~&#?ymaa=ERJA3h;ye^=d-%Dw>e;wB2)0B^I237nZ0(V0Yz=?ra*Svw(l+7jkzd;**|6D%$u_O* zk!frTY{MxTinL7;&u5EdpSBMo2a<3o)OOzj?Vvtv%Vs70?TkuOy10xTKmI(dC;9OxhwTpLoT@Wcaa2Gy7y_o{o4sA$*mwAk#9>ImstJ86NC2V&a?O#a^?Q z7ZN}9DGTAvRa5E^b>KSUuMSjutRwvOdd`~w3kggoK^cKAE@c@q%|xJQ_4M9)C!d4_ z>;2Rr782s%DI7;PbA(#hCDD;byJ&#p?l zOlQgDHjIpSteA}=J4=xXRx;5M&mx`4%x)EVMeSkE@Oc^s5^E)s^o}_$=zZHogjOPQ zpOp}?l}OxYr9^5aGRJJ8IZLQf`|;vSgL@-9DT*`AbJHxCitS6YtQ8hr0hd3j)R1JO+uiEjGcw4}zd37q00x(!1}=U|Pvh z^z?|Jr#Hki6~hF|dO@JwR1>QVTYeXIJ)D7!hei0oEQ;=q>V=NM**J$^4U))>`0Xd3 zVp&tT^0o$08X8iL;o_9h>RUZKEMJ z@w#pO8xIsW>b_tE`zx4~zXvkg8-Bo$(;q^iT*!$2TF#WUhhrW+o8g~0gAbbhl;e&B zDpmiSiK`AS#ECm6K#v#2L~W>GbS3ARbE^z6PJaS-zgrA?;X812#!*bYw2LtjA7wzU z6g5^Wt%^@VxV&UiM~!>XTGW7eCqu;sM| zd|bL6sK5QI$v>i(?pm+{vX6zqeBDDjH!p@>854ut${k#=|GWt}!<*-DlP%$>?hOfz8jXfNd*EY)hWBGE~vl=H97iU~SO?485?W ziRunj!uJ)hv|VN6^j8jD{Zk4n&)Ey>OP%^k%{IhJIV_%#1}32r9%oNM@6GSh8-ng) zXRnUFKW8*kv!)8)+xr-o9#6!_m+KT~4-K++{NY%0SMPYmqQxHYwsJeO_eUBt@^;%w zKc51*rB!GWOr%p5MbL5A_hEV3pPAK{KfpuxS|RevDOeW!keQsn7RSt7$ZS!iLvqLk z*i^L+XI@K2AKqBF8F?5+$6jQ<-!fFGxqJ!)J;&*@`Mpf#j&S>fwqnRSoQ7}jf2g>U zTnY&(wJ^V~99Q{SnS{B%Pz^(1q1F#`%Il!$wOUN_YsGz^`rBWs{L%KCy<&{sd!RY~ zhjg1_S0N;rYoTuQZ&9`25#8E$50AHXfpkYQo^NV`4JX#ZxVe=OF!`b4)#%^TxjDbX zF)&+E7yc*3&Gv3MJLn8fvafXPf9E+Xrm%IGvlouP%o+cUt$BDW_AiVfX0U>vJ{4!D zDIJ{Ncd|rb?0$0ge9jDRr^WqdA!F4gBPV5=0x+4I##P;q@~LaxG! z%sP`H(`Zdz0Oqk8PHca1b_cs2 zey**0Hm>x89nliIBVCW}K%|DP;m=$aN!*dH2{#aVaUfFaj&x0{fk+M80=sC++>x#+ z67+15?A`8uWM2}xLtXc6!~ke0+p;-D|93`d)V{v4eTXQpN&Q$>(J`K0ySOfx9iMS6 gAUjwb*Tzxx0o*r5aer&nK3r==@z@Xdyz|-r0(|AMC;$Ke literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/87_47.pt b/use_cases/eluc/app/results/prescriptors/87_47.pt new file mode 100644 index 0000000000000000000000000000000000000000..98de0d17231ae1f42266562cfa596de72864eed1 GIT binary patch literal 3072 zcmb7G2~?9;7XAsVkxfLDRX`Y#B`X3#{ucXUsI=IuDVOlEb4-ldokf|%rPvrNTWX0C0Jk6qPH>>LqxQ#-RyT}c^s zR~})o#~dZ4^i_JU!ef-4N~cwr|DJ*KW-Nm}v$2=j)6S(lqqY=#8(2Pri@|13jC~C5 zN?!*14%w;2CY(iG|$ zEw^EK>d=bWD6*pzo>qxthvHeTHB)F`XxsZkN?UQI98XJw6a*X@tdYt*I?!N+S)Me0eZjfxgaSDAiUI)jEx;w^n%>~7` z3Dyng_Q8%VPmynSEmUU{lG0a?Qg5v#Ke}KPe#atH6ve@NsYLMM#Sp9W2_C58MX2Pq5FJ?X6VfYutetBV z5T27u8a{U+$$K;C4&HLK@%&*rS8xz*%?yX-tDUU~<@Mrayd! z{L^FUaSJceu~!Y2=)KY4s~xm-oqhn+roX0k$DWiW-~OJc0f3DJQCbiUV0TEC);h{O7j>Xi>co4X8M4P6U^Z*Pa{r>~(qRbQY- z<$+{VR|K6E%(JfBp9;smh>`dG-NpK5+M0Cu`emTh!jOjbwt(uYd6!fR}fQso;u7X9!pdguL` zv{~0OAwS>{Dm%LXsbn#P$MVA%Z!R#GNo0q!FAAhQW6-SSghYyax{kkiNcz%Wa{vCvZYG_y`Y9cE#%22Yf z4$YoW0oBK1AtN;#HS4_OfAL&T)M`(8c<~gOpgtPis_GqLfI6n9f>+`Mc~1g?4fpOsP5fgpRP3b}><|I}#2(n~ zdJb)xB}I{gr|7FC@4@DozegVV9U$~CGc%VI#POo~OC^|LrcMTT*~LzK5H$Q$5ttd(-*UaP>I8A0)?{3&<$52DF+WQo`gP=N9T6o9O7rW&1b)R`-+?lhLS8p$(?RW`06e zsy<7fI?<3q^AYi`2Dyc6`?97pOsRUKP%K=kH>9Q0$UTKNWu>GGle1}q(acZI($CK} z7*msJ{bI8zD|v~Ok37P|wcae!%&yd>>5-=c!dDtiI(nL8l8?N!ZtNN{;%PnDXG&%^ z@>bQ;$R|-ns01qiLgcIRSGg4;{@QfT8$TNPYfvApzmrSz4LURGo6hp3d!{?=Nl-w# zw@N@GL6@D?sGrJhHR|uMF@Q#a8Z^*pThf=?8q~{*6b)vrsA=>TXT?h;C`3b8r&w=> zIxG#N(Qpk4a`Hwh?D8hKmmL{;o3-ObqY+(pR-+Kkn~@G1qi8f*gF>?{=pC&uyQ}03 zJ+0#o425;=n2jPkOQ3fxXiQf;m*}(1>`|czm77`X^)e19(t@JWyXLr{cOMrLT9C+f zR)WM9BypXUBB=$*x@NP@^Mz`ax6fE>K*wNrg5XsB+B6FwBD>RU{xVu`;_^qS2>)H4 zxujjsPosgRje3r5HTB;iJl1zkUr*;xOmNC-kyxo9-x^Bx}d&+hDphkx5;%cwpLyEj^~BC?ITHQ*+>BEFUR7hTKP^dsTa;&4cv zSO~^GRZM=<9_nCwIXQb~BX0WleWof{iHmleB?T49b@kJ?;pMzo@3RyfQa4`%PiMuewM59B~+qn{#o>mPVW&JOOt$r$Ya4 z6j=145N;)T*miwB(Jok9OWEX$V6=1vV;*pu@|ZCWFZ6syS?@oB8;QfH_%BvM)e{-S zFSrKvURw*_*@Y!Sg{vz~+5 z@)!HVyc}k$U>u{Fqrh|4PNC}DSHilddu>zpi|obI?%|b1ZuV)%m&2m>!ob=}Gu|P4 zvH5BZ=J`H`*rbo}t7@Mb_giZreu6LVGjP$%C~Ra9ERKae~2ID3vFhqY*E ztHcG@p4%?^J;O)7s)Q=v@2Gc9l~a$-h(LVe2svHfN(u6n*S}#VdPgwTH95HH^ydt*q^vIQ zxea*NBdD#aR#J0yBXzLm5`#L|0>{5}PK|W}OV8;W^GhB4e~&$fCpRsoE?aY{Y`lls z92$%Bii;WdVea;U=a*81Fo1f{G98EgxCMVaVjotFiXSgu-OnDFF$3T22qPQXch>#K z>uqePrE&3|W?NG25jfaZjn4%8GPg@sL5Ft%ta<+=)81B(o83pj#h`rnHd@O>PHG`9 z9}UCb6CZ=3Y%h$NZN&9cZ!=y#p|D$147m@iSfJ^IW6zhsxF=KL?x1#Zy{h`g{T1*|Vsqi#>+d3WRdRv&7L>~NeY7t}%cnj|gJ^@AB&f*aMC0w4}hQAN^ zkh#C58mmWbzzdSg^NtmYGZE03&9bQ)GA{brrKVLB7yo>9S;GXj4s-g(@s~N`|F~cs({v^u z+pg-VkaKosuY7x#&0qL}GlA@Ra{79keF#Z+PIZ?xr6TIjz0PHPZU+}C(q^z#is1D1 zY{QA@ZZ;uTVMS(rmO*DUEZ1?pPqHCZsSy7;a<-0$V`VYX@)&WnL?Vfm#Kp$QV#Mqy zP9}+wNyo;@D|Y6~!Ak>`6OrLIWlwCasi zvn{X_r_2@UoFaW*ZIT^T^&q>G&=u-@Zo_*)`?D>ZgY=IxO0DAYBD)d69#K75ma$7- oKJRi}Fe}Hn7LXMd$F*@pg&+4#5ZvEtl^53<5kBmPTklx=KVK-n!~g&Q literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/88_57.pt b/use_cases/eluc/app/results/prescriptors/88_57.pt new file mode 100644 index 0000000000000000000000000000000000000000..44af42911a389c5624b6c5107a19b2af87a4c158 GIT binary patch literal 3072 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 lFY( literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/89_38.pt b/use_cases/eluc/app/results/prescriptors/89_38.pt new file mode 100644 index 0000000000000000000000000000000000000000..d0712ff62797fa26acfd669669580f5fd81a5595 GIT binary patch literal 3072 zcmb7G30PBC7Jlp)SyDtSNC5>4vL#{3B6%m6B3fhH7^GjSjEG5U(uu%L0@G1&K#Edj z6i164L2Io=(H61&+)CbwesTSqvK6J4{?VMPsLD>0i5I-9Aa*vfmw zqBmF!`W%za#v{~N4e?0O2C=5+mgo)URAK6$45m3o8}ZcHN-R2KYGIkpWVZ4OEr!`; zCbPcKW+=9nSPIM2c*H9qLF>mNt?bI8IR@hGgz$3BB}KM8=OmB#Xg%09LgK6SVxPLw zGUBJ&Ya{+sRg{Xa3Rpyjr~*_TiwN&+Bj?Rf8wt>mKy84FOS4TyRuW`n`HbF1r#%q~ zHu|afHp1_-Q%jyvdDM~+r;TAY5~?A?UAC3>Xj@@}tfY|a$c{+U(54@P)W6sPJZrdcqR+@EH%|7&hx9qSe9M(iI1qFJLIrBPaCizNir!xykSz90ZVU0I$m#UfgaEM^yy1m;ljV?;JL<9>}jpVUmhs2bmXU5-C2_rt&Wu) z*X0ix?N1x&ucN!|2Y1V0wxJc9W>N~p_F9b5FO(aCPSeFZ1@s)!zTe~Te0{d1_76wssh`6$X4oTS5ei{UH6 z;JDX&U~{Yvu1Vst^ZNS`os@u`SBEI-+JA=k?!1V*wh6HL&}~NTn*-ku)8WjxA||ux zeNbLZam)&4zDjfQJpM=((3~FWX65i ze`}(HOm1hYI^W&XaMYWTd_11+@LT|UPew3_?X7tBTr38~L}5el1pDN90McZOz2@3b z_}+Yq*2~_IcR5-h`*;t1;k9ARmQQ!X2RDD9rPGjc7&L{v@KCnJhF1)qeT!J>i+n0BrLZ_jGM!{_6n zx2hX@7X~VBewas}dGH;^O)4XqD<@~UBX?a~LE?YSsmeaTFbz{DvFY}w2Dd8fZ%2#z9E6!)C zSG<+weIgN;W)1o_tw-3p5+iSK1t#EM5OOjCBHp4g#xI;XNiBse zei!7lB;ZKt4jeyD15LU>MZ-}(YPA81T@D&vDl3Qfr1Y$q%Owu}kV*0l6@O#)Zg0#A zEZ76|54!-O;?R_Ql@?F+h3J+w(2+R~12cvz&em1os#`bl;@ECHG-4#~dH4|uUw$6< z^H0D#+kBu2|3fb!jm+AdSHXX{heHt12BU?a+1FKUq_sTie zv2M^XFXhdpFBI$ti=YvY=S~7H{t?4cdb8O&%;{6dKiwIBNBvkwx%CB{w{{B6(@emB zR0#TP9(pmSJCr?7PM>TukP`LhRDW5^Ri^yD*LgaR+ri;=bMo0LMREFMwn!?YpDmTE zumY>WVk$D5<`r?hPoYVls}%k|a<+~LCF$Y}saTjH5{V=tnM9l}7P6yEnOGtd%A{hk zSSFFmWEq^77t8$SC$JuJs#bY$&JJ{LuEmyXxCYDMKF%HMS~-IU0q3wBPV7K&b_cs& zey**0EGGuQebExSBVDiUV5FL@;g4Mwh}@B`2{#z|&%wwvccg1t4MwWj7TAR|-5u$g zB7u)L$&NM-Ap4Wh9qM{+k%OQiY|G{({q2lWt9*Tv`w>xIDFaxRu}>a7FLGTlE4#TC gkQElkwQspV0CHcg@&Et; literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/89_6.pt b/use_cases/eluc/app/results/prescriptors/89_6.pt new file mode 100644 index 0000000000000000000000000000000000000000..963cbfa776f00d05763fb6bff64b7313b15a0719 GIT binary patch literal 3064 zcmb7G3s_S}7QVcnN~9=SD_VgHs38vsBAF8fjM!L2tcrXh@`wiz$OUO7ipED1DM#pl4F^al&00HlUPmK5}o6;jAV6& zIyqdE#5!WeHyT^`#PsJ(FHTEVYlR}=Qne-}mBp4xY+6QAsxUs2)o68&@fqsGOpP`< zo>ec=rDeotNgT12k57yphtzQ^6H?UJx)b84)TSk{Gdd?7u}zExw?>3*W30F_DLoV0 zsZOxie!7ZL2~^Jc*g@s2vdG7dt5bPzoLKA}jr+woo4J&zNzmc`sT^Obb!w+QF?LC{ zQwdlsFxk=L0V)eUcI~wB28-RI@j$a}NxHW+sFxK9cIT`_v3M|V#YQE_$3r-$IB(wU zv^12(Z$;x_X5L7ICT~1?*^%PmoE;k$k1*NM%PG;K_Grw4xho~F;OBv)6o(`Aht4Nm(VjQamvr%#w&^T0iFry4UJs zh}@h^<7mg)J(g?q5}q8E!U;U*}Jt6Y7H@{d-Hr zNsWuK=*4j)DHke|<2;PxzFca^iOr{__Co5u)t%-Hn2kcq?vrrmb#Q6rBbxl%KgliM zG|||vrWpL1-RY4lDmuRXU!=xzB{Y%+C}OX_@#fW|bn(N-ESQ4&qDR4RPwX)c9J2`Ly|C_3~jJOkAeV|%O1n~RgY-o6$DcgqypF3YC5d%IU@dxRa7{f&j{JKtoH#G4X^fsocj8m+i>o4k*EY!75J7qVjm`_pCvfzari-x&`_ZQ7qvY=gwWGP;c%q*t z`%3O(uNxw;Jx!fpqV{H(KxM;Zic(GtZ*PId+-@N9verCc1)$2r(clp z-N)t9+=~#xR#Tt9y^!13d&ATEsnGh|*;pq(1=2GNggl6Z+Q>Wbq|BhSu_6b}a=Jj>sFYSu|nvO!URIDe)Y%jFJm`tx{ zJth2^uK(i7BscCnd407_XGYSQQ(aX}87lmfpL3}r&vw2vWhPgp7+zn^Hk1kMWE1iQ z)?cU2&?IOzA0+UtPrN2s87lshAW5J^ z8WG=~6e=6f03*p!uEc4UFOn_)CBNxsCVUsClyW2L8|sDCr9{zOD6aeM zVU+d-nkNU}IQGc)ZeUmX^+lQ=*w7vr_vFg;Y9`A6ok~$ETiY>R01vCNFQFWtNxH{h k`0kgJqkQYf35Vm`H>RX(gZ%3#l?~q#G4|Y#U*Ea*zoHh%uK)l5 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/90_13.pt b/use_cases/eluc/app/results/prescriptors/90_13.pt new file mode 100644 index 0000000000000000000000000000000000000000..fa73ab228977978dd1b65cc8992b789b1deab328 GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/90_34.pt b/use_cases/eluc/app/results/prescriptors/90_34.pt new file mode 100644 index 0000000000000000000000000000000000000000..49fc0162393b2e251cbc2edcd5090168bddb763a GIT binary patch literal 3072 zcmb7G30PBC7Je)N3fx@ zl^LyC#AVQq9T&u%cfx0tPb-SzhIYnftjK7Gu^rc{%)Cbs10CnHC*R3?@4ow=|J-xW zednlEPRJY5)|Dw+Wm>4Gk>@iy8*TRF)XV6q z@@A=br=3#TPvuZbeQY-Rvs98w2iPr3@nTs6dstD>LA(_;OML|^B9(U;9n3q$do#pl zX(&sFrPASc-YBG<-uU&fqoi-}c0?@o@3d1&M+n}$X|oZ)(zjA+V16+jsp-S7N;}KI zW(pfdgF08tN0A?8=-b6~RA)R340#rQtLQr_2a87ZA`Ud9n1&iV$AqAFZ5Ndm)3Dy7 zaw;pP^4_Bgswk$)&e42JmQ<~Bb&DwRdN#;rv?egL#<<$9z90h2k$ zabv6>x;_%D#XqZ;NVT!3vub?}jo0wtlJ;i$=LU~_E=h7@SvY=t=9NESiX-x|0B zRYi4&K6ymOE?5S`JDRwid#*zK?iSqr@jBSAXTXxRk~qgN#i@o`H2Njry2Xnj{X!LP za$E(HJt0`1?P)#OR6}llXu=PlM?v%a7P!BfBQbjh!JO6;uG9ZvEdr*n)6(h;~y(!o>=-b0joGFy=OCdK4k8?GCo58W73iUTGbGzDC$CfXR zfaEj@uAf$iB5`5dpVr^Ud7F>KcKD6KBjpqDM`ks0>V244;{@7)O=R@Dx$t%C80-Dv z<>1|a8t20H$M=K!aH^BFkXU*EKHYT*+uP@2vTrEaF!~J691{d34_VGUh2lPqj1+9Y zM*g)@gxXE+;6E}B*q~XM+OP_I;&VA^^kD0=f_JT#Q*_|F7f8Sgjs#5UAclsu5E6a0 zZonjp=VHRJ%YN4739gl7C7VPf}c(G zfXTyRP^=h+rvpRc`+iW5_ip&bjcPzhQ^>L4{C2Xbycw8Xxd+0PcggN-3(oaC&doe% z2KLi8xmhdrbL9(8ksQsJ@ZFkp*t-0e*rN-V*9j+Yl>6DQ7~%WN>;F4>F7_u+o|Ndw zpS*L;S4i$p87RIK5XUrnVOvrvxp931*}HoIl;p0(`m?gb>Fy7>TA#Zh-%sKFd&L;I zQ3@HlbnfA}EkxjV70;cNz|#x*+WZO||Gg#`tM`{_kk>v57Ck%&O^V%k=hkx!oU{Zj zL;T^&SRdl6sKz<*2{>ZrHhex|5B@dfE;g2|=31Wx#gXj~h(@~NaNrw%#D+pG9zDDW zyiWW9GhhZLw9>U_jdYWXjGFWteS8TPY9^XpI;F4>dA)VzQwG@$j z6F{y!DFR=Pi}i7P%sqbmZ%CX!1%6z<6y{e|#cgaFW7UVZkV45&Xqzz>Vt2HWiZ3h> zwR$f%&$XCqOt}Tt)=X$vQG#h6TOsuE#~9;!4hx?KTZb%tROc}<6(7w$#w~B2Ll$T4 zuiK=Y3i%2RCY$C#+ObRMQgIP(hah@$*KzbtElzW|08j6qH(b2bJ(!m#kn`w{_qQJ)l0e9 z4epGVtT)pB*!D!K`5OMxj^ytuXsT`(^Pgcgt&9w)SM ZOr^W<&oIJkwMrzkMvNQ(6Xx6I{ugq|y^R0> literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/91_60.pt b/use_cases/eluc/app/results/prescriptors/91_60.pt new file mode 100644 index 0000000000000000000000000000000000000000..31c6e814d8099e26c5f2b03d76d114bf5476a5b8 GIT binary patch literal 3072 zcmb7G3sh5A7JcDwoBtsN$c;M)Wrhq6* zD%c_-AEnBww)KOe;wSf}t3$Dn zH)v8>?TV~SV``36h#Z50Qd~J?7WbqoU5lKo5MhELQ^h7*Cxys4MZi5HK`tqd+*Q3Y z8@VdJWRcr^1*H%v+zZhNg}Xvfh=fHt-kXsua!*1YDeg8drRh~!$WzDZ>6~;{J{o!H zToob~i3WH!pw|?F4QP~=V>FA#B%!f3%aT4{*6VgGQsm9CC|Tsgvp6e6g~*q4it}ci zm1#VSCM2PWHr`0Z1Kv!s zxpa9y{PFxO`K*vNAY2_z1lp%0Z*~B9cKu4i8m~dR`Xs4#E+tQ>z4)?x3u({kK3%`0 zj;sq>M~(-^l3N|0$(^^E;B229JRRGZpxS$Q^E_7hNA4#T{U0wJnrCjRS{Z%Iko9k?R%g!U1o5LPE6 zKCx?=gFihmx44;^HBk-Fx2%Zt6f}V9c026qokJQAg%a;CKEqzi2;3a4Cao88nGvnY zV&}b+G56ZVJXq~9>X>3&XK&z7TkQL znOy9j15H!?nd+rxBB*yV->>$y=%VK1#8oW$sw9ylf9GtO9~lSA5DDCEc7o1|lTcck zY)-1#j%PR4;HR@Uld0<@5VNTOS_;oHd2^3Ig5WWk>oc9%DBgr0?*TCNvKWqRB7sGF zKyxb;$BzpjMpHd>q}4K?H=KYy-4B@cr!vUe6&bMD+B`fM31UL z^&x@VtA$Yfv52(Rm*BC!!7;Qw5j+&B$5%6?nD^;bv~+TOXFTLB_cCxGBHb%%8lf%Ln2q{{73@|2uguwkMBH zh;!gh-nW;&V^S7+fbi-R`A)1R{vkld|HTt1QB?Hqc{(C=DZ*4v+3D(Sd*Mb^Eq+{n zjA&jz4nO)jnU(S&%UAQPljrS~^`%z*6*I4r3!CH3XBPOvnTaB}CfW<*{ntZA z(kP3c*c}ei59P&6igCK^Ad!!8hrUZSa%qNkE#XHQ*#`EyarC3m%S%MwWyX4%iN|0sTg@ViVGlbQ7q)@UQFRCnI5_=7> z#M_%(pV2@}0vi0a-f(mUjZ;$GV@9v8WF{^|aQS2z?(+<{Q0HAwcFL-7#k1>7SLQQd z9yG$)-UZ}Qe=;fS+=I*gLcp*42Ykfb!o<9{h4gIuloW*gLgwv0$9z!kL6*6;o5LR^ znMcKUL+r{wL4bKXsfk|%bG;^6_O=}Xf5|EHKNrZs;p_wGzSjT&4|mSk&>n{8hvt*o zsJyrQ?q-=6J=}qfq2*+i+X;q`|C4F{jj>!E=Ixc^FSEwKxL-rs&*zhkVgF$SslMbN zYeRwOY(HE4_84wId3!mh2SpF&)L>alh@1ZVUgt6)uXb@~`a-TsQM|oeZ2}cGs3zts zY-pC&s8<>EYgByild9Jw#7TaiI9Ep`k+O)es0c|IP1BKdbYz4qLPFC~v{V`)r6rNk zVNyv{ctp62_p+&W2Ui&>iZ`V~z&ktCx!D$5zTvVT_I=!NtZn7=vIC}b8dmI3aUKq~ zJ^XxI^G8}1pZ0(Usu72DMgB4+BXbN@-PxaxcXInFkmS|b@T%&oWiN&rNtksrbicZUA&6XTdn$4J=Yqn&j zvBo($R$E%0LWH}8ho^e-$Q=Gj!%QP~vqMD57OR1sV4oCW_f!}D85#CS?Z#g-vU9Pg zu8PH8<8_SAPbV(H-a4_)r38zXngnmUvsj#hd!&jTTuL_^aDXsvslv3Q;gpbycuZc2xal06dabDj|ZoE^Q%gmZDb9? zhT$RYE9Rrf&oX#uK8|RQXP(iP!*3OSQ|FSC>i!}QI5HncncC-spm%H+j?TwY=UF+H zuk-YZE%a>*bY&R9^sh`aUna66&C=gzjaDIll9R%Jk!Mb6 z*ZI?8W?73-kSj+24EErC7wpw?VkXfctEIB!B<*W!b&5LNh@!f2vVvRm*?22z;(BNs zN*91C?H~l*cIE!|b1B3e@ujnOR6~GNPsKKW*wAzWDZVTv8kH+lgqxw4L=W<;FgVu0 zz=w5TBGLP?bo!LP(p%|mWYMKUSaW0%Ox}2pR!#hjek>0lwc3@mF0b`io5V_I{d+V0 zBxV}TE~_OAPgMb#?L*ftTnk#=gK5Q~QPd=vLQk1WVDJx*VHdaV*v{*>h#~W1 zP>wZ|rsdnA`{5z<&bIGiN=q0Qc|`)%_y3M={_7l+-&jp2w`yqk(?64OW2QrO$ZRTo zUIN({E3`wKB;4xbo6y-OMR0oSEXe6~1D(!22(#RNLO!?mLEmLxp+2I;P~NJ9mZ8~n zS;^bz!TCGr>Ye~v|It*Mex?}~KDq~0C)DuP;~LWJxfkX2yZ~oIM^f2tR-0|1=+@OR zt~Q9%w(L0r!y}8Rtl$fzn^#CK_+8SZPQ8yL4=S}AhI~NHj}MWQa~o)8<7HBz(a=@P zVqt%IKN5FQLfu94wB<<~Y3Y*2%DM0CCdLtd^oN!Asc1qtaXYmNZP?L>_Wi-8-PJUl zTZ*LM*J}n@ebJ4)yL1$CTVD-TSqF}e+9&1KF8G{|4vIo=EGw&>~fku zJ_Fu5uo8Kh_E+}rJrFLZZ$b6`n`!wC8ya@<8**^myL9B!VD5TZ7JcGBnQjrMLcrJ0 zP`qb0M5-Gqz2AFO8PRB}{4pXa!QeF<-fnKD`f09^tBNLL&&sLSlI7Y>TieJxx)ZcE zt{5H$o`SOAYZ~srB%+F446?wx+WNisiLu~3`KI?}SikrI&1%>V_g0Oj0rPjz$@z!L z=%Qip?bBAcCL7)S#FRK;pD}86w4Ul{ma|` zJ9!?CCr_T7Ud47l!_`U=2L3(gA$f zLbtUhqME@X&UcW3w2liUH#h!~#&Qa3M#JeRRxyq7NTW{+j-xBpZ&sdrw*A<{g1wbB zCnwV~g@#V-w+HHyc2Jv71gf4gfW$QHqCUrC(TY2pXk)>7)UUn@KC1nbMzpDj*57O) z`a@F0x_t+ude5b6V%E~&{q<Dn?yg=@*3reWq5NKM*g8IZ2?W#L+?m#vJQ)@4g z(`rw+Z*2o~w*sL5Ao_u4K8YLe0rPsqL&c9G+I#Rp$Q!+Zo?Ul}7Pc2H4)RYaSb82W5H=hde|NdHIbs}Gf1$*uIEA8`qWjL!+UA{ z%i~cZIet{&9HZJN3E=lruvc^TVB{S+)lt@xlcIjx>s%=k)V|w1a}r;r7{Okx7Q)1I zs6`7ER+?k9nGF{6e1p*Yq?t35lVrb5oUbD?l`<|y9Vd&C%jGJ0yedu^CzH$7a+Ol1 zP{ym`)oPhsAycaaFOPhBSrg8CD41U7A~@UGxj7bFq2cN}y7qC-SjWog+XXn2*RW$d zi?cJ>@$d_6)yq-e32u*;%o*u;Y`Y@$d<}o;vQ+MjbWFIe$O~PO3TLEaT6IP0`4-qg zQ|XL!OpzWh7s=n1cOpBI&>8BuZy{Zv{(Q@37yb2&((61tB0CWMyG3l literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/92_76.pt b/use_cases/eluc/app/results/prescriptors/92_76.pt new file mode 100644 index 0000000000000000000000000000000000000000..415d1c35141656d1eafad109db7aa96c3078bb11 GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/93_26.pt b/use_cases/eluc/app/results/prescriptors/93_26.pt new file mode 100644 index 0000000000000000000000000000000000000000..dd2f790301021817f8984a41dd58ead66c9f7cd4 GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/93_64.pt b/use_cases/eluc/app/results/prescriptors/93_64.pt new file mode 100644 index 0000000000000000000000000000000000000000..ca15b6ada4b7230e33ad1f16583093cdcf8d3e41 GIT binary patch literal 3072 zcmb7G3s_S}7QTSIVnoCs#Z@c5Km-yJo{||bEr?B#fas>Sei$Gt5hP5wP+?6)E%?}q z54K{p^4UTu_y)hO2)QTd>RNVHd?2p1iY}j`w4w_xA`9!@OAtf4?q^TFlY29n|NLjp zoSAbJa+^^U<={a5LYyc86)HJ|8KXq8`PT6&bsnObTg`PRwF+VpgFGOf{OWbtBk zDQcZM{X~8rt2HZ9X=0sBYjw$~eu>$%COwOns8c6p zYtmB^X>~@HR+pF~<`Ek&FQq+;%wlJ%R;bA+6NDF)u2s>COoKdPtF&V0h=`rihJ7Yy zW)pjP15F&_Z`OwW6TOTbvbJxpN_LXPsib znP{@~8=6dtCzH**5&I2#Gi8Jw33;2fV@s2%gLVpt2j|T+la1*#nGsKBX6wl;r6aql z#8qlq#cdez99%IQMRt@Tv-QM#FrGPTT^74lWRBb_OKJNu4#Y=Kd{YO(rPW2KT$HT zU*wrZ+716q*U)sjnxiW~ZSHog@0`A#j!#9HWwlTgC6m4}*D$HsOVXSHaJ{@9`r@?6 zr?d@8Zyi9j7rw*Zx8002_YPx0M+_7t+l2q9oC18E3of~T8i^}+F(*D5jScE)IL8={ zsayeWsS@K2*D4V&HxQ~@o1i19pILW3AMZH14lmi$2@MJR;PcppVDldjxR%phA6>Np zR^BUxF9McA=I&=qzH)XhoQ_t5S8okdn^K43 zwYM1IKq0Pk>q2QH)_Ah123_2_8=d`XCH`vdMBI~;gIA7vj+}lvj8|Qc!4r5Jae21{ z&tF>uTM8GT)cq~>HxCM+ak)2a`$q@v*g7$s?k|&`I4XpdJ;#`wahLF&@yXCT)roQ2 zy8`R-4#GY`3p&>96h6;qJ&e1v-LUvGH3ZN387V(_j5cl(qY}?GaLlz)8sAs~DR*x$ zC&I#D+m=9lq ztM1P;o^z4RbsoQ**?x5tvutxTs<-|GH~f7f6Ma}{?DKInu6o+Tcx*05Y4bdBehW*YnadK`&sSnW zZ6E3?O29rLw+%by?lk1Ty8)iG3&Jlljc7r8J5(LsjN1+@V|q6F8qOt_GY;NqOvb}2 z&>U2NyWGy;s2lIYnH`Uq|c@=QE z%@cQ3)Zt4GcF_IJA`~;n4|w89u*>lUK4uqbEVDii-hTny-0BS_xmOYMyp=iR;fU*F z){9Quyba4=5G)%|a&{KmvDLm{(Q?N8LX;T=L^T&GC z^}F~+;cTf(Q*mAV&FzTyjKIuw0>ts}^odA_VCgx1V}7xTe@k!^Ojc) zslNinenluo`Y#weL&bE*PG=tM`5YGgz6^Sgo`vU?Q=n|^0Q9asg?{*cj-j!ytlrIa z0n!|yVabb6Az|`Cd`(sXIwx-w@mn_}D;5|xzH^$fTfPm#uKME1Ee-h7=3`;JFV{oM zgMTs?iYsuKa}$ns{TTQQo-!Xg%)-6b-pA8@E-{aa-wHorL^!N_A-+GMPr7CA1Y`6r z7yLoYt*V_e$Vg@fkoj2jD`d zGu|{`!&DcogAX&bb&sm6@zz8)d~~NZ)OAH+-bn@6H??8s*`5%TQi_%Bjrh-}ALG$; zd!%_S2MsX;kx;i~9CKt~t07r?3RfPl247oBKp9Dj)^{w_wn^xoWO z294KvsY`h%s(sR2&)F20cF+QLKRJE9%`ue!P)-e%wJ4eIue;7AJdW*h>59c{m7+L( zJ=-KIV2I6+tFXc>wN9f-*W{_V-X~F$5+xJ;I&!v-h=L_S0U<%60Dph~VE@qIAW4vj zeG3c>5Q~CC0s}%rMG|p_2+j6ZD<-mTp`KG!51({~c82|tP literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/93_77.pt b/use_cases/eluc/app/results/prescriptors/93_77.pt new file mode 100644 index 0000000000000000000000000000000000000000..59de99b6627f75ad258281e72d91fcf900acc16d GIT binary patch literal 3072 zcmb7G30PBC7JeZnAO?d-1y^hp3j$f$EO`e7iST7cW8A3D6hjEhM-*@Jkfp_f3W9Yk z)`~MORL8MuUFw30ns=hL?NGJWj$#ED9BbYBeNy+0>byq~Lt5vvC*OJR<-Yr$|J-xW zedp+P!fq7h2z6Raj6B207-h3^E!qTMYO0%*dYDXk7K_=$Lm1>d7H(+)QJZnRIhPytS4*BQwD{=uJea0&b3ih*O2!-83to zcG}*#Koob9HWi&%;xyAyJb7=DTy@O zQ|HSN-*!9Yq?b-mPW+rUdNah|KwfiMmg@Pk`gF0PA_1HgJwpO{DBsjl>3`_0KttxGX znKAMkM&4{+F&9N{lp>)eWO#c#XPd1yZmUR`PGCzFJ&ywkFCh`x?PGkPp_y_X zI45Kd{$jt!7Va5}e_bqvHPu5v5H%iFRc>bMZ|QMvaW6bseF9siErQDRUqMmf`ncAM z$gU3YpvNbVXU&Wcq?a_d38SYksSnE?@P3BQXGcBs{y>A0KB{;hBBm?DU`8V4Lw1dhh3QycVIO{SMTD$&idY1NuW`$*Ky{WQ79ItKxwZjw0!YG94)B^!#B$@q); z38c`mEZ#myF3-TebbBe z2>w759(%$5_H+fF93jV^pH;HkH%-*cTl*hu8;SPS{>Fu)IQFbKerZcE_!obQaSc*@ zEqyTz4Z6gB9PyCeQd(o*7Wh6+94Cw)czC|U>?3tFE!YS{_Xc6CXaUVWYGM17#j=s= zpXuB!4eZmeM2@^u-$Q-FLROQ!kiL0L4$%{mV50dx?K@Aa*}ANWatT%Sv3#melZ+HUcs=zun2CnNgOr1h4FYh6yolTg)4m?YexSNE!`<$!2`4xO$n>C56QWUQ*XB$98 zcCg9#3M;pntvNDOwq; zijGt$qqujm3e|`x-piD2o&_PChrH@_0^Zrq&ds&h@(ov4>DtG+V_hq!v)Y`Y@$Tn&HWvRvtobWOOf$P-A4^-B(xBvhE literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/94_46.pt b/use_cases/eluc/app/results/prescriptors/94_46.pt new file mode 100644 index 0000000000000000000000000000000000000000..d8f2d7611f3874a0d76ac6b2f103ccbc429405d2 GIT binary patch literal 3072 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 j$$q{Cwfm+JGqm|{O3P& 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/95_64.pt b/use_cases/eluc/app/results/prescriptors/95_64.pt new file mode 100644 index 0000000000000000000000000000000000000000..972e1676434c5a7ed3e76bef65ba79abed37d07e GIT binary patch literal 3072 zcmb7G3sh5A7JYmT3Gz_{@mIe{0Yg4~1oI9U6|`{)1J;R-N=XQi62TiDT5YiulvM<+ zzaq;5RS@x0t!t>il6%7HXwj)Cu2$`gN_FaBtMxa`SZz_~J%X6fahAPVC-3Fv?Y+-E z_uO|*vc|=gVMHS4H^YnZV`3uHq9VdG(z$f$(i~HQ+J{-tZxlJ}^?4?fLC+cUa`VMW z<_v?`kTKn;=fs40HHA0@YrS~tC3zVJlT;>MZZKwLbHrKC<(c)_(zF83Xv!C-nGL!E zqbVbeGvwyynbVdj#Ka{ySUZ46=JQXcXBmjA4I)l3<)w3}wn;H@(>n3b$cVevg}>^T z7LWm&7LJJipkXvV8qZSVq4Cr>l@f7Tw&0C~Bc3T_pw`pQC7m%npLk{SdfBeoHa5a3WNPWOfSn-wKHZYIel7$rKFR85y5Nyj60jJ?LV3`3 zSXh6IRVO8>8jqVmydn~7-m##z<~5u#=VOT5vjygDyMrxrYp{arw!E(zj$Y;u@usMo zzWL8u^f~tihE(mhWFFWBUq>~-gN{I0c&G$N-wwo(KUKj)(JcCg*FFgP@d50yZf?GN z6{+ahWZ2Smi=BTU5~P}P{Hg9LT#f6(81q6nlEFaTpUc2CZY?f0e1_Sh;<5d$(^J9> z-ZcDiDfl&oVRX0Jn)LS;x_ogBaNkuz>e2PA>-J8FX$pYlou^>fiSdxT=L}olxE1}V z3TFSclXg%Ay|m8{FEn)0)j!mO+uN>j)8?@duR2RT7agS?J9fkFz@d2Vqwx?CQ9;cs z_u+=ZtIdtupTg9zVw7wNVpkoSjXTRy=p$DG-Txj7Pt?1xe%3*@UDSdbK01ZhbMoj1 zYa^kxWe652qtQ+LmTISZ8?Jb7B(45OE^XZYE%m*28*^he;=IA(?ABe^*!`Ji)w=bI ztUu35WOa8Ly5VbAx~Oa>dvs$XRJDE1e&IF7T9JAKlWPvDQje{KoT(F`=mAIljFmWz z{K`)IbUj;$u`(}f=jWTS*>4jbn6;6W#ka7v z_s+o3FH=$USqT;$8iB@keO$!(S+Gra1G}frgn_;~$ZZ+S`ov6XuHMm2#fMw5xNQRb zE8sX(f2Y7Jo;&IAU-z(WAu^mi<8ZU#-7|FL!<%rk<16ewB83kB6Rh9LUAQAl4~MGC zp=j#GJ7hO^9RZ!C>bvcr~Ss-}M{$GSP$c>d&J$}HQ`yycMv+^>YP zGw&5*%B2l#r8tM)xZ(kV{*vuCV&i#v!CqQlVbhmPl2{YZ=dx!#{s{MGmBU^Cck#W7 z3VJq3Y?a0DYyP<@5oWYqrpx2vQG8+?go)CT%_^a%i?-5LRb%12*&h?8lv#`iIGp!% zHAczSLDc?M+*q=Ut~&D}T>SVNuH9V+6+cy@;_+rU?OzY8zd1N%M(cDse)c>%Q#6W| z)>K1=PYD)(5rS@_2{3uo0vIHENcY|Jh|4UA1w~stbo&3I;zEa5U*hRRnSL zZeBOAw~xS^G!}j8?=&B$SJ>-q{t&pxfO9`q)NTmlgob{Z>qP{Shn5XvU;ZYvDj;6*@gh0_}}c&~>W`B(V=v)pe1u?x6;k zcj#E%wIyp0C4#y>$GQw)l(di&3xLY$>|fp!%hLJgU1M zu>xmlxj4j+-%r6_%sG&e_vTb@SxZn)`hBl+rC3lqSDW=ZU!@qqUaU5PiRe|63Kcdy z-(WVTn~W>dh2AI4n315C{XTKNj>w{wQ4y1)WD#YZlpW9x`a=4<$Km&4`#k@gAah-`O6D*7Ys)5;N<%(uXHntZ?= z18kon1D`LFzuVb|>`lV{Q2Tuw;Q$@Pw`?}i|D93E8h7`wUc@MuNqtyev1dHHb_!iE kKaL75AU}AV(8e*f65*R+gujzDZbECsi1?52yzSZl0u8^kPXGV_ literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/95_66.pt b/use_cases/eluc/app/results/prescriptors/95_66.pt new file mode 100644 index 0000000000000000000000000000000000000000..6a491a147808fdc681ece7253e59693ccdc9b3c8 GIT binary patch literal 3072 zcmb7G30PBC7Jh62BHOqjg4QKeM9Bt$)Z`rmF)o?W5YSScnqo*zYAW3DfQrSU6*{O@ z>VgQUbkI`!$)}?;)I#1#tJV$IR_kcBu2n}{Y!$6#T;@H37}7eQJ^4=F&CUJKf9|>G zzH@Y1FK>$S^P_$vK~!(*C50hAUXqo`WQucUTQ$ic)HF9K_B0x^tyYtfv1HH56;8Hg znQW%46pN7&5^A`fctm9cai-tQ&N5lWQgMOFGRw>mPa~6UGn&PQJjP4|W{%J7ZFbs|kzlj0 zHiRJ|9d=5{pR^t&q^HwHFNXBilRhrnl0Vs2-)>gqB$TtFV@N;VijOv=l!S3kao+TI zS_)@Kgq{p=@kTE0@Md5)JF(;i&W;a526fmeA%l5uhB$2uWr#>mBJ+yKiy8jht_*LQ zm`wh_$gqwbb5Z1GDKfl>M0dn9-(<_>j*5)XdgNyKJc$DtSwv#Y9dmrpJCBQqi-^R1 zRz{>nMCLv#C-Nc^+cBG$J5#LF`uZt~gCB%?QWUScXQo*&HL^3!X3k|y*?j(JlB0f; zXKrcN_0wu$7^{h=E1@rk2{_+*eKuVHHQFVsB~neY`nkEfNL>bXd+uS#=DunOW}x-8 za=d>o**@duW+?YPja&WGpz^zR_5PqMuyglTOdIezJb1;|v9`GZhKi=Jh5xaDym?IG zw0R;Je`u__^vXU~I9GulreCo~@ITqJ^V+dmvYnkSxrjAB<#_(RHui*i8J^6))4Xlk zM%*-G1dQ)%!tzP=cAwS7u(Dz^BLpKl6R6)JZ?NUt&+p_vN0WshOQy$Sf~RteS|y34M+z8^01GGbo!i{O7G z4R3rK=_nFqLw)UI2+^0IazlY#d3qVF_Y>o<-URM1{>(noI|42D{>84F--4q&B6S_57D!FjH9CGDNv*vAYxlj2*2wA zYhFDLi$XrMuP67}=!<51WJ4rIg`KC_FK=UGOfvhn(ncrT`kB3vpj7)s&t@yvR-oeR z2_O>qCRT=>Q%x{_()>}$5}5azj1E8JOHZ%5%E|_w2D7LZH-1n6E6+#57!*2c^?z0= z2NT#TYJjREgX#J)636NzAG0@F9>e`5dWU0F3md%`Azd!RYctx^_P2gSfmaIZ7uI3p z%VXIW%0!O#;!1eySTP*dAB3PILbyYy0wZp+5_f>`8mRe zyaS%$o(}mIv|m`^+x&XmW%hw$GzM;7fbCzcQz!bqhx<1Vg`X0Zsb?i#U?UI2!ntw7 zu~M$WJvfPo^sU$0WHx>Uz5hdwaq&Utpb{Q#XmaSiTUxd#`Ge2C_P26}qE6uqto z!jIlR(X$V%gZB-ga51M0*QHDat18gZwqQF9kv7@?ovsGeurJ`w%^e_WU9U=Y| zyodH+h!mo>&&UnvZhIn`D3s1SRv1LeEqB`T$Q4DeKuPJ71zlo z<}0iu*JQI~S}lc{eD7nhWNDJ6e~g@~BhrM}_&8;}G)^XyCCFY%h>wkzc8p}oc$qw2 zDwW2?DHJjV?`3|@ikK+QLtb@S58m0X&ds&h@(ova>E6e=V_hp}a5vyAj>C!VD$ed; z*UQhhRZr!cE^tS*r0z)9Yug>E<7)U*mnAZHq-(-;M;_~rl)EEc)2cgC$F;yNoU!gm z*AxkSx=C)du?yLmgziw+bBpK(?a8%lPSW4cD4kXy7}<#!=oQn2saC{p_t?$8qQxyNVPV2+BMwB1-;nzFY{tuNmv#9_8 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/95_90.pt b/use_cases/eluc/app/results/prescriptors/95_90.pt new file mode 100644 index 0000000000000000000000000000000000000000..31982729aeab3622171babb7e08620383f1e0b65 GIT binary patch literal 3072 zcmb7G30PBC7JeXWh@gl977-N@1+%g!a4#4(ofI2T$EYYD36aFc#+y7)Td`OSiq?hN zYOM}hQE^1j867wBPTanNqg7k0e*IK%sT(tnGvdmi&U*wgN$Y&}SdM-Ur44 zjZssOrc={ALJiL$E|E%K*7R&cfkrP73Fc~ag<6`ps%e8!trg@I(K@|}muJ+digfyd zJX-US$zaSYmhecA$VjCpi!`w-^9wb^%?9CR=neVw1luH!xGP=QH6r4n?7=?ObBc(k z{0L3FvgMS#mz-ZtyybkkOF7|HXgP0uXu{7SJ(YYrmsGlZ6YF@z@JIb>*235ig8vr*;E*3kLf zfstXI5wp9<&QfG}2^rD3pT!!Zi9IS3C3i6?-Cyqmi7p`{wViX^rgt3|5tI<2^Q@SN zN{HBbRzf5tMA|u9WKszfa!;?=QooKsSBm0P@zyl+qoTXgOf{d@7`Xh&kVXC~&z#b( z`=?$<(|Qd@XGS-JJy_p4eLEeWO0mmop(sO^^v+z}q;>;U)C)M>FP&-6HlXVv>lo48 zC`)|aUi_Wt21Eob!2zvVFnfCwJ{7$g_(p%6y*?dDcC2NzsZ)?eGZ=>!-NoU@-op*e z6mCyDg+@l*WO65;f>u=rv*=POt~|5|TetiRj!gU$Jf&(F)BF)|p}4J~Bg_D^ZdJki zH)`S9@=IuD{dT;r9R3LGprjG97bLzr6@ zJ{L1)Ixob<-+r>T?5K^u3N}xjjd||ER-pJ{M6x-V!VwWQM9SW%%5h zSE!khFlp{jEy5aKSaqWnPf6n^S5BRP59}7g!j>VZxc52yw`Zwv?^qCyEceF7k82_3 z@dZ?~`4t`${TcMWw%W4kFN0wH?LUKZ$^(>iRExK1Cj#~#iE~b_gOlM!a3C=eRxOLg z^;-uprP6rt9cN)SRhPkOeLE^q=E9@KLg;<{KJe%NlL=~6S=6gm;<}l}q+ec5w>J7q z6I2fz2JeoEP232fD?=KyVOP|n;Vrnk@{H-TW z-Mtc}^$&;8zJqaW>M%5Pju$lb{0i;(fr7msOoz;8!B(8P9Mo43_-9SR0SDWWdE*~& z^r&V_Wx^Mh(zG&oG(whqhB=A8QQd*%$xfdCRA6~qKAPe z@WvJiT;*?Nlns}e53kICQR({|>bIz1$pb!aZ9WCHf8T+}4Os`xsh6N_(*~TjXg@yZ zj`T+SbNTQj z|Fdfj=UiTm9_}qecdmM4j-Poper^g&&*?k!OKkjc^ewpE(To}=2II=BOL4n84b})& zqO%b^>#YtAI{uP})z|%M11=uHi+|dac+AwsX#3>CSg%mz zHhw=A-ZVqO<_0EaLnJ%Nu6c*;+g7`iD2 z9vC_>x_v+kM4T<1mPQqKm8*xPTGVGJ^Bxy|8C+Mkk z2GqAyqxu&sEWhL)$JYKk;mR;`=lLIXsr_#XTZcJ)=lz%3_TS%HlB8Cyu~fw?nZz%{ zK-TsgacBCUl!~kX_B=U#yUm`IxGSf+%36kOvbRJbG=WVt{_7u`hDbV9TCM#<6=g|iDJZJalCkRe4I2+B$kL`rD91; zOiXO7lpT$d#E3aB2Zmqwi)20IR3UfaobB%1?29eea5;)&ALop(Hh9Ni?Gw%sdCn0jaYovwl_OHYw!n6r zQfH)niu8OFBs<#LjqFN7XQ=(Tg*ZU{*_O>l`r8?$kb8JUcOgQ1jO@m;jGglOd7JBk kSvknHfUK}Mu8pIre7J9l;{I01-MQ9?@?t;SdfVFn0Sk+_=Kufz literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/95_93.pt b/use_cases/eluc/app/results/prescriptors/95_93.pt new file mode 100644 index 0000000000000000000000000000000000000000..42c5c4e0c3abcd8edb9fd9830f4ec8a933d8cd34 GIT binary patch literal 3072 zcmb7G3s_TE623$eA)=xpf;>b)1;o4wVc|>^m9<~?tAI*VsAhR&AsWR)E~r>ks-hxV zijTD`3Mwt)qpqT2HFtun`nlF>ec-EFA5}jetG0Hleyz28FCd1r?q^TF$vv5zfBrdh z=G>V?L#NIRXPar~R){pgnw!p!YgJ0A*yzTuQBaAo6aUPd zo=>|N8d>U|WMB+l2G0`eVemA#l~C!D9KoBeEcHyL-He`2E@fEKZM1t1&zI9Vr`4X4 z_Q>gC@M5V~i=BnEr@?I@?bT|dH%q;fX&HgOGA_Cp!^~_*yzFU z$~4u?rV9r~hqUaNk0P&SXm}BgXo+WmInTx)6&-4Dvl+!N<3J;e=&+m?oe=c4OAlg(9g^whT!QPAD<}j_kdGkUjDOt%a+m{M-^=vX}&SPwt(-o?6m%^m8 zPax;=P&gK>db7(9c|F@ll z%^!uodW^&7-Yf8o#tXkmzXjFhA>bC31Oq}#v0{5IE~YiuQ-23f{Cx@-SG}j7HS?3$ zMtME13lov@wClvoc7s5B0zTa5t3OnF4JZ33fEgIPKf)%1&u#DHKc~3k^H%D;}=x4>k7@97TG>%eYs-@@T)$ra+; zD8{vyd>on|n@OmzLVs&-BTD^(vFZL!656yB*L-&Y-%a_Fkh@}d*pLgIf8L6b@6?j9 zX=&JKssP7|{dh*iVa>e|ZfAg>V^(n>_c(qf9wDVD-k^49I}auvTt4~gz@gZwu|4&5 zw?{bQK0m{aS{I7;wazJwT!!i*fJ% zd*sYWEk^3Tv5OZE;imem!qVagIFBADx`Jk~tldRYLu$B7!6|UU#}joY`^PzogHY68 z4q;hQ@b!!moRu|?d_2bt8(0={ONuO z?SF$?IqVtPd_v6?d>IRC`aFfp^Se7?2kI}BC_$r(@;C&Fe$%SffGK~ zW9+sI=n2<~ z+Lb(By$3^#{8;Q{?h1^xbOMaxXBfVNz@{x-sT&N z#bssO>hs=?V3{X;rhFL3MIOO%vo~Snxy$Ia^fYXm`wKo_b=e-cshTwB`QXIecerP1 z-*U$rFJM2}9N6~3a{TVkd&pI;0q%Bj(=Qs?#7!@&!>gt(L~^GIj%kcsc#a;*l{hn91-$z{;X{TY|UUWKyJQ4ssX+fei34!QS^-ceV*o+Moy z$gxK?*xYak$b$y(I=IvBIY`WDlO#~+R|b`R6!=5*N3eL^3Cswu$NEGMM|IV|VhcBK z#mnP2lbc_Zkn!@X_O*DIXr(i;uE7V!swn2AUWZEU^0*rlBEawAQLfYXWw7J62uB3Z z=DDjm(dgdr*)PlN|J_(c9R0SS;)4hf;y)_YCvZ4lhXr}#_^aE_|Avl?y%L4%qmA6; z#WP5qu9^ro*L+m5!J9u%L0)gO8>4K?skX9~5I^jXz0TEAf$h}#>6RlNi75q%26Lh+m z7>!D;P{*h>f|mjE|6C2@JrpF-;3hcR-nls!TcP3VI6C%mu2|>F*`ot6o9Af7wijnt zu=C{?+NxLMTsycWS_)UB^R?}WOyq0$E0^U;SEO^obwqyE5vg)TI;T}fWFp@JJ8`OA zkGG0D!3tccj j_6aQ@KX{zb#xd)=3f~MP{GDhJ3#}33&VPjUt!w`WlU%G1 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/96_13.pt b/use_cases/eluc/app/results/prescriptors/96_13.pt new file mode 100644 index 0000000000000000000000000000000000000000..557526f0c4bf092e03a699230cf692f9f7170a4a GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/97_43.pt b/use_cases/eluc/app/results/prescriptors/97_43.pt new file mode 100644 index 0000000000000000000000000000000000000000..3192151974a69e994c3794eabe08fc77ef9f2c92 GIT binary patch literal 3072 zcmb7G3s_S}7QVbf2mw+-1VzM_6wnwF!kgR^Ocg0{E6ZwSeKhijBoc*5E@EwAEs9m# z57CN6^kZv9#OI2w)|Jczu!^g$uYNx3YSnCQwX1H$R{N>!y$NDS*Zu6|JGqm|{O6oG z^PhW8w#LJgqWFC3SHqtQqEeEy@ru~OJSIPTXW08A7L5b0*D_{&I^UQ)t zrb3-bS2)g4zz7f(lY`u%bNyM>b4vm4Khlu+eQ-Pm*260@56wLBxjR(p0pfn263zrlJ1@$ z%e15M(%>WX-rjxie%)@1CAk=SMhH~%FI0iYlr(a8O(&VkI}M_>!!4;_R6;kxBz5*p zC?|=kj?Kf;PTbuH2d;JEC2P-EG|`PreE)U$Ca{2fy*B_N_xPx8 zeJ!@eKR8Qo`J@-dN~%cu{V3Ap?T%CLtiYsXFGSq4D1GZ064LpD@?7NuQh4nmo-}RwCN%1LDCl551{kUNQ=J{6bVjfI`FP0F$U zQmbG4Y7hm^!Zs~Y&Rm{J&j{**u^n0TeK3&3f1SjY%iOG=ZI=R`bc;@wm@K7FGvT0Y z2z;6qLu|zzkbd?i{q%7V=}Pt_9T{n9vGrO~+$gk8co=G(7TXNGgRS(M+Bx)*vAHk~ zN5MMZHgY9N0Lxa3vH!MZSTSuCotpB9P>mm@o*LDy?CEJGMaygPqLGRNb6!1!`KIf1 z?cu3#?5A=P7*a!8s#k#I`a0#uY8xJ3G#|^uFT&gE1yFot6WnTQ!Uem4h-;7;B{ZJh^;s1MIn4LmG7NSVr#rGcmrgMai4FfB>{Upi}^lb5z1=dl0pExy)Yc1xjJwjLz!`KXQ@#$;_} zGs$TUvqngTP)Digu|6ZMXM)4XzDSzbe1@v3&iYxu`QWp5U1$If)s7^sGwvz>IU$Ca zX)kL_b2H==*OHtiVr*LItx9jZ0Uy56g-c6nh=@54;!+!QA`IV#o*@e^^(wPI_k_>C zO9bh*&7?iFl6djO;2CpL*)U#DKYVx}6o)AY`@0@yMqb6f-_Nt|`f)D2mbQ|Z#}B6` zJQ1p*ZtlWIf0|4#{SpG(a!1pb|Iz^M38_R<&*o*;$E3Hln=Fw$A!kNV5Sbz+wya*f z&FeTcj#og$u^sJy>KRHhraYqgh3(}0t-CNT<}K2&@)(g0<*7Pe8BPDNAcW?(EKx4n zo=QLyNR*SmP*!>_phv}bk#hcid;G6-mrqD%>o6xT9e;%*{xv=^*0aYK6QyM~7Ks8Z z{}?{n&M8IX#K}SIeRA?*oqm+Ok5heREkix#x4q640**nan~J8eRf^)|#n!^8_&#e= zuENHebtXfe(XcR&>wUC_!VIXFuG2$KL+}<7lKW literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/98_1.pt b/use_cases/eluc/app/results/prescriptors/98_1.pt new file mode 100644 index 0000000000000000000000000000000000000000..627af036841c4d56b16af8cf7d8701bc2013ef18 GIT binary patch literal 3064 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 literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/results/prescriptors/98_38.pt b/use_cases/eluc/app/results/prescriptors/98_38.pt new file mode 100644 index 0000000000000000000000000000000000000000..c9df48222b4704dd00f58172887e1d13de272964 GIT binary patch literal 3072 zcmb7G2~<;O7JdQQLRef1S|~CgiU=VKvYB^-sAx?qkwxQjq%47?6Tv?TU|XYj6kE_i zk1ON86^m9q?g;sBIIXSA6vuIDr)QihT16dPsK%b)js-~I1@ z|97ui<=T&7JUy9T4PRyula!bvPmC?dHRp=w{n3z?>d(w{8Wk@2`6UK}Hs7o-DK-hy zjRjhxwqU$I-z+4|$P6Ng)cA7Lb4v=e2C+n3uGJUm%)}+%Tw=`EiE~QLdV@)rW7OuA z>J0@sW^J*l#F$ei6B5_RNR0=FG;vSn7HLU8J4BdfD9JTv+9!p?O(Wo*kq~!{D|gMG zS4uoo&1T{`RmG_MRib6YOC?eXmJwlFROZfarOO5-yuDmb#H2W6b*v;URq@JNy`l~`ip~dkIar9y)%&dB zKqLO=yHx9(_IeoH?qWOPcNR9z&!lI3Z$QK62eE5ZG^~5}EslTs4TKNNrW5B>gRE(s z^3L9oFzKraiX&t1TPv4LM1l4xdix!v|N5X4H^m;NimH=n({I8j%pUr+q6UZF*-VYp z3+Ei`2a^J{Sks(H-PTpWn)UTiKKosW+}=(p~?|;?d$`^ z&$K!45*x)%#QY&rU{VUPcyox-Q|oElUorxiu+YZVU*wA2*H>Z2t}@Kta)pL8U4c&@ z1lU^3bKquEGOY9ovGsfOBfIa!Q04UMDp)VBg)d5vK;niL>&m=aaD0t7z2vnDu>M1s zxacst2m;xUS0ANeUGd7Tz9QSy=tgkQJOJXMsN5*X+b$PQ6Wfs6YH4o7B3l}`PDw*9-ca3d))&RQx zx2=nwj$=b-&ZZ?fyKuMmmZHgJA=I`sva`iUAWiTHCl8KckL(k}xbwL%|JqcAw{9Lr zRPBO-8?iL`({!BSo6JVF-=%wxG(cI~a%lOi7=y3x!jDYTY+iM1;jPLJ_Knu@uwm0` zcEI{@Sn9vSS~cgfBI=sX8nHhDQ@$3_NAM7j+IBZBNHnqu4<6FWs{vTVPNBl%r!iwB zWrrUUDQky(H)g^9X&AM6Bs_CvXwW}B*jXFf=vNE$pc}Rw2UN7NYpzDXp!e%=d&XO1 zjKodpT_{7f#lotit=4ttKcQLauF6fdnYNo14H)$$LY7R5w>V#{^Y3B6;za7=f07=b zK7qDO{ut4#0p?$*fR>DN(3brkv|199v$P#-VNoP|YRL*KfASK=hZu%`|8n;KPM*8t z$&;p~x^O2?>b;eER(hiFAK{9JhXSx^`9`)_l*!6wrNZ%fJ5lIfMVYd-OK9|@#Vv}5uAk$X`fw=SnF-Tp2wqeM-MvMm@{T;IIpM$y49W=Rk2}T9Su#3i)LVAY* z{#3IJS6wJXznL+xy{HYsqc2d6Mx<0zS44wvrjP#n%& z2cHGkK<7_wbb*J3uD!mCu7ua%)_<4Lf)BSq`=T9qdd(@UKk8+Bz50oD)*cDE-u8jU zotLeOZKV)z+5p$)Rbg88Q`RuX#}+F(0AZ3w>$h17(A+u;!>3k5R&Es?8~OoTSnv)G zgDDEHpe&en|IhSX|I^qUrC0F#-*T~NUkX=;d3)vf%kA-(H!sAy(PyYG{xK`en1EBp zDUs)_U2t76h}%!zUe4*mNPBXsr>v!=#{9n5xm?Jr{cUSeHdmz>-d?U2%*6GmiTMf} zYtkC^xd#3FxqR=Fqc2EHmHa+&u8v3&HRGJ`7N{E-oOQh07i98`rCY8t} zadAm9SyDn0?`1)${A48OA#ZAxfOodHb8{@Ve8bgu^zGxEv5u9~uMe<@)39TEi?cJ> z@$mC))r;{>FSt8e5@)32vF(dgb2a>h%dt{tq+`PMMPBHOlsO|E)2c60&9%S|nsR5P zV~Y5^SR{A1yBFD$gw9aMeGBdb9l*70cG2I?D7DJnJ-P=G;u_P7$=9jWyLt9~H&K14fymV$p<$4{%a*4A1T6jx=Oc`rc>={U>Ytdn)N3Zh}P*h+b^_$U~>PIE1jcTr%9-3USpweZm!*Cv*a>XdqI)t z9Y>zUVaa>bn#+g~H7X1FL>YQ>rf1vpEVfvAY>CA>E1yBWxs2VBn;&bO!&q%aBBR4% zo@2G;85v7Kk=O|vXW;D(6OZFUng*{u{Ie}fOVMvjCAKkk`Z zI0psjniv!~Nk{1T&wJC0LEFJF-Fwx>WL z`2ji!gCs6H6{wHSrvgdcHu^HCUlw}JV_VAS+v?xLiV_XrtmqjukhkKmlT@Nm&MD5D z*WH!|F(@nx4fgOx8SC;UyoVhX8p7G}XV6fWoeJ~@@69l`jo}Q6$U-CLl%kP_AZ}O2 z*%rpc9~g>s?U;)qr=`%SQWWiqXR*am#2pnHt@9}|_&<*W8dHj5@?APU=v~K!VoQb;9tcQU=`Lc0w4S4J0PwC57+97V@RV;Q$q3IVPoDWW-b#KncjCg@hx9sG9nM~Rk2Fo$Ksu=H_|}uvCwgDEDr%ZyEmyiW{1V=1g!F!1-A{m2)Yw3qy$}pBeR9t9qh`+?bmZ(ALK}dF6G7*G?6aN4!O<&tV z-mY8k)cy6)Hf07>``^)|s3VgX%#>-D?=wPw(IVK=rh<$6 zgj&UiEp+tLFE#)AtRGo+GKL(Vn55m^^bo?UQeppY8EIa;0Ph+m)gB%G7MVUV1MeBW zH~EJ20f~Ebfj)5TB&3chBR8ZCv~KP~+@5rY77E{nO9B~L6FHAqAAfqK9 zAK3BIkK!S7N_*@KjP8a2AUr#;}{m2b1>fIw&0U2?Y0f zOWXWlDtlC_8oMlFtaI5p0iIEnK?_zLgPaY~kny>UU3K>Ynce;vzfrY??l^a!zV?xr z-oY#(=1IBW*f0g|Ox;1QZQTlAn>W%U3IoaJwx8*LoT12_g#EaG z05h(AM%UbL0Ygg*4$67tRQ8`rw@0UGO@XP97QKe(r};uqbgeV1`V0^>Ikt%R~|x1c)oYBIZfDo%`F1kERg;(6<%Xv=~YTyoP-n;+9eMpsnA#smqBZ*CwP zvnC`r;VL*CC?suLC({)XED?E)tv-Gbhg_|8`ff@m@vM?q=~Qxg{3H@5G?JkctLfUoM*8@#n;WMe z8cw$!&L--!a*F}1ivX-6{e*;UG`D>TTC3Ge#gA)avc}uduQri^FQNS^sF_dmp1UFFj5E`^dREB2QE$#HkbHaSDYZQIV9Gph}Q) zGqqZ!OjN}w65~0oLLHyTd-?S9+&@Hd9`d5s`S8wmcW$1=mT$Ovj-Gv-H`cRqhV%f= z;yB#c?&9nX_PqRjTlHdG>;}7{CHF>pUfZ5XJy*kDxGYn6BRvzYC-QVpq|zJdnN~fK zdaecb;8b}dJyRt3#U{DgmTqKM5_&^D&n>J6RLZq%ZqomqQF@(FIHn5`?ibUIi1ZiJR7if2K~(CY{-8 zj<_eV4C~8!6%h~Ci*+g@qT&p}8&8gSC6X>$FFTh~49Qu!T=#*izCnG)?ompRw z__o?9ByX`!g~ZQh!=EDoi6qc&TM;j}^`{P2B1l)>iiRWI1S_trZxIRNo#MUeZnM;b zBf*KJr=2$u;#O~Zb+98Ry?HyX9O=_)r;z+v@a8Wz8zCGCO(bF2xumbwgWr{IlAcQz z4vh3`-7z0UewHEqbIE|#c;@KMS^QCvfvi)O*7ao^$e>&@IHPq=2zuLb5pgb&IL^w5 zG?&O6XCp{NE|Is+W@n{{HEd`1$b6q?U7Z<5P|a)8%!e7&mS!naIlW29A9Y;#Z}Q9` z?b?4D4IF3G3v`9(UqNoX?}EOb&Wjmlm(>!fI!^V*T~ipcPF%Fd^Q*nq7cQ!> zp~8swy?x(OIBNv#x&A#gq&%ZjCXUAcJXC=Hy6QeuC#{8osmEbbOc-=Km{%3%|A;NiZ`M!1M{W$l-(>H@?EKTn`|b`r@D~MM)9ERyY?R}Z z>+4}&(I|9{M$jwU0^t0H+qCp%174Tu6q|5oJpO8z1iEh9LMyk=#XtF{LQ`NSRwznn zkI9EX@#{IXsr&`Dt~dZ+WIRVR_P+(KKwbJ5)6O2W|d=fqi4f!(Q!R>)%T%;k3sH*cST&1sr^W z*nZ1#@`aOV+{aSL-yaN31L9%>Ke>;Z(l5f69mP0bJd{dm=g>LD{i*waiS)$i5pY&n zh#z)6g4LJagR5SZRL8RD>^*DCP+(syC(jHS?6wi-X& zco?UZtb@i4W6}Eq#jx^J4gK=8LXYi)CN~pPuC%S(^f)jJfagx3nZ7O*Zb7WSDMYwt26_pn;!uyxk|9A7; z>~Ee-9p}v7Jol~6Ai5Bu@>(WAD|439qG&lPMNO85rdf2^)I7`5=Ne#gKCgNfe-xii zpK0;?e#zm)D~r%F(L{RZss|SMr=QEp9>&uP`o{bbHvS}+wJ_pbCOVoFgqy2bym+Jx zlzZIp-Q73g)-ye791}w8RxO3GpH;x(|JKu$CNDU%vzzs?cNq#!yc<*dq@oJXnu`oO zIY^vV21@Ay?6Ln0d_DJD`gLy+hQeQA&hQ#qa&HaX$UB94p0CEU&+d-VnAXt6`C_=& zydFIW-GE01PJzLq9^mR8hGk9Zxcj`>)Nhe%>}~T=6w^2wYhIMo6LhojYN$uM7CS=_KNcO*fZONiF*9e+(2Gebti4l<`zFl8oB)N#^3M$Xp}X_Q>47^0LaWHMQlEILXlS4#O&WTaFU z8Lf;`C?n+2$|2DT!ON>FAF9K74+Yh*PJ*-Totu5J6&kLN(y@wMl+d*^X>WLPx0mxdnHC`tdEBjr8|3O2fLj4QfO5av9u?Vkq* zDPwINDq1RvrC6(wcY@LpSHuBjrYi0_+HnJ{`VBhs9zhK0IG?@wPTtGS`~UykbI*O} zs8x3M6y@YZ{c5;T-jqz15+w>x*D#u}oO!x9r3dxC)mUnqmZsO~=rl&F&o&6B<)+iQ zbozL08Y3jss03mYlH|rwf2dEVbz!2g1+;cTsjocY92 zRnHKo=_*R)p>io8&MFs`O#uIjOpvAHzFP8OYKNbn`;aJoR8N{>jLGbo&w zi71bVt!E`fl1HRHv-1t9VQQ75Q{+@4UTQ&V`D#$m(!WoKpVUT79AxH>poYn0^_Z4cMK*6|rL> zRi6yeDK&V|&$g!Px`$}X$BAtFqx1L|zwz+=@ey2qUw|bQC2Z1^J#r&G3`^?9DQaV{ zqS7+~czsX{dcIG?R$n>|6=`ieSiGeNpiMXNY6n>zng6}h~vH0X{ zB%P{d*Zxb0Z%Vt^@P)pL%Jx>+qYuVM@Ba-29* zNK}EDFC3tAMT0UY$h5D08f$1N*&vxbq;z~p=i zix2pLGyV!f%5LM}k}YWQ$VhzeWH{b3tA;IU_QM`4;^h8wl)#_7g%3a2NAd4p&i>!Y z6Ih-+ah%eYJ9)SEwXwps;qu5U6xw4t~5PW_d$SiNj+3IH0_{YJ@L8-W-IA8wQ|Eke``6uk@ zhM6$)KPw?hv<_Fr7DBGuX!NJ1&3MC_lW?@U4DYYL4xw@#7SAcbD_g%EYuh~#M4Q&I zlbiyPbXhCD)Ab`PaNfxJR-Ho+H$FqtBd@ZRcbpYE{SmZnXBWDxANKb6wjrjyITU`c zwT-1`oksWd-5A~d0j~~}LSB3WdtmcXRK906_D!Y%U+O?NHZKFe;*EgLKZE7}w8uG~ zRj}zv6Wew{%U*aWP^|jq1ls$lEj0Ud7}rnU%?dW1!&N1vFd$!!%Yzzm=g&3x%DU%l z!}?{YpgbO`8y!*Avvo$zhPBw_w+jRTrw|{1w|c?-SgsE9_S*56n&V&iJRQ=KHX5b# zl&mme0w_D5_Hfn?`QVl}x1YSdn$wjM_vTb@S&LJS`E9RrsgPg6nJ?$Q%T+0gw^ytA zQxUytVSI%RH_*9SjZV8r!}mTZ+VnW3=(mY;bwm^`jf#kg5=Dr`;%KofI!YQP5{qMG zvZ%=D2$?KKDvODXlF1@@FT2OtnnE}ac~h%wcxU@MH_KwnH(dQk|31zdYgswn`vK>2 z8fI)?akd6q9)7;9dO6PZfqSAQvPN1S+x|#3SHoYr94@v-S|(h7WOIL{#2RUtR{fD` zt_8Nxlv*P#Q^fVv=MBEDfWyP p*PDD7%#8zl3&;%)$G36Rmjn23isJuPs~q^&h;rgS{PX5#{|ln0!7cy* literal 0 HcmV?d00001 diff --git a/use_cases/eluc/app/utils.py b/use_cases/eluc/app/utils.py index f68334d..ce77df5 100644 --- a/use_cases/eluc/app/utils.py +++ b/use_cases/eluc/app/utils.py @@ -1,21 +1,111 @@ """ Utility functions for the demo application. """ +import json +from pathlib import Path + import pandas as pd +import torch + +from prsdk.persistence.serializers.neural_network_serializer import NeuralNetSerializer +from prsdk.persistence.persistors.hf_persistor import HuggingFacePersistor import app.constants as app_constants from data import constants +from data.eluc_encoder import ELUCEncoder +from prescriptors.prescriptor_manager import PrescriptorManager +from prescriptors.nsga2.candidate import Candidate +from prescriptors.nsga2.land_use_prescriptor import LandUsePrescriptor +from predictors.percent_change.percent_change_predictor import PercentChangePredictor + +def add_nonland(context_actions_df: pd.DataFrame) -> pd.DataFrame: + """ + Adds a nonland column to the context_actions_df + """ + updated_df = context_actions_df.copy() + updated_df["nonland"] = 1 - updated_df[constants.LAND_USE_COLS].sum(axis=1) + updated_df["nonland"] = updated_df["nonland"].clip(lower=0) + return updated_df -def add_nonland(data: pd.Series) -> pd.Series: +class EvolutionHandler: """ - Adds a nonland column that is the difference between 1 and - LAND_USE_COLS. - Note: Since sum isn't exactly 1 we just set to 0 if we get a negative. - :param data: pd Series containing land use data. - :return: pd Series with nonland column added. + Class that handles running our trained prescriptors """ - data = data[constants.LAND_USE_COLS] - nonland = 1 - data.sum() if data.sum() <= 1 else 0 - data['nonland'] = nonland - return data[app_constants.CHART_COLS] + + def __init__(self): + self.prescriptor_path = Path("app/results/prescriptors") + self.prescriptor_list = [model_path.stem for model_path in self.prescriptor_path.glob("*.pt")] + def sort_cand_id(cand_id: str): + return (int(cand_id.split("_")[0]), int(cand_id.split("_")[1])) + self.prescriptor_list = sorted(self.prescriptor_list, key=sort_cand_id) + + # Load prescriptors + self.prescriptor_manager = self.load_prescriptors() + + def load_prescriptors(self) -> tuple[list[str], PrescriptorManager]: + """ + Loads in prescriptors from disk, downloads from HuggingFace first if needed. + TODO: Currently hard-coded to load specific prescriptors from pareto path. + :return: dict of prescriptor name -> prescriptor object. + """ + with open("app/results/fields.json", "r", encoding="utf-8") as f: + fields = json.load(f) + encoder = ELUCEncoder(fields) + + candidate_params = {"in_size": len(constants.CAO_MAPPING["context"]), + "hidden_size": 16, + "out_size": len(constants.RECO_COLS)} + prescriptors = {} + for cand_id in self.prescriptor_list: + cand_path = self.prescriptor_path / f"{cand_id}.pt" + candidate = Candidate(**candidate_params, cand_id=cand_id) + candidate.load_state_dict(torch.load(cand_path)) + prescriptors[cand_id] = LandUsePrescriptor(candidate, encoder) + + pred_persistor = HuggingFacePersistor(NeuralNetSerializer()) + eluc_predictor = pred_persistor.from_pretrained("danyoung/eluc-global-nn", local_dir="app/results/predictor") + predictors = {"ELUC": eluc_predictor, "change": PercentChangePredictor()} + + prescriptor_manager = PrescriptorManager(prescriptors, predictors) + + return prescriptor_manager + + + + def prescribe_all(self, context_df: pd.DataFrame): + """ + Runs all prescriptors on the given context_df, returning prescriptions and outcomes. + context_df should be a single row so we can concatenate the results into a single df. + """ + assert len(context_df) == 1, f"Context should be a single row, got {len(context_df)}" + context_actions_dfs = [] + outcomes_dfs = [] + for cand_id in self.prescriptor_list: + context_actions_df = self.prescriptor_manager.prescribe(cand_id, context_df) + outcomes_df = self.prescriptor_manager.predict_metrics(context_actions_df) + context_actions_df["cand_id"] = cand_id + context_actions_df = add_nonland(context_actions_df) + outcomes_df["cand_id"] = cand_id + context_actions_dfs.append(context_actions_df) + outcomes_dfs.append(outcomes_df) + + # Concatenate the results together with each entry in list as a row + total_context_actions_df = pd.concat(context_actions_dfs, axis=0) + total_outcomes_df = pd.concat(outcomes_dfs, axis=0) + + results_df = pd.merge(total_context_actions_df, total_outcomes_df, how="left", on="cand_id") + return results_df + + def context_actions_to_recos(self, context_actions_df: pd.DataFrame): + """ + Reverts context actions back to recommendations + """ + reco_diff_df = context_actions_df[constants.DIFF_RECO_COLS] + reversed_map = {v: k for k, v in constants.RECO_MAP.items()} + reco_diff_df = reco_diff_df.rename(reversed_map, axis=1) + + reco_df = context_actions_df[constants.RECO_COLS].copy() + reco_diff_df + reco_df["cand_id"] = context_actions_df["cand_id"] + + return reco_df From 21d08a9eec1947459b75a25ef73323161ed6589a Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Thu, 26 Sep 2024 14:46:43 -0700 Subject: [PATCH 02/17] Finished draft of app --- use_cases/eluc/app/assets/tooltip.js | 4 + use_cases/eluc/app/components/chart.py | 54 +++--- use_cases/eluc/app/components/lock.py | 2 +- use_cases/eluc/app/components/references.py | 76 ++++---- use_cases/eluc/app/components/sliders.py | 37 +--- use_cases/eluc/app/constants.py | 9 + use_cases/eluc/app/newapp.py | 19 +- use_cases/eluc/app/newcomponents/context.py | 89 ++++++++-- use_cases/eluc/app/newcomponents/dms.py | 187 +++++++++++++++++++- use_cases/eluc/app/newcomponents/filter.py | 119 ++++++++++--- use_cases/eluc/app/newcomponents/intro.py | 67 +++++++ use_cases/eluc/app/requirements.txt | 2 +- use_cases/eluc/app/utils.py | 10 +- 13 files changed, 532 insertions(+), 143 deletions(-) create mode 100644 use_cases/eluc/app/assets/tooltip.js create mode 100644 use_cases/eluc/app/newcomponents/intro.py diff --git a/use_cases/eluc/app/assets/tooltip.js b/use_cases/eluc/app/assets/tooltip.js new file mode 100644 index 0000000..68d4508 --- /dev/null +++ b/use_cases/eluc/app/assets/tooltip.js @@ -0,0 +1,4 @@ +window.dccFunctions = window.dccFunctions || {}; +window.dccFunctions.percentSlider = function(value) { + return Math.round(value * 100); +} \ No newline at end of file diff --git a/use_cases/eluc/app/components/chart.py b/use_cases/eluc/app/components/chart.py index 70b53d1..97576ae 100644 --- a/use_cases/eluc/app/components/chart.py +++ b/use_cases/eluc/app/components/chart.py @@ -37,12 +37,13 @@ def register_update_context_chart_callback(self, app): """ @app.callback( Output("context-fig", "figure"), - Input("chart-select", "value"), + # Input("chart-select", "value"), Input("year-input", "value"), Input("lat-dropdown", "value"), Input("lon-dropdown", "value") ) - def update_context_chart(chart_type, year, lat, lon): + # def update_context_chart(chart_type, year, lat, lon): + def update_context_chart(year, lat, lon): """ Updates context chart when context selection is updated or chart type is changed. :param chart_type: String input from chart select dropdown. @@ -51,15 +52,15 @@ def update_context_chart(chart_type, year, lat, lon): :param lon: Selected context lon. :return: New figure type selected by chart_type with data context. """ - context = self.df.loc[year, lat, lon] - chart_data = utils.add_nonland(context[constants.LAND_USE_COLS]) + context = self.df.loc[[year], [lat], [lon]] + chart_data = utils.add_nonland(context[constants.LAND_USE_COLS]).iloc[0] - assert chart_type in ("Treemap", "Pie Chart") + # assert chart_type in ("Treemap", "Pie Chart") - if chart_type == "Treemap": - return self.create_treemap(chart_data, type_context=True, year=year) + # if chart_type == "Treemap": + return self.create_treemap(chart_data, type_context=True, year=year) - return self.create_pie(chart_data, type_context=True, year=year) + # return self.create_pie(chart_data.iloc[0], type_context=True, year=year) def register_update_presc_chart_callback(self, app): """ @@ -67,14 +68,15 @@ def register_update_presc_chart_callback(self, app): """ @app.callback( Output("presc-fig", "figure"), - Input("chart-select", "value"), - Input({"type": "presc-slider", "index": ALL}, "value"), + Output("alert", "is_open"), + Input("update-button", "n_clicks"), + [State({"type": "diff-slider", "index": ALL}, "value")], State("year-input", "value"), State("lat-dropdown", "value"), State("lon-dropdown", "value"), - prevent_initial_call=True ) - def update_presc_chart(chart_type, sliders, year, lat, lon): + # def update_presc_chart(chart_type, sliders, year, lat, lon): + def update_presc_chart(n_clicks, sliders, year, lat, lon): """ Updates prescription chart from sliders according to chart type. :param chart_type: String input from chart select dropdown. @@ -84,13 +86,21 @@ def update_presc_chart(chart_type, sliders, year, lat, lon): :param lon: Selected context lon. :return: New chart of type chart_type using presc data. """ - # If we have no prescription just return an empty chart - if all(slider == 0 for slider in sliders): - return self.create_treemap(pd.Series([], dtype=float), type_context=False, year=year) - presc = pd.Series(sliders, index=constants.RECO_COLS) + # If we have no prescription just show the context chart + bad_sliders = sum(sliders) < -0.01 or sum(sliders) > 0.01 + if all(slider == 0 for slider in sliders) or bad_sliders: + context = self.df.loc[[year], [lat], [lon]] + chart_data = utils.add_nonland(context[constants.LAND_USE_COLS]).iloc[0] + return self.create_treemap(pd.Series(chart_data, dtype=float), + type_context=False, + year=year), bad_sliders + + diff = pd.Series(sliders, index=constants.RECO_COLS) context = self.df.loc[year, lat, lon] + presc = context[constants.RECO_COLS] + diff + chart_data = context[constants.LAND_USE_COLS].copy() chart_data[constants.RECO_COLS] = presc[constants.RECO_COLS] @@ -99,11 +109,11 @@ def update_presc_chart(chart_type, sliders, year, lat, lon): nonland = nonland if nonland > 0 else 0 chart_data["nonland"] = nonland - if chart_type == "Treemap": - return self.create_treemap(chart_data, type_context=False, year=year) - if chart_type == "Pie Chart": - return self.create_pie(chart_data, type_context=False, year=year) - raise ValueError(f"Invalid chart type: {chart_type}") + # if chart_type == "Treemap": + return self.create_treemap(chart_data, type_context=False, year=year), bad_sliders + # if chart_type == "Pie Chart": + # return self.create_pie(chart_data, type_context=False, year=year) + # raise ValueError(f"Invalid chart type: {chart_type}") def _create_hovertext(self, labels: list, parents: list, values: list, title: str) -> list: """ @@ -138,7 +148,7 @@ def create_treemap(self, data=pd.Series, type_context=True, year=2021) -> go.Fig :param type_context: If the title should be context or prescribed :return: Treemap figure """ - title = f"Context in {year}" if type_context else f"Prescribed for {year+1}" + title = "Before" if type_context else "After" tree_params = { "branchvalues": "total", diff --git a/use_cases/eluc/app/components/lock.py b/use_cases/eluc/app/components/lock.py index 0ebd9fa..502b2db 100644 --- a/use_cases/eluc/app/components/lock.py +++ b/use_cases/eluc/app/components/lock.py @@ -30,6 +30,6 @@ def get_checklist_div(self): """ check_options = self.create_check_options(constants.RECO_COLS) checklist_div = html.Div([ - dcc.Checklist(check_options, id="locks", inputStyle={"margin-bottom": "30px"}) + dcc.Checklist(check_options, id="locks", inputStyle={"margin-bottom": "25px"}) ]) return checklist_div diff --git a/use_cases/eluc/app/components/references.py b/use_cases/eluc/app/components/references.py index b6cbe64..9194ef4 100644 --- a/use_cases/eluc/app/components/references.py +++ b/use_cases/eluc/app/components/references.py @@ -14,40 +14,44 @@ def get_references_div(self): Creates div with various references. Uses the same styling as the trivia div. """ inline_block = {"display": "inline-block", "padding-right": "10px"} - references_div = html.Div([ - html.Div(className="parent", children=[ - html.P("Code for this project can be found here: ", - className="child", style=inline_block), - html.A("(Project Resilience MVP repo)", - href="https://github.com/Project-Resilience/mvp/tree/main/use_cases/eluc\n"), - ]), - html.Div(className="parent", children=[ - html.P("The paper for this project can be found here: ", - className="child", style=inline_block), - html.A("(arXiv link)", href="https://arxiv.org/abs/2311.12304\n"), - ]), - html.Div(className="parent", children=[ - html.P("ELUC data provided by the BLUE model ", - className="child", style=inline_block), - html.A("(BLUE: Bookkeeping of land use emissions)", - href="https://agupubs.onlinelibrary.wiley.com/doi/10.1002/2014GB004997\n"), - ]), - html.Div(className="parent", children=[ - html.P("Land use change data provided by the LUH2 project", - className="child", style=inline_block), - html.A("(LUH2: Land Use Harmonization 2)", href="https://luh.umd.edu/\n"), - ]), - html.Div(className="parent", children=[ - html.P("Setup is described in Appendix C2.1 of the GCB 2022 report", - className="child", style=inline_block), - html.A("(Global Carbon Budget 2022 report)", - href="https://essd.copernicus.org/articles/14/4811/2022/#section10/\n"), - ]), - html.Div(className="parent", children=[ - html.P("The Global Carbon Budget report assesses the global CO2 budget \ - for the Intergovernmental Panel on Climate Change", - className="child", style=inline_block), - html.A("(IPCC)", href="https://www.ipcc.ch/\n"), - ]), - ]) + references_div = html.Div( + className="mx-5 mb-5", + children=[ + html.H2("References"), + html.Div(className="parent", children=[ + html.P("Code for this project can be found here: ", + className="child", style=inline_block), + html.A("(Project Resilience MVP repo)", + href="https://github.com/Project-Resilience/mvp/tree/main/use_cases/eluc\n"), + ]), + html.Div(className="parent", children=[ + html.P("The paper for this project can be found here: ", + className="child", style=inline_block), + html.A("(arXiv link)", href="https://arxiv.org/abs/2311.12304\n"), + ]), + html.Div(className="parent", children=[ + html.P("ELUC data provided by the BLUE model ", + className="child", style=inline_block), + html.A("(BLUE: Bookkeeping of land use emissions)", + href="https://agupubs.onlinelibrary.wiley.com/doi/10.1002/2014GB004997\n"), + ]), + html.Div(className="parent", children=[ + html.P("Land use change data provided by the LUH2 project", + className="child", style=inline_block), + html.A("(LUH2: Land Use Harmonization 2)", href="https://luh.umd.edu/\n"), + ]), + html.Div(className="parent", children=[ + html.P("Setup is described in Appendix C2.1 of the GCB 2022 report", + className="child", style=inline_block), + html.A("(Global Carbon Budget 2022 report)", + href="https://essd.copernicus.org/articles/14/4811/2022/#section10/\n"), + ]), + html.Div(className="parent", children=[ + html.P("The Global Carbon Budget report assesses the global CO2 budget \ + for the Intergovernmental Panel on Climate Change", + className="child", style=inline_block), + html.A("(IPCC)", href="https://www.ipcc.ch/\n"), + ]), + ] + ) return references_div diff --git a/use_cases/eluc/app/components/sliders.py b/use_cases/eluc/app/components/sliders.py index d1507a1..ebcf5ec 100644 --- a/use_cases/eluc/app/components/sliders.py +++ b/use_cases/eluc/app/components/sliders.py @@ -25,25 +25,20 @@ def get_sliders_div(self): Gets updated by the prescriptor. """ sliders_div = html.Div([ - html.Div([ - html.Div([ + html.Div( + className="mt-1", + children=[ dcc.Slider( min=0, max=1, step=app_constants.SLIDER_PRECISION, value=0, marks=None, - tooltip={"placement": "bottom", "always_visible": False}, + tooltip={"placement": "bottom", "always_visible": True}, id={"type": "presc-slider", "index": f"{col}"} ) - ], style={"grid-column": "1", "width": "100%", "margin-top": "8px"}), - dcc.Input( - value="0%", - type="text", - disabled=True, - id={"type": "slider-value", "index": f"{col}"}, - style={"grid-column": "2", "text-align": "right", "margin-top": "-5px"}), - ], style={"display": "grid", "grid-template-columns": "1fr 15%"}) for col in constants.RECO_COLS] + ] + ) for col in constants.RECO_COLS] ) return sliders_div @@ -82,9 +77,9 @@ def set_frozen_reset_sliders(lat, lon, year): :param year: Selected year. :return: Frozen values, slider values, and slider max. """ - context = self.df.loc[year, lat, lon] + context = self.df.loc[[year], [lat], [lon]] - chart_data = utils.add_nonland(context[constants.LAND_USE_COLS]) + chart_data = utils.add_nonland(context[constants.LAND_USE_COLS]).iloc[0] frozen_cols = app_constants.NO_CHANGE_COLS + ["nonland"] frozen = chart_data[frozen_cols].tolist() @@ -97,22 +92,6 @@ def set_frozen_reset_sliders(lat, lon, year): return frozen, reset, maxes - def register_show_slider_value_callback(self, app): - """ - Registers the callback that shows the slider values next to the sliders. - """ - @app.callback( - Output({"type": "slider-value", "index": MATCH}, "value"), - Input({"type": "presc-slider", "index": MATCH}, "value") - ) - def show_slider_value(slider): - """ - Displays slider values next to sliders. - :param sliders: Slider values. - :return: Slider values. - """ - return f"{slider * 100:.2f}%" - def register_sum_to_one_callback(self, app): """ Registers callback that makes it so that when you click the sum to 1 button it sums the sliders to 1. diff --git a/use_cases/eluc/app/constants.py b/use_cases/eluc/app/constants.py index 449a78b..1d7acc8 100644 --- a/use_cases/eluc/app/constants.py +++ b/use_cases/eluc/app/constants.py @@ -37,3 +37,12 @@ PARETO_CSV_PATH = Path("app/data/pareto.csv") DEFAULT_PRESCRIPTOR_IDX = 1 # By default we select the second prescriptor that minimizes change + +DESC_TEXT = "mb-5 w-75 text-center" + +JUMBOTRON = "p-3 bg-white rounded-5 mx-auto w-75 mb-3" + +CONTAINER = "py-3 d-flex flex-column h-100 align-items-center" + +HEADER = "text-center mb-5" + diff --git a/use_cases/eluc/app/newapp.py b/use_cases/eluc/app/newapp.py index 2efd6bb..d0399de 100644 --- a/use_cases/eluc/app/newapp.py +++ b/use_cases/eluc/app/newapp.py @@ -1,12 +1,13 @@ -from dash import Dash, html, dcc +from dash import Dash, html import dash_bootstrap_components as dbc import pandas as pd import app.constants as app_constants from app.newcomponents.context import ContextComponent from app.newcomponents.filter import FilterComponent +from app.newcomponents.dms import DMSComponent +from app.components.references import ReferencesComponent from app.utils import EvolutionHandler -from data import constants app = Dash(__name__, @@ -21,11 +22,21 @@ context_component = ContextComponent(app_df, evolution_handler) filter_component = FilterComponent(evolution_handler) +dms_component = DMSComponent(app_df, evolution_handler) +references_component = ReferencesComponent() context_component.register_callbacks(app) filter_component.register_callbacks(app) +dms_component.register_callbacks(app) -app.layout = html.Div([context_component.get_div(), filter_component.get_div()]) +app.layout = html.Div( + children=[ + context_component.get_div(), + filter_component.get_div(), + dms_component.get_div(), + references_component.get_references_div() + ] +) if __name__ == '__main__': - app.run_server(host='0.0.0.0', debug=False, port=4057, use_reloader=True, threaded=False) + app.run_server(host='0.0.0.0', debug=False, port=4057, use_reloader=True, threaded=True) diff --git a/use_cases/eluc/app/newcomponents/context.py b/use_cases/eluc/app/newcomponents/context.py index d0a326c..8e2b9a8 100644 --- a/use_cases/eluc/app/newcomponents/context.py +++ b/use_cases/eluc/app/newcomponents/context.py @@ -2,6 +2,7 @@ from dash import html, dcc, Output, Input, State import dash_bootstrap_components as dbc import pandas as pd +import regionmask from app.components.map import MapComponent from app.utils import add_nonland, EvolutionHandler @@ -12,20 +13,75 @@ def __init__(self, app_df: pd.DataFrame, handler: EvolutionHandler): self.map_component = MapComponent(app_df) self.app_df = app_df self.handler = EvolutionHandler() + self.countries_df = regionmask.defined_regions.natural_earth_v5_0_0.countries_110.to_dataframe() + + def create_label_and_value(self, label: str, value: html.Div) -> html.Div: + div = html.Div( + className="d-flex flex-row", + children=[ + html.Label(label, className="w-25"), + html.Div( + value, + className="flex-grow-1" + ) + ] + ) + return div def get_div(self): div = html.Div( - className="w-50 vh-50", + className="mb-5 mx-5", children=[ + html.H2("Land Use Optimization", className="text-center w-100 mb-5 mt-5"), dbc.Row( children=[ dbc.Col( - dcc.Graph(id="map", figure=self.map_component.get_map_fig()) + width={"offset": 3, "size": 3}, + children=[ + dcc.Graph(id="map", figure=self.map_component.get_map_fig()), + dcc.Dropdown( + id="loc-dropdown", + options=list(self.map_component.countries_df["names"]), + value=list(self.map_component.countries_df["names"])[143] + ) + ] ), dbc.Col( + width=3, children=[ - self.map_component.get_context_div(), - dbc.Button("Prescribe", id="presc-button") + html.B("1. Select a land area on the map to optimize or manually enter coordinates."), + self.create_label_and_value( + "Latitude", + dcc.Dropdown( + id="lat-dropdown", + options=[{"label": lat, + "value": lat} for lat in self.map_component.lat_list], + value=51.625, + ) + ), + self.create_label_and_value( + "Longitude", + dcc.Dropdown( + id="lon-dropdown", + options=[{"label": lon, + "value": lon} for lon in self.map_component.lon_list], + value=-3.375, + ) + ), + self.create_label_and_value( + "Year", + html.Div([ + dcc.Input( + id="year-input", + type="number", + value=2021, + debounce=True + ), + dcc.Tooltip(f"Year must be between \ + {self.map_component.min_time} and \ + {self.map_component.max_time}.") + ]) + ) ] ) ] @@ -41,18 +97,15 @@ def register_callbacks(self, app): @app.callback( Output("results-store", "data"), - Input("presc-button", "n_clicks"), - State("year-input", "value"), - State("lat-dropdown", "value"), - State("lon-dropdown", "value"), - prevent_initial_call=True + Input("year-input", "value"), + Input("lat-dropdown", "value"), + Input("lon-dropdown", "value") ) - def run_prescription(n_clicks: int, year: int, lat: float, lon: float) -> dict[str: list]: - if n_clicks is not None and n_clicks >= 1: - condition = (self.app_df["time"] == year) & (self.app_df["lat"] == lat) & (self.app_df["lon"] == lon) - context_df = self.app_df[condition] - context_df = context_df[constants.CAO_MAPPING["context"]].iloc[0:1] - results_df = self.handler.prescribe_all(context_df) - results_json = results_df.to_dict(orient="records") - print(f"Updating store with {len(results_df)} prescriptions.") - return results_json + def run_prescription(year: int, lat: float, lon: float) -> dict[str: list]: + condition = (self.app_df["time"] == year) & (self.app_df["lat"] == lat) & (self.app_df["lon"] == lon) + context_df = self.app_df[condition] + context_df = context_df[constants.CAO_MAPPING["context"]].iloc[0:1] + results_df = self.handler.prescribe_all(context_df) + results_json = results_df.to_dict(orient="records") + print(f"Updating store with {len(results_df)} prescriptions.") + return results_json diff --git a/use_cases/eluc/app/newcomponents/dms.py b/use_cases/eluc/app/newcomponents/dms.py index fa412b1..6f85811 100644 --- a/use_cases/eluc/app/newcomponents/dms.py +++ b/use_cases/eluc/app/newcomponents/dms.py @@ -1,4 +1,6 @@ +from dash import html, dcc, Output, State, Input, ALL +import dash_bootstrap_components as dbc import pandas as pd @@ -6,10 +8,191 @@ from app.components.lock import LockComponent from app.components.prediction import PredictionComponent from app.components.sliders import SlidersComponent +from app.utils import EvolutionHandler +from data import constants class DMSComponent(): - def __init__(self, app_df: pd.DataFrame): + def __init__(self, app_df: pd.DataFrame, handler: EvolutionHandler): self.chart_component = ChartComponent(app_df) self.lock_component = LockComponent() self.prediction_component = PredictionComponent(app_df) - self.sliders_component = SlidersComponent(app_df) \ No newline at end of file + self.sliders_component = SlidersComponent(app_df) + + self.app_df = app_df + self.handler = handler + + def create_default_diff_sliders(self) -> list: + """ + Takes a context actions df and returns a list of sliders with the values set to the DIFF_RECO_COLS. + """ + sliders = [] + for col in constants.RECO_COLS: + sliders.append( + dcc.Slider( + id={"type": "diff-slider", "index": f"{col}"}, + min=-1, + max=1, + value=0, + tooltip={ + "placement": "bottom", + "always_visible": True, + "transform": "percentSlider", # See assets/tooltip.js + "template": "{value}%" + }, + marks=[0], + ) + ) + div = html.Div( + children=[ + dbc.Row([ + dbc.Col(html.Label(diff_col)), + dbc.Col(slider) + ]) + for diff_col, slider in zip(constants.DIFF_RECO_COLS, sliders) + ] + ) + return div + + def get_div(self): + return html.Div( + className="mx-5 mb-5", + children=[ + dbc.Row( + children=[ + dbc.Col( + children=[ + html.B("3. Select a policy to see the prescribed actions and play around with them."), + dcc.Dropdown( + id="presc-dropdown", + options=[], + placeholder="Select a candidate", + className="mb-3" + ), + self.create_default_diff_sliders(), + html.Div([ + html.Label("Allocated Land"), + dbc.Progress( + id="pbar", + children=[ + dbc.Progress(value=100, color="success", min=0, max=600) + ] + ) + ], className="w-100 mt-3 mb-3"), + html.Div([ + dbc.Button("Apply Policy", id="update-button"), + dbc.Alert("Make sure exactly 100% of land is being used before updating!", + id="alert", color="warning", dismissable=True, is_open=False), + ], className="mb-3 d-flex flex-row"), + dbc.Button( + id="eluc", + children="Predicted ELUC: 00.00", + color="warning", + active=True, + outline=True + ), + dbc.Button( + id="change", + children="Land Changed: 0.00%", + color="warning", + active=True, + outline=True + ) + ] + ), + dbc.Col( + dcc.Graph(id="context-fig") + ), + dbc.Col( + dcc.Graph(id="presc-fig") + ) + ] + ) + ] + ) + + def context_presc_to_df(self, context: pd.Series, actions: pd.Series) -> pd.DataFrame: + """ + Takes a context with all columns and a presc with RECO_COLS and returns an updated context actions df. + This df takes the difference between the RECO_COLS in presc and context and sets the DIFF_RECO_COLS to that. + """ + context_actions = actions.combine_first(context[constants.CAO_MAPPING["context"]]) + context_actions_df = pd.DataFrame([context_actions]) + context_actions_df[constants.NO_CHANGE_COLS] = 0 # TODO: I'm not entirely sure why this line is necessary + return context_actions_df + + def register_callbacks(self, app): + self.sliders_component.register_set_frozen_reset_sliders_callback(app) + self.sliders_component.register_sum_to_one_callback(app) + + self.chart_component.register_update_context_chart_callback(app) + self.chart_component.register_update_presc_chart_callback(app) + + @app.callback( + Output({"type": "diff-slider", "index": ALL}, "value", allow_duplicate=True), + Output({"type": "diff-slider", "index": ALL}, "min"), + State("results-store", "data"), + Input("presc-dropdown", "value"), + prevent_initial_call=True + ) + def update_presc_sliders(results_json: dict[str: list], cand_id: str) -> list: + results_df = pd.DataFrame(results_json) + selected = results_df[results_df["cand_id"] == cand_id] + slider_vals = selected[constants.DIFF_RECO_COLS].iloc[0].tolist() + min_vals = selected[constants.RECO_COLS].iloc[0].tolist() + min_vals = [-1 * min_val for min_val in min_vals] + return slider_vals, min_vals + + @app.callback( + Output("pbar", "children"), + [Input({"type": "diff-slider", "index": ALL}, "value")] + ) + def update_pbar(sliders) -> int: + total = 1 + sum(sliders) + # TODO: This is a bit of a hack due to rounding errors. + if total < 1.01 and total > 0.99: + total = 1 + if total < 1: + return dbc.Progress(value=total*100, label=f"{int(total*100)}%", max=600, color="warning", bar=True) + elif total == 1: + return dbc.Progress(value=100, label=f"{int(total*100)}%", max=600, color="success", bar=True) + else: + return [ + dbc.Progress(value=100, label=f"100%", max=600, color="success", bar=True), + dbc.Progress(value=(total-1)*100, label=f"{int((total-1)*100)}%", max=600, color="danger", bar=True) + ] + + @app.callback( + Output("eluc", "children"), + Output("eluc", "color"), + Output("change", "children"), + Output("change", "color"), + Input("update-button", "n_clicks"), + State("year-input", "value"), + State("lat-dropdown", "value"), + State("lon-dropdown", "value"), + [State({"type": "diff-slider", "index": ALL}, "value")], + prevent_initial_call=True + ) + def update_policy(n_clicks: int, year: int, lat: float, lon: float, sliders: list[float]) -> list: + context = self.app_df.loc[year, lat, lon] + actions = pd.Series(sliders, index=constants.DIFF_RECO_COLS) + context_actions_df = self.context_presc_to_df(context, actions) + outcomes_df = self.handler.predict_metrics(context_actions_df) + eluc = outcomes_df["ELUC"].iloc[0] + change = outcomes_df["change"].iloc[0] + + if eluc < 0: + eluc_color = "success" + elif eluc > 0: + eluc_color = "danger" + else: + eluc_color = "warning" + + if change < 0.2: + change_color = "success" + elif change > 0.5: + change_color = "danger" + else: + change_color = "warning" + + return f"Predicted ELUC: {eluc:.2f}", eluc_color, f"Land Changed: {(change*100):.2f}%", change_color diff --git a/use_cases/eluc/app/newcomponents/filter.py b/use_cases/eluc/app/newcomponents/filter.py index d84885a..9b93b93 100644 --- a/use_cases/eluc/app/newcomponents/filter.py +++ b/use_cases/eluc/app/newcomponents/filter.py @@ -1,5 +1,6 @@ -from dash import html, dcc, Input, Output, State +from dash import html, dcc, Input, Output, State, ALL, ctx +import dash_bootstrap_components as dbc import pandas as pd import plotly.express as px import plotly.graph_objects as go @@ -11,7 +12,6 @@ class FilterComponent: def __init__(self, handler: EvolutionHandler): self.handler = handler - self.slider_ids = [f"{outcome}-slider" for outcome in constants.CAO_MAPPING["outcomes"]] self.slider_params = ["min", "max", "value", "marks"] def plot_prescriptions(self, results_df: pd.DataFrame, cand_ids: list[str]) -> go.Figure: @@ -41,7 +41,15 @@ def plot_prescriptions(self, results_df: pd.DataFrame, cand_ids: list[str]) -> g fig.add_trace(go.Bar(x=x, y=y, name=col, marker_color=color_list)) - fig.update_layout(barmode="stack") + fig.update_layout( + barmode="stack", + title={ + "text": "Filtered Prescriptions", + "x": 0.5, + "xanchor": "center" + }, + margin={"l": 10, "r": 10, "t": 30, "b": 10}, + ) return fig @@ -53,9 +61,8 @@ def create_outcome_sliders(self): """ sliders = [] for outcome in constants.CAO_MAPPING["outcomes"]: - col_id = outcome.replace(" ", "-").replace(".", "_") slider = dcc.RangeSlider( - id=f"{col_id}-slider", + id={"type": "filter-slider", "index": outcome}, min=0, max=1, value=[0, 1], @@ -70,29 +77,64 @@ def create_outcome_sliders(self): div = html.Div( children=[ html.Div( - className="d-flex flex-row mb-2", + className="d-flex flex-row w-100", children=[ html.Label(outcome, className="w-25"), html.Div(slider, className="flex-grow-1") ] - ) - for outcome, slider in zip(constants.CAO_MAPPING["outcomes"], sliders) + ) for outcome, slider in zip(constants.CAO_MAPPING["outcomes"], sliders) ] ) return div def get_div(self): return html.Div( - className="w-100 vh-50", + className="mb-5 mx-5", children=[ dcc.Loading( type="circle", children=[ + dbc.Row( + className="mb-3", + children=[ + dbc.Col( + children=[ + html.B("2. Filter by what outcomes you want"), + html.Div( + className="d-flex flex-row", + children=[ + dbc.Button( + "Low ELUC", + id={"type": "preset-button", "index": "low-eluc"}, + color="success", + className="me-1" + ), + dbc.Button( + "Medium", + id={"type": "preset-button", "index": "medium"}, + color="warning", + className="me-1" + ), + dbc.Button( + "Low Change", + id={"type": "preset-button", "index": "low-change"}, + color="danger", + className="me-1" + ) + ] + ) + ], + width={"offset": 3, "size": 3} + ), + dbc.Col([ + self.create_outcome_sliders(), + ], width=4) + ] + ), dcc.Store(id="results-store"), dcc.Graph( id="prescriptions" - ), - self.create_outcome_sliders() + ) ] ) ] @@ -100,37 +142,60 @@ def get_div(self): def register_callbacks(self, app): @app.callback( - [Output(slider_id, param) for slider_id in self.slider_ids for param in self.slider_params], + [Output({"type": "filter-slider", "index": ALL}, param, allow_duplicate=True) for param in self.slider_params], Input("results-store", "data"), - prevent_initial_call=True ) def update_filter_sliders(results_json: dict[str: list]) -> list: results_df = pd.DataFrame(results_json) - total_output = [] + outputs = [[] for _ in range(len(self.slider_params))] for outcome in constants.CAO_MAPPING["outcomes"]: - metric_output = [] min_val = results_df[outcome].min() max_val = results_df[outcome].max() # We need to round down for the min value and round up for the max value val_range = max_val - min_val min_val_rounded = min_val - val_range / 100 max_val_rounded = max_val + val_range / 100 - metric_output = [ - min_val_rounded, - max_val_rounded, - [min_val_rounded, max_val_rounded], - {min_val_rounded: f"{min_val_rounded:.2f}", max_val_rounded: f"{max_val_rounded:.2f}"} - ] - total_output.extend(metric_output) - return total_output + outputs[0].append(min_val_rounded) + outputs[1].append(max_val_rounded) + outputs[2].append([min_val_rounded, max_val_rounded]) + outputs[3].append({min_val_rounded: f"{min_val_rounded:.2f}", + max_val_rounded: f"{max_val_rounded:.2f}"}) + return outputs + + @app.callback( + Output({"type": "filter-slider", "index": ALL}, "value", allow_duplicate=True), + Input({"type": "preset-button", "index": ALL}, "n_clicks"), + State("results-store", "data"), + prevent_inital_call=True + ) + def select_preset(n_clicks, results_json): + results_df = pd.DataFrame(results_json) + + elucs = results_df["ELUC"] + low_eluc = elucs.min() + (elucs.max() - elucs.min()) / 3 + high_eluc = elucs.max() - (elucs.max() - elucs.min()) / 3 + + changes = results_df["change"] + low_change = changes.min() + (changes.max() - changes.min()) / 3 + high_change = changes.max() - (changes.max() - changes.min()) / 3 + + trigger_idx = ctx.triggered_id["index"] + if trigger_idx == "low-eluc": + return [[elucs.min(), low_eluc], [changes.min(), changes.max()]] + + elif trigger_idx == "medium": + return [[low_eluc, high_eluc], [low_change, high_change]] + + else: + return [[elucs.min(), elucs.max()], [changes.min(), low_change]] @app.callback( Output("prescriptions", "figure"), + Output("presc-dropdown", "options"), State("results-store", "data"), - [Input(slider_id, "value") for slider_id in self.slider_ids], - prevent_initial_call=True + Input({"type": "filter-slider", "index": ALL}, "value") ) - def update_prescriptions(results_json: dict[str: list], *slider_ranges) -> go.Figure: + def update_prescriptions(results_json: dict[str: list], slider_ranges) -> go.Figure: results_df = pd.DataFrame(results_json) if results_df.empty: return go.Figure() @@ -140,4 +205,4 @@ def update_prescriptions(results_json: dict[str: list], *slider_ranges) -> go.Fi total_condition &= condition cand_idxs = results_df[total_condition]["cand_id"].tolist() print(f"Filtered to {len(cand_idxs)} candidates") - return self.plot_prescriptions(results_df, cand_idxs) + return self.plot_prescriptions(results_df, cand_idxs), cand_idxs diff --git a/use_cases/eluc/app/newcomponents/intro.py b/use_cases/eluc/app/newcomponents/intro.py new file mode 100644 index 0000000..6ae2255 --- /dev/null +++ b/use_cases/eluc/app/newcomponents/intro.py @@ -0,0 +1,67 @@ +""" +Component showing the little intro blurb and the arrow to get started. +""" +from dash import html +import dash_bootstrap_components as dbc + + +class IntroComponent(): + """ + Title card component + """ + def get_div(self): + """ + Creates the intro title card describing the project. + """ + div = html.Div( + children=[ + dbc.Row( + html.H1("Land-Use Planning", + className="display-4 w-50 mx-auto text-center mb-3") + ), + dbc.Row( + html.P( + [ + "Immediate action is required to combat climate change. The technology behind ", + html.A( + "Cognizant NeuroAI", + href="https://www.cognizant.com/us/en/services/ai/ai-lab", + style={"color": "black"} + ), + " brings automatic decision-making to the ", + html.A( + "En-ROADS platform", + href="https://www.climateinteractive.org/en-roads/", + style={"color": "black"} + ), + ", a powerful climate change simulator. A decision-maker can be ready for any \ + scenario: choosing an automatically generated policy that suits their needs best, with the \ + ability to manually modify the policy and see its results. This tool is brought together \ + under ", + html.A( + "Project Resilience", + href="https://www.itu.int/en/ITU-T/extcoop/ai-data-commons/\ + Pages/project-resilience.aspx", + style={"color": "black"} + ), + ", a United Nations initiative to use AI for good." + ], + className="lead w-50 mx-auto text-center" + ) + ), + dbc.Row( + style={"height": "60vh"} + ), + dbc.Row( + html.P("Get Started:", className="w-50 text-center mx-auto text-white h4") + ), + dbc.Row( + html.I(className="bi bi-arrow-up w-50 text-center mx-auto text-white h1") + ), + dbc.Row( + style={"height": "5vh"} + ) + ] + ) + + return div diff --git a/use_cases/eluc/app/requirements.txt b/use_cases/eluc/app/requirements.txt index 3e0e2e9..d9787a0 100644 --- a/use_cases/eluc/app/requirements.txt +++ b/use_cases/eluc/app/requirements.txt @@ -1,4 +1,4 @@ -dash==2.10.2 +dash==2.15 dash_bootstrap_components==1.4.1 gunicorn==21.2.0 huggingface_hub==0.16.4 diff --git a/use_cases/eluc/app/utils.py b/use_cases/eluc/app/utils.py index ce77df5..0085499 100644 --- a/use_cases/eluc/app/utils.py +++ b/use_cases/eluc/app/utils.py @@ -43,7 +43,7 @@ def sort_cand_id(cand_id: str): # Load prescriptors self.prescriptor_manager = self.load_prescriptors() - def load_prescriptors(self) -> tuple[list[str], PrescriptorManager]: + def load_prescriptors(self) -> PrescriptorManager: """ Loads in prescriptors from disk, downloads from HuggingFace first if needed. TODO: Currently hard-coded to load specific prescriptors from pareto path. @@ -70,8 +70,6 @@ def load_prescriptors(self) -> tuple[list[str], PrescriptorManager]: prescriptor_manager = PrescriptorManager(prescriptors, predictors) return prescriptor_manager - - def prescribe_all(self, context_df: pd.DataFrame): """ @@ -109,3 +107,9 @@ def context_actions_to_recos(self, context_actions_df: pd.DataFrame): reco_df["cand_id"] = context_actions_df["cand_id"] return reco_df + + def predict_metrics(self, context_actions_df: pd.DataFrame): + """ + Predicts metrics from context actions + """ + return self.prescriptor_manager.predict_metrics(context_actions_df) From dcffdc4fcc59e97661e2a9f5025844d894ef891a Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Thu, 26 Sep 2024 15:00:58 -0700 Subject: [PATCH 03/17] Added intro and purged some unnecessary stuff --- use_cases/eluc/app/app.py | 230 +++--------------- use_cases/eluc/app/components/legend.py | 46 ---- use_cases/eluc/app/components/lock.py | 35 --- use_cases/eluc/app/components/prediction.py | 183 -------------- use_cases/eluc/app/components/prescription.py | 179 -------------- use_cases/eluc/app/components/sliders.py | 142 ----------- use_cases/eluc/app/newapp.py | 42 ---- use_cases/eluc/app/newcomponents/context.py | 1 - use_cases/eluc/app/newcomponents/intro.py | 57 +---- 9 files changed, 38 insertions(+), 877 deletions(-) delete mode 100644 use_cases/eluc/app/components/legend.py delete mode 100644 use_cases/eluc/app/components/lock.py delete mode 100644 use_cases/eluc/app/components/prediction.py delete mode 100644 use_cases/eluc/app/components/prescription.py delete mode 100644 use_cases/eluc/app/components/sliders.py delete mode 100644 use_cases/eluc/app/newapp.py diff --git a/use_cases/eluc/app/app.py b/use_cases/eluc/app/app.py index f1d5173..ee5952d 100644 --- a/use_cases/eluc/app/app.py +++ b/use_cases/eluc/app/app.py @@ -1,219 +1,45 @@ -""" -Main app file for ELUC demo. -Uses many 'components' to separate divs and their related callbacks. -They aren't necessarily truly reusable components, but they help to organize the code. -""" -import pandas as pd -from dash import Dash -from dash import dcc -from dash import html +from dash import Dash, html import dash_bootstrap_components as dbc +import pandas as pd import app.constants as app_constants -from app.components.chart import ChartComponent -from app.components.legend import LegendComponent -from app.components.lock import LockComponent -from app.components.map import MapComponent -from app.components.prediction import PredictionComponent -from app.components.prescription import PrescriptionComponent +from app.newcomponents.intro import IntroComponent +from app.newcomponents.context import ContextComponent +from app.newcomponents.filter import FilterComponent +from app.newcomponents.dms import DMSComponent from app.components.references import ReferencesComponent -from app.components.sliders import SlidersComponent -from app.components.trivia import TriviaComponent +from app.utils import EvolutionHandler + app = Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP, dbc.icons.BOOTSTRAP], prevent_initial_callbacks="initial_duplicate") server = app.server -df = pd.read_csv(app_constants.DATA_FILE_PATH, index_col=app_constants.INDEX_COLS) - -legend_component = LegendComponent() - -map_component = MapComponent(df) -map_component.register_update_map_callback(app) -map_component.register_click_map_callback(app) -map_component.register_select_country_callback(app) - -prescription_component = PrescriptionComponent(df) -prescription_component.register_select_prescriptor_callback(app) -prescription_component.register_toggle_modal_callback(app) - -sliders_component = SlidersComponent(df) -sliders_component.register_set_frozen_reset_sliders_callback(app) -sliders_component.register_show_slider_value_callback(app) -sliders_component.register_sum_to_one_callback(app) - -lock_component = LockComponent() - -chart_component = ChartComponent(df) -chart_component.register_update_context_chart_callback(app) -chart_component.register_update_presc_chart_callback(app) - -prediction_component = PredictionComponent(df) -prediction_component.register_predictor_callback(app) -prediction_component.register_land_use_callback(app) +app.title = 'Land Use Optimization' -trivia_component = TriviaComponent(df) -trivia_component.register_update_trivia_callback(app) +app_df = pd.read_csv(app_constants.DATA_FILE_PATH, index_col=app_constants.INDEX_COLS) +evolution_handler = EvolutionHandler() +intro_component = IntroComponent() +context_component = ContextComponent(app_df, evolution_handler) +filter_component = FilterComponent(evolution_handler) +dms_component = DMSComponent(app_df, evolution_handler) references_component = ReferencesComponent() -app.title = 'Land Use Optimization' -app.css.config.serve_locally = False -# Don't be afraid of the 3rd party URLs: chriddyp is the author of Dash! -# These two allow us to dim the screen while loading. -# See discussion with Dash devs here: https://community.plotly.com/t/dash-loading-states/5687 -app.css.append_css({'external_url': 'https://codepen.io/chriddyp/pen/bWLwgP.css'}) -app.css.append_css({'external_url': 'https://codepen.io/chriddyp/pen/brPBPO.css'}) - -app.layout = html.Div([ -# dcc.Markdown(''' -# # Land Use Optimization -# This site is for demonstration purposes only. - -# For a given context cell representing a portion of the earth, -# identified by its latitude and longitude coordinates, and a given year: -# * What changes can we make to the land usage -# * In order to minimize the resulting estimated CO2 emissions? (Emissions from Land Use Change, ELUC, -# in tons of carbon per hectare) +context_component.register_callbacks(app) +filter_component.register_callbacks(app) +dms_component.register_callbacks(app) -# '''), -# dcc.Markdown('''## Context'''), -# html.Div([ -# dcc.Graph(id="map", figure=map_component.get_map_fig(), style={"grid-column": "1"}), -# html.Div([map_component.get_context_div()], style={"grid-column": "2"}), -# html.Div([legend_component.get_legend_div()], style={"grid-column": "3"}) -# ], style={"display": "grid", "grid-template-columns": "auto 1fr auto", 'position': 'relative'}), - html.Div( - children=[ - dbc.Row( - html.H2("Land Use Optimization", className="display-4 w-50 mx-auto text-center mb-3") - ), - dbc.Row( - html.P("This site is for demonstration purposes only. For a given context cell representing a portion \ - of the earth, identified by its latitude and longitude coordinates, and a given year: \ - what changes can we make to the land usage in order to minimize the resulting estimated CO2 \ - emissions? (Emissions from Land Use Change, ELUC, in tonnes of carbon per hectare)", - className="lead w-50 mx-auto text-center") - ), - dbc.Row( - style={"height": "80vh"} - ), - dbc.Row( - html.P("Get Started:", className="w-50 text-center mx-auto text-white h4") - ), - dbc.Row( - html.I(className="bi bi-arrow-up w-50 text-center mx-auto text-white h1") - ), - dbc.Row( - style={"height": "5vh"} - ) - ] - ), - html.Div( - className="p-3 bg-white rounded-5 mx-auto w-75 mb-3", - children=[ - dbc.Container( - fluid=True, - className="py-3 d-flex flex-column h-100 align-items-center", - children=[ - html.H2("Context", className="text-center mb-5"), - dbc.Row( - className="w-100", - children=[ - dbc.Row( - children=[ - dbc.Col(dcc.Graph(id="map", figure=map_component.get_map_fig())), - dbc.Col(map_component.get_context_div()) - ] - ) - ] - ) - ] - ) - ] - ), - html.Div( - className="p-3 bg-white rounded-5 mx-auto w-75 mb-3", - children=[ - dbc.Container( - fluid=True, - className="py-3 d-flex flex-column h-100 align-items-center", - children=[ - html.H2("Actions", className="text-center mb-5"), - dbc.Row( - className="w-100", - children=[ - dbc.Row( - children=[ - dbc.Col(prescription_component.get_presc_select_div()), - dbc.Col(chart_component.get_chart_select_div()) - ] - ) - ] - ), - dbc.Row( - className="w-100", - children=[ - dbc.Col(lock_component.get_checklist_div(), className="h-100"), - dbc.Col(sliders_component.get_sliders_div(), className="h-100"), - dbc.Col(dcc.Graph(id='context-fig', figure=chart_component.create_treemap(type_context=True))), - dbc.Col(dcc.Graph(id='presc-fig', figure=chart_component.create_treemap(type_context=False))) - ] - ), - dbc.Row( - children=[ - dbc.Col( - sliders_component.get_frozen_div(), - width=6 - ) - ] - ), - dbc.Row( - className="w-100", - children=[ - dbc.Col( - children=[ - html.Button("Sum to 100%", id='sum-button', n_clicks=0), - html.Div(id='sum-warning') - ], - width=6 - ) - ] - ) - ] - ) - ] - ), - # dcc.Markdown('''## Actions'''), - # html.Div([ - # html.Div([prescription_component.get_presc_select_div()], style={"grid-column": "1"}), - # html.Div([chart_component.get_chart_select_div()], - # style={"grid-column": "2", "margin-top": "-10px", "margin-left": "10px"}), - # ], style={"display": "grid", "grid-template-columns": "45% 15%"}), - # html.Div([ - # html.Div(lock_component.get_checklist_div(), style={"grid-column": "1", "height": "100%"}), - # html.Div(sliders_component.get_sliders_div(), style={'grid-column': '2'}), - # dcc.Graph(id='context-fig', - # figure=chart_component.create_treemap(type_context=True), - # style={'grid-column': '3'}), - # dcc.Graph(id='presc-fig', - # figure=chart_component.create_treemap(type_context=False), - # style={'grid-clumn': '4'}) - # ], style={'display': 'grid', 'grid-template-columns': '4.5% 40% 1fr 1fr', "width": "100%"}), - # # The above line can't be set to auto because the lines will overflow! - # html.Div([ - # sliders_component.get_frozen_div(), - # html.Button("Sum to 100%", id='sum-button', n_clicks=0), - # html.Div(id='sum-warning') - # ]), - dcc.Markdown('''## Outcomes'''), - prediction_component.get_predict_div(), - dcc.Markdown('''## Trivia'''), - trivia_component.get_trivia_div(), - dcc.Markdown('''## References'''), - references_component.get_references_div() -], style={'padding-left': '10px'},) +app.layout = html.Div( + children=[ + intro_component.get_div(), + context_component.get_div(), + filter_component.get_div(), + dms_component.get_div(), + references_component.get_references_div() + ] +) if __name__ == '__main__': - app.run_server(host='0.0.0.0', debug=False, port=4057, use_reloader=True, threaded=False) + app.run_server(host='0.0.0.0', debug=False, port=4057, use_reloader=True, threaded=True) diff --git a/use_cases/eluc/app/components/legend.py b/use_cases/eluc/app/components/legend.py deleted file mode 100644 index 4fb15aa..0000000 --- a/use_cases/eluc/app/components/legend.py +++ /dev/null @@ -1,46 +0,0 @@ -""" -Simple component that returns a div with a markdown text that explains the land use types. -""" -from dash import dcc -from dash import html - - -# pylint: disable=too-few-public-methods -class LegendComponent: - """ - Component with just a div that explains the land use types. - """ - def get_legend_div(self): - """ - Div explaining different land use types. Crop is now just one category. - """ - # Legend examples come from https://hess.copernicus.org/preprints/hess-2021-247/hess-2021-247-ATC3.pdf - legend_div = html.Div( - style={"margin-bottom": "100px"}, # Because we removed some crops, we extend this so the map doesn't shrink - children=[ - dcc.Markdown(''' - ### Land Use Types - - Primary: Vegetation that is untouched by humans - - - primf: Primary forest - - primn: Primary nonforest vegetation - - - Secondary: Vegetation that has been touched by humans - - - secdf: Secondary forest - - secdn: Secondary nonforest vegetation - - Urban - - Crop - - Pasture - - - pastr: Managed pasture land - - range: Natural grassland/savannah/desert/etc. - ''') - ] - ) - return legend_div diff --git a/use_cases/eluc/app/components/lock.py b/use_cases/eluc/app/components/lock.py deleted file mode 100644 index 502b2db..0000000 --- a/use_cases/eluc/app/components/lock.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -File in charge of the lock component next to the sliders. -""" -from dash import dcc -from dash import html - -from data import constants - - -class LockComponent: - """ - Component that creates lock div based on reco columns. - """ - def create_check_options(self, values: list) -> list: - """ - Creates dash HTML options for checklist based on values. - :param values: List of values to create options for. - :return: List of dash HTML options. - """ - options = [] - for val in values: - options.append( - {"label": [html.I(className="bi bi-lock"), html.Span(val)], - "value": val}) - return options - - def get_checklist_div(self): - """ - Creates check options based off reco cols then creates checklist div of locks. - """ - check_options = self.create_check_options(constants.RECO_COLS) - checklist_div = html.Div([ - dcc.Checklist(check_options, id="locks", inputStyle={"margin-bottom": "25px"}) - ]) - return checklist_div diff --git a/use_cases/eluc/app/components/prediction.py b/use_cases/eluc/app/components/prediction.py deleted file mode 100644 index 7a58177..0000000 --- a/use_cases/eluc/app/components/prediction.py +++ /dev/null @@ -1,183 +0,0 @@ -""" -Prediction component for ELUC predictor selection and predict button. -""" -from math import isclose - -from dash import Input, State, Output, ALL -from dash import dcc -from dash import html -import pandas as pd - -from prsdk.persistence.persistors.hf_persistor import HuggingFacePersistor -from prsdk.persistence.serializers.neural_network_serializer import NeuralNetSerializer -from prsdk.persistence.serializers.sklearn_serializer import SKLearnSerializer -from prsdk.predictors.predictor import Predictor - -from app import constants as app_constants -from data import constants -from predictors.percent_change.percent_change_predictor import PercentChangePredictor - - -class PredictionComponent: - """ - Component in charge of handling predictor selection and predict button callback. - """ - def __init__(self, df): - self.df = df - self.predictors = self.load_predictors() - self.change_predictor = PercentChangePredictor() - - def load_predictors(self) -> dict[str, Predictor]: - """ - Loads in predictors from disk, downloads from HuggingFace first if needed. - TODO: Currently hard-coded to load specific predictors. We need to make this able to handle any amount! - :return: dict of predictor name -> predictor object. - """ - nn_persistor = HuggingFacePersistor(NeuralNetSerializer()) - sklearn_persistor = HuggingFacePersistor(SKLearnSerializer()) - predictors = {} - nn_path = "danyoung/eluc-global-nn" - nn_local_dir = app_constants.PREDICTOR_PATH / nn_path.replace("/", "--") - linreg_path = "danyoung/eluc-global-linreg" - linreg_local_dir = app_constants.PREDICTOR_PATH / linreg_path.replace("/", "--") - rf_path = "danyoung/eluc-global-rf" - rf_local_dir = app_constants.PREDICTOR_PATH / rf_path.replace("/", "--") - global_nn = nn_persistor.from_pretrained(nn_path, - local_dir=nn_local_dir) - global_linreg = sklearn_persistor.from_pretrained(linreg_path, - local_dir=linreg_local_dir) - global_rf = sklearn_persistor.from_pretrained(rf_path, - local_dir=rf_local_dir) - - predictors["Global Neural Network"] = global_nn - predictors["Global Linear Regression"] = global_linreg - predictors["Global Random Forest"] = global_rf - - return predictors - - def get_predict_div(self): - """ - HTML div for the predictor selector and predict button showing outcomes. - """ - predict_div = html.Div([ - dcc.Dropdown(list((self.predictors.keys())), - list(self.predictors.keys())[0], - id="pred-select", - style={"width": "200px"}), - html.Button("Predict", id='predict-button', n_clicks=0,), - html.Label("Predicted ELUC:", style={'padding-left': '10px'}), - dcc.Input( - value="", - type="text", - disabled=True, - id="predict-eluc", - ), - html.Label("tC/ha", style={'padding-left': '2px'}), - html.Label("Land Change:", style={'padding-left': '10px'}), - dcc.Input( - value="", - type="text", - disabled=True, - id="predict-change", - ), - html.Label("%", style={'padding-left': '2px'}), - ], style={"display": "flex", "flex-direction": "row", "width": "90%", "align-items": "center"}) - return predict_div - - def register_predictor_callback(self, app): - """ - Registers predict button callback to predict ELUC from context df and prescription sliders - """ - @app.callback( - Output("predict-eluc", "value"), - Input("predict-button", "n_clicks"), - State("year-input", "value"), - State("lat-dropdown", "value"), - State("lon-dropdown", "value"), - State({"type": "presc-slider", "index": ALL}, "value"), - State("pred-select", "value"), - prevent_initial_call=True - ) - def predict(_, year, lat, lon, sliders, predictor_name): - """ - Predicts ELUC from context and prescription stores. - :param year: Selected context year. - :param lat: Selected context lat. - :param lon: Selected context lon. - :param sliders: Prescribed slider values. - :param predictor_name: String name of predictor to use from dropdown. - :return: Predicted ELUC. - """ - context = self.df.loc[year, lat, lon] - presc = pd.Series(sliders, index=constants.RECO_COLS) - context_actions_df = self.context_presc_to_df(context, presc) - - predictor = self.predictors[predictor_name] - eluc_df = predictor.predict(context_actions_df) - eluc = eluc_df["ELUC"].iloc[0] - return f"{eluc:.4f}" - - def register_land_use_callback(self, app): - """ - Registers callback that automatically updates the percent land changed when sliders are changed. - """ - @app.callback( - Output("sum-warning", "children"), - Output("predict-change", "value"), - Input({"type": "presc-slider", "index": ALL}, "value"), - State("year-input", "value"), - State("lat-dropdown", "value"), - State("lon-dropdown", "value"), - State("locks", "value"), - prevent_initial_call=True - ) - def compute_land_change(sliders, year, lat, lon, locked): - """ - Computes land change percent for output. - Warns user if values don't sum to 1. - :param sliders: Slider values to store. - :param year: Selected context year. - :param lat: Selected context lat. - :param lon: Selected context lon. - :param locked: Locked columns to check for warning. - :return: Warning if necessary, land change percent. - """ - context = self.df.loc[year, lat, lon] - presc = pd.Series(sliders, index=constants.RECO_COLS) - context_actions_df = self.context_presc_to_df(context, presc) - - warnings = [] - # Check if prescriptions sum to 1 - # TODO: Are we being precise enough? - new_sum = presc.sum() - old_sum = context[constants.RECO_COLS].sum() - if not isclose(new_sum, old_sum, rel_tol=1e-7): - warnings.append(html.P(f"WARNING: Please make sure prescriptions sum to: {str(old_sum * 100)} \ - instead of {str(new_sum * 100)} by clicking \"Sum to 100\"")) - - # Check if sum of locked prescriptions are > sum(land use) - # TODO: take a look at this logic. - if locked and presc[locked].sum() > old_sum: - warnings.append(html.P("WARNING: Sum of locked prescriptions is greater than sum of land use. \ - Please reduce one before proceeding")) - - # Check if any prescriptions below 0 - if (presc < 0).any(): - warnings.append(html.P("WARNING: Negative values detected. Please lower the value of a locked slider.")) - - # Compute total change - change = self.change_predictor.predict(context_actions_df) - - return warnings, f"{change['change'].iloc[0] * 100:.2f}" - - def context_presc_to_df(self, context: pd.Series, presc: pd.Series) -> pd.DataFrame: - """ - Takes a context with all columns and a presc with RECO_COLS and returns an updated context actions df. - This df takes the difference between the RECO_COLS in presc and context and sets the DIFF_RECO_COLS to that. - """ - diff = presc - context[constants.RECO_COLS] - diff = diff.rename({col: f"{col}_diff" for col in diff.index}) - context_actions = diff.combine_first(context[constants.CAO_MAPPING["context"]]) - context_actions_df = pd.DataFrame([context_actions]) - context_actions_df[constants.NO_CHANGE_COLS] = 0 # TODO: I'm not entirely sure why this line is necessary - return context_actions_df diff --git a/use_cases/eluc/app/components/prescription.py b/use_cases/eluc/app/components/prescription.py deleted file mode 100644 index 809cce4..0000000 --- a/use_cases/eluc/app/components/prescription.py +++ /dev/null @@ -1,179 +0,0 @@ -""" -Prescription component in charge of the prescriptor select slider, the prescription button, and the sliders for each -recommended land-use. Also manages modal that shows the pareto front. -""" -from dash import Input, State, Output, ALL -from dash import dcc -from dash import html -import dash_bootstrap_components as dbc -import pandas as pd -import plotly.graph_objects as go - -from prsdk.persistence.persistors.hf_persistor import HuggingFacePersistor - -from app import constants as app_constants -from data import constants -from persistence.serializers.prescriptor_serializer import PrescriptorSerializer -from prescriptors.prescriptor_manager import PrescriptorManager - - -class PrescriptionComponent(): - """ - Component in charge of handling prescriptor selection and prescribe button. - """ - def __init__(self, df: pd.DataFrame): - self.df = df - - # Load pareto df - self.pareto_df = pd.read_csv(app_constants.PARETO_CSV_PATH) - self.pareto_df.sort_values(by="change", inplace=True) - self.prescriptor_list = list(self.pareto_df["id"]) - - # Load prescriptors - self.prescriptor_manager = self.load_prescriptors() - - def load_prescriptors(self) -> tuple[list[str], PrescriptorManager]: - """ - Loads in prescriptors from disk, downloads from HuggingFace first if needed. - TODO: Currently hard-coded to load specific prescriptors from pareto path. - :return: dict of prescriptor name -> prescriptor object. - """ - persistor = HuggingFacePersistor(PrescriptorSerializer()) - - prescriptors = {} - pareto_df = pd.read_csv(app_constants.PARETO_CSV_PATH) - pareto_df = pareto_df.sort_values(by="change") - for cand_id in pareto_df["id"]: - cand_path = f"danyoung/eluc-{cand_id}" - cand_local_dir = app_constants.PRESCRIPTOR_PATH / cand_path.replace("/", "--") - prescriptors[cand_id] = persistor.from_pretrained(cand_path, local_dir=cand_local_dir) - - prescriptor_manager = PrescriptorManager(prescriptors, None) - - return prescriptor_manager - - def get_presc_select_div(self): - """ - Slider that allows the user to select specific prescriptors along the pareto. - """ - margin_style = {"margin-top": "-10px"} - presc_select_div = html.Div([ - html.P("Minimize change", style={"grid-column": "1"}), - html.Div([ - dcc.Slider(id='presc-select', - min=0, max=len(self.prescriptor_list)-1, step=1, - value=app_constants.DEFAULT_PRESCRIPTOR_IDX, - included=False, - marks={i: "" for i in range(len(self.prescriptor_list))}) - ], style={"grid-column": "2", "width": "100%", "margin-top": "8px"}), - html.P("Minimize ELUC", style={"grid-column": "3", "padding-right": "10px"}), - html.Button("Prescribe", id='presc-button', n_clicks=0, style={"grid-column": "4", **margin_style}), - html.Button("View Pareto", id='pareto-button', n_clicks=0, style={"grid-column": "5", **margin_style}), - dbc.Modal( - [ - dbc.ModalHeader("Pareto front"), - dcc.Graph( - id='pareto-fig', - figure=self.create_pareto( - pareto_df=self.pareto_df, - presc_id=self.prescriptor_list[app_constants.DEFAULT_PRESCRIPTOR_IDX] - ) - ), - ], - id="pareto-modal", - is_open=False, - ), - ], style={"display": "grid", - "grid-template-columns": "auto 1fr auto auto", - "width": "100%", - "align-content": "center"}) - - return presc_select_div - - def register_select_prescriptor_callback(self, app): - """ - Registers callback for clicking the Prescribe button after adjusting the prescriptor select slider. - This updates the prescribed land-use slider values. - """ - @app.callback( - Output({"type": "presc-slider", "index": ALL}, "value", allow_duplicate=True), - Input("presc-button", "n_clicks"), - State("presc-select", "value"), - State("year-input", "value"), - State("lat-dropdown", "value"), - State("lon-dropdown", "value"), - prevent_initial_call=True - ) - def select_prescriptor(_, presc_idx, year, lat, lon): - """ - Selects prescriptor, runs on context, updates sliders. - :param presc_idx: Index of prescriptor in PRESCRIPTOR_LIST to load. - :param year: Selected context year. - :param lat: Selected context lat. - :param lon: Selected context lon. - :return: Updated slider values. - """ - presc_id = self.prescriptor_list[presc_idx] - context = self.df.loc[year, lat, lon][constants.CAO_MAPPING["context"]] - context_df = pd.DataFrame([context]) - prescribed = self.prescriptor_manager.prescribe(presc_id, context_df) - # Prescribed gives it to us in diff format, we need to recompute recommendations - for col in constants.RECO_COLS: - prescribed[col] = context[col] + prescribed[f"{col}_diff"] - prescribed = prescribed[constants.RECO_COLS] - return prescribed.iloc[0].tolist() - - def register_toggle_modal_callback(self, app): - """ - Registers the callback tha toggles the pareto modal which shows where on the pareto the current prescriptor is. - """ - @app.callback( - Output("pareto-modal", "is_open"), - Output("pareto-fig", "figure"), - [Input("pareto-button", "n_clicks")], - [State("pareto-modal", "is_open")], - [State("presc-select", "value")], - ) - def toggle_modal(n, is_open, presc_idx): - """ - Toggles pareto modal. - :param n: Number of times button has been clicked. - :param is_open: Whether the modal is open. - :param presc_idx: The index of the prescriptor to show. - :return: The new state of the modal and the figure to show. - """ - fig = self.create_pareto(self.pareto_df, self.prescriptor_list[presc_idx]) - if n: - return not is_open, fig - return is_open, fig - - def create_pareto(self, pareto_df: pd.DataFrame, presc_id: int) -> go.Figure: - """ - :param pareto_df: Pandas data frame containing the pareto front - :param presc_id: The currently selected prescriptor id - :return: A pareto plot figure - """ - fig = go.Figure( - go.Scatter( - x=pareto_df['change'] * 100, - y=pareto_df['ELUC'], - # marker='o', - ) - ) - # Highlight the selected prescriptor - presc_df = pareto_df[pareto_df["id"] == presc_id] - fig.add_scatter(x=presc_df['change'] * 100, - y=presc_df['ELUC'], - marker={ - "color": 'red', - "size": 10 - }) - # Name axes and hide legend - fig.update_layout(xaxis_title={"text": "Change (%)"}, - yaxis_title={"text": 'ELUC (tC/ha)'}, - showlegend=False, - title="Prescriptors") - fig.update_traces(hovertemplate="Average Change: %{x} %" - "
" - " Average ELUC: %{y} tC/ha") - return fig diff --git a/use_cases/eluc/app/components/sliders.py b/use_cases/eluc/app/components/sliders.py deleted file mode 100644 index ebcf5ec..0000000 --- a/use_cases/eluc/app/components/sliders.py +++ /dev/null @@ -1,142 +0,0 @@ -""" -File in charge of handling the sliders on the app. -""" -from dash import Input, State, Output, ALL, MATCH -from dash import dcc -from dash import html -import pandas as pd - -from app import constants as app_constants -from app import utils -from data import constants - - -class SlidersComponent: - """ - Component that displays the sliders, shows their values in frozen inputs, resets the sliders when context changes, - and controls the sum to 1 button. - """ - def __init__(self, df: pd.DataFrame): - self.df = df - - def get_sliders_div(self): - """ - Returns div with sliders for each recommended land-use. - Gets updated by the prescriptor. - """ - sliders_div = html.Div([ - html.Div( - className="mt-1", - children=[ - dcc.Slider( - min=0, - max=1, - step=app_constants.SLIDER_PRECISION, - value=0, - marks=None, - tooltip={"placement": "bottom", "always_visible": True}, - id={"type": "presc-slider", "index": f"{col}"} - ) - ] - ) for col in constants.RECO_COLS] - ) - return sliders_div - - def get_frozen_div(self): - """ - Frozen input boxes that we use to display the slider values. - """ - frozen_div = html.Div([ - dcc.Input( - value=f"{col}: 0.00%", - type="text", - disabled=True, - id={"type": "frozen-input", "index": f"{col}-frozen"}) - for col in app_constants.NO_CHANGE_COLS + ["nonland"] - ]) - return frozen_div - - def register_set_frozen_reset_sliders_callback(self, app): - """ - Registers function that resets sliders to 0 when context changes. - """ - @app.callback( - Output({"type": "frozen-input", "index": ALL}, "value"), - Output({"type": "presc-slider", "index": ALL}, "value"), - Output({"type": "presc-slider", "index": ALL}, "max"), - Input("lat-dropdown", "value"), - Input("lon-dropdown", "value"), - Input("year-input", "value") - ) - def set_frozen_reset_sliders(lat, lon, year): - """ - Resets prescription sliders to 0 to avoid confusion. - Also sets prescription sliders' max values to 1 - no change cols to avoid negative values. - :param lat: Selected latitude. - :param lon: Selected longitude. - :param year: Selected year. - :return: Frozen values, slider values, and slider max. - """ - context = self.df.loc[[year], [lat], [lon]] - - chart_data = utils.add_nonland(context[constants.LAND_USE_COLS]).iloc[0] - - frozen_cols = app_constants.NO_CHANGE_COLS + ["nonland"] - frozen = chart_data[frozen_cols].tolist() - frozen = [f"{frozen_cols[i]}: {frozen[i]*100:.2f}%" for i in range(len(frozen_cols))] - - reset = [0 for _ in constants.RECO_COLS] - - max_val = chart_data[constants.RECO_COLS].sum() - maxes = [max_val for _ in range(len(constants.RECO_COLS))] - - return frozen, reset, maxes - - def register_sum_to_one_callback(self, app): - """ - Registers callback that makes it so that when you click the sum to 1 button it sums the sliders to 1. - """ - @app.callback( - Output({"type": "presc-slider", "index": ALL}, "value", allow_duplicate=True), - Input("sum-button", "n_clicks"), - State({"type": "presc-slider", "index": ALL}, "value"), - State("year-input", "value"), - State("lat-dropdown", "value"), - State("lon-dropdown", "value"), - State("locks", "value"), - prevent_initial_call=True - ) - def sum_to_1(_, sliders, year, lat, lon, locked): - """ - Sets slider values to sum to how much land was used in context. - Subtracts locked sum from both of these and doesn't adjust them. - :param sliders: Prescribed slider values to set to sum to 1. - :param year: Selected context year. - :param lat: Selected context lat. - :param lon: Selected context lon. - :param locked: Which sliders to not consider in calculation. - :return: Slider values scaled down to fit percentage of land used in context. - """ - context = self.df.loc[year, lat, lon] - presc = pd.Series(sliders, index=constants.RECO_COLS) - - old_sum = context[constants.RECO_COLS].sum() - new_sum = presc.sum() - - # TODO: There is certainly a more elegant way to handle this. - if locked: - unlocked = [col for col in constants.RECO_COLS if col not in locked] - locked_sum = presc[locked].sum() - old_sum -= locked_sum - new_sum -= locked_sum - # We do this to avoid divide by zero. In the case where new_sum == 0 - # we have all locked columns and/or zero columns so no adjustment is needed - if new_sum != 0: - presc[unlocked] = presc[unlocked].div(new_sum).mul(old_sum) - - else: - presc = presc.div(new_sum).mul(old_sum) - - # Set all negative values to 0 - presc[presc < 0] = 0 - return presc.tolist() diff --git a/use_cases/eluc/app/newapp.py b/use_cases/eluc/app/newapp.py deleted file mode 100644 index d0399de..0000000 --- a/use_cases/eluc/app/newapp.py +++ /dev/null @@ -1,42 +0,0 @@ -from dash import Dash, html -import dash_bootstrap_components as dbc -import pandas as pd - -import app.constants as app_constants -from app.newcomponents.context import ContextComponent -from app.newcomponents.filter import FilterComponent -from app.newcomponents.dms import DMSComponent -from app.components.references import ReferencesComponent -from app.utils import EvolutionHandler - - -app = Dash(__name__, - external_stylesheets=[dbc.themes.BOOTSTRAP, dbc.icons.BOOTSTRAP], - prevent_initial_callbacks="initial_duplicate") -server = app.server - -app.title = 'Land Use Optimization' - -app_df = pd.read_csv(app_constants.DATA_FILE_PATH, index_col=app_constants.INDEX_COLS) -evolution_handler = EvolutionHandler() - -context_component = ContextComponent(app_df, evolution_handler) -filter_component = FilterComponent(evolution_handler) -dms_component = DMSComponent(app_df, evolution_handler) -references_component = ReferencesComponent() - -context_component.register_callbacks(app) -filter_component.register_callbacks(app) -dms_component.register_callbacks(app) - -app.layout = html.Div( - children=[ - context_component.get_div(), - filter_component.get_div(), - dms_component.get_div(), - references_component.get_references_div() - ] -) - -if __name__ == '__main__': - app.run_server(host='0.0.0.0', debug=False, port=4057, use_reloader=True, threaded=True) diff --git a/use_cases/eluc/app/newcomponents/context.py b/use_cases/eluc/app/newcomponents/context.py index 8e2b9a8..cfff33c 100644 --- a/use_cases/eluc/app/newcomponents/context.py +++ b/use_cases/eluc/app/newcomponents/context.py @@ -32,7 +32,6 @@ def get_div(self): div = html.Div( className="mb-5 mx-5", children=[ - html.H2("Land Use Optimization", className="text-center w-100 mb-5 mt-5"), dbc.Row( children=[ dbc.Col( diff --git a/use_cases/eluc/app/newcomponents/intro.py b/use_cases/eluc/app/newcomponents/intro.py index 6ae2255..e413a2b 100644 --- a/use_cases/eluc/app/newcomponents/intro.py +++ b/use_cases/eluc/app/newcomponents/intro.py @@ -1,5 +1,5 @@ """ -Component showing the little intro blurb and the arrow to get started. +Component showing the little intro blurb. """ from dash import html import dash_bootstrap_components as dbc @@ -14,53 +14,16 @@ def get_div(self): Creates the intro title card describing the project. """ div = html.Div( + className="mb-5 d-flex flex-column align-items-center justify-content-center", children=[ - dbc.Row( - html.H1("Land-Use Planning", - className="display-4 w-50 mx-auto text-center mb-3") - ), - dbc.Row( - html.P( - [ - "Immediate action is required to combat climate change. The technology behind ", - html.A( - "Cognizant NeuroAI", - href="https://www.cognizant.com/us/en/services/ai/ai-lab", - style={"color": "black"} - ), - " brings automatic decision-making to the ", - html.A( - "En-ROADS platform", - href="https://www.climateinteractive.org/en-roads/", - style={"color": "black"} - ), - ", a powerful climate change simulator. A decision-maker can be ready for any \ - scenario: choosing an automatically generated policy that suits their needs best, with the \ - ability to manually modify the policy and see its results. This tool is brought together \ - under ", - html.A( - "Project Resilience", - href="https://www.itu.int/en/ITU-T/extcoop/ai-data-commons/\ - Pages/project-resilience.aspx", - style={"color": "black"} - ), - ", a United Nations initiative to use AI for good." - ], - className="lead w-50 mx-auto text-center" - ) - ), - dbc.Row( - style={"height": "60vh"} - ), - dbc.Row( - html.P("Get Started:", className="w-50 text-center mx-auto text-white h4") - ), - dbc.Row( - html.I(className="bi bi-arrow-up w-50 text-center mx-auto text-white h1") - ), - dbc.Row( - style={"height": "5vh"} - ) + html.H2("Land Use Optimization", className="text-center w-100 mb-5 mt-5"), + html.P("Allocation of land for different uses significantly affects carbon balance and climate \ + change. A surrogate model learned from historical land-use changes and carbon \ + emission simulations allows efficient evaluation of such allocations. An evolutionary \ + search then discovers effective land-use policies for specific locations. This \ + system, built on the Project Resilience platform, generates Pareto fronts trading off\ + carbon impact and amount of change customized to different locations, offering a \ + useful tool for land-use planning.", className="w-50") ] ) From 77efbfe697c433b4174077dbaa111d304c89502f Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 1 Oct 2024 11:45:34 -0700 Subject: [PATCH 04/17] Removed some constants --- use_cases/eluc/app/constants.py | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/use_cases/eluc/app/constants.py b/use_cases/eluc/app/constants.py index 1d7acc8..cbf1bb7 100644 --- a/use_cases/eluc/app/constants.py +++ b/use_cases/eluc/app/constants.py @@ -29,20 +29,3 @@ FIELDS = ['pastr', 'range'] CHART_TYPES = ["Treemap", "Pie Chart"] - -PREDICTOR_PATH = Path("predictors/trained_models") -PRESCRIPTOR_PATH = Path("prescriptors/trained_models") - -# Pareto front -PARETO_CSV_PATH = Path("app/data/pareto.csv") - -DEFAULT_PRESCRIPTOR_IDX = 1 # By default we select the second prescriptor that minimizes change - -DESC_TEXT = "mb-5 w-75 text-center" - -JUMBOTRON = "p-3 bg-white rounded-5 mx-auto w-75 mb-3" - -CONTAINER = "py-3 d-flex flex-column h-100 align-items-center" - -HEADER = "text-center mb-5" - From df86989678773fe2ef1dc0b640879e5bb29f4de7 Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 1 Oct 2024 12:23:42 -0700 Subject: [PATCH 05/17] Removed old imports that were breaking the app --- use_cases/eluc/app/newcomponents/dms.py | 11 +---------- use_cases/eluc/app/newcomponents/filter.py | 2 +- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/use_cases/eluc/app/newcomponents/dms.py b/use_cases/eluc/app/newcomponents/dms.py index 6f85811..efa301c 100644 --- a/use_cases/eluc/app/newcomponents/dms.py +++ b/use_cases/eluc/app/newcomponents/dms.py @@ -5,18 +5,12 @@ from app.components.chart import ChartComponent -from app.components.lock import LockComponent -from app.components.prediction import PredictionComponent -from app.components.sliders import SlidersComponent from app.utils import EvolutionHandler from data import constants class DMSComponent(): def __init__(self, app_df: pd.DataFrame, handler: EvolutionHandler): self.chart_component = ChartComponent(app_df) - self.lock_component = LockComponent() - self.prediction_component = PredictionComponent(app_df) - self.sliders_component = SlidersComponent(app_df) self.app_df = app_df self.handler = handler @@ -61,7 +55,7 @@ def get_div(self): children=[ dbc.Col( children=[ - html.B("3. Select a policy to see the prescribed actions and play around with them."), + html.B("3. Select a policy to see the prescribed actions customize them."), dcc.Dropdown( id="presc-dropdown", options=[], @@ -121,9 +115,6 @@ def context_presc_to_df(self, context: pd.Series, actions: pd.Series) -> pd.Data return context_actions_df def register_callbacks(self, app): - self.sliders_component.register_set_frozen_reset_sliders_callback(app) - self.sliders_component.register_sum_to_one_callback(app) - self.chart_component.register_update_context_chart_callback(app) self.chart_component.register_update_presc_chart_callback(app) diff --git a/use_cases/eluc/app/newcomponents/filter.py b/use_cases/eluc/app/newcomponents/filter.py index 9b93b93..7d0bc81 100644 --- a/use_cases/eluc/app/newcomponents/filter.py +++ b/use_cases/eluc/app/newcomponents/filter.py @@ -99,7 +99,7 @@ def get_div(self): children=[ dbc.Col( children=[ - html.B("2. Filter by what outcomes you want"), + html.B("2. Filter by desired outcomes."), html.Div( className="d-flex flex-row", children=[ From f310a6fc9895b32a98a1598785e6b3bf6d977332 Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Mon, 7 Oct 2024 16:26:15 -0700 Subject: [PATCH 06/17] Updated pylint and then fixed commands to work better --- .github/workflows/eluc.yml | 2 +- use_cases/eluc/.pylintrc | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/eluc.yml b/.github/workflows/eluc.yml index 62d96f2..22404f4 100644 --- a/.github/workflows/eluc.yml +++ b/.github/workflows/eluc.yml @@ -30,7 +30,7 @@ jobs: pip install pylint if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Lint with PyLint - run: pylint ./* + run: pylint . - name: Lint with Flake8 run: flake8 - name: Run unit tests diff --git a/use_cases/eluc/.pylintrc b/use_cases/eluc/.pylintrc index 951551a..eb64907 100644 --- a/use_cases/eluc/.pylintrc +++ b/use_cases/eluc/.pylintrc @@ -5,8 +5,6 @@ recursive=y fail-under=9.7 -jobs=0 - max-line-length=120 suggestion-mode=yes From 2fc470eccf53825b4d675d9b1e432e10b590dc9e Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Mon, 7 Oct 2024 16:26:43 -0700 Subject: [PATCH 07/17] Made some miscellaneous bug fixes as well as resetting some of the fields when a new context is selected --- use_cases/eluc/app/app.py | 14 ++++--- .../context}/context.py | 31 +++++++++++---- .../eluc/app/components/{ => context}/map.py | 1 - .../eluc/app/components/{ => dms}/chart.py | 31 ++++++++------- .../{newcomponents => components/dms}/dms.py | 39 +++++++++++++++---- .../{newcomponents => components}/filter.py | 39 ++++++++++++++++--- .../{newcomponents => components}/intro.py | 1 - use_cases/eluc/app/components/references.py | 20 +++++----- use_cases/eluc/app/components/trivia.py | 1 + use_cases/eluc/app/data/pareto.csv | 11 ------ use_cases/eluc/app/process_data.py | 26 +++---------- use_cases/eluc/app/utils.py | 7 ++-- 12 files changed, 136 insertions(+), 85 deletions(-) rename use_cases/eluc/app/{newcomponents => components/context}/context.py (85%) rename use_cases/eluc/app/components/{ => context}/map.py (99%) rename use_cases/eluc/app/components/{ => dms}/chart.py (92%) rename use_cases/eluc/app/{newcomponents => components/dms}/dms.py (85%) rename use_cases/eluc/app/{newcomponents => components}/filter.py (87%) rename use_cases/eluc/app/{newcomponents => components}/intro.py (96%) delete mode 100644 use_cases/eluc/app/data/pareto.csv diff --git a/use_cases/eluc/app/app.py b/use_cases/eluc/app/app.py index ee5952d..cdaf184 100644 --- a/use_cases/eluc/app/app.py +++ b/use_cases/eluc/app/app.py @@ -1,12 +1,15 @@ +""" +Main entrypoint to run the app. Contains the layout of the app and registers all the callbacks of each component. +""" from dash import Dash, html import dash_bootstrap_components as dbc import pandas as pd import app.constants as app_constants -from app.newcomponents.intro import IntroComponent -from app.newcomponents.context import ContextComponent -from app.newcomponents.filter import FilterComponent -from app.newcomponents.dms import DMSComponent +from app.components.intro import IntroComponent +from app.components.context.context import ContextComponent +from app.components.filter import FilterComponent +from app.components.dms.dms import DMSComponent from app.components.references import ReferencesComponent from app.utils import EvolutionHandler @@ -18,7 +21,8 @@ app.title = 'Land Use Optimization' -app_df = pd.read_csv(app_constants.DATA_FILE_PATH, index_col=app_constants.INDEX_COLS) +app_df = pd.read_csv("app/data/app_data.csv", index_col=app_constants.INDEX_COLS) + evolution_handler = EvolutionHandler() intro_component = IntroComponent() diff --git a/use_cases/eluc/app/newcomponents/context.py b/use_cases/eluc/app/components/context/context.py similarity index 85% rename from use_cases/eluc/app/newcomponents/context.py rename to use_cases/eluc/app/components/context/context.py index cfff33c..c5dd0c5 100644 --- a/use_cases/eluc/app/newcomponents/context.py +++ b/use_cases/eluc/app/components/context/context.py @@ -1,21 +1,30 @@ - -from dash import html, dcc, Output, Input, State +""" +Context component class for selecting context. +""" +from dash import html, dcc, Output, Input import dash_bootstrap_components as dbc import pandas as pd import regionmask -from app.components.map import MapComponent -from app.utils import add_nonland, EvolutionHandler +from app.components.context.map import MapComponent +from app.utils import EvolutionHandler from data import constants + class ContextComponent(): + """ + Component containing map as well as dropdowns and input fields for picking a more specific context. + """ def __init__(self, app_df: pd.DataFrame, handler: EvolutionHandler): self.map_component = MapComponent(app_df) self.app_df = app_df - self.handler = EvolutionHandler() + self.handler = handler self.countries_df = regionmask.defined_regions.natural_earth_v5_0_0.countries_110.to_dataframe() def create_label_and_value(self, label: str, value: html.Div) -> html.Div: + """ + Standard dash function that pairs a label with any arbitrary value Div. + """ div = html.Div( className="d-flex flex-row", children=[ @@ -29,6 +38,9 @@ def create_label_and_value(self, label: str, value: html.Div) -> html.Div: return div def get_div(self): + """ + Returns the entire context div to display in the app. + """ div = html.Div( className="mb-5 mx-5", children=[ @@ -88,8 +100,11 @@ def get_div(self): ] ) return div - + def register_callbacks(self, app): + """ + Registers callbacks to make app interactive. Registers old map callbacks as well as new one to run prescription. + """ self.map_component.register_click_map_callback(app) self.map_component.register_select_country_callback(app) self.map_component.register_update_map_callback(app) @@ -101,10 +116,12 @@ def register_callbacks(self, app): Input("lon-dropdown", "value") ) def run_prescription(year: int, lat: float, lon: float) -> dict[str: list]: + """ + Runs prescription for the selected context on all prescriptors. Returns the results as a json to a store. + """ condition = (self.app_df["time"] == year) & (self.app_df["lat"] == lat) & (self.app_df["lon"] == lon) context_df = self.app_df[condition] context_df = context_df[constants.CAO_MAPPING["context"]].iloc[0:1] results_df = self.handler.prescribe_all(context_df) results_json = results_df.to_dict(orient="records") - print(f"Updating store with {len(results_df)} prescriptions.") return results_json diff --git a/use_cases/eluc/app/components/map.py b/use_cases/eluc/app/components/context/map.py similarity index 99% rename from use_cases/eluc/app/components/map.py rename to use_cases/eluc/app/components/context/map.py index 4136ee9..92b500f 100644 --- a/use_cases/eluc/app/components/map.py +++ b/use_cases/eluc/app/components/context/map.py @@ -97,7 +97,6 @@ def get_context_div(self): ), dcc.Tooltip(f"Year must be between {self.min_time} and {self.max_time}.") ]) - ) ] ) diff --git a/use_cases/eluc/app/components/chart.py b/use_cases/eluc/app/components/dms/chart.py similarity index 92% rename from use_cases/eluc/app/components/chart.py rename to use_cases/eluc/app/components/dms/chart.py index 97576ae..835b87b 100644 --- a/use_cases/eluc/app/components/chart.py +++ b/use_cases/eluc/app/components/dms/chart.py @@ -37,7 +37,6 @@ def register_update_context_chart_callback(self, app): """ @app.callback( Output("context-fig", "figure"), - # Input("chart-select", "value"), Input("year-input", "value"), Input("lat-dropdown", "value"), Input("lon-dropdown", "value") @@ -46,28 +45,22 @@ def register_update_context_chart_callback(self, app): def update_context_chart(year, lat, lon): """ Updates context chart when context selection is updated or chart type is changed. - :param chart_type: String input from chart select dropdown. :param year: Selected context year. :param lat: Selected context lat. :param lon: Selected context lon. - :return: New figure type selected by chart_type with data context. + :return: New figure with data context. """ context = self.df.loc[[year], [lat], [lon]] chart_data = utils.add_nonland(context[constants.LAND_USE_COLS]).iloc[0] - # assert chart_type in ("Treemap", "Pie Chart") - - # if chart_type == "Treemap": return self.create_treemap(chart_data, type_context=True, year=year) - # return self.create_pie(chart_data.iloc[0], type_context=True, year=year) - def register_update_presc_chart_callback(self, app): """ Callback that updates prescription chart when prescription sliders are updated or chart type is changed. """ @app.callback( - Output("presc-fig", "figure"), + Output("presc-fig", "figure", allow_duplicate=True), Output("alert", "is_open"), Input("update-button", "n_clicks"), [State({"type": "diff-slider", "index": ALL}, "value")], @@ -79,12 +72,12 @@ def register_update_presc_chart_callback(self, app): def update_presc_chart(n_clicks, sliders, year, lat, lon): """ Updates prescription chart from sliders according to chart type. - :param chart_type: String input from chart select dropdown. + :param n_clicks: Number of times update button has been clicked. :param sliders: Prescribed slider values. :param year: Selected context year (also for title of chart). :param lat: Selected context lat. :param lon: Selected context lon. - :return: New chart of type chart_type using presc data. + :return: New chart using presc data. """ # If we have no prescription just show the context chart @@ -109,11 +102,19 @@ def update_presc_chart(n_clicks, sliders, year, lat, lon): nonland = nonland if nonland > 0 else 0 chart_data["nonland"] = nonland - # if chart_type == "Treemap": return self.create_treemap(chart_data, type_context=False, year=year), bad_sliders - # if chart_type == "Pie Chart": - # return self.create_pie(chart_data, type_context=False, year=year) - # raise ValueError(f"Invalid chart type: {chart_type}") + + @app.callback( + Output("presc-fig", "figure", allow_duplicate=True), + Input("year-input", "value"), + Input("lat-dropdown", "value"), + Input("lon-dropdown", "value") + ) + def reset_presc_chart(year, lat, lon): + """ + If the user changes the context, reset the prescription chart to nothing. + """ + return self.create_treemap(pd.Series(dtype=float), type_context=False, year=year) def _create_hovertext(self, labels: list, parents: list, values: list, title: str) -> list: """ diff --git a/use_cases/eluc/app/newcomponents/dms.py b/use_cases/eluc/app/components/dms/dms.py similarity index 85% rename from use_cases/eluc/app/newcomponents/dms.py rename to use_cases/eluc/app/components/dms/dms.py index efa301c..5ecee86 100644 --- a/use_cases/eluc/app/newcomponents/dms.py +++ b/use_cases/eluc/app/components/dms/dms.py @@ -1,14 +1,21 @@ - +""" +New DMS component to allow the user to play with the prescription they have selected. +""" from dash import html, dcc, Output, State, Input, ALL import dash_bootstrap_components as dbc import pandas as pd -from app.components.chart import ChartComponent +from app.components.dms.chart import ChartComponent from app.utils import EvolutionHandler from data import constants + class DMSComponent(): + """ + Displays a prescriptor select that sets pre-set diff sliders, then allows the user to adjust them and get + predictions. Also shows the charts with the context and prescription. + """ def __init__(self, app_df: pd.DataFrame, handler: EvolutionHandler): self.chart_component = ChartComponent(app_df) @@ -48,6 +55,9 @@ def create_default_diff_sliders(self) -> list: return div def get_div(self): + """ + Gets the entire DMS div to display in the app. + """ return html.Div( className="mx-5 mb-5", children=[ @@ -62,7 +72,8 @@ def get_div(self): placeholder="Select a candidate", className="mb-3" ), - self.create_default_diff_sliders(), + html.Div(id="diff-sliders", + children=self.create_default_diff_sliders()), html.Div([ html.Label("Allocated Land"), dbc.Progress( @@ -115,6 +126,9 @@ def context_presc_to_df(self, context: pd.Series, actions: pd.Series) -> pd.Data return context_actions_df def register_callbacks(self, app): + """ + Registers callbacks for context and presc charts as well as the DMS page. + """ self.chart_component.register_update_context_chart_callback(app) self.chart_component.register_update_presc_chart_callback(app) @@ -126,18 +140,26 @@ def register_callbacks(self, app): prevent_initial_call=True ) def update_presc_sliders(results_json: dict[str: list], cand_id: str) -> list: + """ + Updates diff slider ranges and values when a candidate is selected. + The min possible value is -1 * the value since we can only remove however much is there. The max is 1 as we + can set it to 100%. + """ results_df = pd.DataFrame(results_json) selected = results_df[results_df["cand_id"] == cand_id] slider_vals = selected[constants.DIFF_RECO_COLS].iloc[0].tolist() min_vals = selected[constants.RECO_COLS].iloc[0].tolist() min_vals = [-1 * min_val for min_val in min_vals] return slider_vals, min_vals - + @app.callback( Output("pbar", "children"), [Input({"type": "diff-slider", "index": ALL}, "value")] ) def update_pbar(sliders) -> int: + """ + Updates the progress bar by however much land we have allocated. + """ total = 1 + sum(sliders) # TODO: This is a bit of a hack due to rounding errors. if total < 1.01 and total > 0.99: @@ -148,10 +170,10 @@ def update_pbar(sliders) -> int: return dbc.Progress(value=100, label=f"{int(total*100)}%", max=600, color="success", bar=True) else: return [ - dbc.Progress(value=100, label=f"100%", max=600, color="success", bar=True), + dbc.Progress(value=100, label="100%", max=600, color="success", bar=True), dbc.Progress(value=(total-1)*100, label=f"{int((total-1)*100)}%", max=600, color="danger", bar=True) ] - + @app.callback( Output("eluc", "children"), Output("eluc", "color"), @@ -164,7 +186,10 @@ def update_pbar(sliders) -> int: [State({"type": "diff-slider", "index": ALL}, "value")], prevent_initial_call=True ) - def update_policy(n_clicks: int, year: int, lat: float, lon: float, sliders: list[float]) -> list: + def predict(n_clicks: int, year: int, lat: float, lon: float, sliders: list[float]) -> list: + """ + When we click 'apply policy' we update the ELUC and change values based on our predictors. + """ context = self.app_df.loc[year, lat, lon] actions = pd.Series(sliders, index=constants.DIFF_RECO_COLS) context_actions_df = self.context_presc_to_df(context, actions) diff --git a/use_cases/eluc/app/newcomponents/filter.py b/use_cases/eluc/app/components/filter.py similarity index 87% rename from use_cases/eluc/app/newcomponents/filter.py rename to use_cases/eluc/app/components/filter.py index 7d0bc81..2d4eb15 100644 --- a/use_cases/eluc/app/newcomponents/filter.py +++ b/use_cases/eluc/app/components/filter.py @@ -1,4 +1,6 @@ - +""" +Component to filter candidates out based on desired outcomes. +""" from dash import html, dcc, Input, Output, State, ALL, ctx import dash_bootstrap_components as dbc import pandas as pd @@ -6,15 +8,23 @@ import plotly.graph_objects as go import app.constants as app_constants -from app.utils import add_nonland, EvolutionHandler +from app.utils import EvolutionHandler from data import constants + class FilterComponent: + """ + Component with sliders/preset buttons to filter outcomes by as well as visualizing the selected prescriptors. + """ def __init__(self, handler: EvolutionHandler): self.handler = handler self.slider_params = ["min", "max", "value", "marks"] def plot_prescriptions(self, results_df: pd.DataFrame, cand_ids: list[str]) -> go.Figure: + """ + Plots the prescriptions for the selected candidates and grays the rest out, shifting them to the right. + Also adds the original context as the far leftmost bar. + """ reco_df = self.handler.context_actions_to_recos(results_df) fig = go.Figure() @@ -88,6 +98,9 @@ def create_outcome_sliders(self): return div def get_div(self): + """ + Returns the div to render the component in the app. + """ return html.Div( className="mb-5 mx-5", children=[ @@ -141,11 +154,19 @@ def get_div(self): ) def register_callbacks(self, app): + """ + Registers callbacks for the filtering. + """ @app.callback( - [Output({"type": "filter-slider", "index": ALL}, param, allow_duplicate=True) for param in self.slider_params], + [Output({"type": "filter-slider", "index": ALL}, param, allow_duplicate=True) + for param in self.slider_params], Input("results-store", "data"), ) def update_filter_sliders(results_json: dict[str: list]) -> list: + """ + When the results store is updated when context is selected, we update the filter sliders to reflect the + min and max values of each outcomes so the user can filter by them. + """ results_df = pd.DataFrame(results_json) outputs = [[] for _ in range(len(self.slider_params))] for outcome in constants.CAO_MAPPING["outcomes"]: @@ -169,7 +190,12 @@ def update_filter_sliders(results_json: dict[str: list]) -> list: prevent_inital_call=True ) def select_preset(n_clicks, results_json): + """ + Selects a preset for the filter sliders from the 3 presets. + """ results_df = pd.DataFrame(results_json) + if results_df.empty: + return [[0, 1] for _ in constants.CAO_MAPPING["outcomes"]] elucs = results_df["ELUC"] low_eluc = elucs.min() + (elucs.max() - elucs.min()) / 3 @@ -196,13 +222,16 @@ def select_preset(n_clicks, results_json): Input({"type": "filter-slider", "index": ALL}, "value") ) def update_prescriptions(results_json: dict[str: list], slider_ranges) -> go.Figure: + """ + Updates which prescriptions are selected based on the filter sliders. Also passes the valid candidates to + the dropdown in the DMS page. + """ results_df = pd.DataFrame(results_json) if results_df.empty: - return go.Figure() + return go.Figure(), [] total_condition = True for outcome, slider_range in zip(constants.CAO_MAPPING["outcomes"], slider_ranges): condition = (results_df[outcome] >= slider_range[0]) & (results_df[outcome] <= slider_range[1]) total_condition &= condition cand_idxs = results_df[total_condition]["cand_id"].tolist() - print(f"Filtered to {len(cand_idxs)} candidates") return self.plot_prescriptions(results_df, cand_idxs), cand_idxs diff --git a/use_cases/eluc/app/newcomponents/intro.py b/use_cases/eluc/app/components/intro.py similarity index 96% rename from use_cases/eluc/app/newcomponents/intro.py rename to use_cases/eluc/app/components/intro.py index e413a2b..49a5b16 100644 --- a/use_cases/eluc/app/newcomponents/intro.py +++ b/use_cases/eluc/app/components/intro.py @@ -2,7 +2,6 @@ Component showing the little intro blurb. """ from dash import html -import dash_bootstrap_components as dbc class IntroComponent(): diff --git a/use_cases/eluc/app/components/references.py b/use_cases/eluc/app/components/references.py index 9194ef4..564389e 100644 --- a/use_cases/eluc/app/components/references.py +++ b/use_cases/eluc/app/components/references.py @@ -20,36 +20,36 @@ def get_references_div(self): html.H2("References"), html.Div(className="parent", children=[ html.P("Code for this project can be found here: ", - className="child", style=inline_block), + className="child", style=inline_block), html.A("(Project Resilience MVP repo)", - href="https://github.com/Project-Resilience/mvp/tree/main/use_cases/eluc\n"), + href="https://github.com/Project-Resilience/mvp/tree/main/use_cases/eluc\n"), ]), html.Div(className="parent", children=[ html.P("The paper for this project can be found here: ", - className="child", style=inline_block), + className="child", style=inline_block), html.A("(arXiv link)", href="https://arxiv.org/abs/2311.12304\n"), ]), html.Div(className="parent", children=[ html.P("ELUC data provided by the BLUE model ", - className="child", style=inline_block), + className="child", style=inline_block), html.A("(BLUE: Bookkeeping of land use emissions)", - href="https://agupubs.onlinelibrary.wiley.com/doi/10.1002/2014GB004997\n"), + href="https://agupubs.onlinelibrary.wiley.com/doi/10.1002/2014GB004997\n"), ]), html.Div(className="parent", children=[ html.P("Land use change data provided by the LUH2 project", - className="child", style=inline_block), + className="child", style=inline_block), html.A("(LUH2: Land Use Harmonization 2)", href="https://luh.umd.edu/\n"), ]), html.Div(className="parent", children=[ html.P("Setup is described in Appendix C2.1 of the GCB 2022 report", - className="child", style=inline_block), + className="child", style=inline_block), html.A("(Global Carbon Budget 2022 report)", - href="https://essd.copernicus.org/articles/14/4811/2022/#section10/\n"), + href="https://essd.copernicus.org/articles/14/4811/2022/#section10/\n"), ]), html.Div(className="parent", children=[ html.P("The Global Carbon Budget report assesses the global CO2 budget \ - for the Intergovernmental Panel on Climate Change", - className="child", style=inline_block), + for the Intergovernmental Panel on Climate Change", + className="child", style=inline_block), html.A("(IPCC)", href="https://www.ipcc.ch/\n"), ]), ] diff --git a/use_cases/eluc/app/components/trivia.py b/use_cases/eluc/app/components/trivia.py index 44b8637..9ef4963 100644 --- a/use_cases/eluc/app/components/trivia.py +++ b/use_cases/eluc/app/components/trivia.py @@ -1,4 +1,5 @@ """ +TODO: We may bring this back into the app at some point. Trivia component for the ELUC app showing how much carbon emissions are reduce in real-world terms. """ from dash import Input, State, Output diff --git a/use_cases/eluc/app/data/pareto.csv b/use_cases/eluc/app/data/pareto.csv deleted file mode 100644 index d5e4fd5..0000000 --- a/use_cases/eluc/app/data/pareto.csv +++ /dev/null @@ -1,11 +0,0 @@ -id,parents,NSGA-II_rank,distance,ELUC,change -1_1,"(None, None)",1,inf,-0.011886149,0.0040596884414631 -49_0,"('45_27', '21_80')",1,0.20109607207578,-2.1743317,0.0533331221986483 -61_92,"('26_38', '60_66')",1,0.0427627827542644,-4.3928847,0.0690307965236667 -85_51,"('82_16', '53_65')",1,0.0506403998177242,-8.327706,0.1045782392704721 -82_16,"('51_17', '76_44')",1,0.0606549652913774,-11.905426,0.1340041432727491 -70_30,"('59_5', '51_15')",1,0.0230698188448444,-13.6480255,0.1685300249153988 -67_70,"('39_79', '59_5')",1,0.032665984351135,-14.625315,0.1968721749125319 -36_3,"('30_85', '34_74')",1,0.0577219544984151,-15.683007,0.2284119445886663 -62_84,"('58_38', '56_3')",1,0.0310138542659899,-16.641254,0.2609490730066026 -54_67,"('43_94', '43_94')",1,inf,-17.59739,0.2924915519940842 diff --git a/use_cases/eluc/app/process_data.py b/use_cases/eluc/app/process_data.py index 20c34ed..58693e5 100644 --- a/use_cases/eluc/app/process_data.py +++ b/use_cases/eluc/app/process_data.py @@ -1,25 +1,11 @@ """ -Extremely simple script that loads the ELUC dataset from huggingface and saves it -as a csv file for the ELUC app. +Pre-downloads the dataset file from the Hugging Face Hub repository. """ -from pathlib import Path - -from app.constants import APP_START_YEAR -from data.eluc_data import ELUCData - - -def main(): - """ - Main function that loads the data and saves it. - """ - # Subsets the dataset so train_df is from start_year-1 to test year which we discard. - # Then we take the app data as the test def which is from the app start year to the end of the dataset. - dataset = ELUCData.from_hf(start_year=APP_START_YEAR-1, test_year=APP_START_YEAR) - test_df = dataset.test_df - save_dir = Path("app/data") - save_dir.mkdir(exist_ok=True) - test_df.to_csv(save_dir / "app_data.csv") +from huggingface_hub import hf_hub_download if __name__ == "__main__": - main() + hf_hub_download(repo_id="projectresilience/land-use-app-data", + filename="app_data.csv", + local_dir="app/data", + repo_type="dataset") diff --git a/use_cases/eluc/app/utils.py b/use_cases/eluc/app/utils.py index 0085499..f723d9d 100644 --- a/use_cases/eluc/app/utils.py +++ b/use_cases/eluc/app/utils.py @@ -10,7 +10,6 @@ from prsdk.persistence.serializers.neural_network_serializer import NeuralNetSerializer from prsdk.persistence.persistors.hf_persistor import HuggingFacePersistor -import app.constants as app_constants from data import constants from data.eluc_encoder import ELUCEncoder from prescriptors.prescriptor_manager import PrescriptorManager @@ -18,6 +17,7 @@ from prescriptors.nsga2.land_use_prescriptor import LandUsePrescriptor from predictors.percent_change.percent_change_predictor import PercentChangePredictor + def add_nonland(context_actions_df: pd.DataFrame) -> pd.DataFrame: """ Adds a nonland column to the context_actions_df @@ -36,6 +36,7 @@ class EvolutionHandler: def __init__(self): self.prescriptor_path = Path("app/results/prescriptors") self.prescriptor_list = [model_path.stem for model_path in self.prescriptor_path.glob("*.pt")] + def sort_cand_id(cand_id: str): return (int(cand_id.split("_")[0]), int(cand_id.split("_")[1])) self.prescriptor_list = sorted(self.prescriptor_list, key=sort_cand_id) @@ -105,9 +106,9 @@ def context_actions_to_recos(self, context_actions_df: pd.DataFrame): reco_df = context_actions_df[constants.RECO_COLS].copy() + reco_diff_df reco_df["cand_id"] = context_actions_df["cand_id"] - + return reco_df - + def predict_metrics(self, context_actions_df: pd.DataFrame): """ Predicts metrics from context actions From 58b5e9904561cdce109754fc1394673baf8370a5 Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Mon, 7 Oct 2024 16:27:14 -0700 Subject: [PATCH 08/17] Modified misc files to allow deployment --- use_cases/eluc/.dockerignore | 6 +++--- use_cases/eluc/Dockerfile | 2 +- use_cases/eluc/README.md | 14 ++++++++++++-- use_cases/eluc/requirements.txt | 4 ++-- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/use_cases/eluc/.dockerignore b/use_cases/eluc/.dockerignore index 68ec199..131261f 100644 --- a/use_cases/eluc/.dockerignore +++ b/use_cases/eluc/.dockerignore @@ -6,6 +6,6 @@ __pycache__ .DS_Store .ipynb_checkpoints/ -demo.ipynb -data/ -predictors/ \ No newline at end of file +experiments/ +predictors/trained_models/ +prescriptors/trained_models/ diff --git a/use_cases/eluc/Dockerfile b/use_cases/eluc/Dockerfile index 70092e6..8f802f0 100644 --- a/use_cases/eluc/Dockerfile +++ b/use_cases/eluc/Dockerfile @@ -22,7 +22,7 @@ RUN pip install --no-cache-dir --upgrade pip && \ # Copy source files over COPY . . -# Python setup script - downloads data and processes it +# Download data RUN python -m app.process_data # Expose Flask (Dash) port diff --git a/use_cases/eluc/README.md b/use_cases/eluc/README.md index 1d26805..f1a25ec 100644 --- a/use_cases/eluc/README.md +++ b/use_cases/eluc/README.md @@ -198,7 +198,17 @@ TODO: see task #49 A user interface for decision makers is available here: https://landuse.evolution.ml/ -See [demo/README.md](demo/README.md) +To run the app, first download the preprocessed dataset from [HuggingFace](https://huggingface.co/datasets/projectresilience/land-use-app-data) using ```python -m app.process_data```. + +Then run the app using ```python -m app.app```. + +In order to build and run a docker image containing the app, first build with + +```docker build -t landusedemo .``` + +and then run with + +```docker run -p 8080:4057 --name landuse-demo-container landusedemo```. ## Testing @@ -206,7 +216,7 @@ To run unit tests, use the following command: ```python -m unittest```. TODO: see task #79 -To run pylint, use the following command: ```pylint ./*``` +To run pylint, use the following command: ```pylint .``` ## References diff --git a/use_cases/eluc/requirements.txt b/use_cases/eluc/requirements.txt index a1ee53a..d280e69 100644 --- a/use_cases/eluc/requirements.txt +++ b/use_cases/eluc/requirements.txt @@ -8,7 +8,7 @@ dask==2023.6.1 datasets==2.16.1 flake8==7.1.0 Flask==2.2.5 -geopandas==0.13.2 +geopandas==0.14.4 geopy==2.3.0 gunicorn==21.2.0 huggingface-hub==0.20.3 @@ -20,7 +20,7 @@ pandas==1.5.3 plotly==5.14.1 protobuf==3.20.3 -e git+https://github.com/Project-Resilience/sdk.git@c0e5300e56f5fce2f6cf55c328c83e7055e541be#egg=prsdk -pylint==2.17.4 +pylint==3.3.1 regionmask==0.10.0 scikit-learn==1.2.2 scipy==1.10.1 From 2aac5675ed50b66fa4579025d82890cb7b1a7b04 Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Mon, 7 Oct 2024 16:27:31 -0700 Subject: [PATCH 09/17] Fixed unittest to work with new add_nonland that takes a df --- use_cases/eluc/tests/test_app.py | 33 ++++++-------------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/use_cases/eluc/tests/test_app.py b/use_cases/eluc/tests/test_app.py index cc34773..8255bb4 100644 --- a/use_cases/eluc/tests/test_app.py +++ b/use_cases/eluc/tests/test_app.py @@ -4,7 +4,6 @@ import unittest import pandas as pd -from app.components.lock import LockComponent import app.constants as app_constants from app import utils from data import constants @@ -14,40 +13,20 @@ class TestUtilFunctions(unittest.TestCase): """ Tests app utilities. """ - def setUp(self): - self.lock_component = LockComponent() - def test_add_nonland(self): """ Simple vanilla test case for add_nonland(). Makes sure the nonland column added equals whatever we need left. """ data = [0, 0.01, 0.01, 0.2, 0.4, 0.02, 0.03, 0.01] - series = pd.Series(dict(zip(constants.LAND_USE_COLS, data))) - full = utils.add_nonland(series) - self.assertAlmostEqual(full["nonland"], 1 - sum(data), delta=app_constants.SLIDER_PRECISION) + df = pd.DataFrame([data], columns=constants.LAND_USE_COLS) + full = utils.add_nonland(df) + self.assertAlmostEqual(full["nonland"].iloc[0], 1 - sum(data), delta=app_constants.SLIDER_PRECISION) def test_add_nonland_sum_over_one(self): """ Makes sure if the columns sum to >1, we get 0 for nonland """ data = [1 for _ in range(len(constants.LAND_USE_COLS))] - series = pd.Series(dict(zip(constants.LAND_USE_COLS, data))) - full = utils.add_nonland(series) - self.assertAlmostEqual(full["nonland"], 0, delta=app_constants.SLIDER_PRECISION) - - def test_create_check_options_length(self): - """ - Makes sure the checklist we create has the same number of options as the input. - """ - values = ["a", "b", "c"] - options = self.lock_component.create_check_options(values) - self.assertEqual(len(options), len(values)) - - def test_create_check_options_values(self): - """ - Checks if the values in the options are correct - """ - values = ["a", "b", "c"] - options = self.lock_component.create_check_options(values) - for i, option in enumerate(options): - self.assertEqual(option["value"], values[i]) + df = pd.DataFrame([data], columns=constants.LAND_USE_COLS) + full = utils.add_nonland(df) + self.assertAlmostEqual(full["nonland"].iloc[0], 0, delta=app_constants.SLIDER_PRECISION) From 600774834f9fe3606f15cd4557c328bb69486998 Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 8 Oct 2024 09:54:09 -0700 Subject: [PATCH 10/17] Added units to filter and DMS, updated medium preset to not raise ELUC --- use_cases/eluc/app/components/dms/dms.py | 4 ++-- use_cases/eluc/app/components/filter.py | 23 ++++++++++++++--------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/use_cases/eluc/app/components/dms/dms.py b/use_cases/eluc/app/components/dms/dms.py index 5ecee86..2644d79 100644 --- a/use_cases/eluc/app/components/dms/dms.py +++ b/use_cases/eluc/app/components/dms/dms.py @@ -90,7 +90,7 @@ def get_div(self): ], className="mb-3 d-flex flex-row"), dbc.Button( id="eluc", - children="Predicted ELUC: 00.00", + children="Predicted ELUC: 00.00 tC/ha", color="warning", active=True, outline=True @@ -211,4 +211,4 @@ def predict(n_clicks: int, year: int, lat: float, lon: float, sliders: list[floa else: change_color = "warning" - return f"Predicted ELUC: {eluc:.2f}", eluc_color, f"Land Changed: {(change*100):.2f}%", change_color + return f"Predicted ELUC: {eluc:.2f} tC/ha", eluc_color, f"Land Changed: {(change*100):.2f}%", change_color diff --git a/use_cases/eluc/app/components/filter.py b/use_cases/eluc/app/components/filter.py index 2d4eb15..29de4eb 100644 --- a/use_cases/eluc/app/components/filter.py +++ b/use_cases/eluc/app/components/filter.py @@ -66,9 +66,9 @@ def plot_prescriptions(self, results_df: pd.DataFrame, cand_ids: list[str]) -> g def create_outcome_sliders(self): """ Creates initial outcome sliders and lines them up with their labels. - TODO: We need to stop hard-coding their names and adjustments. - TODO: Add a tooltip to the sliders to show their units. + # TODO: Un-hardcode the units """ + units = ["tC/ha", "%"] sliders = [] for outcome in constants.CAO_MAPPING["outcomes"]: slider = dcc.RangeSlider( @@ -76,23 +76,28 @@ def create_outcome_sliders(self): min=0, max=1, value=[0, 1], - marks={0: f"{0:.2f}", 1: f"{1:.2f}"}, - tooltip={"placement": "bottom", "always_visible": True}, + marks={0: "0", 1: "100"}, + tooltip={ + "placement": "bottom", + "always_visible": True, + "transform": "percentSlider" + }, allowCross=False, disabled=False ) sliders.append(slider) # w-25 and flex-grow-1 ensures they line up + div = html.Div( children=[ html.Div( className="d-flex flex-row w-100", children=[ - html.Label(outcome, className="w-25"), + html.Label(f"{outcome} ({unit})", className="w-25"), html.Div(slider, className="flex-grow-1") ] - ) for outcome, slider in zip(constants.CAO_MAPPING["outcomes"], sliders) + ) for outcome, slider, unit in zip(constants.CAO_MAPPING["outcomes"], sliders, units) ] ) return div @@ -179,8 +184,8 @@ def update_filter_sliders(results_json: dict[str: list]) -> list: outputs[0].append(min_val_rounded) outputs[1].append(max_val_rounded) outputs[2].append([min_val_rounded, max_val_rounded]) - outputs[3].append({min_val_rounded: f"{min_val_rounded:.2f}", - max_val_rounded: f"{max_val_rounded:.2f}"}) + outputs[3].append({min_val_rounded: f"{int(100*min_val_rounded)}", + max_val_rounded: f"{int(100*max_val_rounded)}"}) return outputs @app.callback( @@ -210,7 +215,7 @@ def select_preset(n_clicks, results_json): return [[elucs.min(), low_eluc], [changes.min(), changes.max()]] elif trigger_idx == "medium": - return [[low_eluc, high_eluc], [low_change, high_change]] + return [[elucs.min(), high_eluc], [low_change, high_change]] else: return [[elucs.min(), elucs.max()], [changes.min(), low_change]] From afd61f70a8b9426d6686df7dd78e1a9a353eaba6 Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 8 Oct 2024 11:25:00 -0700 Subject: [PATCH 11/17] Added references to Neuro and PR --- use_cases/eluc/app/components/intro.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/use_cases/eluc/app/components/intro.py b/use_cases/eluc/app/components/intro.py index 49a5b16..2007a2e 100644 --- a/use_cases/eluc/app/components/intro.py +++ b/use_cases/eluc/app/components/intro.py @@ -16,13 +16,19 @@ def get_div(self): className="mb-5 d-flex flex-column align-items-center justify-content-center", children=[ html.H2("Land Use Optimization", className="text-center w-100 mb-5 mt-5"), - html.P("Allocation of land for different uses significantly affects carbon balance and climate \ - change. A surrogate model learned from historical land-use changes and carbon \ - emission simulations allows efficient evaluation of such allocations. An evolutionary \ - search then discovers effective land-use policies for specific locations. This \ - system, built on the Project Resilience platform, generates Pareto fronts trading off\ - carbon impact and amount of change customized to different locations, offering a \ - useful tool for land-use planning.", className="w-50") + html.P([ + "Allocation of land for different uses significantly affects carbon balance and climate \ + change. A surrogate model learned from historical land-use changes and carbon \ + emission simulations allows efficient evaluation of such allocations. An evolutionary \ + search then discovers effective land-use policies for specific locations. This \ + system, using the technology behind ", + html.A("Cognizant NeuroAI", href="https://www.cognizant.com/us/en/services/ai/ai-lab"), + " and built on the ", + html.A("Project Resilience platform", + href="https://www.itu.int/en/ITU-T/extcoop/ai-data-commons/Pages/project-resilience.aspx"), + ", generates Pareto fronts trading off carbon impact and amount of change customized to different \ + locations, offering a useful tool for land-use planning." + ], className="w-50"), ] ) From d34fc11d5218416ec713ccb6d26fa9b64a75ffac Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 8 Oct 2024 11:50:23 -0700 Subject: [PATCH 12/17] Removed some unnecessary code from map and chart --- use_cases/eluc/app/components/context/map.py | 62 -------------------- use_cases/eluc/app/components/dms/chart.py | 1 + 2 files changed, 1 insertion(+), 62 deletions(-) diff --git a/use_cases/eluc/app/components/context/map.py b/use_cases/eluc/app/components/context/map.py index 92b500f..2f0aaac 100644 --- a/use_cases/eluc/app/components/context/map.py +++ b/use_cases/eluc/app/components/context/map.py @@ -42,68 +42,6 @@ def get_map_fig(self): """ return self.map_fig - def get_context_div(self): - """ - Div that allows the user to select context inputs manually instead of from the map. - """ - context_div = html.Div( - children=[ - dbc.Row( - children=[ - dbc.Col(html.P("Region")), - dbc.Col( - dcc.Dropdown( - id="loc-dropdown", - options=list(self.countries_df["names"]), - value=list(self.countries_df["names"])[143] - ) - ) - ] - ), - dbc.Row( - children=[ - dbc.Col(html.P("Latitude")), - dbc.Col( - dcc.Dropdown( - id="lat-dropdown", - options=[{"label": lat, "value": lat} for lat in self.lat_list], - value=51.625, - ) - ) - ] - ), - dbc.Row( - children=[ - dbc.Col(html.P("Longitude")), - dbc.Col( - dcc.Dropdown( - id="lon-dropdown", - options=[{"label": lon, "value": lon} for lon in self.lon_list], - value=-3.375, - ) - ) - ] - ), - dbc.Row( - children=[ - dbc.Col(html.P("Year")), - dbc.Col( - html.Div([ - dcc.Input( - id="year-input", - type="number", - value=2021, - debounce=True - ), - dcc.Tooltip(f"Year must be between {self.min_time} and {self.max_time}.") - ]) - ) - ] - ) - ] - ) - return context_div - def register_select_country_callback(self, app): """ Callback in charge of changing the selected country and relocating the map to a valid lat/lon. diff --git a/use_cases/eluc/app/components/dms/chart.py b/use_cases/eluc/app/components/dms/chart.py index 835b87b..ba2ec77 100644 --- a/use_cases/eluc/app/components/dms/chart.py +++ b/use_cases/eluc/app/components/dms/chart.py @@ -21,6 +21,7 @@ def __init__(self, df: pd.DataFrame): def get_chart_select_div(self): """ + TODO: We can re-add this back in later. Div that allows the user to select between treemap and pie chart. """ chart_select_div = dcc.Dropdown( From f94c881b2c8085495de80f443436772e3f5b6fc9 Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 8 Oct 2024 11:50:55 -0700 Subject: [PATCH 13/17] Removed unnecesary imports from map --- use_cases/eluc/app/components/context/map.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/use_cases/eluc/app/components/context/map.py b/use_cases/eluc/app/components/context/map.py index 2f0aaac..537218d 100644 --- a/use_cases/eluc/app/components/context/map.py +++ b/use_cases/eluc/app/components/context/map.py @@ -1,8 +1,7 @@ """ This file is a component that handles the map where the user can select context and its associated callbacks. """ -from dash import Input, State, Output, dcc, html -import dash_bootstrap_components as dbc +from dash import Input, State, Output import numpy as np import pandas as pd import plotly.express as px From 96a4d916389ffe77f4809f89644ed048110f4375 Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 8 Oct 2024 11:51:58 -0700 Subject: [PATCH 14/17] Removed unnecesary comments --- use_cases/eluc/app/components/dms/chart.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/use_cases/eluc/app/components/dms/chart.py b/use_cases/eluc/app/components/dms/chart.py index ba2ec77..74a7915 100644 --- a/use_cases/eluc/app/components/dms/chart.py +++ b/use_cases/eluc/app/components/dms/chart.py @@ -42,7 +42,6 @@ def register_update_context_chart_callback(self, app): Input("lat-dropdown", "value"), Input("lon-dropdown", "value") ) - # def update_context_chart(chart_type, year, lat, lon): def update_context_chart(year, lat, lon): """ Updates context chart when context selection is updated or chart type is changed. @@ -69,7 +68,6 @@ def register_update_presc_chart_callback(self, app): State("lat-dropdown", "value"), State("lon-dropdown", "value"), ) - # def update_presc_chart(chart_type, sliders, year, lat, lon): def update_presc_chart(n_clicks, sliders, year, lat, lon): """ Updates prescription chart from sliders according to chart type. From 8000a25410f392853920741ffbb29d30db9e847f Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 8 Oct 2024 11:59:27 -0700 Subject: [PATCH 15/17] Updated some documentation to be more clear in utils --- use_cases/eluc/app/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/use_cases/eluc/app/utils.py b/use_cases/eluc/app/utils.py index f723d9d..e5a7af2 100644 --- a/use_cases/eluc/app/utils.py +++ b/use_cases/eluc/app/utils.py @@ -46,8 +46,8 @@ def sort_cand_id(cand_id: str): def load_prescriptors(self) -> PrescriptorManager: """ - Loads in prescriptors from disk, downloads from HuggingFace first if needed. - TODO: Currently hard-coded to load specific prescriptors from pareto path. + Loads in prescriptors from a hard-coded location on disk. + Loads predictor from HuggingFace if needed. :return: dict of prescriptor name -> prescriptor object. """ with open("app/results/fields.json", "r", encoding="utf-8") as f: From d89b4970784e7d218d275ef423ff022f98a3ed31 Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 8 Oct 2024 12:16:40 -0700 Subject: [PATCH 16/17] Set reloader to false --- use_cases/eluc/app/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/use_cases/eluc/app/app.py b/use_cases/eluc/app/app.py index cdaf184..a11769a 100644 --- a/use_cases/eluc/app/app.py +++ b/use_cases/eluc/app/app.py @@ -46,4 +46,4 @@ ) if __name__ == '__main__': - app.run_server(host='0.0.0.0', debug=False, port=4057, use_reloader=True, threaded=True) + app.run_server(host='0.0.0.0', debug=False, port=4057, use_reloader=False, threaded=True) From d6afa2d253a3ec4e098c3b1193f8c925cab62a0e Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 8 Oct 2024 12:20:34 -0700 Subject: [PATCH 17/17] Fixed flakeing --- use_cases/eluc/app/components/filter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/use_cases/eluc/app/components/filter.py b/use_cases/eluc/app/components/filter.py index 29de4eb..8a19654 100644 --- a/use_cases/eluc/app/components/filter.py +++ b/use_cases/eluc/app/components/filter.py @@ -88,7 +88,6 @@ def create_outcome_sliders(self): sliders.append(slider) # w-25 and flex-grow-1 ensures they line up - div = html.Div( children=[ html.Div(