From 4ed8251fc108c072e2bb551c08155b482039c989 Mon Sep 17 00:00:00 2001 From: Peter Baker Date: Tue, 3 Jun 2025 15:21:37 +1000 Subject: [PATCH 1/5] Adding other display information Signed-off-by: Peter Baker --- src/utility/regions_criteria_setup.jl | 37 +++++++++++++++++++++------ src/utility/routes.jl | 23 ++++++++++++++++- 2 files changed, 51 insertions(+), 9 deletions(-) diff --git a/src/utility/regions_criteria_setup.jl b/src/utility/regions_criteria_setup.jl index 3b72ebe..714e130 100644 --- a/src/utility/regions_criteria_setup.jl +++ b/src/utility/regions_criteria_setup.jl @@ -72,15 +72,27 @@ struct CriteriaMetadata display_label::String description::String units::String + payload_prefix::String + default_bounds::OptionalValue{Bounds} function CriteriaMetadata(; id::String, file_suffix::String, display_label::String, description::String, - units::String + units::String, + payload_prefix::String, + default_bounds::OptionalValue{Bounds}=nothing ) - return new(id, file_suffix, display_label, description, units) + return new( + id, + file_suffix, + display_label, + description, + units, + payload_prefix, + default_bounds + ) end end @@ -91,42 +103,51 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( file_suffix="_bathy", display_label="Depth", description="TODO", - units="TODO" + units="TODO", + payload_prefix="depth_", + default_bounds=Bounds(; min=-10, max=-2) ), "Slope" => CriteriaMetadata(; id="Slope", file_suffix="_slope", display_label="Slope", description="TODO", - units="TODO" + units="TODO", + payload_prefix="slope_" ), "Turbidity" => CriteriaMetadata(; id="Turbidity", file_suffix="_turbid", display_label="Turbidity", description="TODO", - units="TODO" + units="TODO", + payload_prefix="turbidity_" ), "WavesHs" => CriteriaMetadata(; id="WavesHs", file_suffix="_waves_Hs", display_label="Wave Height (m)", description="TODO", - units="TODO" + units="TODO", + payload_prefix="waves_height_", + default_bounds=Bounds(; min=0, max=1) ), "WavesTp" => CriteriaMetadata(; id="WavesTp", file_suffix="_waves_Tp", display_label="Wave Period (s)", description="TODO", - units="TODO" + units="TODO", + payload_prefix="waves_period_", + default_bounds=Bounds(; min=0, max=6) ), "Rugosity" => CriteriaMetadata(; id="Rugosity", file_suffix="_rugosity", display_label="Rugosity", description="TODO", - units="TODO" + units="TODO", + payload_prefix="rugosity_" ) ) diff --git a/src/utility/routes.jl b/src/utility/routes.jl index a5254d7..1162bc9 100644 --- a/src/utility/routes.jl +++ b/src/utility/routes.jl @@ -40,9 +40,30 @@ function setup_utility_routes(config, auth) # Format each criteria with min/max bounds for (id::String, criteria::BoundedCriteria) in regional_criteria_lookup + # build default min/max + default_bounds::Bounds = something( + criteria.metadata.default_bounds, criteria.bounds + ) + output_dict[id] = OrderedDict( + # Unique ID (and data field name) + :id => id, + + # min/max bounds :min_val => criteria.bounds.min, - :max_val => criteria.bounds.max + :max_val => criteria.bounds.max, + + # display info + :display_title => criteria.metadata.display_label, + :display_subtitle => criteria.metadata.description, + :units => criteria.metadata.units, + + # default min/max + :default_min_val => default_bounds.min, + :default_max_val => default_bounds.max, + + # how to build a job payload (prefix of job i.e. depth_) then build depth_min depth_max + :payload_property_prefix => criteria.metadata.payload_prefix ) end From 4a52f66e821aaf21eed98ddaab9fd4c3a465d66b Mon Sep 17 00:00:00 2001 From: Peter Baker Date: Tue, 3 Jun 2025 15:42:30 +1000 Subject: [PATCH 2/5] Addming min/max tooltip Signed-off-by: Peter Baker --- src/utility/regions_criteria_setup.jl | 34 ++++++++++++++++++++------- src/utility/routes.jl | 2 ++ 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/utility/regions_criteria_setup.jl b/src/utility/regions_criteria_setup.jl index 714e130..0f490c0 100644 --- a/src/utility/regions_criteria_setup.jl +++ b/src/utility/regions_criteria_setup.jl @@ -74,6 +74,8 @@ struct CriteriaMetadata units::String payload_prefix::String default_bounds::OptionalValue{Bounds} + min_tooltip::String + max_tooltip::String function CriteriaMetadata(; id::String, @@ -82,7 +84,9 @@ struct CriteriaMetadata description::String, units::String, payload_prefix::String, - default_bounds::OptionalValue{Bounds}=nothing + default_bounds::OptionalValue{Bounds}=nothing, + min_tooltip::String, + max_tooltip::String ) return new( id, @@ -91,7 +95,9 @@ struct CriteriaMetadata description, units, payload_prefix, - default_bounds + default_bounds, + min_tooltip, + max_tooltip ) end end @@ -105,7 +111,9 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( description="TODO", units="TODO", payload_prefix="depth_", - default_bounds=Bounds(; min=-10, max=-2) + default_bounds=Bounds(; min=-10, max=-2), + min_tooltip="TODO", + max_tooltip="TODO" ), "Slope" => CriteriaMetadata(; id="Slope", @@ -113,7 +121,9 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( display_label="Slope", description="TODO", units="TODO", - payload_prefix="slope_" + payload_prefix="slope_", + min_tooltip="TODO", + max_tooltip="TODO" ), "Turbidity" => CriteriaMetadata(; id="Turbidity", @@ -121,7 +131,9 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( display_label="Turbidity", description="TODO", units="TODO", - payload_prefix="turbidity_" + payload_prefix="turbidity_", + min_tooltip="TODO", + max_tooltip="TODO" ), "WavesHs" => CriteriaMetadata(; id="WavesHs", @@ -130,7 +142,9 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( description="TODO", units="TODO", payload_prefix="waves_height_", - default_bounds=Bounds(; min=0, max=1) + default_bounds=Bounds(; min=0, max=1), + min_tooltip="TODO", + max_tooltip="TODO" ), "WavesTp" => CriteriaMetadata(; id="WavesTp", @@ -139,7 +153,9 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( description="TODO", units="TODO", payload_prefix="waves_period_", - default_bounds=Bounds(; min=0, max=6) + default_bounds=Bounds(; min=0, max=6), + min_tooltip="TODO", + max_tooltip="TODO" ), "Rugosity" => CriteriaMetadata(; id="Rugosity", @@ -147,7 +163,9 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( display_label="Rugosity", description="TODO", units="TODO", - payload_prefix="rugosity_" + payload_prefix="rugosity_", + min_tooltip="TODO", + max_tooltip="TODO" ) ) diff --git a/src/utility/routes.jl b/src/utility/routes.jl index 1162bc9..6731fc0 100644 --- a/src/utility/routes.jl +++ b/src/utility/routes.jl @@ -57,6 +57,8 @@ function setup_utility_routes(config, auth) :display_title => criteria.metadata.display_label, :display_subtitle => criteria.metadata.description, :units => criteria.metadata.units, + :min_tooltip => criteria.metadata.min_tooltip, + :max_tooltip => criteria.metadata.max_tooltip, # default min/max :default_min_val => default_bounds.min, From 1de582fc635f1548f870eecb382be4275063fa4f Mon Sep 17 00:00:00 2001 From: Peter Baker Date: Tue, 3 Jun 2025 15:46:16 +1000 Subject: [PATCH 3/5] Changing descriptoin to subtitle Signed-off-by: Peter Baker --- src/utility/regions_criteria_setup.jl | 24 ++++++++++++++---------- src/utility/routes.jl | 2 +- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/utility/regions_criteria_setup.jl b/src/utility/regions_criteria_setup.jl index 0f490c0..affa165 100644 --- a/src/utility/regions_criteria_setup.jl +++ b/src/utility/regions_criteria_setup.jl @@ -63,14 +63,18 @@ Metadata for assessment criteria including file naming conventions. - `id::String` : Unique system identifier for the criteria - `file_suffix::String` : File suffix pattern for data files - `display_label::String` : Human-readable label for UI display -- `description::String` : Human-readable info about this criteria +- `subtitle::String` : Human-readable info about this criteria on subtitle of slider - `units::String` : Human-readable info about relevant units +- `payload_prefix::String` : The prefix for building the job payload +- `default_bounds::OptionalValue{Bounds}` : The default bounds for the parameter sliders +- `min_tooltip::String` : Tooltip text on min slider +- `max_tooltip::String` : Tooltip text on max slider """ struct CriteriaMetadata id::String file_suffix::String display_label::String - description::String + subtitle::String units::String payload_prefix::String default_bounds::OptionalValue{Bounds} @@ -81,7 +85,7 @@ struct CriteriaMetadata id::String, file_suffix::String, display_label::String, - description::String, + subtitle::String, units::String, payload_prefix::String, default_bounds::OptionalValue{Bounds}=nothing, @@ -92,7 +96,7 @@ struct CriteriaMetadata id, file_suffix, display_label, - description, + subtitle, units, payload_prefix, default_bounds, @@ -108,7 +112,7 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( id="Depth", file_suffix="_bathy", display_label="Depth", - description="TODO", + subtitle="TODO", units="TODO", payload_prefix="depth_", default_bounds=Bounds(; min=-10, max=-2), @@ -119,7 +123,7 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( id="Slope", file_suffix="_slope", display_label="Slope", - description="TODO", + subtitle="TODO", units="TODO", payload_prefix="slope_", min_tooltip="TODO", @@ -129,7 +133,7 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( id="Turbidity", file_suffix="_turbid", display_label="Turbidity", - description="TODO", + subtitle="TODO", units="TODO", payload_prefix="turbidity_", min_tooltip="TODO", @@ -139,7 +143,7 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( id="WavesHs", file_suffix="_waves_Hs", display_label="Wave Height (m)", - description="TODO", + subtitle="TODO", units="TODO", payload_prefix="waves_height_", default_bounds=Bounds(; min=0, max=1), @@ -150,7 +154,7 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( id="WavesTp", file_suffix="_waves_Tp", display_label="Wave Period (s)", - description="TODO", + subtitle="TODO", units="TODO", payload_prefix="waves_period_", default_bounds=Bounds(; min=0, max=6), @@ -161,7 +165,7 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( id="Rugosity", file_suffix="_rugosity", display_label="Rugosity", - description="TODO", + subtitle="TODO", units="TODO", payload_prefix="rugosity_", min_tooltip="TODO", diff --git a/src/utility/routes.jl b/src/utility/routes.jl index 6731fc0..cb7aae0 100644 --- a/src/utility/routes.jl +++ b/src/utility/routes.jl @@ -55,7 +55,7 @@ function setup_utility_routes(config, auth) # display info :display_title => criteria.metadata.display_label, - :display_subtitle => criteria.metadata.description, + :display_subtitle => criteria.metadata.subtitle, :units => criteria.metadata.units, :min_tooltip => criteria.metadata.min_tooltip, :max_tooltip => criteria.metadata.max_tooltip, From b87b738d0ec7bf87fd2ba1551822e70cfa9286f1 Mon Sep 17 00:00:00 2001 From: Takuya Iwanaga Date: Tue, 3 Jun 2025 17:44:10 +1000 Subject: [PATCH 4/5] Filled in criteria metadata TODO: Double check the percentile values for Hs and Tp (waves) --- src/utility/regions_criteria_setup.jl | 56 +++++++++++++-------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/utility/regions_criteria_setup.jl b/src/utility/regions_criteria_setup.jl index affa165..7789760 100644 --- a/src/utility/regions_criteria_setup.jl +++ b/src/utility/regions_criteria_setup.jl @@ -111,65 +111,65 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( "Depth" => CriteriaMetadata(; id="Depth", file_suffix="_bathy", - display_label="Depth", - subtitle="TODO", - units="TODO", + display_label="Depth [m]", + subtitle="Depth from Mean Astronomical Tide", + units="meters", payload_prefix="depth_", default_bounds=Bounds(; min=-10, max=-2), - min_tooltip="TODO", - max_tooltip="TODO" + min_tooltip="Maximum depth", + max_tooltip="Minimum depth" ), "Slope" => CriteriaMetadata(; id="Slope", file_suffix="_slope", - display_label="Slope", - subtitle="TODO", - units="TODO", + display_label="Slope [degrees]", + subtitle="Slope of reef", + units="degrees", payload_prefix="slope_", - min_tooltip="TODO", - max_tooltip="TODO" + min_tooltip="Minimum slope angle (0 is flat)", + max_tooltip="Maximum slope angle" ), "Turbidity" => CriteriaMetadata(; id="Turbidity", file_suffix="_turbid", display_label="Turbidity", - subtitle="TODO", - units="TODO", + subtitle="Usual clarity of water", + units="Secchi depth meters", payload_prefix="turbidity_", - min_tooltip="TODO", - max_tooltip="TODO" + min_tooltip="Minimum Secchi depth", + max_tooltip="Maximum Secchi depth" ), "WavesHs" => CriteriaMetadata(; id="WavesHs", file_suffix="_waves_Hs", - display_label="Wave Height (m)", - subtitle="TODO", - units="TODO", + display_label="Wave Height [m]", + subtitle="Significant Wave Height (90th percentile)", + units="meters", payload_prefix="waves_height_", default_bounds=Bounds(; min=0, max=1), - min_tooltip="TODO", - max_tooltip="TODO" + min_tooltip="Minimum wave height", + max_tooltip="Maximum wave height" ), "WavesTp" => CriteriaMetadata(; id="WavesTp", file_suffix="_waves_Tp", - display_label="Wave Period (s)", - subtitle="TODO", - units="TODO", + display_label="Wave Period [s]", + subtitle="Time between waves in seconds (90th percentile)", + units="seconds", payload_prefix="waves_period_", default_bounds=Bounds(; min=0, max=6), - min_tooltip="TODO", - max_tooltip="TODO" + min_tooltip="Minimum periodicity", + max_tooltip="Maximum periodicity" ), "Rugosity" => CriteriaMetadata(; id="Rugosity", file_suffix="_rugosity", display_label="Rugosity", - subtitle="TODO", - units="TODO", + subtitle="Roughness of the sea floor", + units="stdev", payload_prefix="rugosity_", - min_tooltip="TODO", - max_tooltip="TODO" + min_tooltip="Minimum variability", + max_tooltip="Maximum variability" ) ) From 9bc18929f20c3872bd8e14a19516e753c647635a Mon Sep 17 00:00:00 2001 From: Takuya Iwanaga Date: Wed, 4 Jun 2025 09:51:35 +1000 Subject: [PATCH 5/5] Update src/utility/regions_criteria_setup.jl Swap tooltip text Co-authored-by: Peter Baker <87056634+PeterBaker0@users.noreply.github.com> --- src/utility/regions_criteria_setup.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utility/regions_criteria_setup.jl b/src/utility/regions_criteria_setup.jl index 7789760..b57eef1 100644 --- a/src/utility/regions_criteria_setup.jl +++ b/src/utility/regions_criteria_setup.jl @@ -116,8 +116,8 @@ const ASSESSMENT_CRITERIA::Dict{String,CriteriaMetadata} = Dict( units="meters", payload_prefix="depth_", default_bounds=Bounds(; min=-10, max=-2), - min_tooltip="Maximum depth", - max_tooltip="Minimum depth" + min_tooltip="Minimum depth", + max_tooltip="Maximum depth" ), "Slope" => CriteriaMetadata(; id="Slope",