From 9a2aa9d11f37e93069f4ed6482e5b52eedd091a6 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Thu, 4 Jan 2024 14:31:59 +1000 Subject: [PATCH 01/39] Add function to prepare connectivity data for storage in resultset file --- src/io/result_io.jl | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/io/result_io.jl b/src/io/result_io.jl index 9f296223d..175203844 100644 --- a/src/io/result_io.jl +++ b/src/io/result_io.jl @@ -91,6 +91,28 @@ function store_env_summary( return stats_store end +function store_conn( + conn_data::NamedDimsArray, + file_loc::String, + rcp::String, + compressor::Zarr.Compressor +)::ZArray + conn_store = zcreate( + Float32, + size(conn_data)...; + fill_value = nothing, fill_as_missing = false, + path = joinpath(file_loc, rcp), + attrs = Dict( + :structure => ("Source", "Receiving"), + :Source => conn_data.Source, + :Receiving => conn_data.Receiving, + :rcp => rcp), + compressor = compressor) + + conn_store[:, :] .= Matrix(conn_data) + return conn_store +end + """ store_conn(conn_data::NamedDimsArray, file_loc::String, rcp::String, compressor::Zarr.Compressor)::ZArray From a8f264b8ae4b848195e8e8b3acd0dc2f00a3945d Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Thu, 4 Jan 2024 14:51:10 +1000 Subject: [PATCH 02/39] Add connectivity data to `ResultSet` structure and constructor function Add docs for `store_conn` and add detail to docs for `store_env_summary`. --- src/io/ResultSet.jl | 18 +++++++----------- src/io/result_io.jl | 16 ++++++++++++++++ 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/io/ResultSet.jl b/src/io/ResultSet.jl index 46a85ee41..b0bfcb044 100644 --- a/src/io/ResultSet.jl +++ b/src/io/ResultSet.jl @@ -29,17 +29,13 @@ struct ResultSet{T1, T2, A, B, C, D, G, D1, D2, D3, DF} connectivity_data::D site_data::G - inputs::G - sim_constants::D1 - model_spec::DF - - # raw::AbstractArray - outcomes::D2 - ranks::A - seed_log::B # Values stored in m^2 - fog_log::C # Reduction in bleaching mortality (0.0 - 1.0) - shade_log::C # Reduction in bleaching mortality (0.0 - 1.0) - coral_dhw_tol_log::D3 + # raw::AbstractArray + outcomes::D2 + ranks::A + seed_log::B # Values stored in m^2 + fog_log::C # Reduction in bleaching mortality (0.0 - 1.0) + shade_log::C # Reduction in bleaching mortality (0.0 - 1.0) + coral_dhw_tol_log::D3 end function ResultSet( diff --git a/src/io/result_io.jl b/src/io/result_io.jl index 175203844..8529d00b6 100644 --- a/src/io/result_io.jl +++ b/src/io/result_io.jl @@ -91,6 +91,22 @@ function store_env_summary( return stats_store end +""" + store_conn(conn_data::NamedDimsArray, file_loc::String, rcp::String, + compressor::Zarr.Compressor)::ZArray + +Retrieve connectivity matrices from Domain for storage. +Produce connectivity for a particular RCP saved to a Zarr data store. + +# Arguments +- `conn_data` : connectivity data (e.g. `domain.TP_data`) +- `file_loc` : path for Zarr data store +- `rcp`: RCP associated with connectivity data. + +# Returns +Zarr data store holding a M*M matrix. +M is the number of locations. +""" function store_conn( conn_data::NamedDimsArray, file_loc::String, From 479921451252f297035b05cc685467d0324f8cc9 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Thu, 16 Nov 2023 15:21:51 +1000 Subject: [PATCH 03/39] Add function for creating decision matrices purely from the domain --- src/decision/location_selection.jl | 95 ++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/src/decision/location_selection.jl b/src/decision/location_selection.jl index 83835a879..4f7b61729 100644 --- a/src/decision/location_selection.jl +++ b/src/decision/location_selection.jl @@ -320,3 +320,98 @@ function selection_score( selection_score = dropdims(sum(lowest_rank .- ranks; dims=dims); dims=dims[1]) return selection_score ./ ((lowest_rank - 1) * prod([size(ranks, d) for d in dims])) end + +function decision_matrices( + dom::Domain, + criteria_weights::DataFrameRow, + int_type::Symbol; + cover=dom.init_coral_cover::AbstractArray, + site_ids=collect(1:length(dom.site_data.site_id))::Vector{Int64}, + area_to_seed::Float64=962.11, +) + loc_coral_cover = sum(cover; dims=:species) + + leftover_space = relative_leftover_space(Matrix(loc_coral_cover)) .* site_k_area(dom) + wave_stress = summary_stat_env(dom.wave_scens, (:scenarios, :timesteps)) + heat_stress = summary_stat_env(dom.dhw_scens, (:scenarios, :timesteps)) + TP_data = connectivity_strength( + dom.TP_data .* site_k_area(dom), vec(loc_coral_cover), dom.TP_data + ) + + predec = priority_predecessor_criteria( + dom.strong_pred, dom.sim_constants.priority_sites, length(site_ids) + ) + zones_crit = zones_criteria( + dom.sim_constants.priority_zones, dom.site_data.zone_type, dom.strong_pred, site_ids + ) + + A, filtered_sites = create_decision_matrix( + site_ids, + TP_data.in_conn, + TP_data.out_conn, + leftover_space[site_ids], + wave_stress[site_ids], + heat_stress[site_ids], + dom.site_data.depth_med[site_ids], + predec, + zones_crit, + criteria_weights.deployed_coral_risk_tol, + ) + + if int_type == :seed + S, ws = create_seed_matrix( + A, + area_to_seed .* criteria_weights.coral_cover_tol, + criteria_weights.in_seed_connectivity, + criteria_weights.out_seed_connectivity, + criteria_weights.wave_stress, + criteria_weights.heat_stress, + criteria_weights.seed_priority, + criteria_weights.zone_seed, + criteria_weights.coral_cover_low, + criteria_weights.depth_seed, + ) + + S = NamedDimsArray( + S[:, 2:end]; + locations=S[:, 1], + criteria=[ + :in_connectivity, + :out_connectivity, + :wave_stress, + :heat_stress, + :priority_predecessor, + :zones, + :leftover_space, + :depth, + ], + ) + elseif int_type == :fog + S, ws = create_shade_matrix( + A, + site_k_area(dom)[site_ids][filtered_sites], + criteria_weights.shade_connectivity, + criteria_weights.wave_stress, + criteria_weights.heat_stress, + criteria_weights.shade_priority, + criteria_weights.zone_shade, + criteria_weights.coral_cover_high, + ) + S = NamedDimsArray( + S[:, 2:end]; + locations=S[:, 1], + criteria=[ + :in_connectivity, + :out_connectivity, + :wave_stress, + :heat_stress, + :priority_predecessor, + :zones, + :coral_area, + ], + ) + else + error("$int_type is not a valid intervention type.") + end + return S, ws +end From 3b8a703bb66936c799f3756f2bd9e416b86960ae Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Thu, 16 Nov 2023 15:22:47 +1000 Subject: [PATCH 04/39] Move priority predecessor criteria calculation and zones criteria calculation into separate functions to avoid repetition --- src/decision/dMCDA.jl | 51 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/src/decision/dMCDA.jl b/src/decision/dMCDA.jl index 1105ed721..a43f1fc77 100644 --- a/src/decision/dMCDA.jl +++ b/src/decision/dMCDA.jl @@ -593,11 +593,9 @@ function guided_site_selection( # site_id, seeding rank, shading rank rankings = Int64[site_ids zeros(Int64, n_sites) zeros(Int64, n_sites)] - # work out which priority predecessors are connected to priority sites - predec::Matrix{Float64} = zeros(n_sites, 3) - predec[:, 1:2] .= strong_pred - predprior = predec[in.(predec[:, 1], [priority_sites']), 2] - predprior = Int64[x for x in predprior if !isnan(x)] + # calculate priority predecessor and zones criteria + predec = priority_predecessor_criteria(strong_pred, priority_sites, n_sites) + zones_crit = zones_criteria(priority_zones, zones, strong_pred, site_ids) predec[predprior, 3] .= 1.0 @@ -713,6 +711,49 @@ function guided_site_selection( return pref_seed_locs, pref_fog_locs, rankings end +function priority_predecessor_criteria( + strong_pred::Vector{Int64}, priority_sites::Vector{Int64}, n_sites::Int64 +) + predec::Matrix{Float64} = zeros(n_sites, 3) + predec[:, 1:2] .= strong_pred + predprior = predec[in.(predec[:, 1], [priority_sites']), 2] + predprior = Int64[x for x in predprior if !isnan(x)] + + predec[predprior, 3] .= 1.0 + + return predec +end + +function zones_criteria( + priority_zones::Vector{String}, + zones::Vector{String}, + strong_pred::Vector{Int64}, + site_ids::Vector{Int64}, +) + n_sites = length(site_ids) + # for zones, find sites which are zones and strongest predecessors of sites in zones + zone_ids = intersect(priority_zones, unique(zones)) + zone_weights = mcda_normalize(collect(length(zone_ids):-1:1)) + zone_preds = zeros(n_sites) + zone_sites = zeros(n_sites) + + for (k::Int64, z_name::String) in enumerate(zone_ids) + # find sites which are strongest predecessors of sites in the zone + zone_preds_temp::Vector{Int64} = strong_pred[zones .== z_name] + for s::Int64 in unique(zone_preds_temp) + # for each predecessor site, add zone_weights * (no. of zone sites the site is a strongest predecessor for) + zone_preds[site_ids .== s] .= + zone_preds[site_ids .== s] .+ + (zone_weights[k] .* sum(zone_preds_temp .== s)) + end + # add zone_weights for sites in the zone (whether a strongest predecessor of a zone or not) + zone_sites[zones .== z_name] .= zone_weights[k] + end + + # add weights for strongest predecessors and zones to get zone criteria + return zone_preds .+ zone_sites +end + """ constrain_reef_cluster(reefs::Union{Vector{String}, Vector{Float64}}, s_order::Matrix{Union{Float64, Int64}}, rankings::Matrix{Int64}, From 89a3988e398c57021f7b808947904944022ee854 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Fri, 17 Nov 2023 14:49:50 +1000 Subject: [PATCH 05/39] Add function to plot specified criteria from a decision matrix as a grid of spatial heatmaps Label dimensions with full site id to avoid errors with `viz.map` --- ext/AvizExt/viz/location_selection.jl | 42 +++++++++++++++++++++++++++ src/decision/location_selection.jl | 4 +-- src/viz/viz.jl | 1 + 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/ext/AvizExt/viz/location_selection.jl b/ext/AvizExt/viz/location_selection.jl index d450a907f..5010c959a 100644 --- a/ext/AvizExt/viz/location_selection.jl +++ b/ext/AvizExt/viz/location_selection.jl @@ -128,6 +128,48 @@ function ADRIA.viz.ranks_to_frequencies( return f end +function ADRIA.viz.decision_matrices!( + g::Union{GridLayout,GridPosition}, + rs::ResultSet, + S::NamedDimsArray, + criteria::Vector{Symbol}; + opts::Dict=Dict(), + axis_opts::Dict=Dict(), +) + n_criteria::Int64 = length(criteria) + opts[:color_map] = get(opts, :color_map, :viridis) + n_rows, n_cols = _calc_gridsize(n_criteria) + criteria_names = String.(criteria) + step::Int64 = 1 + + for row in 1:n_rows, col in 1:n_cols + ADRIA.viz.map!( + g[row, col], + rs, + vec(S(criteria[step])); + opts=opts, + axis_opts=Dict(:title => criteria_names[step]), + ) + + step += 1 + if step > n_criteria + break + end + end + + try + # Clear empty figures + trim!(g) + catch err + if !(err isa MethodError) + # GridPosition plots a single figure so does + # not need empty figures to be cleared + # If any other error is encountered, something else happened. + rethrow(err) + end + end +end + """ _default_colormap(rank_groups::Dict{Symbol,BitVector}, alpha_vals::Dict{Symbol,Float64}) diff --git a/src/decision/location_selection.jl b/src/decision/location_selection.jl index 4f7b61729..71397b172 100644 --- a/src/decision/location_selection.jl +++ b/src/decision/location_selection.jl @@ -374,7 +374,7 @@ function decision_matrices( S = NamedDimsArray( S[:, 2:end]; - locations=S[:, 1], + locations=dom.site_data.site_id, criteria=[ :in_connectivity, :out_connectivity, @@ -399,7 +399,7 @@ function decision_matrices( ) S = NamedDimsArray( S[:, 2:end]; - locations=S[:, 1], + locations=dom.site_data.site_id, criteria=[ :in_connectivity, :out_connectivity, diff --git a/src/viz/viz.jl b/src/viz/viz.jl index 96198b597..21b6e4483 100644 --- a/src/viz/viz.jl +++ b/src/viz/viz.jl @@ -49,6 +49,7 @@ function rules_scatter!() end # Location selection plots function ranks_to_frequencies() end function ranks_to_frequencies!() end +function decision_matrices!() end # Spatial function map() end From e70e1d508516eac89954cab8424c8b57a5de6f3f Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Fri, 17 Nov 2023 16:23:01 +1000 Subject: [PATCH 06/39] Add docs for `viz.decision_matrices` and option to plot without provided figure object Also fix how `axis_opts` is defined to avoid overwriting inputs Add documentation for `decision_matrices` --- ext/AvizExt/viz/location_selection.jl | 40 ++++++++++++++++++++++++++- src/decision/location_selection.jl | 18 ++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/ext/AvizExt/viz/location_selection.jl b/ext/AvizExt/viz/location_selection.jl index 5010c959a..a33d52271 100644 --- a/ext/AvizExt/viz/location_selection.jl +++ b/ext/AvizExt/viz/location_selection.jl @@ -128,6 +128,43 @@ function ADRIA.viz.ranks_to_frequencies( return f end +""" + ADRIA.viz.decision_matrices(rs::ResultSet, S::NamedDimsArray, criteria::Vector{Symbol}; opts::Dict=Dict(), + axis_opts::Dict=Dict(), fig_opts::Dict=Dict()) + ADRIA.viz.decision_matrices!(g::Union{GridLayout,GridPosition}, rs::ResultSet, S::NamedDimsArray, criteria::Vector{Symbol}; + opts::Dict=Dict(), axis_opts::Dict=Dict()) + +Plot a grid of spatial maps for a selection of location selection criteria. + +# Arguments +- `g` : Figure GridPosition or GridLayout +- `rs` : Result set +- `S` : A decision matrix calculated using decison.decision_matrices +- `criteria` : Names of criteria to be plotted, e.g [:heat_stress, :wave_stress] +- `opts` : Aviz options + - `colorbar_label`, label for colorbar. Defaults to "Relative Cover". + - `color_map`, preferred colormap for plotting heatmaps. +- `axis_opts` : Additional options to pass to adjust Axis attributes + See: https://docs.makie.org/v0.19/api/index.html#Axis +- `fig_opts` : Additional options to pass to adjust Figure creation + See: https://docs.makie.org/v0.19/api/index.html#Figure + +# Returns +Figure +""" +function ADRIA.viz.decision_matrices( + rs::ResultSet, + S::NamedDimsArray, + criteria::Vector{Symbol}; + opts::Dict=Dict(), + axis_opts::Dict=Dict(), + fig_opts::Dict=Dict(), +) + f = Figure(; fig_opts...) + g = f[1, 1] = GridLayout() + ADRIA.viz.decision_matrices!(g, rs, S, criteria; opts=opts, axis_opts=axis_opts) + return f +end function ADRIA.viz.decision_matrices!( g::Union{GridLayout,GridPosition}, rs::ResultSet, @@ -143,12 +180,13 @@ function ADRIA.viz.decision_matrices!( step::Int64 = 1 for row in 1:n_rows, col in 1:n_cols + axis_opts_temp = Dict(:title => criteria_names[step]; axis_opts...) ADRIA.viz.map!( g[row, col], rs, vec(S(criteria[step])); opts=opts, - axis_opts=Dict(:title => criteria_names[step]), + axis_opts=axis_opts_temp, ) step += 1 diff --git a/src/decision/location_selection.jl b/src/decision/location_selection.jl index 71397b172..08ed231d7 100644 --- a/src/decision/location_selection.jl +++ b/src/decision/location_selection.jl @@ -321,6 +321,24 @@ function selection_score( return selection_score ./ ((lowest_rank - 1) * prod([size(ranks, d) for d in dims])) end +""" + decision_matrices(dom::Domain, criteria_weights::DataFrameRow, int_type::Symbol; cover=dom.init_coral_cover::AbstractArray, + site_ids=collect(1:length(dom.site_data.site_id))::Vector{Int64},area_to_seed::Float64=962.11) + +Calculates a decision matrix for a specified intervention, using a scenario specification and Domain alone. + These can be visualised spatially using `viz.decision_matrices`. + +# Arguments +- `dom` : Domain struct +- `criteria_weights` : A row of a scenario dataframe, containing intervention criteria weights. +- `int_type` : Intervention type (e.g. :seed or :fog) +- `cover` : Relative coral cover to site k area (dims: nspecies*nsites), default is initial cover +- `site_ids` : Indices for sites to be included in the decision matrix, default is all sites in Domain +- `area_to_seed` : Area of corals seeded in the scenario considered + +# Returns +Selection score +""" function decision_matrices( dom::Domain, criteria_weights::DataFrameRow, From 96916ca1a9419de26a692f109cfb17e3aa9860c1 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Tue, 21 Nov 2023 07:53:59 +1000 Subject: [PATCH 07/39] Change `int_type` to `iv_type` --- src/decision/location_selection.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/decision/location_selection.jl b/src/decision/location_selection.jl index 08ed231d7..38e018867 100644 --- a/src/decision/location_selection.jl +++ b/src/decision/location_selection.jl @@ -342,7 +342,7 @@ Selection score function decision_matrices( dom::Domain, criteria_weights::DataFrameRow, - int_type::Symbol; + iv_type::Symbol; cover=dom.init_coral_cover::AbstractArray, site_ids=collect(1:length(dom.site_data.site_id))::Vector{Int64}, area_to_seed::Float64=962.11, @@ -376,7 +376,7 @@ function decision_matrices( criteria_weights.deployed_coral_risk_tol, ) - if int_type == :seed + if iv_type == :seed S, ws = create_seed_matrix( A, area_to_seed .* criteria_weights.coral_cover_tol, @@ -404,7 +404,7 @@ function decision_matrices( :depth, ], ) - elseif int_type == :fog + elseif iv_type == :fog S, ws = create_shade_matrix( A, site_k_area(dom)[site_ids][filtered_sites], @@ -429,7 +429,7 @@ function decision_matrices( ], ) else - error("$int_type is not a valid intervention type.") + error("$iv_type is not a valid intervention type.") end return S, ws end From 020820855d31a4e4070a8c7545fefe3caf794c0a Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Tue, 21 Nov 2023 07:54:30 +1000 Subject: [PATCH 08/39] Add `decison_matrices` to viz.jl --- src/viz/viz.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/viz/viz.jl b/src/viz/viz.jl index 21b6e4483..6209ffb1f 100644 --- a/src/viz/viz.jl +++ b/src/viz/viz.jl @@ -49,6 +49,7 @@ function rules_scatter!() end # Location selection plots function ranks_to_frequencies() end function ranks_to_frequencies!() end +function decision_matrices() end function decision_matrices!() end # Spatial From deb0e61c6bff95cc3f2b46dcdbc1733da77fcaf1 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Thu, 23 Nov 2023 15:25:51 +1000 Subject: [PATCH 09/39] Fix reference to undefined `zones_criteria` --- src/decision/dMCDA.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/decision/dMCDA.jl b/src/decision/dMCDA.jl index a43f1fc77..fec7588e1 100644 --- a/src/decision/dMCDA.jl +++ b/src/decision/dMCDA.jl @@ -631,7 +631,7 @@ function guided_site_selection( d_vars.heat_stress_prob[site_ids], d_vars.site_depth[site_ids], predec, - zones_criteria, + zones_crit, d_vars.risk_tol, ) if isempty(A) From 6918e3bff0f20819b4ec7bb76059ff04f165994f Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Mon, 27 Nov 2023 15:29:20 +1000 Subject: [PATCH 10/39] Change references to criteria weights names to reflect changes to CriteriaWeights --- src/decision/location_selection.jl | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/decision/location_selection.jl b/src/decision/location_selection.jl index 38e018867..fbc7722a4 100644 --- a/src/decision/location_selection.jl +++ b/src/decision/location_selection.jl @@ -380,14 +380,14 @@ function decision_matrices( S, ws = create_seed_matrix( A, area_to_seed .* criteria_weights.coral_cover_tol, - criteria_weights.in_seed_connectivity, - criteria_weights.out_seed_connectivity, - criteria_weights.wave_stress, - criteria_weights.heat_stress, + criteria_weights.seed_in_connectivity, + criteria_weights.seed_out_connectivity, + criteria_weights.seed_wave_stress, + criteria_weights.seed_heat_stress, criteria_weights.seed_priority, - criteria_weights.zone_seed, + criteria_weights.seed_zone, criteria_weights.coral_cover_low, - criteria_weights.depth_seed, + criteria_weights.seed_depth, ) S = NamedDimsArray( @@ -405,14 +405,14 @@ function decision_matrices( ], ) elseif iv_type == :fog - S, ws = create_shade_matrix( + S, ws = create_fog_matrix( A, site_k_area(dom)[site_ids][filtered_sites], - criteria_weights.shade_connectivity, - criteria_weights.wave_stress, - criteria_weights.heat_stress, - criteria_weights.shade_priority, - criteria_weights.zone_shade, + criteria_weights.fog_connectivity, + criteria_weights.fog_wave_stress, + criteria_weights.fog_heat_stress, + criteria_weights.fog_priority, + criteria_weights.fog_zone, criteria_weights.coral_cover_high, ) S = NamedDimsArray( From 861f7eadbbaa7bdd0b00d4092e70815b225381bd Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Wed, 29 Nov 2023 14:00:18 +1000 Subject: [PATCH 11/39] Add plotting mcda aggregate score to decision matrix plots Change `decision.decision_matrices` to give both intervention matrices as output Add in plotting of scores in `viz.decision_matrices()` and change to square plotting grid --- ext/AvizExt/viz/location_selection.jl | 22 ++++-- src/decision/location_selection.jl | 109 +++++++++++++------------- 2 files changed, 68 insertions(+), 63 deletions(-) diff --git a/ext/AvizExt/viz/location_selection.jl b/ext/AvizExt/viz/location_selection.jl index a33d52271..74d0a6b29 100644 --- a/ext/AvizExt/viz/location_selection.jl +++ b/ext/AvizExt/viz/location_selection.jl @@ -155,6 +155,7 @@ Figure function ADRIA.viz.decision_matrices( rs::ResultSet, S::NamedDimsArray, + scores::Vector{Float64}, criteria::Vector{Symbol}; opts::Dict=Dict(), axis_opts::Dict=Dict(), @@ -162,24 +163,34 @@ function ADRIA.viz.decision_matrices( ) f = Figure(; fig_opts...) g = f[1, 1] = GridLayout() - ADRIA.viz.decision_matrices!(g, rs, S, criteria; opts=opts, axis_opts=axis_opts) + ADRIA.viz.decision_matrices!(g, rs, S, scores, criteria; opts=opts, axis_opts=axis_opts) return f end function ADRIA.viz.decision_matrices!( g::Union{GridLayout,GridPosition}, rs::ResultSet, S::NamedDimsArray, + scores::Vector{Float64}, criteria::Vector{Symbol}; opts::Dict=Dict(), axis_opts::Dict=Dict(), ) + if length(rs.site_data.site_id) != size(S, 1) + error("Only unfiltered decision matrices can be plotted.") + end n_criteria::Int64 = length(criteria) opts[:color_map] = get(opts, :color_map, :viridis) - n_rows, n_cols = _calc_gridsize(n_criteria) + n_rows, n_cols = _calc_gridsize(n_criteria + 1) criteria_names = String.(criteria) step::Int64 = 1 - + s_row = 1 + s_col = 1 for row in 1:n_rows, col in 1:n_cols + if step > n_criteria + s_row = row + s_col = col + break + end axis_opts_temp = Dict(:title => criteria_names[step]; axis_opts...) ADRIA.viz.map!( g[row, col], @@ -190,11 +201,8 @@ function ADRIA.viz.decision_matrices!( ) step += 1 - if step > n_criteria - break - end end - + ADRIA.viz.map!(g[s_row, s_col], rs, vec(scores); opts=opts, axis_opts=axis_opts_temp) try # Clear empty figures trim!(g) diff --git a/src/decision/location_selection.jl b/src/decision/location_selection.jl index fbc7722a4..c63969da3 100644 --- a/src/decision/location_selection.jl +++ b/src/decision/location_selection.jl @@ -341,8 +341,7 @@ Selection score """ function decision_matrices( dom::Domain, - criteria_weights::DataFrameRow, - iv_type::Symbol; + criteria_weights::DataFrameRow; cover=dom.init_coral_cover::AbstractArray, site_ids=collect(1:length(dom.site_data.site_id))::Vector{Int64}, area_to_seed::Float64=962.11, @@ -376,60 +375,58 @@ function decision_matrices( criteria_weights.deployed_coral_risk_tol, ) - if iv_type == :seed - S, ws = create_seed_matrix( - A, - area_to_seed .* criteria_weights.coral_cover_tol, - criteria_weights.seed_in_connectivity, - criteria_weights.seed_out_connectivity, - criteria_weights.seed_wave_stress, - criteria_weights.seed_heat_stress, - criteria_weights.seed_priority, - criteria_weights.seed_zone, - criteria_weights.coral_cover_low, - criteria_weights.seed_depth, - ) - S = NamedDimsArray( - S[:, 2:end]; - locations=dom.site_data.site_id, - criteria=[ - :in_connectivity, - :out_connectivity, - :wave_stress, - :heat_stress, - :priority_predecessor, - :zones, - :leftover_space, - :depth, - ], - ) - elseif iv_type == :fog - S, ws = create_fog_matrix( - A, - site_k_area(dom)[site_ids][filtered_sites], - criteria_weights.fog_connectivity, - criteria_weights.fog_wave_stress, - criteria_weights.fog_heat_stress, - criteria_weights.fog_priority, - criteria_weights.fog_zone, - criteria_weights.coral_cover_high, - ) - S = NamedDimsArray( - S[:, 2:end]; - locations=dom.site_data.site_id, - criteria=[ - :in_connectivity, - :out_connectivity, - :wave_stress, - :heat_stress, - :priority_predecessor, - :zones, - :coral_area, - ], + S, wse = create_seed_matrix( + A, + area_to_seed .* criteria_weights.coral_cover_tol, + criteria_weights.seed_in_connectivity, + criteria_weights.seed_out_connectivity, + criteria_weights.seed_wave_stress, + criteria_weights.seed_heat_stress, + criteria_weights.seed_priority, + criteria_weights.seed_zone, + criteria_weights.coral_cover_low, + criteria_weights.seed_depth, ) - else - error("$iv_type is not a valid intervention type.") - end - return S, ws + + SE = NamedDimsArray( + S[:, 2:end]; + locations=dom.site_data.site_id, + criteria=[ + :in_connectivity, + :out_connectivity, + :wave_stress, + :heat_stress, + :priority_predecessor, + :zones, + :leftover_space, + :depth, + ], + ) + + S, wsh = create_fog_matrix( + A, + site_k_area(dom)[site_ids][filtered_sites], + criteria_weights.fog_connectivity, + criteria_weights.fog_wave_stress, + criteria_weights.fog_heat_stress, + criteria_weights.fog_priority, + criteria_weights.fog_zone, + criteria_weights.coral_cover_high, + ) + SH = NamedDimsArray( + S[:, 2:end]; + locations=dom.site_data.site_id, + criteria=[ + :in_connectivity, + :out_connectivity, + :wave_stress, + :heat_stress, + :priority_predecessor, + :zones, + :coral_area, + ], + ) + + return SE, wse, SH, wsh end From ba810a61811d599a4c85c3a819afd278eac295d3 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Wed, 29 Nov 2023 14:18:03 +1000 Subject: [PATCH 12/39] Change grid size definition to be square Add title to aggregate score plot --- ext/AvizExt/viz/location_selection.jl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ext/AvizExt/viz/location_selection.jl b/ext/AvizExt/viz/location_selection.jl index 74d0a6b29..f890ba0e1 100644 --- a/ext/AvizExt/viz/location_selection.jl +++ b/ext/AvizExt/viz/location_selection.jl @@ -180,7 +180,7 @@ function ADRIA.viz.decision_matrices!( end n_criteria::Int64 = length(criteria) opts[:color_map] = get(opts, :color_map, :viridis) - n_rows, n_cols = _calc_gridsize(n_criteria + 1) + n_rows = n_cols = ceil(Int64, sqrt(n_criteria + 1)) criteria_names = String.(criteria) step::Int64 = 1 s_row = 1 @@ -202,7 +202,13 @@ function ADRIA.viz.decision_matrices!( step += 1 end - ADRIA.viz.map!(g[s_row, s_col], rs, vec(scores); opts=opts, axis_opts=axis_opts_temp) + ADRIA.viz.map!( + g[s_row, s_col], + rs, + vec(scores); + opts=opts, + axis_opts=Dict(:title => "Aggregate score"; axis_opts...), + ) try # Clear empty figures trim!(g) From 287489c9bc0eba671809a6fffed5ffde2a1638a2 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Fri, 5 Jan 2024 14:39:12 +1000 Subject: [PATCH 13/39] Add "decision.jl" to "analysis.jl" + formatting --- src/analysis/analysis.jl | 103 +++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 47 deletions(-) diff --git a/src/analysis/analysis.jl b/src/analysis/analysis.jl index 63bb76a57..ea5ca552e 100644 --- a/src/analysis/analysis.jl +++ b/src/analysis/analysis.jl @@ -8,57 +8,65 @@ using NamedDims, AxisKeys using Statistics, DataFrames """ - col_normalize(data::AbstractArray)::AbstractArray + col_normalize(data::AbstractArray)::AbstractArray Normalize a matrix on a per-column basis (∈ [0, 1]). """ -function col_normalize(data::AbstractMatrix{T})::AbstractMatrix{T} where {T<:Union{Missing,Real}} - d = copy(data) - Threads.@threads for ax in axes(d, 2) - @inbounds d[:, ax] .= normalize!(d[:, ax]) - end - - return d +function col_normalize( + data::AbstractMatrix{T} +)::AbstractMatrix{T} where {T <: Union{Missing, Real}} + d = copy(data) + Threads.@threads for ax in axes(d, 2) + @inbounds d[:, ax] .= normalize!(d[:, ax]) + end + + return d end -function col_normalize(data::AbstractVector{T})::AbstractVector{T} where {T<:Union{Missing,Real}} - return normalize(data) +function col_normalize( + data::AbstractVector{T} +)::AbstractVector{T} where {T <: Union{Missing, Real}} + return normalize(data) end """ - normalize(data::AbstractArray{T})::AbstractArray{T} where {T<:Real} + normalize(data::AbstractArray{T})::AbstractArray{T} where {T<:Real} Normalize a matrix or vector (∈ [0, 1]). """ -function normalize(data::AbstractArray{T})::AbstractArray{T} where {T<:Union{Missing,Real}} - d = copy(data) - normalize!(d) +function normalize( + data::AbstractArray{T} +)::AbstractArray{T} where {T <: Union{Missing, Real}} + d = copy(data) + normalize!(d) - return d + return d end """ - normalize!(data::AbstractArray{T})::AbstractArray{T} where {T<:Real} + normalize!(data::AbstractArray{T})::AbstractArray{T} where {T<:Real} Normalize a matrix or vector (∈ [0, 1]) in place. """ -function normalize!(data::AbstractArray{T})::AbstractArray{T} where {T<:Union{Missing,Real}} - if count(!ismissing, data) == 0 - data .= zeros(size(data)...) - return data - end - - (mi, ma) = extrema(skipmissing(data)) - if mi == ma - pos = findall(!ismissing, data) - data[pos] .= zeros(typeof(data[pos][1]), size(data[pos])...) - return data - end - - data .= (data .- mi) ./ (ma - mi) +function normalize!( + data::AbstractArray{T} +)::AbstractArray{T} where {T <: Union{Missing, Real}} + if count(!ismissing, data) == 0 + data .= zeros(size(data)...) + return data + end + + (mi, ma) = extrema(skipmissing(data)) + if mi == ma + pos = findall(!ismissing, data) + data[pos] .= zeros(typeof(data[pos][1]), size(data[pos])...) + return data + end + + return data .= (data .- mi) ./ (ma - mi) end """ - discretize_outcomes(y; S=20) + discretize_outcomes(y; S=20) Normalize outcomes (column wise) and discretize them into \$S\$ bins. @@ -67,22 +75,22 @@ S := 1.0 - 0.9 S-1 := 0.9 - 0.8 etc """ -function discretize_outcomes(y; S=20) - steps = 0.0:(1/S):1.0 - - y_s_hat = col_normalize(y) - y_disc = zeros(size(y)...) - for i in axes(steps, 1)[2:end] - Threads.@threads for j in size(y_s_hat, 2) - y_disc[steps[i-1]. Date: Fri, 5 Jan 2024 14:41:23 +1000 Subject: [PATCH 14/39] Add "Vector{Any}" as possible type for `priority_zones` and `priority_sites` in criteria constuctors ( as these are their types in the result set) + formatting --- src/decision/dMCDA.jl | 1273 ++++++++++++++++++++--------------------- 1 file changed, 633 insertions(+), 640 deletions(-) diff --git a/src/decision/dMCDA.jl b/src/decision/dMCDA.jl index fec7588e1..ecab5c163 100644 --- a/src/decision/dMCDA.jl +++ b/src/decision/dMCDA.jl @@ -9,217 +9,217 @@ using InteractiveUtils: subtypes using ADRIA: Domain, EcoModel, n_locations, site_area, site_k_area, site_k struct DMCDA_vars # {V, I, F, M} where V <: Vector - site_ids # ::V - n_site_int # ::I - priority_sites # ::V - priority_zones # ::V - zones # ::V - strong_pred # ::V - conn - dam_prob # ::A - heat_stress_prob # ::A - site_depth #::V - leftover_space # ::F - k_area # ::V - risk_tol # ::F - max_members # ::F - spatial_groups #::V - area_to_seed #::V - wt_in_conn_seed # ::F - wt_out_conn_seed # ::F - wt_conn_fog # ::F - wt_waves_seed # ::F - wt_waves_fog # ::F - wt_heat_seed # ::F - wt_heat_fog # ::F - wt_depth_seed # ::F - wt_hi_cover # ::F - wt_lo_cover # ::F - wt_predec_seed # ::F - wt_predec_fog # ::F - wt_zones_seed # ::F - wt_zones_fog # ::F + site_ids # ::V + n_site_int # ::I + priority_sites # ::V + priority_zones # ::V + zones # ::V + strong_pred # ::V + conn + dam_prob # ::A + heat_stress_prob # ::A + site_depth #::V + leftover_space # ::F + k_area # ::V + risk_tol # ::F + max_members # ::F + spatial_groups #::V + area_to_seed #::V + wt_in_conn_seed # ::F + wt_out_conn_seed # ::F + wt_conn_fog # ::F + wt_waves_seed # ::F + wt_waves_fog # ::F + wt_heat_seed # ::F + wt_heat_fog # ::F + wt_depth_seed # ::F + wt_hi_cover # ::F + wt_lo_cover # ::F + wt_predec_seed # ::F + wt_predec_fog # ::F + wt_zones_seed # ::F + wt_zones_fog # ::F end include("mcda_methods.jl") include("location_selection.jl") function supported_jmcdm_methods() - return [ - JMcDM.ARAS.ArasMethod, - JMcDM.COCOSO.CocosoMethod, - JMcDM.CODAS.CodasMethod, - JMcDM.EDAS.EdasMethod, - JMcDM.GREY.GreyMethod, - JMcDM.MABAC.MabacMethod, - JMcDM.MAIRCA.MaircaMethod, - JMcDM.MARCOS.MarcosMethod, - JMcDM.MOORA.MooraMethod, - JMcDM.PIV.PIVMethod, - JMcDM.PSI.PSIMethod, - JMcDM.SAW.SawMethod, - JMcDM.WASPAS.WaspasMethod, - JMcDM.WPM.WPMMethod, - ] + return [ + JMcDM.ARAS.ArasMethod, + JMcDM.COCOSO.CocosoMethod, + JMcDM.CODAS.CodasMethod, + JMcDM.EDAS.EdasMethod, + JMcDM.GREY.GreyMethod, + JMcDM.MABAC.MabacMethod, + JMcDM.MAIRCA.MaircaMethod, + JMcDM.MARCOS.MarcosMethod, + JMcDM.MOORA.MooraMethod, + JMcDM.PIV.PIVMethod, + JMcDM.PSI.PSIMethod, + JMcDM.SAW.SawMethod, + JMcDM.WASPAS.WaspasMethod, + JMcDM.WPM.WPMMethod, + ] end function mcda_methods() - return [ - order_ranking, - adria_vikor, - adria_topsis, - supported_jmcdm_methods()..., - ] + return [ + order_ranking, + adria_vikor, + adria_topsis, + supported_jmcdm_methods()..., + ] end """ - DMCDA_vars(domain::Domain, criteria::NamedDimsArray, - site_ids::AbstractArray, leftover_space::AbstractArray, area_to_seed::Float64, - waves::AbstractArray, dhws::AbstractArray)::DMCDA_vars - DMCDA_vars(domain::Domain, criteria::NamedDimsArray, site_ids::AbstractArray, - leftover_space::AbstractArray, area_to_seed::Float64)::DMCDA_vars - DMCDA_vars(domain::Domain, criteria::DataFrameRow, site_ids::AbstractArray, - leftover_space::AbstractArray, area_to_seed::Float64)::DMCDA_vars - DMCDA_vars(domain::Domain, criteria::DataFrameRow, site_ids::AbstractArray, - leftover_space::AbstractArray, area_to_seed::Float64, - waves::AbstractArray, dhw::AbstractArray)::DMCDA_vars + DMCDA_vars(domain::Domain, criteria::NamedDimsArray, + site_ids::AbstractArray, leftover_space::AbstractArray, area_to_seed::Float64, + waves::AbstractArray, dhws::AbstractArray)::DMCDA_vars + DMCDA_vars(domain::Domain, criteria::NamedDimsArray, site_ids::AbstractArray, + leftover_space::AbstractArray, area_to_seed::Float64)::DMCDA_vars + DMCDA_vars(domain::Domain, criteria::DataFrameRow, site_ids::AbstractArray, + leftover_space::AbstractArray, area_to_seed::Float64)::DMCDA_vars + DMCDA_vars(domain::Domain, criteria::DataFrameRow, site_ids::AbstractArray, + leftover_space::AbstractArray, area_to_seed::Float64, + waves::AbstractArray, dhw::AbstractArray)::DMCDA_vars Constuctors for DMCDA variables. """ function DMCDA_vars( - domain::Domain, - criteria::NamedDimsArray, - site_ids::AbstractArray, - leftover_space::AbstractArray, - area_to_seed::Float64, - waves::AbstractArray, - dhws::AbstractArray, + domain::Domain, + criteria::NamedDimsArray, + site_ids::AbstractArray, + leftover_space::AbstractArray, + area_to_seed::Float64, + waves::AbstractArray, + dhws::AbstractArray, )::DMCDA_vars - # Site Data - site_d = domain.site_data - - mcda_vars = DMCDA_vars( - site_ids, - domain.sim_constants.n_site_int, - domain.sim_constants.priority_sites, - domain.sim_constants.priority_zones, - site_d.zone_type, - domain.strong_pred, - domain.TP_data .* site_k_area(domain), - waves, - dhws, - site_d.depth_med, - leftover_space, - site_k_area(domain), - criteria("deployed_coral_risk_tol"), - domain.sim_constants.max_members, - domain.site_data.UNIQUE_ID, - area_to_seed, - criteria("seed_in_connectivity"), - criteria("seed_out_connectivity"), - criteria("fog_connectivity"), - criteria("seed_wave_stress"), - criteria("fog_wave_stress"), - criteria("seed_heat_stress"), - criteria("fog_heat_stress"), - criteria("seed_depth"), - criteria("coral_cover_high"), - criteria("coral_cover_low"), - criteria("seed_priority"), - criteria("fog_priority"), - criteria("seed_zone"), - criteria("fog_zone"), - ) - - return mcda_vars + # Site Data + site_d = domain.site_data + + mcda_vars = DMCDA_vars( + site_ids, + domain.sim_constants.n_site_int, + domain.sim_constants.priority_sites, + domain.sim_constants.priority_zones, + site_d.zone_type, + domain.strong_pred, + domain.TP_data .* site_k_area(domain), + waves, + dhws, + site_d.depth_med, + leftover_space, + site_k_area(domain), + criteria("deployed_coral_risk_tol"), + domain.sim_constants.max_members, + domain.site_data.UNIQUE_ID, + area_to_seed, + criteria("seed_in_connectivity"), + criteria("seed_out_connectivity"), + criteria("fog_connectivity"), + criteria("seed_wave_stress"), + criteria("fog_wave_stress"), + criteria("seed_heat_stress"), + criteria("fog_heat_stress"), + criteria("seed_depth"), + criteria("coral_cover_high"), + criteria("coral_cover_low"), + criteria("seed_priority"), + criteria("fog_priority"), + criteria("seed_zone"), + criteria("fog_zone"), + ) + + return mcda_vars end function DMCDA_vars( - domain::Domain, - criteria::NamedDimsArray, - site_ids::AbstractArray, - leftover_space::AbstractArray, - area_to_seed::Float64, + domain::Domain, + criteria::NamedDimsArray, + site_ids::AbstractArray, + leftover_space::AbstractArray, + area_to_seed::Float64, )::DMCDA_vars - num_sites = n_locations(domain) - return DMCDA_vars( - domain, - criteria, - site_ids, - leftover_space, - area_to_seed, - zeros(num_sites, 1), - zeros(num_sites, 1), - ) + num_sites = n_locations(domain) + return DMCDA_vars( + domain, + criteria, + site_ids, + leftover_space, + area_to_seed, + zeros(num_sites, 1), + zeros(num_sites, 1), + ) end function DMCDA_vars( - domain::Domain, - criteria::DataFrameRow, - site_ids::AbstractArray, - leftover_space::AbstractArray, - area_to_seed::Float64, - waves::AbstractArray, - dhw::AbstractArray, + domain::Domain, + criteria::DataFrameRow, + site_ids::AbstractArray, + leftover_space::AbstractArray, + area_to_seed::Float64, + waves::AbstractArray, + dhw::AbstractArray, )::DMCDA_vars - criteria_vec::NamedDimsArray = NamedDimsArray(collect(criteria); rows = names(criteria)) - return DMCDA_vars( - domain, criteria_vec, site_ids, leftover_space, area_to_seed, waves, dhw - ) + criteria_vec::NamedDimsArray = NamedDimsArray(collect(criteria); rows = names(criteria)) + return DMCDA_vars( + domain, criteria_vec, site_ids, leftover_space, area_to_seed, waves, dhw + ) end function DMCDA_vars( - domain::Domain, - criteria::DataFrameRow, - site_ids::AbstractArray, - leftover_space::AbstractArray, - area_to_seed::Float64, + domain::Domain, + criteria::DataFrameRow, + site_ids::AbstractArray, + leftover_space::AbstractArray, + area_to_seed::Float64, )::DMCDA_vars - criteria_vec::NamedDimsArray = NamedDimsArray(collect(criteria); rows = names(criteria)) - return DMCDA_vars(domain, criteria_vec, site_ids, leftover_space, area_to_seed) + criteria_vec::NamedDimsArray = NamedDimsArray(collect(criteria); rows = names(criteria)) + return DMCDA_vars(domain, criteria_vec, site_ids, leftover_space, area_to_seed) end """ - mcda_normalize(x::Vector)::Vector + mcda_normalize(x::Vector)::Vector Normalize a Vector (wse/wsh) for MCDA. """ function mcda_normalize(x::Vector)::Vector - return x ./ sum(x) + return x ./ sum(x) end """ - mcda_normalize(x::Matrix)::Matrix + mcda_normalize(x::Matrix)::Matrix Normalize a Matrix (SE/SH) for MCDA. """ function mcda_normalize(x::Matrix)::Matrix - return x ./ sqrt.(sum(x .^ 2; dims = 1)) + return x ./ sqrt.(sum(x .^ 2; dims = 1)) end """ - mcda_normalize(x::DataFrame)::DataFrame + mcda_normalize(x::DataFrame)::DataFrame Normalize weights for a set of scenarios (wse/wsh) for MCDA. """ function mcda_normalize(x::DataFrame)::DataFrame - return x ./ sum(Matrix(x); dims = 2) + return x ./ sum(Matrix(x); dims = 2) end """ - align_rankings!(rankings::Array, s_order::Matrix, col::Int64)::Nothing + align_rankings!(rankings::Array, s_order::Matrix, col::Int64)::Nothing Align a vector of site rankings to match the indicated order in `s_order`. """ function align_rankings!(rankings::Array, s_order::Matrix, col::Int64)::Nothing - # Fill target ranking column - for (i, site_id) in enumerate(s_order[:, 1]) - rankings[rankings[:, 1] .== site_id, col] .= i - end + # Fill target ranking column + for (i, site_id) in enumerate(s_order[:, 1]) + rankings[rankings[:, 1] .== site_id, col] .= i + end - return nothing + return nothing end """ - rank_sites!(S, weights, rankings, n_site_int, mcda_func, rank_col) + rank_sites!(S, weights, rankings, n_site_int, mcda_func, rank_col) # Arguments - `S` : Matrix, Site preference values @@ -233,34 +233,34 @@ end Sites in order of their rankings """ function rank_sites!( - S::Matrix{Float64}, - weights::Vector{Float64}, - rankings::Matrix{Int64}, - n_site_int::Int64, - mcda_func::Union{Function, Type{<:MCDMMethod}}, - rank_col)::Tuple{Vector{Int64}, Matrix{Union{Float64, Int64}}} - # Filter out all non-preferred sites - selector = vec(.!all(S[:, 2:end] .== 0; dims = 1)) + S::Matrix{Float64}, + weights::Vector{Float64}, + rankings::Matrix{Int64}, + n_site_int::Int64, + mcda_func::Union{Function, Type{<:MCDMMethod}}, + rank_col)::Tuple{Vector{Int64}, Matrix{Union{Float64, Int64}}} + # Filter out all non-preferred sites + selector = vec(.!all(S[:, 2:end] .== 0; dims = 1)) - # weights in order of: in_conn, out_conn, wave, heat, predecessors, low cover - weights = weights[selector] - S = S[:, Bool[1, selector...]] + # weights in order of: in_conn, out_conn, wave, heat, predecessors, low cover + weights = weights[selector] + S = S[:, Bool[1, selector...]] - s_order = retrieve_ranks(S[:, 2:end], S[:, 1], weights, mcda_func) + s_order = retrieve_ranks(S[:, 2:end], S[:, 1], weights, mcda_func) - last_idx = min(n_site_int, size(s_order, 1)) - prefsites = Int64.(s_order[1:last_idx, 1]) + last_idx = min(n_site_int, size(s_order, 1)) + prefsites = Int64.(s_order[1:last_idx, 1]) - # Match by site_id and assign rankings to log - align_rankings!(rankings, s_order, rank_col) + # Match by site_id and assign rankings to log + align_rankings!(rankings, s_order, rank_col) - return prefsites, s_order + return prefsites, s_order end """ - retrieve_ranks(S::Matrix, site_ids::Vector, weights::Vector{Float64}, mcda_func::Function)::Matrix{Union{Float64,Int64}} - retrieve_ranks(S::Matrix, site_ids::Vector, weights::Vector{Float64}, mcda_func::Type{<:MCDMMethod})::Matrix{Union{Float64,Int64}} - retrieve_ranks(site_ids::Vector, scores::Vector, maximize::Bool)::Matrix{Union{Float64,Int64}} + retrieve_ranks(S::Matrix, site_ids::Vector, weights::Vector{Float64}, mcda_func::Function)::Matrix{Union{Float64,Int64}} + retrieve_ranks(S::Matrix, site_ids::Vector, weights::Vector{Float64}, mcda_func::Type{<:MCDMMethod})::Matrix{Union{Float64,Int64}} + retrieve_ranks(site_ids::Vector, scores::Vector, maximize::Bool)::Matrix{Union{Float64,Int64}} Get location ranks using mcda technique specified in mcda_func, weights and a decision matrix S. @@ -276,38 +276,38 @@ Get location ranks using mcda technique specified in mcda_func, weights and a de Matrix, containing site_ids, criteria values, ranks """ function retrieve_ranks( - S::Matrix{Float64}, - site_ids::Vector{Float64}, - weights::Vector{Float64}, - mcda_func::Function)::Matrix{Union{Float64, Int64}} - S = mcda_normalize(S) .* weights' - scores = mcda_func(S) - - return retrieve_ranks(site_ids, vec(scores), true) + S::Matrix{Float64}, + site_ids::Vector{Float64}, + weights::Vector{Float64}, + mcda_func::Function)::Matrix{Union{Float64, Int64}} + S = mcda_normalize(S) .* weights' + scores = mcda_func(S) + + return retrieve_ranks(site_ids, vec(scores), true) end function retrieve_ranks( - S::Matrix{Float64}, - site_ids::Vector{Float64}, - weights::Vector{Float64}, - mcda_func::Type{<:MCDMMethod}, + S::Matrix{Float64}, + site_ids::Vector{Float64}, + weights::Vector{Float64}, + mcda_func::Type{<:MCDMMethod}, )::Matrix{Union{Float64, Int64}} - fns = fill(maximum, length(weights)) - results = mcdm(MCDMSetting(S, weights, fns), mcda_func()) - maximize = results.bestIndex == argmax(results.scores) + fns = fill(maximum, length(weights)) + results = mcdm(MCDMSetting(S, weights, fns), mcda_func()) + maximize = results.bestIndex == argmax(results.scores) - return retrieve_ranks(site_ids, results.scores, maximize) + return retrieve_ranks(site_ids, results.scores, maximize) end function retrieve_ranks( - site_ids::Vector{Float64}, - scores::Vector, - maximize::Bool, + site_ids::Vector{Float64}, + scores::Vector, + maximize::Bool )::Matrix{Union{Float64, Int64}} - s_order::Vector{Int64} = sortperm(scores; rev = maximize) - return Union{Float64, Int64}[Int64.(site_ids[s_order]) scores[s_order]] + s_order::Vector{Int64} = sortperm(scores; rev = maximize) + return Union{Float64, Int64}[Int64.(site_ids[s_order]) scores[s_order]] end """ - create_decision_matrix(site_ids, in_conn, out_conn, leftover_space, wave_stress, heat_stress, predec, risk_tol) + create_decision_matrix(site_ids, in_conn, out_conn, leftover_space, wave_stress, heat_stress, predec, risk_tol) Creates criteria matrix `A`, where each column is a selection criterium and each row is a site. Sites are then filtered based on heat and wave stress risk. @@ -336,62 +336,62 @@ Columns indicate: - `risk_tol` : Tolerance for wave and heat risk (∈ [0,1]). Sites with heat or wave risk> risk_tol are filtered out. """ function create_decision_matrix( - site_ids::Vector{Int64}, - in_conn::T, - out_conn::T, - leftover_space::Union{NamedDimsArray, T}, - wave_stress::T, - heat_stress::T, - site_depth::T, - predec::Matrix{Float64}, - zones_criteria::T, - risk_tol::Float64 + site_ids::Vector{Int64}, + in_conn::T, + out_conn::T, + leftover_space::Union{NamedDimsArray, T}, + wave_stress::T, + heat_stress::T, + site_depth::T, + predec::Matrix{Float64}, + zones_criteria::T, + risk_tol::Float64, )::Tuple{Matrix{Float64}, BitVector} where {T <: Vector{Float64}} - A = zeros(length(site_ids), 9) - A[:, 1] .= site_ids # Column of site ids + A = zeros(length(site_ids), 9) + A[:, 1] .= site_ids # Column of site ids - # node connectivity centrality, need to instead work out strongest predecessors to priority sites - A[:, 2] .= maximum(in_conn) != 0.0 ? in_conn / maximum(in_conn) : 0.0 - A[:, 3] .= maximum(out_conn) != 0.0 ? out_conn / maximum(out_conn) : 0.0 + # node connectivity centrality, need to instead work out strongest predecessors to priority sites + A[:, 2] .= maximum(in_conn) != 0.0 ? in_conn / maximum(in_conn) : 0.0 + A[:, 3] .= maximum(out_conn) != 0.0 ? out_conn / maximum(out_conn) : 0.0 - # Wave damage, account for cases where no chance of damage or heat stress - # if max > 0 then use damage probability from wave exposure - max_ws = maximum(wave_stress) - min_ws = minimum(wave_stress) - A[:, 4] .= max_ws == 0.0 ? 0.0 : (wave_stress .- min_ws) ./ (max_ws - min_ws) + # Wave damage, account for cases where no chance of damage or heat stress + # if max > 0 then use damage probability from wave exposure + max_ws = maximum(wave_stress) + min_ws = minimum(wave_stress) + A[:, 4] .= max_ws == 0.0 ? 0.0 : (wave_stress .- min_ws) ./ (max_ws - min_ws) - # risk from heat exposure - max_hs = maximum(heat_stress) - min_hs = minimum(heat_stress) - A[:, 5] .= max_hs == 0.0 ? 0.0 : (heat_stress .- min_hs) ./ (max_hs - min_hs) + # risk from heat exposure + max_hs = maximum(heat_stress) + min_hs = minimum(heat_stress) + A[:, 5] .= max_hs == 0.0 ? 0.0 : (heat_stress .- min_hs) ./ (max_hs - min_hs) - # priority predecessors - A[:, 6] .= predec[:, 3] + # priority predecessors + A[:, 6] .= predec[:, 3] - # priority zone predecessors and sites - A[:, 7] .= zones_criteria + # priority zone predecessors and sites + A[:, 7] .= zones_criteria - # Area of space for coral cover in m² - A[:, 8] = leftover_space + # Area of space for coral cover in m² + A[:, 8] = leftover_space - A[:, 9] = site_depth + A[:, 9] = site_depth - # Filter out sites that have high risk of wave damage, specifically - # exceeding the risk tolerance - A[A[:, 4] .> risk_tol, 4] .= NaN - rule = (A[:, 4] .<= risk_tol) .& (A[:, 5] .> risk_tol) - A[rule, 5] .= NaN + # Filter out sites that have high risk of wave damage, specifically + # exceeding the risk tolerance + A[A[:, 4] .> risk_tol, 4] .= NaN + rule = (A[:, 4] .<= risk_tol) .& (A[:, 5] .> risk_tol) + A[rule, 5] .= NaN - filtered = vec(.!any(isnan.(A); dims = 2)) + filtered = vec(.!any(isnan.(A); dims = 2)) - # Remove rows with NaNs - A = A[filtered, :] + # Remove rows with NaNs + A = A[filtered, :] - return A, filtered + return A, filtered end """ - create_seed_matrix(A, in_conn_seed, out_conn_seed, waves, heat, predec, low_cover) + create_seed_matrix(A, in_conn_seed, out_conn_seed, waves, heat, predec, low_cover) Create seeding specific decision matrix from criteria matrix. The weight criteria and filter. @@ -409,64 +409,64 @@ Create seeding specific decision matrix from criteria matrix. The weight criteri # Returns Tuple (SE, wse) - `SE` : Matrix of shape [n sites considered, 7] - 1. Site index ID - 2. Incoming centrality - 3. Outgoing centrality - 4. Wave risk (higher values = less risk) - 5. Damage risk (higher values = less risk) - 6. Priority predecessors - 7. GBRMPA zoning criteria - 8. Available space - 9. Location depth + 1. Site index ID + 2. Incoming centrality + 3. Outgoing centrality + 4. Wave risk (higher values = less risk) + 5. Damage risk (higher values = less risk) + 6. Priority predecessors + 7. GBRMPA zoning criteria + 8. Available space + 9. Location depth - `wse` : 8-element vector of criteria weights - 1. incoming connectivity - 2. outgoing connectivity - 3. wave - 4. heat - 5. seed predecessors (weights importance of sites highly connected to priority sites for seeding) - 6. seed zones (weights importance of sites highly connected to or within priority zones for seeding) - 7. low cover (weights importance of sites with low cover/high available real estate to plant corals) - 8. depth + 1. incoming connectivity + 2. outgoing connectivity + 3. wave + 4. heat + 5. seed predecessors (weights importance of sites highly connected to priority sites for seeding) + 6. seed zones (weights importance of sites highly connected to or within priority zones for seeding) + 7. low cover (weights importance of sites with low cover/high available real estate to plant corals) + 8. depth """ function create_seed_matrix( - A::Matrix{Float64}, - wt_in_conn_seed::T, - wt_out_conn_seed::T, - wt_waves_seed::T, - wt_heat_seed::T, - wt_predec_seed::T, - wt_predec_zones_seed::T, - wt_low_cover::T, - wt_depth_seed::T + A::Matrix{Float64}, + wt_in_conn_seed::T, + wt_out_conn_seed::T, + wt_waves_seed::T, + wt_heat_seed::T, + wt_predec_seed::T, + wt_predec_zones_seed::T, + wt_low_cover::T, + wt_depth_seed::T, )::Tuple{Matrix{Float64}, Vector{Float64}} where {T <: Float64} - # Define seeding decision matrix, based on copy of A - SE = copy(A) + # Define seeding decision matrix, based on copy of A + SE = copy(A) - wse = [ - wt_in_conn_seed, - wt_out_conn_seed, - wt_waves_seed, - wt_heat_seed, - wt_predec_seed, - wt_predec_zones_seed, - wt_low_cover, - wt_depth_seed, - ] + wse = [ + wt_in_conn_seed, + wt_out_conn_seed, + wt_waves_seed, + wt_heat_seed, + wt_predec_seed, + wt_predec_zones_seed, + wt_low_cover, + wt_depth_seed, + ] - SE[:, 4] = (1 .- SE[:, 4]) # compliment of wave risk - SE[:, 5] = (1 .- SE[:, 5]) # compliment of heat risk + SE[:, 4] = (1 .- SE[:, 4]) # compliment of wave risk + SE[:, 5] = (1 .- SE[:, 5]) # compliment of heat risk - SE[SE[:, 8] .<= 0.0, 8] .= NaN # Filter out sites with no space + SE[SE[:, 8] .<= 0.0, 8] .= NaN # Filter out sites with no space - # Filter out identified locations - SE = SE[vec(.!any(isnan.(SE); dims = 2)), :] + # Filter out identified locations + SE = SE[vec(.!any(isnan.(SE); dims = 2)), :] - return SE, wse + return SE, wse end """ - create_fog_matrix(A, wt_conn_fog , wt_waves_fog, wt_heat_fog, wt_predec_fog, wt_hi_cover) + create_fog_matrix(A, wt_conn_fog , wt_waves_fog, wt_heat_fog, wt_predec_fog, wt_hi_cover) Create shading specific decision matrix and apply weightings. @@ -483,60 +483,60 @@ Create shading specific decision matrix and apply weightings. # Returns Tuple (SH, wsh) - `SH` : Matrix of shape [n sites considered, 7] - 1. Site index ID - 2. Incoming Centrality - 3. Outgoing Centrality - 4. Wave risk (higher values = less risk) - 5. Damage risk (higher values = less risk) - 6. Priority predecessors relating to coral real estate relative to max capacity - 7. Available space + 1. Site index ID + 2. Incoming Centrality + 3. Outgoing Centrality + 4. Wave risk (higher values = less risk) + 5. Damage risk (higher values = less risk) + 6. Priority predecessors relating to coral real estate relative to max capacity + 7. Available space - `wsh` : 5-element vector of criteria weights - 1. fog connectivity - 2. wave - 3. heat - 4. fog predecessors (weights importance of sites highly connected to priority sites for fogging) - 4. fog zones (weights importance of sites highly connected to or within priority zones) - 5. high cover (weights importance of sites with high cover of coral to fog) + 1. fog connectivity + 2. wave + 3. heat + 4. fog predecessors (weights importance of sites highly connected to priority sites for fogging) + 4. fog zones (weights importance of sites highly connected to or within priority zones) + 5. high cover (weights importance of sites with high cover of coral to fog) """ function create_fog_matrix( - A::Matrix{Float64}, - k_area::Vector{T}, - wt_conn_fog::T, - wt_waves_fog::T, - wt_heat_fog::T, - wt_predec_fog::T, - wt_predec_zones_fog::T, - wt_hi_cover, + A::Matrix{Float64}, + k_area::Vector{T}, + wt_conn_fog::T, + wt_waves_fog::T, + wt_heat_fog::T, + wt_predec_fog::T, + wt_predec_zones_fog::T, + wt_hi_cover, )::Tuple{Matrix{Float64}, Vector{Float64}} where {T <: Float64} - # Define weights vector - wsh = [ - wt_conn_fog, - wt_conn_fog, - wt_waves_fog, - wt_heat_fog, - wt_predec_fog, - wt_predec_zones_fog, - wt_hi_cover, - ] + # Define weights vector + wsh = [ + wt_conn_fog, + wt_conn_fog, + wt_waves_fog, + wt_heat_fog, + wt_predec_fog, + wt_predec_zones_fog, + wt_hi_cover, + ] - # Set up decision matrix to be same size as A - SH = copy(A) + # Set up decision matrix to be same size as A + SH = copy(A) - # Remove consideration of site depth as shading not accounted for in bleaching model yet - SH = SH[:, 1:(end - 1)] + # Remove consideration of site depth as shading not accounted for in bleaching model yet + SH = SH[:, 1:(end - 1)] - # Get area of coral cover (m²) by subtracting leftover space from total area for coral. - SH[:, 8] = k_area .- SH[:, 8] + # Get area of coral cover (m²) by subtracting leftover space from total area for coral. + SH[:, 8] = k_area .- SH[:, 8] - SH[:, 4] = (1.0 .- SH[:, 4]) # complimentary of wave damage risk + SH[:, 4] = (1.0 .- SH[:, 4]) # complimentary of wave damage risk - SH[SH[:, 8] .< 0, 8] .= 0 # if any negative, scale back to zero - return SH, wsh + SH[SH[:, 8] .< 0, 8] .= 0 # if any negative, scale back to zero + return SH, wsh end """ - guided_site_selection(d_vars::DMCDA_vars, alg_ind::Int64, log_seed::Bool, log_fog::Bool, pref_seed_locs::AbstractArray{Int64}, pref_fog_locs::AbstractArray{Int64}, rankings_in::Matrix{Int64}) + guided_site_selection(d_vars::DMCDA_vars, alg_ind::Int64, log_seed::Bool, log_fog::Bool, pref_seed_locs::AbstractArray{Int64}, pref_fog_locs::AbstractArray{Int64}, rankings_in::Matrix{Int64}) # Arguments - `d_vars` : DMCDA_vars type struct containing weightings and criteria values for site selection. @@ -552,213 +552,195 @@ end # Returns Tuple : - - `pref_seed_locs` : Vector, Indices of preferred seeding locations - - `pref_fog_locs` : Vector, Indices of preferred shading locations - - `rankings` : Matrix[n_sites ⋅ 3] where columns are site_id, seeding_rank, shading_rank - Values of 0 indicate sites that were not considered + - `pref_seed_locs` : Vector, Indices of preferred seeding locations + - `pref_fog_locs` : Vector, Indices of preferred shading locations + - `rankings` : Matrix[n_sites ⋅ 3] where columns are site_id, seeding_rank, shading_rank + Values of 0 indicate sites that were not considered """ function guided_site_selection( - d_vars::DMCDA_vars, - alg_ind::T, - log_seed::B, - log_fog::B, - pref_seed_locs::IA, - pref_fog_locs::IB, - rankings_in::Matrix{T}, - in_conn::Vector{Float64}, - out_conn::Vector{Float64}, - strong_pred::Vector{Int64}; - methods_mcda = mcda_methods() -)::Tuple{Vector{T}, Vector{T}, Matrix{T}} where { - T <: Int64, IA <: AbstractArray{<:Int64}, IB <: AbstractArray{<:Int64}, B <: Bool + d_vars::DMCDA_vars, + alg_ind::T, + log_seed::B, + log_fog::B, + pref_seed_locs::IA, + pref_fog_locs::IB, + rankings_in::Matrix{T}, + in_conn::Vector{Float64}, + out_conn::Vector{Float64}, + strong_pred::Vector{Int64}; + methods_mcda = mcda_methods(), +)::Tuple{ + Vector{T}, Vector{T}, Matrix{T} +} where { + T <: Int64, IA <: AbstractArray{<:Int64}, IB <: AbstractArray{<:Int64}, B <: Bool } - site_ids = copy(d_vars.site_ids) - n_sites::Int64 = length(site_ids) - - # if no sites are available, abort - if n_sites == 0 - return ( - zeros(Int64, length(pref_seed_sites)), - zeros(Int64, length(pref_fog_sites)), - rankings_in, - ) - end - - n_iv_locs::Int64 = d_vars.n_site_int - priority_sites::Array{Int64} = d_vars.priority_sites[in.(d_vars.priority_sites, [site_ids])] - priority_zones::Array{String} = d_vars.priority_zones - - zones = d_vars.zones[site_ids] - - # site_id, seeding rank, shading rank - rankings = Int64[site_ids zeros(Int64, n_sites) zeros(Int64, n_sites)] - - # calculate priority predecessor and zones criteria - predec = priority_predecessor_criteria(strong_pred, priority_sites, n_sites) - zones_crit = zones_criteria(priority_zones, zones, strong_pred, site_ids) - - predec[predprior, 3] .= 1.0 - - # for zones, find sites which are zones and strongest predecessors of sites in zones - zone_ids = intersect(priority_zones, unique(zones)) - zone_weights = mcda_normalize(collect(length(zone_ids):-1:1)) - zone_preds = zeros(n_sites) - zone_sites = zeros(n_sites) - - for (k::Int64, z_name::String) in enumerate(zone_ids) - # find sites which are strongest predecessors of sites in the zone - zone_preds_temp::Vector{Int64} = strong_pred[zones .== z_name] - for s::Int64 in unique(zone_preds_temp) - # for each predecessor site, add zone_weights * (no. of zone sites the site is a strongest predecessor for) - zone_preds[site_ids .== s] .= zone_preds[site_ids .== s] .+ (zone_weights[k] .* sum(zone_preds_temp .== s)) - end - # add zone_weights for sites in the zone (whether a strongest predecessor of a zone or not) - zone_sites[zones .== z_name] .= zone_weights[k] - end - - # add weights for strongest predecessors and zones to get zone criteria - zones_criteria = zone_preds .+ zone_sites - - mcda_func = methods_mcda[alg_ind] - leftover_space = vec(d_vars.leftover_space) - - A, filtered_sites = create_decision_matrix( - site_ids, - in_conn, - out_conn, - leftover_space[site_ids], - d_vars.dam_prob[site_ids], - d_vars.heat_stress_prob[site_ids], - d_vars.site_depth[site_ids], - predec, - zones_crit, - d_vars.risk_tol, - ) - if isempty(A) - # if all rows have nans and A is empty, abort mission - return ( - zeros(Int64, length(pref_seed_locs)), - zeros(Int64, length(pref_fog_locs)), - rankings_in, - ) - end - - # cap to number of sites left after risk filtration - n_iv_locs = min(n_iv_locs, length(A[:, 1])) - - # if seeding, create seeding specific decision matrix - if log_seed - SE, wse = create_seed_matrix( - A, - d_vars.wt_in_conn_seed, - d_vars.wt_out_conn_seed, - d_vars.wt_waves_seed, - d_vars.wt_heat_seed, - d_vars.wt_predec_seed, - d_vars.wt_zones_seed, - d_vars.wt_lo_cover, - d_vars.wt_depth_seed, - ) - end - - # if shading, create fogging specific decision matrix - if log_fog - SH, wsh = create_fog_matrix( - A, - d_vars.k_area[site_ids][filtered_sites], - d_vars.wt_conn_fog, - d_vars.wt_waves_fog, - d_vars.wt_heat_fog, - d_vars.wt_predec_fog, - d_vars.wt_zones_fog, - d_vars.wt_hi_cover, - ) - end - - if log_seed && isempty(SE) - pref_seed_locs = zeros(Int64, n_iv_locs) - elseif log_seed - pref_seed_locs, s_order_seed = rank_sites!( - SE, wse, rankings, size(SE, 1), mcda_func, 2 - ) - - pref_seed_locs, rankings = constrain_reef_cluster( - d_vars.spatial_groups, - s_order_seed, - rankings, - d_vars.area_to_seed, - leftover_space, - n_iv_locs, - d_vars.max_members, - ) - end - - if log_fog && isempty(SH) - pref_fog_locs = zeros(Int64, n_iv_locs) - elseif log_fog - pref_fog_locs, s_order_fog = rank_sites!(SH, wsh, rankings, n_iv_locs, mcda_func, 3) - end - - # Replace with input rankings if seeding or shading rankings have not been filled - if sum(pref_seed_locs) == 0 - rankings[:, 2] .= rankings_in[:, 2] - end - - if sum(pref_fog_locs) == 0 - rankings[:, 3] .= rankings_in[:, 3] - end - - return pref_seed_locs, pref_fog_locs, rankings + site_ids = copy(d_vars.site_ids) + n_sites::Int64 = length(site_ids) + + # if no sites are available, abort + if n_sites == 0 + return ( + zeros(Int64, length(pref_seed_sites)), + zeros(Int64, length(pref_fog_sites)), + rankings_in, + ) + end + + n_iv_locs::Int64 = d_vars.n_site_int + priority_sites::Array{Int64} = d_vars.priority_sites[in.( + d_vars.priority_sites, [site_ids] + )] + priority_zones::Array{String} = d_vars.priority_zones + + zones = d_vars.zones[site_ids] + + # site_id, seeding rank, shading rank + rankings = Int64[site_ids zeros(Int64, n_sites) zeros(Int64, n_sites)] + + # calculate priority predecessor and zones criteria + predec = priority_predecessor_criteria(strong_pred, priority_sites, n_sites) + zones_crit = zones_criteria(priority_zones, zones, strong_pred, site_ids) + + mcda_func = methods_mcda[alg_ind] + leftover_space = vec(d_vars.leftover_space) + + A, filtered_sites = create_decision_matrix( + site_ids, + in_conn, + out_conn, + leftover_space[site_ids], + d_vars.dam_prob[site_ids], + d_vars.heat_stress_prob[site_ids], + d_vars.site_depth[site_ids], + predec, + zones_crit, + d_vars.risk_tol, + ) + if isempty(A) + # if all rows have nans and A is empty, abort mission + return ( + zeros(Int64, length(pref_seed_locs)), + zeros(Int64, length(pref_fog_locs)), + rankings_in, + ) + end + + # cap to number of sites left after risk filtration + n_iv_locs = min(n_iv_locs, length(A[:, 1])) + + # if seeding, create seeding specific decision matrix + if log_seed + SE, wse = create_seed_matrix( + A, + d_vars.wt_in_conn_seed, + d_vars.wt_out_conn_seed, + d_vars.wt_waves_seed, + d_vars.wt_heat_seed, + d_vars.wt_predec_seed, + d_vars.wt_zones_seed, + d_vars.wt_lo_cover, + d_vars.wt_depth_seed, + ) + end + + # if shading, create fogging specific decision matrix + if log_fog + SH, wsh = create_fog_matrix( + A, + d_vars.k_area[site_ids][filtered_sites], + d_vars.wt_conn_fog, + d_vars.wt_waves_fog, + d_vars.wt_heat_fog, + d_vars.wt_predec_fog, + d_vars.wt_zones_fog, + d_vars.wt_hi_cover, + ) + end + + if log_seed && isempty(SE) + pref_seed_locs = zeros(Int64, n_iv_locs) + elseif log_seed + pref_seed_locs, s_order_seed = rank_sites!( + SE, wse, rankings, size(SE, 1), mcda_func, 2 + ) + + pref_seed_locs, rankings = constrain_reef_cluster( + d_vars.spatial_groups, + s_order_seed, + rankings, + d_vars.area_to_seed, + leftover_space, + n_iv_locs, + d_vars.max_members, + ) + end + + if log_fog && isempty(SH) + pref_fog_locs = zeros(Int64, n_iv_locs) + elseif log_fog + pref_fog_locs, s_order_fog = rank_sites!(SH, wsh, rankings, n_iv_locs, mcda_func, 3) + end + + # Replace with input rankings if seeding or shading rankings have not been filled + if sum(pref_seed_locs) == 0 + rankings[:, 2] .= rankings_in[:, 2] + end + + if sum(pref_fog_locs) == 0 + rankings[:, 3] .= rankings_in[:, 3] + end + + return pref_seed_locs, pref_fog_locs, rankings end function priority_predecessor_criteria( - strong_pred::Vector{Int64}, priority_sites::Vector{Int64}, n_sites::Int64 + strong_pred::Vector{Int64}, priority_sites::Vector{<:Union{Int64, Any}}, n_sites::Int64 ) - predec::Matrix{Float64} = zeros(n_sites, 3) - predec[:, 1:2] .= strong_pred - predprior = predec[in.(predec[:, 1], [priority_sites']), 2] - predprior = Int64[x for x in predprior if !isnan(x)] + predec::Matrix{Float64} = zeros(n_sites, 3) + predec[:, 1:2] .= strong_pred + predprior = predec[in.(predec[:, 1], [priority_sites']), 2] + predprior = Int64[x for x in predprior if !isnan(x)] - predec[predprior, 3] .= 1.0 + predec[predprior, 3] .= 1.0 - return predec + return predec end function zones_criteria( - priority_zones::Vector{String}, - zones::Vector{String}, - strong_pred::Vector{Int64}, - site_ids::Vector{Int64}, + priority_zones::Vector{<:Union{String, Any}}, + zones::Vector{String}, + strong_pred::Vector{Int64}, + site_ids::Vector{Int64}, ) - n_sites = length(site_ids) - # for zones, find sites which are zones and strongest predecessors of sites in zones - zone_ids = intersect(priority_zones, unique(zones)) - zone_weights = mcda_normalize(collect(length(zone_ids):-1:1)) - zone_preds = zeros(n_sites) - zone_sites = zeros(n_sites) - - for (k::Int64, z_name::String) in enumerate(zone_ids) - # find sites which are strongest predecessors of sites in the zone - zone_preds_temp::Vector{Int64} = strong_pred[zones .== z_name] - for s::Int64 in unique(zone_preds_temp) - # for each predecessor site, add zone_weights * (no. of zone sites the site is a strongest predecessor for) - zone_preds[site_ids .== s] .= - zone_preds[site_ids .== s] .+ - (zone_weights[k] .* sum(zone_preds_temp .== s)) - end - # add zone_weights for sites in the zone (whether a strongest predecessor of a zone or not) - zone_sites[zones .== z_name] .= zone_weights[k] - end - - # add weights for strongest predecessors and zones to get zone criteria - return zone_preds .+ zone_sites + n_sites = length(site_ids) + # for zones, find sites which are zones and strongest predecessors of sites in zones + zone_ids = intersect(priority_zones, unique(zones)) + zone_weights = mcda_normalize(collect(length(zone_ids):-1:1)) + zone_preds = zeros(n_sites) + zone_sites = zeros(n_sites) + + for (k::Int64, z_name::String) in enumerate(zone_ids) + # find sites which are strongest predecessors of sites in the zone + zone_preds_temp::Vector{Int64} = strong_pred[zones .== z_name] + for s::Int64 in unique(zone_preds_temp) + # for each predecessor site, add zone_weights * (no. of zone sites the site is a strongest predecessor for) + zone_preds[site_ids .== s] .= + zone_preds[site_ids .== s] .+ + (zone_weights[k] .* sum(zone_preds_temp .== s)) + end + # add zone_weights for sites in the zone (whether a strongest predecessor of a zone or not) + zone_sites[zones .== z_name] .= zone_weights[k] + end + + # add weights for strongest predecessors and zones to get zone criteria + return zone_preds .+ zone_sites end """ - constrain_reef_cluster(reefs::Union{Vector{String}, Vector{Float64}}, - s_order::Matrix{Union{Float64, Int64}}, rankings::Matrix{Int64}, - area_to_seed::Float64, available_space::Vector{Float64}, n_iv_locs::Int64, - max_members::Int64)::Tuple{Vector{Int64}, Matrix{Int64}} + constrain_reef_cluster(reefs::Union{Vector{String}, Vector{Float64}}, + s_order::Matrix{Union{Float64, Int64}}, rankings::Matrix{Int64}, + area_to_seed::Float64, available_space::Vector{Float64}, n_iv_locs::Int64, + max_members::Int64)::Tuple{Vector{Int64}, Matrix{Int64}} # Arguments - `reefs` : List of the the reefs each location sits within @@ -773,102 +755,109 @@ end Tuple : - `pref_locs` : Vector, Indices of preferred intervention locations - `rankings` : Matrix[n_sites ⋅ 3] where columns are site_id, seeding_rank, shading_rank - Values of 0 indicate sites that were not considered + Values of 0 indicate sites that were not considered """ function constrain_reef_cluster( - reefs::Union{Vector{String}, Vector{Float64}}, - s_order::Matrix{Union{Float64, Int64}}, - rankings::Matrix{Int64}, - area_to_seed::Float64, - available_space::Vector{Float64}, - n_iv_locs::Int64, - max_members::Int64 + reefs::Union{Vector{String}, Vector{Float64}}, + s_order::Matrix{Union{Float64, Int64}}, + rankings::Matrix{Int64}, + area_to_seed::Float64, + available_space::Vector{Float64}, + n_iv_locs::Int64, + max_members::Int64, )::Tuple{Vector{Int64}, Matrix{Int64}} - # Get ordering of locations by their preferred ranks - loc_ordered_ids = s_order[:, 1] - - unique_reefs = reshape(unique(reefs), 1, length(unique(reefs))) - max_iters = length(loc_ordered_ids) - - local pref_locs::Vector{Int64} - local num_locs::Int64 - for _ in 1:max_iters - # If enough space for seeding corals, keep n_site_int, else expand as needed - num_locs = max(findfirst(>=(area_to_seed), cumsum(available_space[loc_ordered_ids])), n_iv_locs) - - pref_locs = loc_ordered_ids[1:num_locs] - - # If the number of locations to select is larger than the minimum, don't use spatial - # clusters to constrain the selection - if num_locs .!= n_iv_locs - break - end - - pref_reefs = reefs[pref_locs] # Reefs that selected locations sit within - - # Number of times a reef appears within each location - reef_occurances = vec(sum(pref_reefs .== unique_reefs; dims = 1)) - - # If more than n_reefs locations in a reef, swap out the worst locations - reefs_swap = unique_reefs[(reef_occurances .> max_members)] - - if isempty(reefs_swap) - break - end - - replace_start = (max_members + 1) # starting id for locations to replace - - # Find locations in reefs which need replacement, and find the ids of lowest - # ranked locations in this set - locs_to_replace = vcat([ - pref_locs[pref_reefs .== reef][replace_start:end] for reef in reefs_swap - ]...) - - # Acceptable reefs to switch out for - reef_switch_ids = unique_reefs[(reef_occurances .+ 1) .<= max_members] - - # Remove locations to be replaced from preferred locations - pref_locs = setdiff(pref_locs, locs_to_replace) - - # Remove locations to be replaced from location order - loc_ordered_ids = setdiff(loc_ordered_ids, locs_to_replace) - - # Locations which can be added in place - alternate_loc_ids = setdiff(loc_ordered_ids, pref_locs) - - # Indices of the subset of locations which can be added which also sit within an - # allowed reef - add_locs_ind = findall(dropdims(any( - reshape(reefs[alternate_loc_ids], 1, length(reefs[alternate_loc_ids])) - .== - reef_switch_ids; dims = 1); dims = 1)) - - # New preferred location set - locs_to_add_inds = add_locs_ind[1:length(locs_to_replace)] - pref_locs = [pref_locs...; alternate_loc_ids[locs_to_add_inds]...] - - # Rearrange ranked location list into new preferred order - loc_ordered_ids = setdiff(loc_ordered_ids, pref_locs) - loc_ordered_ids = [pref_locs...; loc_ordered_ids...] - end - - # Reorder locations, placing any that were swapped out towards the bottom of the list. - removed_sites = setdiff(s_order[:, 1], loc_ordered_ids) - s_order[:, 1] .= [ - loc_ordered_ids[1:num_locs]..., - removed_sites..., - loc_ordered_ids[(num_locs + 1):end]..., - ] - - # Match by site_id and assign rankings to log - align_rankings!(rankings, s_order, 2) - return pref_locs, rankings + # Get ordering of locations by their preferred ranks + loc_ordered_ids = s_order[:, 1] + + unique_reefs = reshape(unique(reefs), 1, length(unique(reefs))) + max_iters = length(loc_ordered_ids) + + local pref_locs::Vector{Int64} + local num_locs::Int64 + for _ in 1:max_iters + # If enough space for seeding corals, keep n_site_int, else expand as needed + num_locs = max( + findfirst(>=(area_to_seed), cumsum(available_space[loc_ordered_ids])), n_iv_locs + ) + + pref_locs = loc_ordered_ids[1:num_locs] + + # If the number of locations to select is larger than the minimum, don't use spatial + # clusters to constrain the selection + if num_locs .!= n_iv_locs + break + end + + pref_reefs = reefs[pref_locs] # Reefs that selected locations sit within + + # Number of times a reef appears within each location + reef_occurances = vec(sum(pref_reefs .== unique_reefs; dims = 1)) + + # If more than n_reefs locations in a reef, swap out the worst locations + reefs_swap = unique_reefs[(reef_occurances .> max_members)] + + if isempty(reefs_swap) + break + end + + replace_start = (max_members + 1) # starting id for locations to replace + + # Find locations in reefs which need replacement, and find the ids of lowest + # ranked locations in this set + locs_to_replace = vcat( + [ + pref_locs[pref_reefs .== reef][replace_start:end] for reef in reefs_swap + ]... + ) + + # Acceptable reefs to switch out for + reef_switch_ids = unique_reefs[(reef_occurances .+ 1) .<= max_members] + + # Remove locations to be replaced from preferred locations + pref_locs = setdiff(pref_locs, locs_to_replace) + + # Remove locations to be replaced from location order + loc_ordered_ids = setdiff(loc_ordered_ids, locs_to_replace) + + # Locations which can be added in place + alternate_loc_ids = setdiff(loc_ordered_ids, pref_locs) + + # Indices of the subset of locations which can be added which also sit within an + # allowed reef + add_locs_ind = findall( + dropdims( + any( + reshape(reefs[alternate_loc_ids], 1, length(reefs[alternate_loc_ids])) + .== + reef_switch_ids; dims = 1); dims = 1), + ) + + # New preferred location set + locs_to_add_inds = add_locs_ind[1:length(locs_to_replace)] + pref_locs = [pref_locs...; alternate_loc_ids[locs_to_add_inds]...] + + # Rearrange ranked location list into new preferred order + loc_ordered_ids = setdiff(loc_ordered_ids, pref_locs) + loc_ordered_ids = [pref_locs...; loc_ordered_ids...] + end + + # Reorder locations, placing any that were swapped out towards the bottom of the list. + removed_sites = setdiff(s_order[:, 1], loc_ordered_ids) + s_order[:, 1] .= [ + loc_ordered_ids[1:num_locs]..., + removed_sites..., + loc_ordered_ids[(num_locs + 1):end]..., + ] + + # Match by site_id and assign rankings to log + align_rankings!(rankings, s_order, 2) + return pref_locs, rankings end """ - unguided_site_selection(pref_seed_locs::T, pref_fog_locs::T, seed_years::Bool, - fog_years::Bool, n_site_int::Int64, available_space::Vector{Float64}, depth::T) - ::Tuple{Vector,Vector} where {T<:Vector{Int64}} + unguided_site_selection(pref_seed_locs::T, pref_fog_locs::T, seed_years::Bool, + fog_years::Bool, n_site_int::Int64, available_space::Vector{Float64}, depth::T) + ::Tuple{Vector,Vector} where {T<:Vector{Int64}} Randomly select seed/fog site locations for the given year, constraining to sites with max. carrying capacity > 0. @@ -886,40 +875,42 @@ carrying capacity > 0. Tuple, of vectors indicating preferred seeding and shading locations by location index """ function unguided_site_selection( - pref_seed_locs::T, - pref_fog_locs::T, - seed_years::Bool, - fog_years::Bool, - n_site_int::Int64, - available_space::Vector{Float64}, - depth::T, + pref_seed_locs::T, + pref_fog_locs::T, + seed_years::Bool, + fog_years::Bool, + n_site_int::Int64, + available_space::Vector{Float64}, + depth::T, )::Tuple{Vector, Vector} where {T <: Vector{Int64}} - # Unguided deployment, seed/fog corals anywhere so long as available_space > 0.0 - # Only sites that have available space are considered, otherwise a zero-division error - # may occur later on. - - # Select sites (without replacement to avoid duplicate sites) - candidate_sites = depth[(available_space .> 0.0)[depth]] # Filter down to site ids to be considered - num_sites = length(candidate_sites) - s_n_site_int = num_sites < n_site_int ? num_sites : n_site_int - - if seed_years - pref_seed_locs = zeros(Int64, n_site_int) - pref_seed_locs[1:s_n_site_int] .= StatsBase.sample(candidate_sites, s_n_site_int; replace = false) - end - - if fog_years - pref_fog_locs = zeros(Int64, n_site_int) - pref_fog_locs[1:s_n_site_int] .= StatsBase.sample( - candidate_sites, s_n_site_int; replace = false - ) - end - - return pref_seed_locs[pref_seed_locs .> 0], pref_fog_locs[pref_fog_locs .> 0] + # Unguided deployment, seed/fog corals anywhere so long as available_space > 0.0 + # Only sites that have available space are considered, otherwise a zero-division error + # may occur later on. + + # Select sites (without replacement to avoid duplicate sites) + candidate_sites = depth[(available_space .> 0.0)[depth]] # Filter down to site ids to be considered + num_sites = length(candidate_sites) + s_n_site_int = num_sites < n_site_int ? num_sites : n_site_int + + if seed_years + pref_seed_locs = zeros(Int64, n_site_int) + pref_seed_locs[1:s_n_site_int] .= StatsBase.sample( + candidate_sites, s_n_site_int; replace = false + ) + end + + if fog_years + pref_fog_locs = zeros(Int64, n_site_int) + pref_fog_locs[1:s_n_site_int] .= StatsBase.sample( + candidate_sites, s_n_site_int; replace = false + ) + end + + return pref_seed_locs[pref_seed_locs .> 0], pref_fog_locs[pref_fog_locs .> 0] end """ - summary_stat_env(env_layer::NamedDimsArray dims::Union{Symbol,Tuple{Symbol,Symbol}}; w=0.5)::Vector{Float64} + summary_stat_env(env_layer::NamedDimsArray dims::Union{Symbol,Tuple{Symbol,Symbol}}; w=0.5)::Vector{Float64} Calculates mean over specified dimensions plus half the standard deviation. @@ -931,18 +922,20 @@ Calculates mean over specified dimensions plus half the standard deviation. # Returns Weighted combination of mean and standard deviation of the projected environmental conditions (e.g., DHWs, wave stress, etc): - (μ * w) + (σ * (1 - w)) + (μ * w) + (σ * (1 - w)) """ function summary_stat_env( - env_layer::AbstractArray, - dims::Union{Int64, Symbol, Tuple{Symbol, Symbol}}; - w = 0.5, + env_layer::AbstractArray, + dims::Union{Int64, Symbol, Tuple{Symbol, Symbol}}; + w = 0.5 )::Vector{Float64} - return vec((mean(env_layer; dims = dims) .* w) .+ (std(env_layer; dims = dims) .* (1.0 - w))) + return vec( + (mean(env_layer; dims = dims) .* w) .+ (std(env_layer; dims = dims) .* (1.0 - w)) + ) end """ - within_depth_bounds(loc_depth::Vector{T}, depth_max::T, depth_min::T)::BitVector{T} where {T<:Float64} + within_depth_bounds(loc_depth::Vector{T}, depth_max::T, depth_min::T)::BitVector{T} where {T<:Float64} Determines whether a location is within the min/max depth bounds. Used to filter locations based on their depth for location selection. @@ -956,9 +949,9 @@ Used to filter locations based on their depth for location selection. BitVector, of logical indices indicating locations which satisfy the depth criteria. """ function within_depth_bounds( - loc_depth::Vector{T}, depth_max::T, depth_min::T + loc_depth::Vector{T}, depth_max::T, depth_min::T )::BitVector where {T <: Float64} - return (loc_depth .<= depth_max) .& (loc_depth .>= depth_min) + return (loc_depth .<= depth_max) .& (loc_depth .>= depth_min) end end From 6fac7fffa6bb4309226ae7fc1328edc8b105b43e Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Fri, 5 Jan 2024 14:42:09 +1000 Subject: [PATCH 15/39] Add decison matrix creation from resultset to analysis Add decison matrix creation from resultset to analysis as new `decision.jl" file Remove `decision_matrices` from "location_selection.jl" --- src/analysis/decision.jl | 118 +++++++ src/analysis/intervention.jl | 163 ++++++++- src/decision/location_selection.jl | 521 +++++++++++------------------ 3 files changed, 468 insertions(+), 334 deletions(-) create mode 100644 src/analysis/decision.jl diff --git a/src/analysis/decision.jl b/src/analysis/decision.jl new file mode 100644 index 000000000..99f2b11ea --- /dev/null +++ b/src/analysis/decision.jl @@ -0,0 +1,118 @@ +using ADRIA.decision +using ADRIA: relative_leftover_space, connectivity_strength + +""" + decision_matrices(rs::ResultSet, criteria_weights::DataFrameRow; + loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, + area_to_seed::Float64 = 962.11) + +Calculates a decision matrix for a specified intervention, using a scenario specification + and Domain alone. These can be visualised spatially using `viz.decision_matrices`. + +# Arguments +- `rs` : ADRIA ResultSet +- `criteria_weights` : A row of a scenario dataframe, containing intervention criteria weights. +- `int_type` : Intervention type (e.g. :seed or :fog) +- `loc_coral_cover` : Relative coral cover to site k area (dims: nspecies*nsites), default + is max cover over scenarios in rs. +- `area_to_seed` : Area of corals seeded in the scenario considered + +# Returns +Selection score +""" +function decision_matrices( + rs::ResultSet, + criteria_weights::DataFrameRow; + loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, + area_to_seed::Float64 = 962.11, + RCP::String = "45", +) + site_ids = collect(1:length(rs.site_data.site_id)) + leftover_space = relative_leftover_space(loc_coral_cover) .* site_k_area(rs) + + wave_stress = ADRIA.decision.summary_stat_env( + rs.wave_stats[RCP](; stat = "mean"), (:wave_scenario) + ) + heat_stress = ADRIA.decision.summary_stat_env( + rs.dhw_stats[RCP](; stat = "mean"), (:dhw_scenario) + ) + TP_data = rs.connectivity_data[RCP] + connectivity_data = connectivity_strength( + TP_data .* site_k_area(rs), vec(loc_coral_cover), TP_data + ) + strong_pred = connectivity_data.strongest_predecessor + + predec = ADRIA.decision.priority_predecessor_criteria( + strong_pred, vec(rs.sim_constants["priority_sites"]), length(site_ids) + ) + zones_crit = ADRIA.decision.zones_criteria( + vec(rs.sim_constants["priority_zones"]), rs.site_data.zone_type, strong_pred, + site_ids, + ) + + A, filtered_sites = ADRIA.decision.create_decision_matrix( + site_ids, + connectivity_data.in_conn, + connectivity_data.out_conn, + leftover_space[site_ids], + wave_stress[site_ids], + heat_stress[site_ids], + rs.site_data.depth_med[site_ids], + predec, + zones_crit, + criteria_weights.deployed_coral_risk_tol, + ) + + S, wse = ADRIA.decision.create_seed_matrix( + A, + criteria_weights.seed_in_connectivity, + criteria_weights.seed_out_connectivity, + criteria_weights.seed_wave_stress, + criteria_weights.seed_heat_stress, + criteria_weights.seed_priority, + criteria_weights.seed_zone, + criteria_weights.coral_cover_low, + criteria_weights.seed_depth, + ) + + SE = NamedDimsArray( + S[:, 2:end]; + locations = rs.site_data.site_id, + criteria = [ + :in_connectivity, + :out_connectivity, + :wave_stress, + :heat_stress, + :priority_predecessor, + :zones, + :leftover_space, + :depth, + ], + ) + + S, wsh = ADRIA.decision.create_fog_matrix( + A, + site_k_area(rs)[site_ids][filtered_sites], + criteria_weights.fog_connectivity, + criteria_weights.fog_wave_stress, + criteria_weights.fog_heat_stress, + criteria_weights.fog_priority, + criteria_weights.fog_zone, + criteria_weights.coral_cover_high, + ) + SH = NamedDimsArray( + S[:, 2:end]; + locations = rs.site_data.site_id, + criteria = [ + :in_connectivity, + :out_connectivity, + :wave_stress, + :heat_stress, + :priority_predecessor, + :zones, + :coral_area, + ], + ) + + return SE, wse, SH, wsh +end diff --git a/src/analysis/intervention.jl b/src/analysis/intervention.jl index c6703418d..4838eec6d 100644 --- a/src/analysis/intervention.jl +++ b/src/analysis/intervention.jl @@ -1,5 +1,7 @@ +using ADRIA.decision +using ADRIA: relative_leftover_space, connectivity_strength """ - intervention_frequency(rs::ResultSet, scen_indices::NamedTuple, log_type::Symbol)::NamedDimsArray + intervention_frequency(rs::ResultSet, scen_indices::NamedTuple, log_type::Symbol)::NamedDimsArray Count number of times a location of selected for intervention Count frequency of seeded sites for scenarios satisfying a condition. @@ -33,20 +35,147 @@ robust_scens = ADRIA.analysis.find_robust(rs, y, rule_func, [45, 60]) # Retrieve seeding intervention frequency for robust scenarios robust_selection_frequencies = ADRIA.analysis.intervention_frequency(rs, robust_scens, :seed) """ -function intervention_frequency(rs::ResultSet, scen_indices::NamedTuple, log_type::Symbol)::NamedDimsArray - log_type ∈ [:seed, :shade, :fog] || ArgumentError("Unsupported log") - - # Get requested log - interv_log = getfield(rs, Symbol("$(log_type)_log")) - rcps = collect(Symbol.(keys(scen_indices))) - n_locs = n_locations(rs) - - interv_freq = NamedDimsArray(zeros(n_locs, length(rcps)), locations=rs.site_ids, rcps=rcps) - for rcp in rcps - # Select scenarios satisfying condition and tally selection for each location - logged_data = dropdims(sum(interv_log[scenarios=scen_indices[rcp]], dims=:coral_id), dims=:coral_id) - interv_freq(rcps=rcp) .= vec(dropdims(sum(logged_data .> 0, dims=[:timesteps, :scenarios]), dims=:timesteps)) - end - - return interv_freq +function intervention_frequency( + rs::ResultSet, scen_indices::NamedTuple, log_type::Symbol +)::NamedDimsArray + log_type ∈ [:seed, :shade, :fog] || ArgumentError("Unsupported log") + + # Get requested log + interv_log = getfield(rs, Symbol("$(log_type)_log")) + rcps = collect(Symbol.(keys(scen_indices))) + n_locs = n_locations(rs) + + interv_freq = NamedDimsArray( + zeros(n_locs, length(rcps)); locations = rs.site_ids, rcps = rcps + ) + for rcp in rcps + # Select scenarios satisfying condition and tally selection for each location + logged_data = dropdims( + sum(interv_log[scenarios = scen_indices[rcp]]; dims = :coral_id); + dims = :coral_id, + ) + interv_freq(; rcps = rcp) .= vec( + dropdims( + sum(logged_data .> 0; dims = [:timesteps, :scenarios]); dims = :timesteps + ), + ) + end + + return interv_freq +end + +""" + decision_matrices(rs::ResultSet, criteria_weights::DataFrameRow; + loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, + area_to_seed::Float64 = 962.11) + +Calculates a decision matrix for a specified intervention, using a scenario specification + and Domain alone. These can be visualised spatially using `viz.decision_matrices`. + +# Arguments +- `rs` : ADRIA ResultSet +- `criteria_weights` : A row of a scenario dataframe, containing intervention criteria weights. +- `int_type` : Intervention type (e.g. :seed or :fog) +- `loc_coral_cover` : Relative coral cover to site k area (dims: nspecies*nsites), default + is max cover over scenarios in rs. +- `area_to_seed` : Area of corals seeded in the scenario considered + +# Returns +Selection score +""" +function decision_matrices( + rs::ResultSet, + criteria_weights::DataFrameRow; + loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, + area_to_seed::Float64 = 962.11, + RCP::String = "45", +) + site_ids = collect(1:length(rs.site_data.site_id)) + leftover_space = relative_leftover_space(loc_coral_cover) .* site_k_area(rs) + + wave_stress = ADRIA.decision.summary_stat_env( + rs.wave_stats[RCP](; stat = "mean"), (:wave_scenario) + ) + heat_stress = ADRIA.decision.summary_stat_env( + rs.dhw_stats[RCP](; stat = "mean"), (:dhw_scenario) + ) + TP_data = rs.connectivity_data[RCP] + connectivity_data = connectivity_strength( + TP_data .* site_k_area(rs), vec(loc_coral_cover), TP_data + ) + strong_pred = connectivity_data.strongest_predecessor + + predec = ADRIA.decision.priority_predecessor_criteria( + strong_pred, vec(rs.sim_constants["priority_sites"]), length(site_ids) + ) + zones_crit = ADRIA.decision.zones_criteria( + vec(rs.sim_constants["priority_zones"]), rs.site_data.zone_type, strong_pred, + site_ids, + ) + + A, filtered_sites = ADRIA.decision.create_decision_matrix( + site_ids, + connectivity_data.in_conn, + connectivity_data.out_conn, + leftover_space[site_ids], + wave_stress[site_ids], + heat_stress[site_ids], + rs.site_data.depth_med[site_ids], + predec, + zones_crit, + criteria_weights.deployed_coral_risk_tol, + ) + + S, wse = ADRIA.decision.create_seed_matrix( + A, + criteria_weights.seed_in_connectivity, + criteria_weights.seed_out_connectivity, + criteria_weights.seed_wave_stress, + criteria_weights.seed_heat_stress, + criteria_weights.seed_priority, + criteria_weights.seed_zone, + criteria_weights.coral_cover_low, + criteria_weights.seed_depth, + ) + + SE = NamedDimsArray( + S[:, 2:end]; + locations = rs.site_data.site_id, + criteria = [ + :in_connectivity, + :out_connectivity, + :wave_stress, + :heat_stress, + :priority_predecessor, + :zones, + :leftover_space, + :depth, + ], + ) + + S, wsh = ADRIA.decision.create_fog_matrix( + A, + site_k_area(rs)[site_ids][filtered_sites], + criteria_weights.fog_connectivity, + criteria_weights.fog_wave_stress, + criteria_weights.fog_heat_stress, + criteria_weights.fog_priority, + criteria_weights.fog_zone, + criteria_weights.coral_cover_high, + ) + SH = NamedDimsArray( + S[:, 2:end]; + locations = rs.site_data.site_id, + criteria = [ + :in_connectivity, + :out_connectivity, + :wave_stress, + :heat_stress, + :priority_predecessor, + :zones, + :coral_area, + ], + ) + + return SE, wse, SH, wsh end diff --git a/src/decision/location_selection.jl b/src/decision/location_selection.jl index c63969da3..c1ca337bb 100644 --- a/src/decision/location_selection.jl +++ b/src/decision/location_selection.jl @@ -3,7 +3,7 @@ using NamedDims, AxisKeys using ADRIA: connectivity_strength, relative_leftover_space, site_k_area """ - _location_selection(domain::Domain, sum_cover::AbstractArray, mcda_vars::DMCDA_vars, guided::Int64)::Matrix + _location_selection(domain::Domain, sum_cover::AbstractArray, mcda_vars::DMCDA_vars, guided::Int64)::Matrix Select locations for a given domain and criteria/weightings/thresholds, using a chosen MCDA method. @@ -18,48 +18,48 @@ MCDA method. Matrix[n_sites ⋅ 2], where columns hold seeding and shading ranks for each location. """ function _location_selection( - domain::Domain, sum_cover::AbstractArray, mcda_vars::DMCDA_vars, guided::Int64 + domain::Domain, sum_cover::AbstractArray, mcda_vars::DMCDA_vars, guided::Int64 )::Matrix - site_ids = mcda_vars.site_ids - n_sites = length(site_ids) - - # site_id, seeding rank, shading rank - rankingsin = [mcda_vars.site_ids zeros(Int64, n_sites) zeros(Int64, n_sites)] - - pref_seed_sites::Vector{Int64} = zeros(Int64, mcda_vars.n_site_int) - pref_fog_sites::Vector{Int64} = zeros(Int64, mcda_vars.n_site_int) - - # Determine connectivity strength - # Account for cases where no coral cover - in_conn, out_conn, strong_pred = connectivity_strength( - domain.TP_data .* site_k_area(domain), - vec(sum_cover), - similar(domain.TP_data) # tmp cache matrix - ) - - # Perform location selection for seeding and shading. - seed_true, fog_true = true, true - - (_, _, ranks) = guided_site_selection( - mcda_vars, - guided, - seed_true, - fog_true, - pref_seed_sites, - pref_fog_sites, - rankingsin, - in_conn[site_ids], - out_conn[site_ids], - strong_pred[site_ids] - ) - - return ranks[:, 2:3] + site_ids = mcda_vars.site_ids + n_sites = length(site_ids) + + # site_id, seeding rank, shading rank + rankingsin = [mcda_vars.site_ids zeros(Int64, n_sites) zeros(Int64, n_sites)] + + pref_seed_sites::Vector{Int64} = zeros(Int64, mcda_vars.n_site_int) + pref_fog_sites::Vector{Int64} = zeros(Int64, mcda_vars.n_site_int) + + # Determine connectivity strength + # Account for cases where no coral cover + in_conn, out_conn, strong_pred = connectivity_strength( + domain.TP_data .* site_k_area(domain), + vec(sum_cover), + similar(domain.TP_data) # tmp cache matrix + ) + + # Perform location selection for seeding and shading. + seed_true, fog_true = true, true + + (_, _, ranks) = guided_site_selection( + mcda_vars, + guided, + seed_true, + fog_true, + pref_seed_sites, + pref_fog_sites, + rankingsin, + in_conn[site_ids], + out_conn[site_ids], + strong_pred[site_ids], + ) + + return ranks[:, 2:3] end """ - rank_locations(domain::Domain, scenarios::DataFrame, sum_cover::NamedDimsArray, area_to_seed::Float64; target_seed_sites=nothing, target_fog_sites=nothing)::NamedDimsArray - rank_locations(domain::Domain,scenarios::DataFrame, sum_cover::NamedDimsArray, area_to_seed::Float64, agg_func::Function, - iv_type::Union{String,Int64}; target_seed_sites=nothing, target_fog_sites=nothing)::AbstractArray + rank_locations(domain::Domain, scenarios::DataFrame, sum_cover::NamedDimsArray, area_to_seed::Float64; target_seed_sites=nothing, target_fog_sites=nothing)::NamedDimsArray + rank_locations(domain::Domain,scenarios::DataFrame, sum_cover::NamedDimsArray, area_to_seed::Float64, agg_func::Function, + iv_type::Union{String,Int64}; target_seed_sites=nothing, target_fog_sites=nothing)::AbstractArray Return location ranks for a given domain and scenarios. @@ -67,10 +67,10 @@ Return location ranks for a given domain and scenarios. - `domain` : The geospatial domain locations were selected from - `scenarios` : Scenario specification - `sum_cover` : Matrix[n_scenarios ⋅ n_sites] containing the total relative coral cover at each - location, for each scenario + location, for each scenario - `area_to_seed` : Area of coral to be seeded at each time step in km² - `agg_func` : Aggregation function to apply, e.g `ranks_to_frequencies` or - `ranks_to_location_order` + `ranks_to_location_order` - `iv_type` : ID of intervention (1 = seeding, 2 = fogging) - `target_seed_sites` : list of candidate locations for seeding (indices) - `target_fog_sites` : list of candidate location to fog (indices) @@ -79,115 +79,113 @@ Return location ranks for a given domain and scenarios. Array[n_locations ⋅ 2 ⋅ n_scenarios], where columns hold seeding and shading ranks. """ function rank_locations( - domain::Domain, - scenarios::DataFrame, - sum_cover::NamedDimsArray, - area_to_seed::Float64; - target_seed_sites=nothing, - target_fog_sites=nothing, + domain::Domain, + scenarios::DataFrame, + sum_cover::NamedDimsArray, + area_to_seed::Float64; + target_seed_sites = nothing, + target_fog_sites = nothing, )::NamedDimsArray - n_locs = n_locations(domain) - k_area_locs = site_k_area(domain) - - ranks_store = NamedDimsArray( - zeros(n_locs, 2, nrow(scenarios)), - sites=1:n_locs, - intervention=["seed", "fog"], - scenarios=1:nrow(scenarios), - ) - - dhw_scens = domain.dhw_scens - wave_scens = domain.wave_scens - - # Pre-calculate maximum depth to consider - target_dhw_scens = unique(scenarios[:, "dhw_scenario"]) - target_wave_scens = unique(scenarios[:, "wave_scenario"]) - - target_site_ids = Int64[] - if !isnothing(target_seed_sites) - append!(target_site_ids, target_seed_sites) - end - - if !isnothing(target_fog_sites) - append!(target_site_ids, target_fog_sites) - end - - if isnothing(target_seed_sites) && isnothing(target_fog_sites) - target_site_ids = collect(1:length(domain.site_ids)) - end - - leftover_space_scens = relative_leftover_space(sum_cover.data) .* k_area_locs' - - for (scen_idx, scen) in enumerate(eachrow(scenarios)) - depth_criteria = within_depth_bounds( - domain.site_data.depth_med, - scen.depth_min .+ scen.depth_offset, - scen.depth_min - ) - depth_priority = findall(depth_criteria) - - - considered_sites = target_site_ids[findall(in(depth_priority), target_site_ids)] - mcda_vars_temp = DMCDA_vars( - domain, - scen, - considered_sites, - leftover_space_scens[scen_idx, :], - area_to_seed, - summary_stat_env(wave_scens[:, :, target_wave_scens], (:timesteps, :scenarios)), - summary_stat_env(dhw_scens[:, :, target_dhw_scens], (:timesteps, :scenarios)) - ) - - ranks_store(; scenarios=scen_idx, sites=considered_sites) .= _location_selection( - domain, - collect(sum_cover[scen_idx, :]), - mcda_vars_temp, - scen.guided, - ) - end - - # Set filtered locations as n_locs+1 for consistency with time dependent ranks - ranks_store[ranks_store.==0.0] .= length(domain.site_ids)+1 - - return ranks_store + n_locs = n_locations(domain) + k_area_locs = site_k_area(domain) + + ranks_store = NamedDimsArray( + zeros(n_locs, 2, nrow(scenarios)); + sites = 1:n_locs, + intervention = ["seed", "fog"], + scenarios = 1:nrow(scenarios), + ) + + dhw_scens = domain.dhw_scens + wave_scens = domain.wave_scens + + # Pre-calculate maximum depth to consider + target_dhw_scens = unique(scenarios[:, "dhw_scenario"]) + target_wave_scens = unique(scenarios[:, "wave_scenario"]) + + target_site_ids = Int64[] + if !isnothing(target_seed_sites) + append!(target_site_ids, target_seed_sites) + end + + if !isnothing(target_fog_sites) + append!(target_site_ids, target_fog_sites) + end + + if isnothing(target_seed_sites) && isnothing(target_fog_sites) + target_site_ids = collect(1:length(domain.site_ids)) + end + + leftover_space_scens = relative_leftover_space(sum_cover.data) .* k_area_locs' + + for (scen_idx, scen) in enumerate(eachrow(scenarios)) + depth_criteria = within_depth_bounds( + domain.site_data.depth_med, + scen.depth_min .+ scen.depth_offset, + scen.depth_min + ) + depth_priority = findall(depth_criteria) + + considered_sites = target_site_ids[findall(in(depth_priority), target_site_ids)] + mcda_vars_temp = DMCDA_vars( + domain, + scen, + considered_sites, + leftover_space_scens[scen_idx, :], + area_to_seed, + summary_stat_env(wave_scens[:, :, target_wave_scens], (:timesteps, :scenarios)), + summary_stat_env(dhw_scens[:, :, target_dhw_scens], (:timesteps, :scenarios)), + ) + + ranks_store(; scenarios = scen_idx, sites = considered_sites) .= _location_selection( + domain, + collect(sum_cover[scen_idx, :]), + mcda_vars_temp, + scen.guided + ) + end + + # Set filtered locations as n_locs+1 for consistency with time dependent ranks + ranks_store[ranks_store .== 0.0] .= length(domain.site_ids) + 1 + + return ranks_store end function rank_locations( - domain::Domain, - scenarios::DataFrame, - sum_cover::NamedDimsArray, - area_to_seed::Float64, - agg_func::Function, - iv_type::Union{Int64, Symbol, String}; - target_seed_sites=nothing, - target_fog_sites=nothing, + domain::Domain, + scenarios::DataFrame, + sum_cover::NamedDimsArray, + area_to_seed::Float64, + agg_func::Function, + iv_type::Union{Int64, Symbol, String}; + target_seed_sites = nothing, + target_fog_sites = nothing, )::AbstractArray - ranks = rank_locations( - domain, - scenarios, - sum_cover, - area_to_seed; - target_seed_sites=target_seed_sites, - target_fog_sites=target_fog_sites, - ) - local iv_id - try - iv_id = axiskeys(ranks, :intervention)[iv_type] - catch err - if !(err isa ArgumentError) - rethrow(err) - end - - iv_id = iv_type - end - - return agg_func(ranks(intervention=iv_id)) + ranks = rank_locations( + domain, + scenarios, + sum_cover, + area_to_seed; + target_seed_sites = target_seed_sites, + target_fog_sites = target_fog_sites, + ) + local iv_id + try + iv_id = axiskeys(ranks, :intervention)[iv_type] + catch err + if !(err isa ArgumentError) + rethrow(err) + end + + iv_id = iv_type + end + + return agg_func(ranks(; intervention = iv_id)) end - """ - ranks_to_frequencies(ranks::NamedDimsArray, n_ranks::Int64) - ranks_to_frequencies(ranks::NamedDimsArray{D,T,3,A}; n_ranks=length(ranks.sites), agg_func=x -> dropdims(sum(x; dims=:timesteps); dims=:timesteps),) where {D,T,A} - ranks_to_frequencies(ranks::NamedDimsArray{D,T,2,A}; n_ranks=length(ranks.sites), agg_func=nothing) where {D,T,A} + ranks_to_frequencies(ranks::NamedDimsArray, n_ranks::Int64) + ranks_to_frequencies(ranks::NamedDimsArray{D,T,3,A}; n_ranks=length(ranks.sites), agg_func=x -> dropdims(sum(x; dims=:timesteps); dims=:timesteps),) where {D,T,A} + ranks_to_frequencies(ranks::NamedDimsArray{D,T,2,A}; n_ranks=length(ranks.sites), agg_func=nothing) where {D,T,A} Returns the frequency with which each location was ranked across scenarios. Uses the results from `rank_locations()`. @@ -203,49 +201,49 @@ Note: By default, ranks are aggregated over time where `ranks` is a 3-dimensiona Frequency with which each location was selected for each rank. """ function ranks_to_frequencies(ranks::NamedDimsArray, n_ranks::Int64)::NamedDimsArray - dn = NamedDims.dimnames(ranks) - freq_dims = [n for n in dn if n != :scenarios] - dn_subset = vcat(freq_dims, [:ranks]) - freq_elements = vcat( - [1:size(ranks, n) for n in dn if n != :scenarios], - [1:size(ranks, :sites)], - ) - mn = ([size(ranks, k) for k in freq_dims]..., size(ranks, :sites)) - - rank_frequencies = NamedDimsArray(zeros(mn...); zip(dn_subset, freq_elements)...) - - for rank in 1:n_ranks - rank_frequencies[ranks=Int64(rank)] .= sum(ranks .== rank; dims=:scenarios)[scenarios=1] - end - - return rank_frequencies + dn = NamedDims.dimnames(ranks) + freq_dims = [n for n in dn if n != :scenarios] + dn_subset = vcat(freq_dims, [:ranks]) + freq_elements = vcat( + [1:size(ranks, n) for n in dn if n != :scenarios], + [1:size(ranks, :sites)] + ) + mn = ([size(ranks, k) for k in freq_dims]..., size(ranks, :sites)) + + rank_frequencies = NamedDimsArray(zeros(mn...); zip(dn_subset, freq_elements)...) + + for rank in 1:n_ranks + rank_frequencies[ranks = Int64(rank)] .= sum(ranks .== rank; dims = :scenarios)[scenarios = 1] + end + + return rank_frequencies end function ranks_to_frequencies( - ranks::NamedDimsArray{D,T,3,A}; - n_ranks::Int64=length(ranks.sites), - agg_func=nothing, -)::NamedDimsArray where {D,T,A} - if !isnothing(agg_func) - return agg_func(ranks_to_frequencies(ranks, n_ranks)) - end - - return ranks_to_frequencies(ranks, n_ranks) + ranks::NamedDimsArray{D, T, 3, A}; + n_ranks::Int64 = length(ranks.sites), + agg_func = nothing, +)::NamedDimsArray where {D, T, A} + if !isnothing(agg_func) + return agg_func(ranks_to_frequencies(ranks, n_ranks)) + end + + return ranks_to_frequencies(ranks, n_ranks) end function ranks_to_frequencies( - ranks::NamedDimsArray{D,T,2,A}; - n_ranks::Int64=length(ranks.sites), - agg_func=nothing, -)::NamedDimsArray where {D,T,A} - if !isnothing(agg_func) - return agg_func(ranks_to_frequencies(ranks, n_ranks)) - end - - return ranks_to_frequencies(ranks, n_ranks) + ranks::NamedDimsArray{D, T, 2, A}; + n_ranks::Int64 = length(ranks.sites), + agg_func = nothing, +)::NamedDimsArray where {D, T, A} + if !isnothing(agg_func) + return agg_func(ranks_to_frequencies(ranks, n_ranks)) + end + + return ranks_to_frequencies(ranks, n_ranks) end """ - location_selection_frequencies(ranks::NamedDimsArray; n_iv_locs::Int64=5) - location_selection_frequencies(iv_log::NamedDimsArray{D,T,4,A}; dims::Union{Symbol,Vector{Symbol}}=:coral_id) where {D,T,A} + location_selection_frequencies(ranks::NamedDimsArray; n_iv_locs::Int64=5) + location_selection_frequencies(iv_log::NamedDimsArray{D,T,4,A}; dims::Union{Symbol,Vector{Symbol}}=:coral_id) where {D,T,A} Determines the count of times each location was selected for a specific intervention over a set of scenarios. @@ -260,33 +258,32 @@ set of scenarios. Number of times each location was selected for an intervention. """ function location_selection_frequencies( - ranks::NamedDimsArray; - n_iv_locs::Int64=5, + ranks::NamedDimsArray; + n_iv_locs::Int64 = 5 )::NamedDimsArray - ranks_frequencies = ranks_to_frequencies(ranks; n_ranks=n_iv_locs) - loc_count = sum(ranks_frequencies[ranks=1:n_iv_locs]; dims=:ranks)[ranks=1] + ranks_frequencies = ranks_to_frequencies(ranks; n_ranks = n_iv_locs) + loc_count = sum(ranks_frequencies[ranks = 1:n_iv_locs]; dims = :ranks)[ranks = 1] - return loc_count + return loc_count end function location_selection_frequencies( - iv_log::NamedDimsArray{D,T,4,A}; - dims::Union{Symbol,Vector{Symbol}}=:coral_id, -)::NamedDimsArray where {D,T,A} - loc_count = dropdims( - sum(dropdims(sum(iv_log; dims=dims); dims=dims) .> 0; dims=:scenarios); - dims=:scenarios, - ) - return loc_count + iv_log::NamedDimsArray{D, T, 4, A}; + dims::Union{Symbol, Vector{Symbol}} = :coral_id +)::NamedDimsArray where {D, T, A} + loc_count = dropdims( + sum(dropdims(sum(iv_log; dims = dims); dims = dims) .> 0; dims = :scenarios); + dims = :scenarios, + ) + return loc_count end - """Drop single dimensions.""" -_drop_single(x::AbstractMatrix) = dropdims(x, dims=(findall(size(x) .== 1)...,)) +_drop_single(x::AbstractMatrix) = dropdims(x; dims = (findall(size(x) .== 1)...,)) """ - selection_score(ranks::NamedDimsArray{D,T,3,A}; dims::Vector{Symbol}=[:scenarios, :timesteps]) where {D,T,A} - selection_score(ranks::NamedDimsArray{D,T,2,A}) where {D,T,A} - selection_score(ranks::NamedDimsArray, dims::Vector{Symbol}) + selection_score(ranks::NamedDimsArray{D,T,3,A}; dims::Vector{Symbol}=[:scenarios, :timesteps]) where {D,T,A} + selection_score(ranks::NamedDimsArray{D,T,2,A}) where {D,T,A} + selection_score(ranks::NamedDimsArray, dims::Vector{Symbol}) Calculates score ∈ [0, 1], where 1 is the highest score possible, indicative of the relative desirability of each location. @@ -301,132 +298,22 @@ The score reflects the location ranking and frequency of attaining a high rank. Selection score """ function selection_score( - ranks::NamedDimsArray{D,T,3,A}; - dims::Vector{Symbol}=[:scenarios, :timesteps], -)::NamedDimsArray where {D,T,A} - return _drop_single(selection_score(ranks, dims)) + ranks::NamedDimsArray{D, T, 3, A}; + dims::Vector{Symbol} = [:scenarios, :timesteps] +)::NamedDimsArray where {D, T, A} + return _drop_single(selection_score(ranks, dims)) end function selection_score( - ranks::NamedDimsArray{D,T,2,A}; - dims::Vector{Symbol}=[:scenarios], -)::NamedDimsArray where {D,T,A} - return selection_score(ranks, dims) + ranks::NamedDimsArray{D, T, 2, A}; + dims::Vector{Symbol} = [:scenarios] +)::NamedDimsArray where {D, T, A} + return selection_score(ranks, dims) end function selection_score( - ranks::NamedDimsArray, - dims::Vector{Symbol}, + ranks::NamedDimsArray, + dims::Vector{Symbol}, )::NamedDimsArray lowest_rank = maximum(ranks) # 1 is best rank, n_sites + 1 is worst rank selection_score = dropdims(sum(lowest_rank .- ranks; dims=dims); dims=dims[1]) return selection_score ./ ((lowest_rank - 1) * prod([size(ranks, d) for d in dims])) end - -""" - decision_matrices(dom::Domain, criteria_weights::DataFrameRow, int_type::Symbol; cover=dom.init_coral_cover::AbstractArray, - site_ids=collect(1:length(dom.site_data.site_id))::Vector{Int64},area_to_seed::Float64=962.11) - -Calculates a decision matrix for a specified intervention, using a scenario specification and Domain alone. - These can be visualised spatially using `viz.decision_matrices`. - -# Arguments -- `dom` : Domain struct -- `criteria_weights` : A row of a scenario dataframe, containing intervention criteria weights. -- `int_type` : Intervention type (e.g. :seed or :fog) -- `cover` : Relative coral cover to site k area (dims: nspecies*nsites), default is initial cover -- `site_ids` : Indices for sites to be included in the decision matrix, default is all sites in Domain -- `area_to_seed` : Area of corals seeded in the scenario considered - -# Returns -Selection score -""" -function decision_matrices( - dom::Domain, - criteria_weights::DataFrameRow; - cover=dom.init_coral_cover::AbstractArray, - site_ids=collect(1:length(dom.site_data.site_id))::Vector{Int64}, - area_to_seed::Float64=962.11, -) - loc_coral_cover = sum(cover; dims=:species) - - leftover_space = relative_leftover_space(Matrix(loc_coral_cover)) .* site_k_area(dom) - wave_stress = summary_stat_env(dom.wave_scens, (:scenarios, :timesteps)) - heat_stress = summary_stat_env(dom.dhw_scens, (:scenarios, :timesteps)) - TP_data = connectivity_strength( - dom.TP_data .* site_k_area(dom), vec(loc_coral_cover), dom.TP_data - ) - - predec = priority_predecessor_criteria( - dom.strong_pred, dom.sim_constants.priority_sites, length(site_ids) - ) - zones_crit = zones_criteria( - dom.sim_constants.priority_zones, dom.site_data.zone_type, dom.strong_pred, site_ids - ) - - A, filtered_sites = create_decision_matrix( - site_ids, - TP_data.in_conn, - TP_data.out_conn, - leftover_space[site_ids], - wave_stress[site_ids], - heat_stress[site_ids], - dom.site_data.depth_med[site_ids], - predec, - zones_crit, - criteria_weights.deployed_coral_risk_tol, - ) - - - S, wse = create_seed_matrix( - A, - area_to_seed .* criteria_weights.coral_cover_tol, - criteria_weights.seed_in_connectivity, - criteria_weights.seed_out_connectivity, - criteria_weights.seed_wave_stress, - criteria_weights.seed_heat_stress, - criteria_weights.seed_priority, - criteria_weights.seed_zone, - criteria_weights.coral_cover_low, - criteria_weights.seed_depth, - ) - - SE = NamedDimsArray( - S[:, 2:end]; - locations=dom.site_data.site_id, - criteria=[ - :in_connectivity, - :out_connectivity, - :wave_stress, - :heat_stress, - :priority_predecessor, - :zones, - :leftover_space, - :depth, - ], - ) - - S, wsh = create_fog_matrix( - A, - site_k_area(dom)[site_ids][filtered_sites], - criteria_weights.fog_connectivity, - criteria_weights.fog_wave_stress, - criteria_weights.fog_heat_stress, - criteria_weights.fog_priority, - criteria_weights.fog_zone, - criteria_weights.coral_cover_high, - ) - SH = NamedDimsArray( - S[:, 2:end]; - locations=dom.site_data.site_id, - criteria=[ - :in_connectivity, - :out_connectivity, - :wave_stress, - :heat_stress, - :priority_predecessor, - :zones, - :coral_area, - ], - ) - - return SE, wse, SH, wsh -end From 9c6de44257860cef9a9dfd317293577aee05cb33 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Fri, 5 Jan 2024 14:43:00 +1000 Subject: [PATCH 16/39] Adjust to allow `TP_data` type for be `Matrix{Float32}' as it is in the ResultSet --- src/ecosystem/connectivity.jl | 342 +++++++++++++++++----------------- 1 file changed, 172 insertions(+), 170 deletions(-) diff --git a/src/ecosystem/connectivity.jl b/src/ecosystem/connectivity.jl index a838fa176..991449e15 100644 --- a/src/ecosystem/connectivity.jl +++ b/src/ecosystem/connectivity.jl @@ -1,26 +1,26 @@ """ site_connectivity(file_loc::String, unique_site_ids::Vector{String}; - con_cutoff::Float64=1e-6, agg_func::Function=mean, swap::Bool=false)::NamedTuple + con_cutoff::Float64=1e-6, agg_func::Function=mean, swap::Bool=false)::NamedTuple Create transitional probability matrix indicating connectivity between sites, level of centrality, and the strongest predecessor for each site. NOTE: Transposes transitional probability matrix if `swap == true` - If multiple files are read in, this assumes all file rows/cols - follow the same order as the first file read in. + If multiple files are read in, this assumes all file rows/cols + follow the same order as the first file read in. # Examples ```julia - site_connectivity("MooreTPmean.csv", site_order) - site_connectivity("MooreTPmean.csv", site_order; con_cutoff=0.02, agg_func=mean, swap=true) + site_connectivity("MooreTPmean.csv", site_order) + site_connectivity("MooreTPmean.csv", site_order; con_cutoff=0.02, agg_func=mean, swap=true) ``` # Arguments - `file_loc` : Path to data file (or datasets) to load - If a folder, searches subfolders as well + If a folder, searches subfolders as well - `unique_site_ids` : Unique site ids in their expected order - `con_cutoff` : Percent thresholds of max for weak connections in - network (defined by user or defaults in `SimConstants`) + network (defined by user or defaults in `SimConstants`) - `agg_func` : Summary statistic to take (defaults to `mean`) - `swap` : Whether to transpose data (defaults to `false`) @@ -31,139 +31,139 @@ NamedTuple: - `site_ids` : ID of sites kept """ function site_connectivity( - file_loc::String, - unique_site_ids::Vector{String}; - con_cutoff::Float64=1e-6, - agg_func::Function=mean, - swap::Bool=false, + file_loc::String, + unique_site_ids::Vector{String}; + con_cutoff::Float64 = 1e-6, + agg_func::Function = mean, + swap::Bool = false, )::NamedTuple - if !isdir(file_loc) && !isfile(file_loc) - error("Could not find location: $(file_loc)") - end - - local extracted_TP::Matrix{Float64} - if isfile(file_loc) - con_files::Vector{String} = String[file_loc] - elseif isdir(file_loc) - # Get connectivity years available in data store - years::Vector{String} = getindex(first(walkdir(file_loc)), 2) - year_conn_fns = NamedTuple{Tuple(Symbol.(years))}([ - [joinpath.(first(fl), last(fl)) for fl in walkdir(joinpath(file_loc, yr))][1] - for yr in years - ]) - - con_files = vcat([x for x in values(year_conn_fns)]...) - - # Pre-allocate store - tmp_store::Vector{Matrix{Float64}} = Matrix{Float64}[] - - # Get average connectivity for each represented year - for yr in Symbol.(years) - if length(year_conn_fns[yr]) == 0 - # Skip empty directories - continue - end - - conn_data::Vector{Matrix{Float64}} = Matrix{Float64}[ - Matrix( - CSV.read( - fn, - DataFrame; - comment="#", - missingstring="NA", - transpose=swap, - types=Float64, - drop=[1], - ), - ) for fn in year_conn_fns[yr] - ] - - push!(tmp_store, agg_func(conn_data)) - end - - # Mean across all years - extracted_TP = agg_func(tmp_store) - end - - # Get site ids from first file - con_file1::DataFrame = CSV.read( - con_files[1], - DataFrame; - comment="#", - missingstring="NA", - transpose=swap, - types=Float64, - drop=[1], - ) - con_site_ids::Vector{String} = String[ - x[1] for x in split.(names(con_file1), "_v"; limit=2) - ] - - if isfile(file_loc) - extracted_TP = Matrix{Float64}(con_file1) - end - - # Get IDs missing in con_site_ids - invalid_ids::Vector{String} = setdiff(con_site_ids, unique_site_ids) - - # Get IDs missing in site_order - append!(invalid_ids, setdiff(unique_site_ids, con_site_ids)) - - # Identify IDs that do not appear in `invalid_ids` - valid_ids::Vector{String} = [x ∉ invalid_ids ? x : missing for x in unique_site_ids] - valid_idx = .!ismissing.(valid_ids) - - # Align IDs - unique_site_ids::Vector{String} = coalesce(unique_site_ids[valid_idx]) - site_order = [findfirst(c_id .== con_site_ids) for c_id in unique_site_ids] - - if length(invalid_ids) > 0 - if length(invalid_ids) >= length(con_site_ids) - error("All sites appear to be missing from data set. Aborting.") - end - - @warn "The following sites (n=$(length(invalid_ids))) were not found in site_ids and were removed:\n$(invalid_ids)" - end - - # Reorder all data into expected form - extracted_TP = extracted_TP[site_order, site_order] - - if con_cutoff > 0.0 - extracted_TP[extracted_TP .< con_cutoff] .= 0.0 - end - - TP_base = NamedDimsArray( - extracted_TP; Source=unique_site_ids, Receiving=unique_site_ids - ) - @assert all(0.0 .<= TP_base .<= 1.0) "Connectivity data not scaled between 0 - 1" - - return (TP_base=TP_base, truncated=invalid_ids, site_ids=unique_site_ids) + if !isdir(file_loc) && !isfile(file_loc) + error("Could not find location: $(file_loc)") + end + + local extracted_TP::Matrix{Float64} + if isfile(file_loc) + con_files::Vector{String} = String[file_loc] + elseif isdir(file_loc) + # Get connectivity years available in data store + years::Vector{String} = getindex(first(walkdir(file_loc)), 2) + year_conn_fns = NamedTuple{Tuple(Symbol.(years))}([ + [joinpath.(first(fl), last(fl)) for fl in walkdir(joinpath(file_loc, yr))][1] + for yr in years + ]) + + con_files = vcat([x for x in values(year_conn_fns)]...) + + # Pre-allocate store + tmp_store::Vector{Matrix{Float64}} = Matrix{Float64}[] + + # Get average connectivity for each represented year + for yr in Symbol.(years) + if length(year_conn_fns[yr]) == 0 + # Skip empty directories + continue + end + + conn_data::Vector{Matrix{Float64}} = Matrix{Float64}[ + Matrix( + CSV.read( + fn, + DataFrame; + comment = "#", + missingstring = "NA", + transpose = swap, + types = Float64, + drop = [1], + ), + ) for fn in year_conn_fns[yr] + ] + + push!(tmp_store, agg_func(conn_data)) + end + + # Mean across all years + extracted_TP = agg_func(tmp_store) + end + + # Get site ids from first file + con_file1::DataFrame = CSV.read( + con_files[1], + DataFrame; + comment = "#", + missingstring = "NA", + transpose = swap, + types = Float64, + drop = [1], + ) + con_site_ids::Vector{String} = String[ + x[1] for x in split.(names(con_file1), "_v"; limit = 2) + ] + + if isfile(file_loc) + extracted_TP = Matrix{Float64}(con_file1) + end + + # Get IDs missing in con_site_ids + invalid_ids::Vector{String} = setdiff(con_site_ids, unique_site_ids) + + # Get IDs missing in site_order + append!(invalid_ids, setdiff(unique_site_ids, con_site_ids)) + + # Identify IDs that do not appear in `invalid_ids` + valid_ids::Vector{String} = [x ∉ invalid_ids ? x : missing for x in unique_site_ids] + valid_idx = .!ismissing.(valid_ids) + + # Align IDs + unique_site_ids::Vector{String} = coalesce(unique_site_ids[valid_idx]) + site_order = [findfirst(c_id .== con_site_ids) for c_id in unique_site_ids] + + if length(invalid_ids) > 0 + if length(invalid_ids) >= length(con_site_ids) + error("All sites appear to be missing from data set. Aborting.") + end + + @warn "The following sites (n=$(length(invalid_ids))) were not found in site_ids and were removed:\n$(invalid_ids)" + end + + # Reorder all data into expected form + extracted_TP = extracted_TP[site_order, site_order] + + if con_cutoff > 0.0 + extracted_TP[extracted_TP .< con_cutoff] .= 0.0 + end + + TP_base = NamedDimsArray( + extracted_TP; Source = unique_site_ids, Receiving = unique_site_ids + ) + @assert all(0.0 .<= TP_base .<= 1.0) "Connectivity data not scaled between 0 - 1" + + return (TP_base = TP_base, truncated = invalid_ids, site_ids = unique_site_ids) end function site_connectivity( - file_loc::String, - unique_site_ids::Vector{Union{Missing,String}}; - con_cutoff::Float64=1e-6, - agg_func::Function=mean, - swap::Bool=false, + file_loc::String, + unique_site_ids::Vector{Union{Missing, String}}; + con_cutoff::Float64 = 1e-6, + agg_func::Function = mean, + swap::Bool = false, )::NamedTuple - # Remove any row marked as missing - if any(ismissing.(unique_site_ids)) - @warn "Removing entries marked as `missing` from provided list of sites." - unique_site_ids::Vector{String} = - String.(unique_site_ids[.!ismissing.(unique_site_ids)]) - else - unique_site_ids = String.(unique_site_ids) - end - - return site_connectivity( - file_loc, unique_site_ids; con_cutoff=con_cutoff, agg_func=agg_func, swap=swap - ) + # Remove any row marked as missing + if any(ismissing.(unique_site_ids)) + @warn "Removing entries marked as `missing` from provided list of sites." + unique_site_ids::Vector{String} = + String.(unique_site_ids[.!ismissing.(unique_site_ids)]) + else + unique_site_ids = String.(unique_site_ids) + end + + return site_connectivity( + file_loc, unique_site_ids; con_cutoff = con_cutoff, agg_func = agg_func, swap = swap + ) end """ - connectivity_strength(TP_base::AbstractArray)::NamedTuple - connectivity_strength(area_weighted_TP::AbstractMatrix{Float64}, cover::Vector{Float64}, TP_cache::AbstractMatrix{Float64})::NamedTuple + connectivity_strength(TP_base::AbstractArray)::NamedTuple + connectivity_strength(area_weighted_TP::AbstractMatrix{Float64}, cover::Vector{Float64}, TP_cache::AbstractMatrix{Float64})::NamedTuple Create in/out degree centralities for all nodes, and vector of their strongest predecessors. @@ -179,47 +179,49 @@ NamedTuple: - `out_conn` : sites ranked by outgoing connectivity - `strongest_predecessor` : strongest predecessor for each site """ -function connectivity_strength(TP_base::AbstractMatrix{Float64})::NamedTuple - g = SimpleDiGraph(TP_base) - - # Measure centrality based on number of incoming connections - C1 = indegree_centrality(g) - C2 = outdegree_centrality(g) - - # For each node, find strongly connected predecessor (by number of connections) - strong_pred = zeros(Int64, size(C1)...) - for v_id in vertices(g) - incoming = inneighbors(g, v_id) - - if length(incoming) > 0 - # For each incoming connection, find the one with most "in" - # connections themselves - in_conns = Int64[length(inneighbors(g, in_id)) for in_id in incoming] - - # Find index of predecessor with most connections - # (use `first` to get the first match in case of a tie) - most_conns = maximum(in_conns) - idx = first(findall(in_conns .== most_conns)) - strong_pred[v_id] = incoming[idx] - else - strong_pred[v_id] = 0 - end - end - - return (in_conn=C1, out_conn=C2, strongest_predecessor=strong_pred) +function connectivity_strength( + TP_base::AbstractMatrix{<:Union{Float32, Float64}} +)::NamedTuple + g = SimpleDiGraph(TP_base) + + # Measure centrality based on number of incoming connections + C1 = indegree_centrality(g) + C2 = outdegree_centrality(g) + + # For each node, find strongly connected predecessor (by number of connections) + strong_pred = zeros(Int64, size(C1)...) + for v_id in vertices(g) + incoming = inneighbors(g, v_id) + + if length(incoming) > 0 + # For each incoming connection, find the one with most "in" + # connections themselves + in_conns = Int64[length(inneighbors(g, in_id)) for in_id in incoming] + + # Find index of predecessor with most connections + # (use `first` to get the first match in case of a tie) + most_conns = maximum(in_conns) + idx = first(findall(in_conns .== most_conns)) + strong_pred[v_id] = incoming[idx] + else + strong_pred[v_id] = 0 + end + end + + return (in_conn = C1, out_conn = C2, strongest_predecessor = strong_pred) end function connectivity_strength( - area_weighted_TP::AbstractMatrix{Float64}, - cover::Vector{<:Union{Float32,Float64}}, - TP_cache::AbstractMatrix{Float64}, + area_weighted_TP::AbstractMatrix{Float64}, + cover::Vector{<:Union{Float32, Float64}}, + TP_cache::AbstractMatrix{<:Union{Float32, Float64}}, )::NamedTuple - # Accounts for cases where there is no coral cover - TP_cache .= (area_weighted_TP .* cover) - max_TP = maximum(TP_cache) - if max_TP > 0.0 - TP_cache .= TP_cache ./ max_TP - end + # Accounts for cases where there is no coral cover + TP_cache .= (area_weighted_TP .* cover) + max_TP = maximum(TP_cache) + if max_TP > 0.0 + TP_cache .= TP_cache ./ max_TP + end - return connectivity_strength(TP_cache) + return connectivity_strength(TP_cache) end From 836687c1cc937da579e369b165c8483779af3d03 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Tue, 9 Jan 2024 12:58:49 +1000 Subject: [PATCH 17/39] Remove `area_to_seed` as input in `decision_matrices` as no longer required Due to changes in how locations are deemed as having sufficient space --- src/analysis/decision.jl | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/analysis/decision.jl b/src/analysis/decision.jl index 99f2b11ea..d1c85a8d9 100644 --- a/src/analysis/decision.jl +++ b/src/analysis/decision.jl @@ -2,10 +2,9 @@ using ADRIA.decision using ADRIA: relative_leftover_space, connectivity_strength """ - decision_matrices(rs::ResultSet, criteria_weights::DataFrameRow; - loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, - area_to_seed::Float64 = 962.11) - + decision_matrices(rs::ResultSet, criteria_weights::DataFrameRow; + loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}) + Calculates a decision matrix for a specified intervention, using a scenario specification and Domain alone. These can be visualised spatially using `viz.decision_matrices`. @@ -14,18 +13,16 @@ Calculates a decision matrix for a specified intervention, using a scenario spec - `criteria_weights` : A row of a scenario dataframe, containing intervention criteria weights. - `int_type` : Intervention type (e.g. :seed or :fog) - `loc_coral_cover` : Relative coral cover to site k area (dims: nspecies*nsites), default - is max cover over scenarios in rs. -- `area_to_seed` : Area of corals seeded in the scenario considered +is max cover over scenarios in rs. # Returns Selection score """ function decision_matrices( - rs::ResultSet, - criteria_weights::DataFrameRow; - loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, - area_to_seed::Float64 = 962.11, - RCP::String = "45", + rs::ResultSet, + criteria_weights::DataFrameRow; + loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, + RCP::String = "45", ) site_ids = collect(1:length(rs.site_data.site_id)) leftover_space = relative_leftover_space(loc_coral_cover) .* site_k_area(rs) From 227808da32fb27736d6effa0c6b05f2fa2c63340 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Tue, 9 Jan 2024 13:05:22 +1000 Subject: [PATCH 18/39] Add documentation and variable name changes in `decision_matrices` for clarity --- src/analysis/decision.jl | 64 +++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/src/analysis/decision.jl b/src/analysis/decision.jl index d1c85a8d9..7b414176c 100644 --- a/src/analysis/decision.jl +++ b/src/analysis/decision.jl @@ -27,38 +27,42 @@ function decision_matrices( site_ids = collect(1:length(rs.site_data.site_id)) leftover_space = relative_leftover_space(loc_coral_cover) .* site_k_area(rs) - wave_stress = ADRIA.decision.summary_stat_env( - rs.wave_stats[RCP](; stat = "mean"), (:wave_scenario) - ) - heat_stress = ADRIA.decision.summary_stat_env( - rs.dhw_stats[RCP](; stat = "mean"), (:dhw_scenario) - ) - TP_data = rs.connectivity_data[RCP] - connectivity_data = connectivity_strength( - TP_data .* site_k_area(rs), vec(loc_coral_cover), TP_data - ) - strong_pred = connectivity_data.strongest_predecessor + wave_stress = ADRIA.decision.summary_stat_env( + rs.wave_stats[RCP](; stat = "mean"), (:wave_scenario) + ) + heat_stress = ADRIA.decision.summary_stat_env( + rs.dhw_stats[RCP](; stat = "mean"), (:dhw_scenario) + ) - predec = ADRIA.decision.priority_predecessor_criteria( - strong_pred, vec(rs.sim_constants["priority_sites"]), length(site_ids) - ) - zones_crit = ADRIA.decision.zones_criteria( - vec(rs.sim_constants["priority_zones"]), rs.site_data.zone_type, strong_pred, - site_ids, - ) + TP_data = rs.connectivity_data[RCP] # connectivity matrix + connectivity_data = connectivity_strength( + TP_data .* site_k_area(rs), vec(loc_coral_cover), TP_data + ) + # Strongest larval source location for each location + strong_pred = connectivity_data.strongest_predecessor - A, filtered_sites = ADRIA.decision.create_decision_matrix( - site_ids, - connectivity_data.in_conn, - connectivity_data.out_conn, - leftover_space[site_ids], - wave_stress[site_ids], - heat_stress[site_ids], - rs.site_data.depth_med[site_ids], - predec, - zones_crit, - criteria_weights.deployed_coral_risk_tol, - ) + # Criteria for strongest larval sources to priority locations + priority_source_criteria = ADRIA.decision.priority_predecessor_criteria( + strong_pred, vec(rs.sim_constants["priority_sites"]), length(site_ids) + ) + # Criteria for strongest larval sources to/members of priority zones + zones_criteria = ADRIA.decision.zones_criteria( + vec(rs.sim_constants["priority_zones"]), rs.site_data.zone_type, strong_pred, + site_ids, + ) + + A, filtered_sites = ADRIA.decision.create_decision_matrix( + site_ids, + connectivity_data.in_conn, + connectivity_data.out_conn, + leftover_space[site_ids], + wave_stress[site_ids], + heat_stress[site_ids], + rs.site_data.depth_med[site_ids], + priority_source_criteria, + zones_criteria, + criteria_weights.deployed_coral_risk_tol, + ) S, wse = ADRIA.decision.create_seed_matrix( A, From b2a2a26fb322b673cdd85303ddd343bb60098a3f Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Fri, 12 Jan 2024 08:16:31 +1000 Subject: [PATCH 19/39] Formatting and delete duplicate function introduced in rebase --- src/io/result_io.jl | 38 -------------------------------------- 1 file changed, 38 deletions(-) diff --git a/src/io/result_io.jl b/src/io/result_io.jl index 8529d00b6..9f296223d 100644 --- a/src/io/result_io.jl +++ b/src/io/result_io.jl @@ -91,44 +91,6 @@ function store_env_summary( return stats_store end -""" - store_conn(conn_data::NamedDimsArray, file_loc::String, rcp::String, - compressor::Zarr.Compressor)::ZArray - -Retrieve connectivity matrices from Domain for storage. -Produce connectivity for a particular RCP saved to a Zarr data store. - -# Arguments -- `conn_data` : connectivity data (e.g. `domain.TP_data`) -- `file_loc` : path for Zarr data store -- `rcp`: RCP associated with connectivity data. - -# Returns -Zarr data store holding a M*M matrix. -M is the number of locations. -""" -function store_conn( - conn_data::NamedDimsArray, - file_loc::String, - rcp::String, - compressor::Zarr.Compressor -)::ZArray - conn_store = zcreate( - Float32, - size(conn_data)...; - fill_value = nothing, fill_as_missing = false, - path = joinpath(file_loc, rcp), - attrs = Dict( - :structure => ("Source", "Receiving"), - :Source => conn_data.Source, - :Receiving => conn_data.Receiving, - :rcp => rcp), - compressor = compressor) - - conn_store[:, :] .= Matrix(conn_data) - return conn_store -end - """ store_conn(conn_data::NamedDimsArray, file_loc::String, rcp::String, compressor::Zarr.Compressor)::ZArray From bea727f7b2c7351fc3c7b5d4eaaea3db98381461 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Mon, 15 Jan 2024 08:05:19 +1000 Subject: [PATCH 20/39] Add separate parameters for in and out going connectivity weights for fogging This allows ease of extraction for decision matrix labelling Plus, update criteria weights docs Add use of separate ingoing and outgoing connectivity weights for fogging to mcda --- src/decision/CriteriaWeights.jl | 3 +- src/decision/dMCDA.jl | 211 ++++++++++++++++---------------- 2 files changed, 110 insertions(+), 104 deletions(-) diff --git a/src/decision/CriteriaWeights.jl b/src/decision/CriteriaWeights.jl index cae5c68e3..b2b58c94e 100644 --- a/src/decision/CriteriaWeights.jl +++ b/src/decision/CriteriaWeights.jl @@ -169,7 +169,8 @@ function criteria_params( )::DataFrame sel_crit = vec( all( - hcat([in.(c_k, crit.criteria_keywords) for c_k in criteria_keywords]...); dims=2 + hcat([in.(c_k, crit.criteria_keywords) for c_k in criteria_keywords]...); + dims = 2, ); ) return crit[sel_crit, :] diff --git a/src/decision/dMCDA.jl b/src/decision/dMCDA.jl index ecab5c163..4bd31ade4 100644 --- a/src/decision/dMCDA.jl +++ b/src/decision/dMCDA.jl @@ -9,36 +9,37 @@ using InteractiveUtils: subtypes using ADRIA: Domain, EcoModel, n_locations, site_area, site_k_area, site_k struct DMCDA_vars # {V, I, F, M} where V <: Vector - site_ids # ::V - n_site_int # ::I - priority_sites # ::V - priority_zones # ::V - zones # ::V - strong_pred # ::V - conn - dam_prob # ::A - heat_stress_prob # ::A - site_depth #::V - leftover_space # ::F - k_area # ::V - risk_tol # ::F - max_members # ::F - spatial_groups #::V - area_to_seed #::V - wt_in_conn_seed # ::F - wt_out_conn_seed # ::F - wt_conn_fog # ::F - wt_waves_seed # ::F - wt_waves_fog # ::F - wt_heat_seed # ::F - wt_heat_fog # ::F - wt_depth_seed # ::F - wt_hi_cover # ::F - wt_lo_cover # ::F - wt_predec_seed # ::F - wt_predec_fog # ::F - wt_zones_seed # ::F - wt_zones_fog # ::F + site_ids # ::V + n_site_int # ::I + priority_sites # ::V + priority_zones # ::V + zones # ::V + strong_pred # ::V + conn + dam_prob # ::A + heat_stress_prob # ::A + site_depth #::V + leftover_space # ::F + k_area # ::V + risk_tol # ::F + max_members # ::F + spatial_groups #::V + area_to_seed #::V + wt_in_conn_seed # ::F + wt_out_conn_seed # ::F + wt_in_conn_fog # ::F + wt_out_conn_fog # ::F + wt_waves_seed # ::F + wt_waves_fog # ::F + wt_heat_seed # ::F + wt_heat_fog # ::F + wt_depth_seed # ::F + wt_hi_cover # ::F + wt_lo_cover # ::F + wt_predec_seed # ::F + wt_predec_fog # ::F + wt_zones_seed # ::F + wt_zones_fog # ::F end include("mcda_methods.jl") @@ -99,38 +100,39 @@ function DMCDA_vars( # Site Data site_d = domain.site_data - mcda_vars = DMCDA_vars( - site_ids, - domain.sim_constants.n_site_int, - domain.sim_constants.priority_sites, - domain.sim_constants.priority_zones, - site_d.zone_type, - domain.strong_pred, - domain.TP_data .* site_k_area(domain), - waves, - dhws, - site_d.depth_med, - leftover_space, - site_k_area(domain), - criteria("deployed_coral_risk_tol"), - domain.sim_constants.max_members, - domain.site_data.UNIQUE_ID, - area_to_seed, - criteria("seed_in_connectivity"), - criteria("seed_out_connectivity"), - criteria("fog_connectivity"), - criteria("seed_wave_stress"), - criteria("fog_wave_stress"), - criteria("seed_heat_stress"), - criteria("fog_heat_stress"), - criteria("seed_depth"), - criteria("coral_cover_high"), - criteria("coral_cover_low"), - criteria("seed_priority"), - criteria("fog_priority"), - criteria("seed_zone"), - criteria("fog_zone"), - ) + mcda_vars = DMCDA_vars( + site_ids, + domain.sim_constants.n_site_int, + domain.sim_constants.priority_sites, + domain.sim_constants.priority_zones, + site_d.zone_type, + domain.strong_pred, + domain.TP_data .* site_k_area(domain), + waves, + dhws, + site_d.depth_med, + leftover_space, + site_k_area(domain), + criteria("deployed_coral_risk_tol"), + domain.sim_constants.max_members, + domain.site_data.UNIQUE_ID, + area_to_seed, + criteria("seed_in_connectivity"), + criteria("seed_out_connectivity"), + criteria("fog_in_connectivity"), + criteria("fog_out_connectivity"), + criteria("seed_wave_stress"), + criteria("fog_wave_stress"), + criteria("seed_heat_stress"), + criteria("fog_heat_stress"), + criteria("seed_depth"), + criteria("fog_coral_cover_high"), + criteria("seed_coral_cover_low"), + criteria("seed_priority"), + criteria("fog_priority"), + criteria("seed_zone"), + criteria("fog_zone"), + ) return mcda_vars end @@ -430,15 +432,16 @@ Tuple (SE, wse) 8. depth """ function create_seed_matrix( - A::Matrix{Float64}, - wt_in_conn_seed::T, - wt_out_conn_seed::T, - wt_waves_seed::T, - wt_heat_seed::T, - wt_predec_seed::T, - wt_predec_zones_seed::T, - wt_low_cover::T, - wt_depth_seed::T, + A::Matrix{Float64}, + wt_in_conn_seed::T, + wt_out_conn_seed::T, + wt_waves_seed::T, + wt_heat_seed::T, + wt_predec_seed::T, + wt_predec_zones_seed::T, + wt_low_cover::T, + wt_depth_seed::T; + filter_space::T=0.0 )::Tuple{Matrix{Float64}, Vector{Float64}} where {T <: Float64} # Define seeding decision matrix, based on copy of A SE = copy(A) @@ -457,7 +460,7 @@ function create_seed_matrix( SE[:, 4] = (1 .- SE[:, 4]) # compliment of wave risk SE[:, 5] = (1 .- SE[:, 5]) # compliment of heat risk - SE[SE[:, 8] .<= 0.0, 8] .= NaN # Filter out sites with no space + SE[SE[:, 8] .<= filter_space, 8] .= NaN # Filter out sites with no space # Filter out identified locations SE = SE[vec(.!any(isnan.(SE); dims = 2)), :] @@ -499,26 +502,27 @@ Tuple (SH, wsh) 5. high cover (weights importance of sites with high cover of coral to fog) """ function create_fog_matrix( - A::Matrix{Float64}, - k_area::Vector{T}, - wt_conn_fog::T, - wt_waves_fog::T, - wt_heat_fog::T, - wt_predec_fog::T, - wt_predec_zones_fog::T, - wt_hi_cover, + A::Matrix{Float64}, + k_area::Vector{T}, + wt_in_conn_fog::T, + wt_out_conn_fog::T, + wt_waves_fog::T, + wt_heat_fog::T, + wt_predec_fog::T, + wt_predec_zones_fog::T, + wt_hi_cover, )::Tuple{Matrix{Float64}, Vector{Float64}} where {T <: Float64} - # Define weights vector - wsh = [ - wt_conn_fog, - wt_conn_fog, - wt_waves_fog, - wt_heat_fog, - wt_predec_fog, - wt_predec_zones_fog, - wt_hi_cover, - ] + # Define weights vector + wsh = [ + wt_in_conn_fog, + wt_out_conn_fog, + wt_waves_fog, + wt_heat_fog, + wt_predec_fog, + wt_predec_zones_fog, + wt_hi_cover, + ] # Set up decision matrix to be same size as A SH = copy(A) @@ -643,19 +647,20 @@ function guided_site_selection( ) end - # if shading, create fogging specific decision matrix - if log_fog - SH, wsh = create_fog_matrix( - A, - d_vars.k_area[site_ids][filtered_sites], - d_vars.wt_conn_fog, - d_vars.wt_waves_fog, - d_vars.wt_heat_fog, - d_vars.wt_predec_fog, - d_vars.wt_zones_fog, - d_vars.wt_hi_cover, - ) - end + # if shading, create fogging specific decision matrix + if log_fog + SH, wsh = create_fog_matrix( + A, + d_vars.k_area[site_ids][filtered_sites], + d_vars.wt_in_conn_fog, + d_vars.wt_out_conn_fog, + d_vars.wt_waves_fog, + d_vars.wt_heat_fog, + d_vars.wt_predec_fog, + d_vars.wt_zones_fog, + d_vars.wt_hi_cover, + ) + end if log_seed && isempty(SE) pref_seed_locs = zeros(Int64, n_iv_locs) From a0957a631305fa939ee28c2c465ebfb95912e5e6 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Mon, 15 Jan 2024 08:33:34 +1000 Subject: [PATCH 21/39] Use `criteria_params` to extract weighting labels when creating decision matrices for plotting --- src/analysis/decision.jl | 89 ++++++++++++++++++---------------------- 1 file changed, 39 insertions(+), 50 deletions(-) diff --git a/src/analysis/decision.jl b/src/analysis/decision.jl index 7b414176c..96eadb530 100644 --- a/src/analysis/decision.jl +++ b/src/analysis/decision.jl @@ -1,5 +1,6 @@ using ADRIA.decision -using ADRIA: relative_leftover_space, connectivity_strength +using ADRIA: relative_leftover_space, connectivity_strength, model_spec, criteria_params, + component_params """ decision_matrices(rs::ResultSet, criteria_weights::DataFrameRow; @@ -51,6 +52,11 @@ function decision_matrices( site_ids, ) + spec = model_spec(rs) + crit = component_params(spec, CriteriaWeights) + weights_seed_crit = criteria_params(crit, "(:seed, :weight)") + weights_fog_crit = criteria_params(crit, "(:fog, :weight)") + A, filtered_sites = ADRIA.decision.create_decision_matrix( site_ids, connectivity_data.in_conn, @@ -64,56 +70,39 @@ function decision_matrices( criteria_weights.deployed_coral_risk_tol, ) - S, wse = ADRIA.decision.create_seed_matrix( - A, - criteria_weights.seed_in_connectivity, - criteria_weights.seed_out_connectivity, - criteria_weights.seed_wave_stress, - criteria_weights.seed_heat_stress, - criteria_weights.seed_priority, - criteria_weights.seed_zone, - criteria_weights.coral_cover_low, - criteria_weights.seed_depth, - ) - - SE = NamedDimsArray( - S[:, 2:end]; - locations = rs.site_data.site_id, - criteria = [ - :in_connectivity, - :out_connectivity, - :wave_stress, - :heat_stress, - :priority_predecessor, - :zones, - :leftover_space, - :depth, - ], - ) + S, wse = ADRIA.decision.create_seed_matrix( + A, + criteria_weights.seed_in_connectivity, + criteria_weights.seed_out_connectivity, + criteria_weights.seed_wave_stress, + criteria_weights.seed_heat_stress, + criteria_weights.seed_priority, + criteria_weights.seed_zone, + criteria_weights.seed_coral_cover_low, + criteria_weights.seed_depth; + ) + SE = NamedDimsArray( + S[:, 2:end]; + locations = rs.site_data.site_id[Int.(S[:, 1])], + criteria = weights_seed_crit.fieldname, + ) - S, wsh = ADRIA.decision.create_fog_matrix( - A, - site_k_area(rs)[site_ids][filtered_sites], - criteria_weights.fog_connectivity, - criteria_weights.fog_wave_stress, - criteria_weights.fog_heat_stress, - criteria_weights.fog_priority, - criteria_weights.fog_zone, - criteria_weights.coral_cover_high, - ) - SH = NamedDimsArray( - S[:, 2:end]; - locations = rs.site_data.site_id, - criteria = [ - :in_connectivity, - :out_connectivity, - :wave_stress, - :heat_stress, - :priority_predecessor, - :zones, - :coral_area, - ], - ) + S, wsh = ADRIA.decision.create_fog_matrix( + A, + site_k_area(rs)[site_ids][filtered_sites], + criteria_weights.fog_in_connectivity, + criteria_weights.fog_out_connectivity, + criteria_weights.fog_wave_stress, + criteria_weights.fog_heat_stress, + criteria_weights.fog_priority, + criteria_weights.fog_zone, + criteria_weights.fog_coral_cover_high, + ) + SH = NamedDimsArray( + S[:, 2:end]; + locations = rs.site_data.site_id[Int.(S[:, 1])], + criteria = weights_fog_crit.fieldname, + ) return SE, wse, SH, wsh end From ef1770eb4e91c6413f2b9976d171804f13b66f9f Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Mon, 15 Jan 2024 09:38:48 +1000 Subject: [PATCH 22/39] Add optional parameter `filter_space` when creating seed matrix so that no filtering occurs when plotting seed decision matrix Update example and test scenarios with new parameters and parameter names --- src/analysis/decision.jl | 1 + test/data/Test_domain/test_scenarios.csv | 39 +++++++++++--- test/data/example_scenarios.csv | 66 ++++++++++++------------ 3 files changed, 67 insertions(+), 39 deletions(-) diff --git a/src/analysis/decision.jl b/src/analysis/decision.jl index 96eadb530..67e453039 100644 --- a/src/analysis/decision.jl +++ b/src/analysis/decision.jl @@ -80,6 +80,7 @@ function decision_matrices( criteria_weights.seed_zone, criteria_weights.seed_coral_cover_low, criteria_weights.seed_depth; + filter_space = -1.0, ) SE = NamedDimsArray( S[:, 2:end]; diff --git a/test/data/Test_domain/test_scenarios.csv b/test/data/Test_domain/test_scenarios.csv index d87242e3c..503fa990c 100644 --- a/test/data/Test_domain/test_scenarios.csv +++ b/test/data/Test_domain/test_scenarios.csv @@ -1,6 +1,33 @@ -guided,seed_TA,seed_CA,fogging,SRM,a_adapt,n_adapt,seed_years,shade_years,seed_freq,shade_freq,seed_year_start,shade_year_start,wave_stress,heat_stress,shade_connectivity,seed_connectivity,coral_cover_high,coral_cover_low,seed_priority,shade_priority,deployed_coral_risk_tol,depth_min,depth_offset,tabular_acropora_6_2_mean_colony_diameter_m,abhorescent_acropora_5_1_wavemort90,large_massives_4_6_growth_rate,corymbose_non_acropora_6_4_mb_rate,corymbose_non_acropora_1_4_growth_rate,corymbose_non_acropora_3_4_growth_rate,tabular_acropora_4_2_fecundity,corymbose_acropora_4_3_growth_rate,corymbose_non_acropora_2_4_growth_rate,small_massives_2_5_fecundity,corymbose_non_acropora_6_4_fecundity,small_massives_6_5_growth_rate,tabular_acropora_4_2_growth_rate,abhorescent_acropora_3_1_mean_colony_diameter_m,abhorescent_acropora_4_1_fecundity,small_massives_2_5_mb_rate,small_massives_3_5_wavemort90,small_massives_1_5_growth_rate,abhorescent_acropora_5_1_fecundity,large_massives_5_6_basecov,corymbose_acropora_5_3_growth_rate,corymbose_acropora_6_3_fecundity,corymbose_non_acropora_5_4_wavemort90,small_massives_5_5_basecov,corymbose_acropora_2_3_growth_rate,tabular_acropora_2_2_mb_rate,tabular_acropora_3_2_bleach_resist,small_massives_3_5_fecundity,abhorescent_acropora_2_1_bleach_resist,corymbose_acropora_5_3_basecov,abhorescent_acropora_6_1_bleach_resist,small_massives_2_5_wavemort90,large_massives_4_6_fecundity,corymbose_non_acropora_6_4_mean_colony_diameter_m,large_massives_1_6_bleach_resist,tabular_acropora_5_2_wavemort90,small_massives_4_5_basecov,abhorescent_acropora_6_1_basecov,corymbose_acropora_4_3_fecundity,small_massives_2_5_basecov,small_massives_5_5_growth_rate,corymbose_non_acropora_4_4_bleach_resist,corymbose_non_acropora_5_4_basecov,corymbose_acropora_5_3_mean_colony_diameter_m,tabular_acropora_6_2_wavemort90,abhorescent_acropora_6_1_wavemort90,corymbose_acropora_6_3_bleach_resist,small_massives_2_5_mean_colony_diameter_m,small_massives_4_5_mean_colony_diameter_m,tabular_acropora_6_2_bleach_resist,small_massives_3_5_mean_colony_diameter_m,large_massives_3_6_fecundity,abhorescent_acropora_1_1_growth_rate,abhorescent_acropora_1_1_fecundity,tabular_acropora_1_2_fecundity,large_massives_6_6_growth_rate,abhorescent_acropora_5_1_basecov,abhorescent_acropora_3_1_growth_rate,abhorescent_acropora_1_1_wavemort90,abhorescent_acropora_3_1_basecov,tabular_acropora_3_2_mean_colony_diameter_m,corymbose_non_acropora_4_4_wavemort90,corymbose_non_acropora_1_4_fecundity,abhorescent_acropora_1_1_basecov,abhorescent_acropora_5_1_bleach_resist,abhorescent_acropora_2_1_wavemort90,corymbose_acropora_1_3_mean_colony_diameter_m,corymbose_non_acropora_3_4_wavemort90,abhorescent_acropora_1_1_mean_colony_diameter_m,tabular_acropora_5_2_mean_colony_diameter_m,abhorescent_acropora_3_1_mb_rate,corymbose_acropora_1_3_fecundity,corymbose_non_acropora_2_4_mean_colony_diameter_m,abhorescent_acropora_2_1_basecov,abhorescent_acropora_4_1_mb_rate,tabular_acropora_2_2_bleach_resist,abhorescent_acropora_2_1_fecundity,large_massives_2_6_mb_rate,corymbose_non_acropora_6_4_growth_rate,large_massives_5_6_growth_rate,corymbose_acropora_3_3_fecundity,large_massives_5_6_bleach_resist,tabular_acropora_4_2_basecov,tabular_acropora_6_2_growth_rate,corymbose_non_acropora_3_4_basecov,large_massives_3_6_wavemort90,tabular_acropora_4_2_bleach_resist,abhorescent_acropora_3_1_wavemort90,abhorescent_acropora_4_1_growth_rate,small_massives_5_5_mean_colony_diameter_m,corymbose_acropora_2_3_fecundity,abhorescent_acropora_4_1_mean_colony_diameter_m,large_massives_1_6_wavemort90,corymbose_acropora_1_3_mb_rate,large_massives_1_6_mb_rate,corymbose_acropora_1_3_wavemort90,corymbose_non_acropora_6_4_bleach_resist,large_massives_4_6_basecov,large_massives_3_6_bleach_resist,corymbose_acropora_2_3_bleach_resist,abhorescent_acropora_3_1_fecundity,small_massives_6_5_mean_colony_diameter_m,small_massives_3_5_basecov,large_massives_2_6_growth_rate,corymbose_acropora_2_3_mean_colony_diameter_m,small_massives_3_5_growth_rate,tabular_acropora_3_2_wavemort90,abhorescent_acropora_6_1_mean_colony_diameter_m,corymbose_acropora_2_3_mb_rate,corymbose_non_acropora_3_4_bleach_resist,corymbose_non_acropora_1_4_mean_colony_diameter_m,tabular_acropora_2_2_wavemort90,abhorescent_acropora_4_1_bleach_resist,small_massives_1_5_mean_colony_diameter_m,corymbose_non_acropora_4_4_basecov,corymbose_acropora_3_3_basecov,corymbose_acropora_1_3_bleach_resist,corymbose_acropora_2_3_wavemort90,large_massives_3_6_mean_colony_diameter_m,corymbose_non_acropora_5_4_fecundity,corymbose_acropora_6_3_growth_rate,corymbose_acropora_3_3_mean_colony_diameter_m,tabular_acropora_2_2_basecov,small_massives_3_5_bleach_resist,tabular_acropora_1_2_mean_colony_diameter_m,abhorescent_acropora_5_1_mean_colony_diameter_m,corymbose_non_acropora_2_4_mb_rate,abhorescent_acropora_1_1_bleach_resist,corymbose_non_acropora_1_4_mb_rate,large_massives_4_6_mean_colony_diameter_m,corymbose_acropora_6_3_wavemort90,tabular_acropora_5_2_fecundity,large_massives_6_6_wavemort90,corymbose_acropora_3_3_mb_rate,tabular_acropora_1_2_basecov,small_massives_1_5_fecundity,tabular_acropora_5_2_bleach_resist,large_massives_1_6_basecov,small_massives_3_5_mb_rate,abhorescent_acropora_5_1_growth_rate,tabular_acropora_6_2_mb_rate,large_massives_2_6_fecundity,abhorescent_acropora_2_1_growth_rate,corymbose_non_acropora_3_4_mean_colony_diameter_m,corymbose_non_acropora_2_4_bleach_resist,large_massives_4_6_bleach_resist,small_massives_1_5_wavemort90,small_massives_5_5_mb_rate,corymbose_non_acropora_5_4_mean_colony_diameter_m,corymbose_acropora_5_3_wavemort90,tabular_acropora_6_2_fecundity,large_massives_6_6_mean_colony_diameter_m,corymbose_non_acropora_1_4_wavemort90,corymbose_non_acropora_6_4_wavemort90,tabular_acropora_5_2_mb_rate,corymbose_non_acropora_4_4_growth_rate,tabular_acropora_1_2_mb_rate,large_massives_5_6_fecundity,abhorescent_acropora_5_1_mb_rate,abhorescent_acropora_4_1_basecov,corymbose_non_acropora_4_4_mb_rate,large_massives_5_6_wavemort90,corymbose_non_acropora_5_4_bleach_resist,tabular_acropora_5_2_growth_rate,corymbose_acropora_1_3_growth_rate,corymbose_non_acropora_1_4_basecov,corymbose_acropora_4_3_mb_rate,small_massives_2_5_bleach_resist,small_massives_4_5_fecundity,abhorescent_acropora_6_1_mb_rate,corymbose_non_acropora_2_4_fecundity,corymbose_acropora_5_3_mb_rate,small_massives_4_5_growth_rate,small_massives_6_5_bleach_resist,small_massives_5_5_fecundity,tabular_acropora_4_2_mean_colony_diameter_m,small_massives_5_5_wavemort90,tabular_acropora_1_2_wavemort90,abhorescent_acropora_3_1_bleach_resist,corymbose_non_acropora_3_4_fecundity,large_massives_3_6_growth_rate,large_massives_3_6_mb_rate,small_massives_6_5_wavemort90,small_massives_1_5_basecov,corymbose_acropora_3_3_bleach_resist,large_massives_6_6_mb_rate,tabular_acropora_3_2_mb_rate,small_massives_4_5_bleach_resist,large_massives_6_6_basecov,small_massives_6_5_fecundity,large_massives_3_6_basecov,corymbose_acropora_4_3_bleach_resist,small_massives_4_5_mb_rate,abhorescent_acropora_1_1_mb_rate,abhorescent_acropora_2_1_mean_colony_diameter_m,abhorescent_acropora_2_1_mb_rate,large_massives_1_6_fecundity,tabular_acropora_1_2_growth_rate,tabular_acropora_2_2_mean_colony_diameter_m,large_massives_6_6_fecundity,tabular_acropora_5_2_basecov,small_massives_6_5_mb_rate,large_massives_5_6_mb_rate,corymbose_non_acropora_6_4_basecov,large_massives_5_6_mean_colony_diameter_m,corymbose_non_acropora_5_4_mb_rate,tabular_acropora_3_2_fecundity,corymbose_acropora_6_3_mean_colony_diameter_m,corymbose_non_acropora_2_4_wavemort90,corymbose_acropora_6_3_mb_rate,large_massives_2_6_mean_colony_diameter_m,tabular_acropora_3_2_growth_rate,tabular_acropora_1_2_bleach_resist,corymbose_non_acropora_4_4_mean_colony_diameter_m,corymbose_non_acropora_2_4_basecov,small_massives_1_5_bleach_resist,large_massives_2_6_wavemort90,corymbose_acropora_3_3_growth_rate,abhorescent_acropora_6_1_fecundity,tabular_acropora_4_2_mb_rate,tabular_acropora_2_2_fecundity,tabular_acropora_6_2_basecov,corymbose_non_acropora_1_4_bleach_resist,corymbose_acropora_4_3_basecov,small_massives_6_5_basecov,corymbose_acropora_5_3_bleach_resist,large_massives_2_6_basecov,small_massives_4_5_wavemort90,tabular_acropora_2_2_growth_rate,corymbose_non_acropora_3_4_mb_rate,corymbose_non_acropora_4_4_fecundity,small_massives_2_5_growth_rate,large_massives_2_6_bleach_resist,small_massives_5_5_bleach_resist,small_massives_1_5_mb_rate,corymbose_acropora_2_3_basecov,abhorescent_acropora_4_1_wavemort90,large_massives_1_6_mean_colony_diameter_m,large_massives_4_6_wavemort90,large_massives_4_6_mb_rate,corymbose_acropora_3_3_wavemort90,corymbose_acropora_4_3_wavemort90,corymbose_acropora_6_3_basecov,corymbose_acropora_1_3_basecov,tabular_acropora_4_2_wavemort90,large_massives_1_6_growth_rate,corymbose_acropora_4_3_mean_colony_diameter_m,corymbose_non_acropora_5_4_growth_rate,tabular_acropora_3_2_basecov,corymbose_acropora_5_3_fecundity,large_massives_6_6_bleach_resist,abhorescent_acropora_6_1_growth_rate -0,0,0,0.2,0.0,0.0,0.0,10,10,5,1,2,2,1.0,1.0,0.0,1.0,0.0,1.0,1.0,0.0,5.0,5.0,5.0,44.178646691106465,0.0,0.20833333333333331,0.03,1.7600000000000002,1.2,60690.25649057995,2.4,1.7600000000000002,174097.86326204485,70051.98698712433,0.24,4.591836734693878,9.62112750161874,53544.16724131383,0.098,0.0,0.8800000000000001,22462.70892642643,0.0,0.8,52358.580056543695,0.0,0.0,2.4,0.19,0.0,75235.75680665726,0.0,0.008835729338221293,1.0,0.0,80635.68757920948,706.8583470577034,0.0,0.0,0.021205750411731103,0.0,65496.53046804566,0.0,0.16,0.0,0.005301437602932776,176.71458676442586,0.0,0.0,1.0,2827.4333882308138,2827.4333882308138,1.0,2827.4333882308138,80635.68757920948,6.125,25918.241865444536,52273.74839262087,0.08333333333333333,0.00015707963267948968,6.125,0.0,0.0,44.178646691106465,0.0,118090.95735034144,0.0,1.5,0.0,176.71458676442586,0.0,9.62112750161874,44.178646691106465,0.2,80101.35188695589,706.8583470577034,0.0,0.2,0.0,25918.241865444536,0.098,0.4,0.05555555555555555,65496.53046804566,1.5,0.0009621127501618741,1.5306122448979593,0.0,0.0,0.0,0.0,6.125,2827.4333882308138,80101.35188695589,9.62112750161874,0.0,0.15,0.098,0.0,1.0,0.02827433388230814,0.0,0.0,53544.16724131383,2827.4333882308138,0.0,0.3055555555555556,176.71458676442586,0.6,0.0,9.62112750161874,0.15,0.0,706.8583470577034,0.0,0.0,2827.4333882308138,0.008835729338221293,0.0,0.0,0.0,7853.981633974483,70051.98698712433,0.8,176.71458676442586,0.0,0.0,44.178646691106465,9.62112750161874,0.098,0.0,0.098,7853.981633974483,0.0,38016.37545604793,0.0,0.12,0.0,174097.86326204485,1.5,0.0,0.088,6.125,0.1,256667.1206033878,6.125,706.8583470577034,0.0,0.0,0.0,0.02,706.8583470577034,0.0,38016.37545604793,7853.981633974483,0.0,0.0,0.1,1.2,0.19,125396.56924359268,0.2,0.00015707963267948968,0.088,0.0,1.5,1.5306122448979593,2.4,0.0,0.12,0.0,75235.75680665726,0.2,118090.95735034144,0.04,0.6,1.0,93724.48365759186,44.178646691106465,0.0,0.0,0.0,70197.44324385107,0.20833333333333331,0.088,0.0,0.0,0.0,0.02,0.17,0.0,0.0,93724.48365759186,0.0,0.0,0.088,0.2,9.62112750161874,0.2,256667.1206033878,4.591836734693878,44.178646691106465,125396.56924359268,0.0009621127501618741,0.02,0.02,0.0,7853.981633974483,0.03,60690.25649057995,176.71458676442586,0.0,0.04,7853.981633974483,4.591836734693878,0.0,706.8583470577034,0.0,0.0,0.0,2.4,22462.70892642643,0.17,52273.74839262087,0.0,0.0,0.004417864669110647,0.0,1.5,0.0,0.0,4.591836734693878,0.088,70197.44324385107,0.8800000000000001,0.0,1.5,0.098,0.0,0.0,7853.981633974483,0.0,0.088,0.0,0.0,0.0,0.0,0.0,0.3055555555555556,176.71458676442586,0.4,0.0,52358.580056543695,1.0,6.125 -0,500000,500000,0.2,0.0,0.0,0.0,10,10,5,1,2,2,1.0,1.0,0.0,1.0,0.0,1.0,1.0,0.0,5.0,5.0,5.0,44.178646691106465,0.0,0.20833333333333331,0.03,1.7600000000000002,1.2,60690.25649057995,2.4,1.7600000000000002,174097.86326204485,70051.98698712433,0.24,4.591836734693878,9.62112750161874,53544.16724131383,0.098,0.0,0.8800000000000001,22462.70892642643,0.0,0.8,52358.580056543695,0.0,0.0,2.4,0.19,0.0,75235.75680665726,0.0,0.008835729338221293,1.0,0.0,80635.68757920948,706.8583470577034,0.0,0.0,0.021205750411731103,0.0,65496.53046804566,0.0,0.16,0.0,0.005301437602932776,176.71458676442586,0.0,0.0,1.0,2827.4333882308138,2827.4333882308138,1.0,2827.4333882308138,80635.68757920948,6.125,25918.241865444536,52273.74839262087,0.08333333333333333,0.00015707963267948968,6.125,0.0,0.0,44.178646691106465,0.0,118090.95735034144,0.0,1.5,0.0,176.71458676442586,0.0,9.62112750161874,44.178646691106465,0.2,80101.35188695589,706.8583470577034,0.0,0.2,0.0,25918.241865444536,0.098,0.4,0.05555555555555555,65496.53046804566,1.5,0.0009621127501618741,1.5306122448979593,0.0,0.0,0.0,0.0,6.125,2827.4333882308138,80101.35188695589,9.62112750161874,0.0,0.15,0.098,0.0,1.0,0.02827433388230814,0.0,0.0,53544.16724131383,2827.4333882308138,0.0,0.3055555555555556,176.71458676442586,0.6,0.0,9.62112750161874,0.15,0.0,706.8583470577034,0.0,0.0,2827.4333882308138,0.008835729338221293,0.0,0.0,0.0,7853.981633974483,70051.98698712433,0.8,176.71458676442586,0.0,0.0,44.178646691106465,9.62112750161874,0.098,0.0,0.098,7853.981633974483,0.0,38016.37545604793,0.0,0.12,0.0,174097.86326204485,1.5,0.0,0.088,6.125,0.1,256667.1206033878,6.125,706.8583470577034,0.0,0.0,0.0,0.02,706.8583470577034,0.0,38016.37545604793,7853.981633974483,0.0,0.0,0.1,1.2,0.19,125396.56924359268,0.2,0.00015707963267948968,0.088,0.0,1.5,1.5306122448979593,2.4,0.0,0.12,0.0,75235.75680665726,0.2,118090.95735034144,0.04,0.6,1.0,93724.48365759186,44.178646691106465,0.0,0.0,0.0,70197.44324385107,0.20833333333333331,0.088,0.0,0.0,0.0,0.02,0.17,0.0,0.0,93724.48365759186,0.0,0.0,0.088,0.2,9.62112750161874,0.2,256667.1206033878,4.591836734693878,44.178646691106465,125396.56924359268,0.0009621127501618741,0.02,0.02,0.0,7853.981633974483,0.03,60690.25649057995,176.71458676442586,0.0,0.04,7853.981633974483,4.591836734693878,0.0,706.8583470577034,0.0,0.0,0.0,2.4,22462.70892642643,0.17,52273.74839262087,0.0,0.0,0.004417864669110647,0.0,1.5,0.0,0.0,4.591836734693878,0.088,70197.44324385107,0.8800000000000001,0.0,1.5,0.098,0.0,0.0,7853.981633974483,0.0,0.088,0.0,0.0,0.0,0.0,0.0,0.3055555555555556,176.71458676442586,0.4,0.0,52358.580056543695,1.0,6.125 -1,500000,500000,0.2,0.0,0.0,0.0,10,10,5,1,2,2,1.0,1.0,0.0,1.0,0.0,1.0,1.0,0.0,5.0,5.0,5.0,44.178646691106465,0.0,0.20833333333333331,0.03,1.7600000000000002,1.2,60690.25649057995,2.4,1.7600000000000002,174097.86326204485,70051.98698712433,0.24,4.591836734693878,9.62112750161874,53544.16724131383,0.098,0.0,0.8800000000000001,22462.70892642643,0.0,0.8,52358.580056543695,0.0,0.0,2.4,0.19,0.0,75235.75680665726,0.0,0.008835729338221293,1.0,0.0,80635.68757920948,706.8583470577034,0.0,0.0,0.021205750411731103,0.0,65496.53046804566,0.0,0.16,0.0,0.005301437602932776,176.71458676442586,0.0,0.0,1.0,2827.4333882308138,2827.4333882308138,1.0,2827.4333882308138,80635.68757920948,6.125,25918.241865444536,52273.74839262087,0.08333333333333333,0.00015707963267948968,6.125,0.0,0.0,44.178646691106465,0.0,118090.95735034144,0.0,1.5,0.0,176.71458676442586,0.0,9.62112750161874,44.178646691106465,0.2,80101.35188695589,706.8583470577034,0.0,0.2,0.0,25918.241865444536,0.098,0.4,0.05555555555555555,65496.53046804566,1.5,0.0009621127501618741,1.5306122448979593,0.0,0.0,0.0,0.0,6.125,2827.4333882308138,80101.35188695589,9.62112750161874,0.0,0.15,0.098,0.0,1.0,0.02827433388230814,0.0,0.0,53544.16724131383,2827.4333882308138,0.0,0.3055555555555556,176.71458676442586,0.6,0.0,9.62112750161874,0.15,0.0,706.8583470577034,0.0,0.0,2827.4333882308138,0.008835729338221293,0.0,0.0,0.0,7853.981633974483,70051.98698712433,0.8,176.71458676442586,0.0,0.0,44.178646691106465,9.62112750161874,0.098,0.0,0.098,7853.981633974483,0.0,38016.37545604793,0.0,0.12,0.0,174097.86326204485,1.5,0.0,0.088,6.125,0.1,256667.1206033878,6.125,706.8583470577034,0.0,0.0,0.0,0.02,706.8583470577034,0.0,38016.37545604793,7853.981633974483,0.0,0.0,0.1,1.2,0.19,125396.56924359268,0.2,0.00015707963267948968,0.088,0.0,1.5,1.5306122448979593,2.4,0.0,0.12,0.0,75235.75680665726,0.2,118090.95735034144,0.04,0.6,1.0,93724.48365759186,44.178646691106465,0.0,0.0,0.0,70197.44324385107,0.20833333333333331,0.088,0.0,0.0,0.0,0.02,0.17,0.0,0.0,93724.48365759186,0.0,0.0,0.088,0.2,9.62112750161874,0.2,256667.1206033878,4.591836734693878,44.178646691106465,125396.56924359268,0.0009621127501618741,0.02,0.02,0.0,7853.981633974483,0.03,60690.25649057995,176.71458676442586,0.0,0.04,7853.981633974483,4.591836734693878,0.0,706.8583470577034,0.0,0.0,0.0,2.4,22462.70892642643,0.17,52273.74839262087,0.0,0.0,0.004417864669110647,0.0,1.5,0.0,0.0,4.591836734693878,0.088,70197.44324385107,0.8800000000000001,0.0,1.5,0.098,0.0,0.0,7853.981633974483,0.0,0.088,0.0,0.0,0.0,0.0,0.0,0.3055555555555556,176.71458676442586,0.4,0.0,52358.580056543695,1.0,6.125 -2,500000,500000,0.2,0.0,0.0,0.0,10,10,5,1,2,2,1.0,1.0,0.0,1.0,0.0,1.0,1.0,0.0,5.0,5.0,5.0,44.178646691106465,0.0,0.20833333333333331,0.03,1.7600000000000002,1.2,60690.25649057995,2.4,1.7600000000000002,174097.86326204485,70051.98698712433,0.24,4.591836734693878,9.62112750161874,53544.16724131383,0.098,0.0,0.8800000000000001,22462.70892642643,0.0,0.8,52358.580056543695,0.0,0.0,2.4,0.19,0.0,75235.75680665726,0.0,0.008835729338221293,1.0,0.0,80635.68757920948,706.8583470577034,0.0,0.0,0.021205750411731103,0.0,65496.53046804566,0.0,0.16,0.0,0.005301437602932776,176.71458676442586,0.0,0.0,1.0,2827.4333882308138,2827.4333882308138,1.0,2827.4333882308138,80635.68757920948,6.125,25918.241865444536,52273.74839262087,0.08333333333333333,0.00015707963267948968,6.125,0.0,0.0,44.178646691106465,0.0,118090.95735034144,0.0,1.5,0.0,176.71458676442586,0.0,9.62112750161874,44.178646691106465,0.2,80101.35188695589,706.8583470577034,0.0,0.2,0.0,25918.241865444536,0.098,0.4,0.05555555555555555,65496.53046804566,1.5,0.0009621127501618741,1.5306122448979593,0.0,0.0,0.0,0.0,6.125,2827.4333882308138,80101.35188695589,9.62112750161874,0.0,0.15,0.098,0.0,1.0,0.02827433388230814,0.0,0.0,53544.16724131383,2827.4333882308138,0.0,0.3055555555555556,176.71458676442586,0.6,0.0,9.62112750161874,0.15,0.0,706.8583470577034,0.0,0.0,2827.4333882308138,0.008835729338221293,0.0,0.0,0.0,7853.981633974483,70051.98698712433,0.8,176.71458676442586,0.0,0.0,44.178646691106465,9.62112750161874,0.098,0.0,0.098,7853.981633974483,0.0,38016.37545604793,0.0,0.12,0.0,174097.86326204485,1.5,0.0,0.088,6.125,0.1,256667.1206033878,6.125,706.8583470577034,0.0,0.0,0.0,0.02,706.8583470577034,0.0,38016.37545604793,7853.981633974483,0.0,0.0,0.1,1.2,0.19,125396.56924359268,0.2,0.00015707963267948968,0.088,0.0,1.5,1.5306122448979593,2.4,0.0,0.12,0.0,75235.75680665726,0.2,118090.95735034144,0.04,0.6,1.0,93724.48365759186,44.178646691106465,0.0,0.0,0.0,70197.44324385107,0.20833333333333331,0.088,0.0,0.0,0.0,0.02,0.17,0.0,0.0,93724.48365759186,0.0,0.0,0.088,0.2,9.62112750161874,0.2,256667.1206033878,4.591836734693878,44.178646691106465,125396.56924359268,0.0009621127501618741,0.02,0.02,0.0,7853.981633974483,0.03,60690.25649057995,176.71458676442586,0.0,0.04,7853.981633974483,4.591836734693878,0.0,706.8583470577034,0.0,0.0,0.0,2.4,22462.70892642643,0.17,52273.74839262087,0.0,0.0,0.004417864669110647,0.0,1.5,0.0,0.0,4.591836734693878,0.088,70197.44324385107,0.8800000000000001,0.0,1.5,0.098,0.0,0.0,7853.981633974483,0.0,0.088,0.0,0.0,0.0,0.0,0.0,0.3055555555555556,176.71458676442586,0.4,0.0,52358.580056543695,1.0,6.125 -3,500000,500000,0.2,0.0,0.0,0.0,10,10,5,1,2,2,1.0,1.0,0.0,1.0,0.0,1.0,1.0,0.0,5.0,5.0,5.0,44.178646691106465,0.0,0.20833333333333331,0.03,1.7600000000000002,1.2,60690.25649057995,2.4,1.7600000000000002,174097.86326204485,70051.98698712433,0.24,4.591836734693878,9.62112750161874,53544.16724131383,0.098,0.0,0.8800000000000001,22462.70892642643,0.0,0.8,52358.580056543695,0.0,0.0,2.4,0.19,0.0,75235.75680665726,0.0,0.008835729338221293,1.0,0.0,80635.68757920948,706.8583470577034,0.0,0.0,0.021205750411731103,0.0,65496.53046804566,0.0,0.16,0.0,0.005301437602932776,176.71458676442586,0.0,0.0,1.0,2827.4333882308138,2827.4333882308138,1.0,2827.4333882308138,80635.68757920948,6.125,25918.241865444536,52273.74839262087,0.08333333333333333,0.00015707963267948968,6.125,0.0,0.0,44.178646691106465,0.0,118090.95735034144,0.0,1.5,0.0,176.71458676442586,0.0,9.62112750161874,44.178646691106465,0.2,80101.35188695589,706.8583470577034,0.0,0.2,0.0,25918.241865444536,0.098,0.4,0.05555555555555555,65496.53046804566,1.5,0.0009621127501618741,1.5306122448979593,0.0,0.0,0.0,0.0,6.125,2827.4333882308138,80101.35188695589,9.62112750161874,0.0,0.15,0.098,0.0,1.0,0.02827433388230814,0.0,0.0,53544.16724131383,2827.4333882308138,0.0,0.3055555555555556,176.71458676442586,0.6,0.0,9.62112750161874,0.15,0.0,706.8583470577034,0.0,0.0,2827.4333882308138,0.008835729338221293,0.0,0.0,0.0,7853.981633974483,70051.98698712433,0.8,176.71458676442586,0.0,0.0,44.178646691106465,9.62112750161874,0.098,0.0,0.098,7853.981633974483,0.0,38016.37545604793,0.0,0.12,0.0,174097.86326204485,1.5,0.0,0.088,6.125,0.1,256667.1206033878,6.125,706.8583470577034,0.0,0.0,0.0,0.02,706.8583470577034,0.0,38016.37545604793,7853.981633974483,0.0,0.0,0.1,1.2,0.19,125396.56924359268,0.2,0.00015707963267948968,0.088,0.0,1.5,1.5306122448979593,2.4,0.0,0.12,0.0,75235.75680665726,0.2,118090.95735034144,0.04,0.6,1.0,93724.48365759186,44.178646691106465,0.0,0.0,0.0,70197.44324385107,0.20833333333333331,0.088,0.0,0.0,0.0,0.02,0.17,0.0,0.0,93724.48365759186,0.0,0.0,0.088,0.2,9.62112750161874,0.2,256667.1206033878,4.591836734693878,44.178646691106465,125396.56924359268,0.0009621127501618741,0.02,0.02,0.0,7853.981633974483,0.03,60690.25649057995,176.71458676442586,0.0,0.04,7853.981633974483,4.591836734693878,0.0,706.8583470577034,0.0,0.0,0.0,2.4,22462.70892642643,0.17,52273.74839262087,0.0,0.0,0.004417864669110647,0.0,1.5,0.0,0.0,4.591836734693878,0.088,70197.44324385107,0.8800000000000001,0.0,1.5,0.098,0.0,0.0,7853.981633974483,0.0,0.088,0.0,0.0,0.0,0.0,0.0,0.3055555555555556,176.71458676442586,0.4,0.0,52358.580056543695,1.0,6.125 \ No newline at end of file +dhw_scenario,wave_scenario,cyclone_mortality_scenario,guided,N_seed_TA,N_seed_CA,N_seed_SM,fogging,SRM,a_adapt,seed_years,shade_years,fog_years,plan_horizon,seed_freq,shade_freq,fog_freq,seed_year_start,shade_year_start,fog_year_start,seed_in_connectivity,seed_out_connectivity,seed_wave_stress,seed_heat_stress,seed_priority,seed_zone,seed_coral_cover_low,seed_depth,fog_in_connectivity,fog_out_connectivity,fog_wave_stress,fog_heat_stress,fog_priority,fog_zone,fog_coral_cover_high,deployed_coral_risk_tol,depth_min,depth_offset,heritability,abhorescent_acropora_1_1_mean_colony_diameter_m,abhorescent_acropora_1_1_growth_rate,abhorescent_acropora_1_1_fecundity,abhorescent_acropora_1_1_mb_rate,abhorescent_acropora_1_1_dist_mean,abhorescent_acropora_1_1_dist_std,abhorescent_acropora_1_2_mean_colony_diameter_m,abhorescent_acropora_1_2_growth_rate,abhorescent_acropora_1_2_fecundity,abhorescent_acropora_1_2_mb_rate,abhorescent_acropora_1_2_dist_mean,abhorescent_acropora_1_2_dist_std,abhorescent_acropora_1_3_mean_colony_diameter_m,abhorescent_acropora_1_3_growth_rate,abhorescent_acropora_1_3_fecundity,abhorescent_acropora_1_3_mb_rate,abhorescent_acropora_1_3_dist_mean,abhorescent_acropora_1_3_dist_std,abhorescent_acropora_1_4_mean_colony_diameter_m,abhorescent_acropora_1_4_growth_rate,abhorescent_acropora_1_4_fecundity,abhorescent_acropora_1_4_mb_rate,abhorescent_acropora_1_4_dist_mean,abhorescent_acropora_1_4_dist_std,abhorescent_acropora_1_5_mean_colony_diameter_m,abhorescent_acropora_1_5_growth_rate,abhorescent_acropora_1_5_fecundity,abhorescent_acropora_1_5_mb_rate,abhorescent_acropora_1_5_dist_mean,abhorescent_acropora_1_5_dist_std,abhorescent_acropora_1_6_mean_colony_diameter_m,abhorescent_acropora_1_6_growth_rate,abhorescent_acropora_1_6_fecundity,abhorescent_acropora_1_6_mb_rate,abhorescent_acropora_1_6_dist_mean,abhorescent_acropora_1_6_dist_std,tabular_acropora_2_1_mean_colony_diameter_m,tabular_acropora_2_1_growth_rate,tabular_acropora_2_1_fecundity,tabular_acropora_2_1_mb_rate,tabular_acropora_2_1_dist_mean,tabular_acropora_2_1_dist_std,tabular_acropora_2_2_mean_colony_diameter_m,tabular_acropora_2_2_growth_rate,tabular_acropora_2_2_fecundity,tabular_acropora_2_2_mb_rate,tabular_acropora_2_2_dist_mean,tabular_acropora_2_2_dist_std,tabular_acropora_2_3_mean_colony_diameter_m,tabular_acropora_2_3_growth_rate,tabular_acropora_2_3_fecundity,tabular_acropora_2_3_mb_rate,tabular_acropora_2_3_dist_mean,tabular_acropora_2_3_dist_std,tabular_acropora_2_4_mean_colony_diameter_m,tabular_acropora_2_4_growth_rate,tabular_acropora_2_4_fecundity,tabular_acropora_2_4_mb_rate,tabular_acropora_2_4_dist_mean,tabular_acropora_2_4_dist_std,tabular_acropora_2_5_mean_colony_diameter_m,tabular_acropora_2_5_growth_rate,tabular_acropora_2_5_fecundity,tabular_acropora_2_5_mb_rate,tabular_acropora_2_5_dist_mean,tabular_acropora_2_5_dist_std,tabular_acropora_2_6_mean_colony_diameter_m,tabular_acropora_2_6_growth_rate,tabular_acropora_2_6_fecundity,tabular_acropora_2_6_mb_rate,tabular_acropora_2_6_dist_mean,tabular_acropora_2_6_dist_std,corymbose_acropora_3_1_mean_colony_diameter_m,corymbose_acropora_3_1_growth_rate,corymbose_acropora_3_1_fecundity,corymbose_acropora_3_1_mb_rate,corymbose_acropora_3_1_dist_mean,corymbose_acropora_3_1_dist_std,corymbose_acropora_3_2_mean_colony_diameter_m,corymbose_acropora_3_2_growth_rate,corymbose_acropora_3_2_fecundity,corymbose_acropora_3_2_mb_rate,corymbose_acropora_3_2_dist_mean,corymbose_acropora_3_2_dist_std,corymbose_acropora_3_3_mean_colony_diameter_m,corymbose_acropora_3_3_growth_rate,corymbose_acropora_3_3_fecundity,corymbose_acropora_3_3_mb_rate,corymbose_acropora_3_3_dist_mean,corymbose_acropora_3_3_dist_std,corymbose_acropora_3_4_mean_colony_diameter_m,corymbose_acropora_3_4_growth_rate,corymbose_acropora_3_4_fecundity,corymbose_acropora_3_4_mb_rate,corymbose_acropora_3_4_dist_mean,corymbose_acropora_3_4_dist_std,corymbose_acropora_3_5_mean_colony_diameter_m,corymbose_acropora_3_5_growth_rate,corymbose_acropora_3_5_fecundity,corymbose_acropora_3_5_mb_rate,corymbose_acropora_3_5_dist_mean,corymbose_acropora_3_5_dist_std,corymbose_acropora_3_6_mean_colony_diameter_m,corymbose_acropora_3_6_growth_rate,corymbose_acropora_3_6_fecundity,corymbose_acropora_3_6_mb_rate,corymbose_acropora_3_6_dist_mean,corymbose_acropora_3_6_dist_std,corymbose_non_acropora_4_1_mean_colony_diameter_m,corymbose_non_acropora_4_1_growth_rate,corymbose_non_acropora_4_1_fecundity,corymbose_non_acropora_4_1_mb_rate,corymbose_non_acropora_4_1_dist_mean,corymbose_non_acropora_4_1_dist_std,corymbose_non_acropora_4_2_mean_colony_diameter_m,corymbose_non_acropora_4_2_growth_rate,corymbose_non_acropora_4_2_fecundity,corymbose_non_acropora_4_2_mb_rate,corymbose_non_acropora_4_2_dist_mean,corymbose_non_acropora_4_2_dist_std,corymbose_non_acropora_4_3_mean_colony_diameter_m,corymbose_non_acropora_4_3_growth_rate,corymbose_non_acropora_4_3_fecundity,corymbose_non_acropora_4_3_mb_rate,corymbose_non_acropora_4_3_dist_mean,corymbose_non_acropora_4_3_dist_std,corymbose_non_acropora_4_4_mean_colony_diameter_m,corymbose_non_acropora_4_4_growth_rate,corymbose_non_acropora_4_4_fecundity,corymbose_non_acropora_4_4_mb_rate,corymbose_non_acropora_4_4_dist_mean,corymbose_non_acropora_4_4_dist_std,corymbose_non_acropora_4_5_mean_colony_diameter_m,corymbose_non_acropora_4_5_growth_rate,corymbose_non_acropora_4_5_fecundity,corymbose_non_acropora_4_5_mb_rate,corymbose_non_acropora_4_5_dist_mean,corymbose_non_acropora_4_5_dist_std,corymbose_non_acropora_4_6_mean_colony_diameter_m,corymbose_non_acropora_4_6_growth_rate,corymbose_non_acropora_4_6_fecundity,corymbose_non_acropora_4_6_mb_rate,corymbose_non_acropora_4_6_dist_mean,corymbose_non_acropora_4_6_dist_std,small_massives_5_1_mean_colony_diameter_m,small_massives_5_1_growth_rate,small_massives_5_1_fecundity,small_massives_5_1_mb_rate,small_massives_5_1_dist_mean,small_massives_5_1_dist_std,small_massives_5_2_mean_colony_diameter_m,small_massives_5_2_growth_rate,small_massives_5_2_fecundity,small_massives_5_2_mb_rate,small_massives_5_2_dist_mean,small_massives_5_2_dist_std,small_massives_5_3_mean_colony_diameter_m,small_massives_5_3_growth_rate,small_massives_5_3_fecundity,small_massives_5_3_mb_rate,small_massives_5_3_dist_mean,small_massives_5_3_dist_std,small_massives_5_4_mean_colony_diameter_m,small_massives_5_4_growth_rate,small_massives_5_4_fecundity,small_massives_5_4_mb_rate,small_massives_5_4_dist_mean,small_massives_5_4_dist_std,small_massives_5_5_mean_colony_diameter_m,small_massives_5_5_growth_rate,small_massives_5_5_fecundity,small_massives_5_5_mb_rate,small_massives_5_5_dist_mean,small_massives_5_5_dist_std,small_massives_5_6_mean_colony_diameter_m,small_massives_5_6_growth_rate,small_massives_5_6_fecundity,small_massives_5_6_mb_rate,small_massives_5_6_dist_mean,small_massives_5_6_dist_std,large_massives_6_1_mean_colony_diameter_m,large_massives_6_1_growth_rate,large_massives_6_1_fecundity,large_massives_6_1_mb_rate,large_massives_6_1_dist_mean,large_massives_6_1_dist_std,large_massives_6_2_mean_colony_diameter_m,large_massives_6_2_growth_rate,large_massives_6_2_fecundity,large_massives_6_2_mb_rate,large_massives_6_2_dist_mean,large_massives_6_2_dist_std,large_massives_6_3_mean_colony_diameter_m,large_massives_6_3_growth_rate,large_massives_6_3_fecundity,large_massives_6_3_mb_rate,large_massives_6_3_dist_mean,large_massives_6_3_dist_std,large_massives_6_4_mean_colony_diameter_m,large_massives_6_4_growth_rate,large_massives_6_4_fecundity,large_massives_6_4_mb_rate,large_massives_6_4_dist_mean,large_massives_6_4_dist_std,large_massives_6_5_mean_colony_diameter_m,large_massives_6_5_growth_rate,large_massives_6_5_fecundity,large_massives_6_5_mb_rate,large_massives_6_5_dist_mean,large_massives_6_5_dist_std,large_massives_6_6_mean_colony_diameter_m,large_massives_6_6_growth_rate,large_massives_6_6_fecundity,large_massives_6_6_mb_rate,large_massives_6_6_dist_mean,large_massives_6_6_dist_std +3,14,36,10,140625,921875,796875,0.18260643118126102,6.125,0.18975032409334602,22,60,25,40,15,1,2,3,12,14,0.10714285714285714,0.22959183673469388,0.1377551020408163,0.25,0.05612244897959184,0.07653061224489796,0.05612244897959184,0.08673469387755102,0.032490974729241874,0.16967509025270758,0.16967509025270758,0.11913357400722022,0.22743682310469315,0.05415162454873646,0.22743682310469315,0.90234375,4.53125,21.953125,0.26953125,0.00995197163823299,0.9951971638232989,0.0,0.2003149803149705,3.422246215847947,2.6494441563047255,0.03626917896280316,2.0096056723534024,0.0,0.1969558249578132,3.523562404406734,2.468371385976971,0.07046463530640786,1.2435147072961084,0.0,0.0038121320343559644,3.5775989922311187,2.639203013597638,0.14201560760020115,0.8267850542618523,469035.93118683016,0.003787082869338697,3.2399858668848265,2.4828681973000792,0.30688344748886637,0.4406929566929351,667012.7379378732,0.0019903943276465977,3.3402158469466214,2.519793292430426,0.6162678607886602,0.044669718509281114,1.0040376923918492e6,0.0020725245121601807,3.4838866971656266,2.519793292430426,0.010315346803118543,0.9847791247890659,0.0,0.19369306393762917,3.978477980963109,2.9280877749266487,0.03288349647632367,1.9172603939955857,0.0,0.18353553390593275,3.887654175158966,2.7287981300131943,0.07228033079399324,1.213933982822018,0.0,0.17681753813911005,3.8228581486037347,2.7287981300131943,0.14976376476377215,0.8075563491861042,440711.4650826296,0.19786026257041936,4.011904279503447,2.948641698540831,0.28590990257669735,0.41657911562725675,619871.1149256865,0.09879812519527183,4.011904279503447,2.7287981300131943,0.5862331050222673,0.04393070433070651,923232.6718836612,0.100248592846363,3.6803663533962654,3.10594728737555,0.010189907412699019,0.9951971638232989,0.0,0.18353553390593275,4.364811290101005,3.351007396239904,0.03459359216769115,2.164644660940673,0.0,0.20542262026288677,3.798434075898996,3.351007396239904,0.07296651740141748,1.1361248608016092,0.0,0.1728260878223926,4.129017066625734,3.074246788607696,0.15704504871165134,0.5908674748734396,210964.40868081615,0.16006640294698382,4.143748552516062,3.0999128134216334,0.3181414587743686,0.30144085085301037,244319.59751750724,0.09077505186744317,4.298884530526613,3.154945509746097,0.5782426463519459,0.029855914914698967,263262.6892009046,0.0884226495835497,3.88992114550456,3.2745079795130425,0.009395284707521049,0.9951971638232989,0.0,0.18790569415042097,4.509017816473206,3.2891935848219225,0.03566467594444657,1.6303851860318428,0.0,0.1990394327646598,4.4022449643656305,3.5269975388779446,0.07189726477483448,0.9149116882454315,0.0,0.21987243910293797,4.450918734737546,3.4212392931220563,0.15406696519716506,0.4601424945589406,1.4678585669755675e6,0.23212756089706205,4.49453257209877,3.3481390443464507,0.3140900974233027,0.23129705854077837,7.869134151822724e6,0.1128548802475257,4.480397939901231,3.2891935848219225,0.6493933982822018,0.022334846922834956,5.03388513100077e7,0.11505528038110684,4.67311080961997,3.6178420104762603,0.01046966991411009,1.0271131013144337,0.0,0.19541103500742246,5.6581728684441694,4.442232701251335,0.03505512155511984,0.6847420675429559,0.0,0.19541103500742246,6.3329245939475465,4.622890851781605,0.07899219619989943,0.41450490243203614,182660.298138511,0.04019211344706805,6.593540304122162,4.780936762253296,0.14456066158798647,0.1917260393995586,241362.87611149356,0.024196084166404532,6.3329245939475465,4.700763480595073,0.3034834957055045,0.07624264068711929,346273.1299638117,0.021064585653306517,6.195365033459589,5.104605492748664,0.6028817017060207,0.008555051025721683,477775.46189794206,0.01976776695296637,6.195365033459589,4.923947342218395,0.009306186217847899,0.9176776695296637,0.0,0.1917260393995586,6.657187664685844,5.082211602648832,0.033896286189085106,0.6698685574511342,0.0,0.18353553390593275,6.817529157808182,5.564721472419586,0.07587087392637612,0.43292893218813455,183633.50558229073,0.042775255128608414,6.959554117499472,5.432949719240034,0.16234834957055044,0.20162882692912618,255334.25829406874,0.023859619407771256,6.720924339679158,5.622417851676328,0.27530330085889915,0.11436396103067893,369160.1996696747,0.020630693606237087,6.564614460469395,5.994033949351168,0.5782426463519459,0.012227888895238822,493909.60326840024,0.018790569415042098,6.959554117499472,5.798231740853505 +28,39,11,1,640625,421875,296875,0.09082951062292476,1.973507684279225,2.6148351928654963,52,25,60,19,7,9,10,15,24,2,0.16358024691358025,0.040123456790123455,0.18209876543209877,0.05246913580246913,0.13271604938271606,0.14506172839506173,0.13271604938271606,0.15123456790123457,0.2265193370165746,0.08287292817679558,0.08287292817679558,0.0055248618784530384,0.1712707182320442,0.2596685082872928,0.1712707182320442,0.77734375,3.53125,14.453125,0.39453125,0.010693813782152103,1.0693813782152104,0.0,0.18353553390593275,3.2241698346921157,2.496096829006922,0.03419693112629893,1.8612372435695794,0.0,0.2093933982822018,3.3066380512266433,2.6294389976348556,0.07561081009842233,1.1724662100445347,0.0,0.004060883500843737,3.329416841265565,2.4828681973000792,0.15174174785275224,0.8871668384881553,436498.3699523655,0.004046446609406727,3.4361911204240116,2.639203013597638,0.28912132317597294,0.4037781745930521,629089.8080130098,0.0021387627564304207,3.6208927494346717,2.6716920249115663,0.5810791918128875,0.04193345237791562,942225.1850503753,0.0019541103500742246,3.281951422475478,2.6716920249115663,0.009728868986855665,1.046966991411009,0.0,0.20542262026288677,3.721058615689658,2.7287981300131943,0.03528504471259709,2.0379814825398035,0.0,0.2003149803149705,3.6655321645721797,2.9280877749266487,0.07672086187221659,1.1361248608016092,0.0,0.19091253887357323,3.596408791235463,2.9280877749266487,0.16234834957055044,0.8813859133858702,408173.90384816495,0.18639175915871867,3.733593871959942,2.768021164485463,0.3045662625632803,0.44510912703474,658901.5543930127,0.09207379013370627,3.733593871959942,2.9280877749266487,0.6217573536480542,0.047622182540694814,979141.2801013748,0.09444629890415117,3.906815710764537,2.8904841568680784,0.00958630196997793,1.0693813782152104,0.0,0.2003149803149705,4.062019317918444,3.134187245143355,0.036863024893286404,1.9968501968502954,0.0,0.19369306393762917,4.101226048081557,3.134187245143355,0.07736510102338907,1.213933982822018,0.0,0.16006640294698382,3.8643608354733883,3.259569208477031,0.1477168687183599,0.6281801948466054,223924.97489372047,0.1728260878223926,3.88992114550456,3.2906474297864454,0.2975567596063108,0.27918558653543696,230158.18834279923,0.08561404708432982,4.034228299374266,3.4200542254009836,0.6137668949777327,0.03208144134645631,247625.3814950566,0.0818944387170615,4.143748552516062,3.087418217069815,0.01008144134645631,1.0693813782152104,0.0,0.20162882692912618,4.176118731845849,3.514458671275167,0.03355205689492276,1.5338083151964685,0.0,0.21387627564304207,4.67311080961997,3.3109495261949,0.07642430559524263,0.9746120402024968,0.0,0.23312683775047907,4.7588291424771185,3.6372873058051005,0.14526979795322187,0.48911555580955285,1.3840443808026027e6,0.21887316224952094,4.118046658221416,3.5538314549554655,0.2954337374367198,0.24550675799109306,8.40806296197316e6,0.11965802291617511,4.8568838537785854,3.514458671275167,0.5990550590550886,0.02411526806824083,4.742107853193687e7,0.12301469739275586,4.4022449643656305,3.4081423320207436,0.00984779124789066,0.9684653196881458,0.0,0.20725245121601807,6.1754623894357294,4.7963450469256275,0.03211871843353824,0.6456435464587639,0.0,0.20725245121601807,5.971316920784508,4.902841292593214,0.07412912607362389,0.3908220700148449,194161.5788691571,0.037224744871391595,6.1361388405404105,4.380460112623352,0.15344172374443318,0.20379814825398038,257892.9549140165,0.02612487374059423,5.971316920784508,4.9976122307299455,0.2840312152004023,0.08121767001687474,325061.99478450586,0.01976776695296637,5.737963569877837,4.750493147074372,0.5583711730708739,0.007961577310586391,449396.4996732558,0.021064585653306517,5.737963569877837,4.643996901406786,0.010048028361767013,1.0015749015748523,0.0,0.20379814825398038,7.187865028542044,5.546844774281648,0.03594895854600519,0.6204124145231932,0.0,0.2003149803149705,7.2623905530967745,5.153880185076074,0.07100780380010058,0.3993700393700591,194915.00193937478,0.03980788655293196,7.379091486797894,5.767233824245157,0.14976376476377215,0.18790569415042097,233946.1050131704,0.026040947440946163,7.211767033542473,5.278013811146495,0.30047247047245573,0.1218265050253121,340544.40004917176,0.01945773797371133,7.16477397286058,5.529400777718352,0.6137668949777327,0.011503562363973515,455623.73645389144,0.02016288269291262,7.379091486797894,5.4538277003236715 +40,1,48,14,890625,171875,546875,0.14230249470757708,0.875,4.39444872453601,34,14,14,30,3,5,14,9,18,20,0.021929824561403508,0.12719298245614036,0.04824561403508772,0.14473684210526316,0.11842105263157894,0.27631578947368424,0.11842105263157894,0.14473684210526316,0.08532423208191127,0.10580204778156997,0.2150170648464164,0.16723549488054607,0.16040955631399317,0.2150170648464164,0.051194539249146756,0.83984375,4.03125,18.203125,0.33203125,0.0096373774391991,0.9637377439199099,0.0,0.19457737973711328,3.5775989922311187,2.7697156036506394,0.032571651762467645,2.0725245121601805,0.0,0.18935414346693488,3.3964058604690712,2.7278814068079407,0.07810273522516555,1.2057634034120415,0.0,0.003953553390593274,3.2241698346921157,2.746638946235742,0.1477168687183599,0.9164054266419425,448668.63057779835,0.004187867965644036,3.6208927494346717,2.746638946235742,0.3208144134645631,0.42807023542164924,593390.320829908,0.002045889649925776,3.4361911204240116,2.5940956983435015,0.5990550590550886,0.04348908729652602,967804.4862513752,0.0018612372435695796,3.372730733493356,2.5940956983435015,0.009176776695296637,1.0116116523516816,0.0,0.21646446609406728,3.596408791235463,3.0245895250090964,0.034335324055553444,1.9837117307087384,0.0,0.20630693606237088,3.4913202224965527,3.0245895250090964,0.07463978728674742,1.2563603896932107,0.0,0.19688982865521715,3.721058615689658,3.0245895250090964,0.14526979795322187,0.8561404708432985,428541.20445719676,0.19154738558266987,3.6155703268410346,3.0590345971224955,0.29651650429449555,0.46066547622084403,641355.5540272741,0.09613890735554963,3.8376923374278205,2.8492763275234942,0.6028817017060207,0.042612474066278425,951793.1644589785,0.09752932205468329,3.5247465210368913,2.7991123582732502,0.010604715292478953,0.9637377439199099,0.0,0.20630693606237088,3.9336138360467494,3.219931338578367,0.03335615530061469,1.9369306393762915,0.0,0.21646446609406728,4.229631529953251,3.219931338578367,0.06882582521472479,1.2563603896932107,0.0,0.1782371080457755,4.019496813483939,3.1648986422539034,0.15174174785275224,0.5680624304008046,234090.04320183228,0.1680534901063833,4.034228299374266,2.9688367557600963,0.3056972223809705,0.3108786768240271,236524.40132809774,0.0807556349186104,3.88992114550456,3.0602749435229692,0.5971182982939793,0.030688344748886633,254372.49331629113,0.08598085540326587,4.298884530526613,2.940682327314452,0.010413698030022072,0.9637377439199099,0.0,0.19620185174601967,4.38450115117404,3.6372873058051005,0.03711650352367634,1.6967544467966325,0.0,0.2045889649925776,4.216101369522883,3.4337781607248337,0.0743891899015777,1.0111001113587128,0.0,0.207395153313704,4.57268554763437,3.2891935848219225,0.14976376476377215,0.47609081537009723,1.5467586802044807e6,0.244604846686296,4.6289760382585134,3.715157539784924,0.2840312152004023,0.2566515307716505,8.185043010936731e6,0.106450609665441,4.60913435613093,3.6372873058051005,0.6162678607886602,0.024870294145922168,4.541593567852753e7,0.11120110285174399,4.524011777262454,3.5024121041547702,0.009467707173346744,1.0823223304703364,0.0,0.18612372435695795,6.360186953215491,4.946514042673007,0.034051041453994825,0.6656167322834318,0.0,0.20096056723534025,6.15604148456427,4.7659014317467046,0.07614156564082007,0.4019211344706805,202065.45371350241,0.039082207001484494,6.307224035959051,4.643996901406786,0.16040720673228154,0.19837117307087385,266906.1892325424,0.02540343455096492,6.67333100555583,4.519333422605723,0.3140900974233027,0.08425834261322607,337121.04933700553,0.020304417504218686,6.389336012665805,4.882944362655171,0.6217573536480542,0.0077099019513592795,461641.3205274839,0.019060660171779823,6.024279838040949,4.380460112623352,0.009770551750371123,0.9728868986855663,0.0,0.21209430584957908,6.989371915317976,5.712765707268959,0.037881281566461776,0.6908415040533935,0.0,0.20630693606237088,7.07044385514697,5.411051518281698,0.07852252435582567,0.38738612787525833,203763.1632931044,0.0385495097567964,7.16477397286058,5.583225993571779,0.14526979795322187,0.20827396060044145,248020.7464157696,0.025295059365824723,7.017657484260921,5.832913078678983,0.3094604040935563,0.1263875139198391,330325.67168217537,0.018353553390593275,7.379091486797894,5.3634798447310414,0.6416288269291262,0.011902270384252431,441951.81819681247,0.019620185174601967,6.564614460469395,5.602429532355842 +15,26,23,6,390625,671875,46875,0.242717803813052,3.392282577584547,1.2917960675006306,12,38,38,9,11,13,6,21,6,8,0.1267123287671233,0.2089041095890411,0.14726027397260275,0.003424657534246575,0.20205479452054795,0.10616438356164383,0.20205479452054795,0.003424657534246575,0.21839080459770116,0.2413793103448276,0.11877394636015326,0.06513409961685823,0.05747126436781609,0.11877394636015326,0.18007662835249041,0.96484375,3.03125,10.703125,0.45703125,0.010229448249628879,1.0229448249628879,0.0,0.20630693606237088,3.329416841265565,2.5775772512054456,0.03516809926618455,1.9541103500742245,0.0,0.20232233047033632,3.188357306895986,2.559942303761619,0.07357569440475738,1.1167423461417478,0.0,0.004212917130661303,3.422246215847947,2.568923232448083,0.15704504871165134,0.8632881476824866,422700.1136804912,0.0039391164991562635,3.3402158469466214,2.568923232448083,0.29855914914698967,0.45387525933721595,647640.094027017,0.0019274754878398199,3.2399858668848265,2.376800468192324,0.6493933982822018,0.046342088437274345,908521.1344441994,0.0020096056723534024,3.1431780827763114,2.376800468192324,0.010015749015748525,0.9467707173346743,0.0,0.19968501968502955,3.8228581486037347,2.8492763275234942,0.036447943105077256,2.1209430584957905,0.0,0.19457737973711328,3.769630630040058,2.8492763275234942,0.08020360336614077,1.1817349497468792,0.0,0.18564048325705132,3.978477980963109,2.8492763275234942,0.15406696519716506,0.9077505186744319,454509.7213545039,0.17851040944289992,3.8376923374278205,2.870708401875772,0.3159687847995977,0.433302814907189,685723.9332127507,0.1020542406942163,3.6155703268410346,3.0245895250090964,0.5583711730708739,0.0451929764578351,1.0317719351285e6,0.10479937506509061,3.7821658863103425,2.971075398312137,0.009918558653543694,1.0229448249628879,0.0,0.19457737973711328,4.175274801025988,3.0291967222135545,0.0355327306323827,2.0542262026288673,0.0,0.19968501968502955,3.987970564974013,3.0291967222135545,0.07511811761811393,1.1817349497468792,0.0,0.1680534901063833,4.273324220495441,2.899789926599017,0.14201560760020115,0.606966991411009,217850.94805237316,0.1782371080457755,4.298884530526613,3.1856569068566456,0.2875890590993379,0.29311655251113367,220426.2281935083,0.08813859133858701,4.143748552516062,3.245597363392304,0.6416288269291262,0.028912132317597296,238068.06436779798,0.09119107853504793,4.034228299374266,3.1750986640621695,0.009810092587300983,1.0229448249628879,0.0,0.20827396060044145,4.65019087026358,3.4212392931220563,0.03471495528740293,1.5869693845669908,0.0,0.19274754878398198,4.524011777262454,3.659043247178078,0.07953536469359215,0.9488528137423857,0.0,0.22635592775591665,4.3018197023800315,3.514458671275167,0.16234834957055044,0.5090263340389898,1.426860228275994e6,0.22564407224408337,4.365796155869071,3.457432794389492,0.3034834957055045,0.23884731931759173,8.701920704874473e6,0.1161826885826829,4.345954473741487,3.4212392931220563,0.5810791918128875,0.023449324200890694,4.873275328963541e7,0.11820292598730862,4.216101369522883,3.2640331625962045,0.010116116523516816,0.9984250984251477,0.0,0.20096056723534025,5.998579280052453,4.663893831344829,0.0361037138109149,0.7215482203135576,0.0,0.18612372435695795,6.67333100555583,5.1663780813766484,0.07147747564417434,0.3722474487139159,188991.21751375103,0.041450490243203617,5.942167861334194,4.923947342218395,0.14927957457349483,0.21209430584957908,251052.46448980272,0.026942818658082346,6.15604148456427,4.828846380083242,0.2954337374367198,0.07907106781186549,359237.09724968683,0.019060660171779823,6.024279838040949,4.600324151326993,0.5862331050222673,0.008183558599703104,432051.6506221377,0.020304417504218686,6.389336012665805,4.780936762253296,0.010362622560800904,1.0315346803118544,0.0,0.19837117307087385,7.412910237413274,5.387967092082539,0.03494487844488017,0.6513701166914082,0.0,0.19457737973711328,7.5342839961642,5.738947602306292,0.07385843435917995,0.41084524052577354,189627.87863335255,0.040917792998515515,6.564614460469395,5.203224022572681,0.15406696519716506,0.19620185174601967,262971.9875047733,0.02681990168810821,7.449447114680473,5.4738160196441585,0.2918660696056699,0.11860660171779822,350329.3491134037,0.02003149803149705,6.959554117499472,5.688278459917461,0.5971182982939793,0.012725658350974745,468715.28942910593,0.020827396060044145,7.16477397286058,5.243332473321018 +22,8,4,8,265625,796875,671875,0.11937336386313323,0.39389486913809435,3.41742430504416,28,31,10,14,9,15,4,24,15,17,0.11153846153846154,0.1423076923076923,0.011538461538461539,0.03461538461538462,0.19615384615384615,0.21153846153846154,0.07307692307692308,0.21923076923076923,0.004524886877828055,0.17647058823529413,0.248868778280543,0.18552036199095023,0.03167420814479638,0.248868778280543,0.10407239819004525,0.80859375,3.78125,12.578125,0.36328125,0.01008144134645631,1.0081441346456308,0.0,0.19060660171779822,3.372730733493356,2.5408303404023624,0.03355205689492276,2.0379814825398035,0.0,0.21646446609406728,3.450983445115174,2.376800468192324,0.07463978728674742,1.2725658350974745,0.0,0.004126138721247417,3.4838866971656266,2.6839365249930784,0.15406696519716506,0.8757735041645032,412081.8074195675,0.0039937003937005906,3.502612005104014,2.6839365249930784,0.3024432403936893,0.4634208843727434,616251.8512823349,0.0019620185174601965,3.167406907593266,2.7278814068079407,0.5908674748734396,0.040377817459305215,954795.854507545,0.002120943058495791,3.329416841265565,2.559942303761619,0.009530330085889912,1.0271131013144337,0.0,0.1969558249578132,3.887654175158966,2.8904841568680784,0.03742834823753237,1.9541103500742245,0.0,0.21064585653306517,3.978477980963109,2.8904841568680784,0.07561081009842233,1.2987867965644035,0.0,0.19360824084128134,3.769630630040058,2.971075398312137,0.1477168687183599,0.9268417687454868,465128.0276154276,0.18311017134478288,3.6803663533962654,2.6653339270951544,0.30047247047245573,0.4261247406627842,601758.2217448878,0.09444629890415117,3.6803663533962654,2.8904841568680784,0.611394444761941,0.04606654762208441,998067.8845223241,0.09207379013370627,3.8376923374278205,3.0245895250090964,0.010048028361767013,0.9395284707521048,0.0,0.21064585653306517,4.004109642665785,2.940682327314452,0.034051041453994825,1.8935414346693487,0.0,0.18935414346693488,4.159135723334216,2.940682327314452,0.07147747564417434,1.162158383625775,0.0,0.1752664074984231,4.417631374365148,3.208018855595072,0.16234834957055044,0.5990550590550886,205664.94310456415,0.1752664074984231,3.9709572336685306,3.045336172486958,0.3108786768240271,0.2875890590993379,250891.49614769805,0.09268417687454866,4.210335349462018,3.1966139926049157,0.6248218818013244,0.031241094090066215,272152.8850855181,0.08728331615118448,3.7456139916348534,3.351007396239904,0.0096373774391991,1.0081441346456308,0.0,0.2045889649925776,4.7588291424771185,3.5683125405913483,0.03626917896280316,1.4889897948556636,0.0,0.19620185174601967,4.465912695526794,3.4795898105645824,0.07536021271325259,0.8809705627484772,0.0,0.22337576656851998,4.176118731845849,3.5683125405913483,0.1477168687183599,0.48230536136481655,1.4962319784613661e6,0.2225600822023289,4.276702513864247,3.5024121041547702,0.2995275295275443,0.23544222209522359,8.536904062782586e6,0.11465304832720495,4.539572142492922,3.7601159403350337,0.5680624304008046,0.024455777790477643,5.16929048993679e7,0.11333840030430503,4.465912695526794,3.3481390443464507,0.010823223304703365,0.9467707173346743,0.0,0.20379814825398038,6.259600077814652,4.864069864043935,0.03335615530061469,0.6744077682344545,0.0,0.19837117307087385,6.455338755267491,4.519333422605723,0.07736510102338907,0.3967423461417477,186171.04920017958,0.040759629650796075,6.4208278799941665,4.549225963270055,0.15122162019684465,0.18612372435695795,246893.54105946544,0.0257882524992136,5.837553384301147,4.7659014317467046,0.3246966991411009,0.07783095189484532,351837.46821950556,0.020630693606237087,6.282844136769962,4.970894504689864,0.5951135192126216,0.007848074069840786,441951.81819681247,0.02003149803149705,6.282844136769962,4.846074713404927,0.00958630196997793,1.0532292826653258,0.0,0.20096056723534025,7.586091464320844,5.622417851676328,0.036643844699385315,0.6612372435695795,0.0,0.20304417504218686,7.379091486797894,5.493019558428221,0.07263489897661093,0.4187867965644036,186924.47227039727,0.037581138830084196,7.2623905530967745,5.337297949693708,0.14201560760020115,0.1990394327646598,251972.5736502222,0.02639574275548429,7.119150775457958,5.712765707268959,0.3045662625632803,0.12018898818898228,335890.0099378692,0.019060660171779823,7.5342839961642,5.798231740853505,0.5637170824512628,0.012435147072961084,477775.46189794206,0.020458896499257757,7.07044385514697,5.994033949351168 +47,33,29,16,765625,296875,171875,0.20763523399044415,2.625,0.719890110719482,7,10,31,35,1,7,12,12,3,5,0.23461538461538461,0.019230769230769232,0.1346153846153846,0.1576923076923077,0.07307692307692308,0.08846153846153847,0.19615384615384615,0.09615384615384616,0.1746031746031746,0.037037037037037035,0.12169312169312169,0.047619047619047616,0.20634920634920634,0.12169312169312169,0.291005291005291,0.93359375,4.78125,20.078125,0.48828125,0.009395284707521049,0.9395284707521048,0.0,0.20304417504218686,3.1431780827763114,2.6971651566999215,0.03566467594444657,1.9172603939955857,0.0,0.19968501968502955,3.254778191575989,2.5940956983435015,0.08020360336614077,1.1902270384252431,0.0,0.0038915475947422654,3.281951422475478,2.530589197695275,0.14526979795322187,0.9410556128293852,442176.97502199584,0.004329289321881345,3.294563451530929,2.530589197695275,0.2818585412256314,0.4348908729652602,656463.8770859436,0.0020827396060044143,3.384331260773357,2.559942303761619,0.6281801948466054,0.04406929566929352,874817.0838380235,0.0019837117307087383,3.5775989922311187,2.7278814068079407,0.010152208752109343,0.9684653196881458,0.0,0.2093933982822018,3.6655321645721797,3.10594728737555,0.034831900733815466,2.0725245121601805,0.0,0.1976776695296637,3.721058615689658,3.10594728737555,0.07046463530640786,1.1981101181101772,0.0,0.18213973742958064,3.4913202224965527,2.7991123582732502,0.15704504871165134,0.8697817459305204,435032.86001299927,0.19435951674294868,3.906815710764537,2.9090078731703866,0.27530330085889915,0.45192976457835093,649727.3466785833,0.100248592846363,3.906815710764537,3.10594728737555,0.5751781181986758,0.04333028149071891,938784.5327151483,0.09879812519527183,3.6155703268410346,2.8492763275234942,0.009306186217847899,1.0081441346456308,0.0,0.1976776695296637,4.250478609325051,3.1750986640621695,0.0361037138109149,2.023223304703363,0.0,0.20232233047033632,3.91276675667495,3.1750986640621695,0.07614156564082007,1.2325357215773205,0.0,0.16488439388362036,4.0751945290085905,3.0115100429970507,0.14976376476377215,0.6493933982822018,220685.06974260762,0.16488439388362036,4.210335349462018,3.232425934930185,0.29311655251113367,0.3056972223809705,233486.86491090595,0.08697817459305202,3.9709572336685306,2.991721690616193,0.588605555238059,0.029430277761902948,251056.69857159394,0.09332149457381478,4.08805083699141,3.134187245143355,0.010229448249628879,0.9395284707521048,0.0,0.19274754878398198,4.450918734737546,3.3645632023859147,0.03419693112629893,1.6076845378827218,0.0,0.20827396060044145,4.798811780154152,3.188120891664967,0.06979639663385924,0.9615119055118583,0.0,0.23802981788236363,4.509017816473206,3.3645632023859147,0.15704504871165134,0.44669693845669906,1.407358618101991e6,0.23661454005888802,4.555768404674979,3.2640331625962045,0.3246966991411009,0.24992875272052972,8.049449969754353e6,0.1221745967891778,4.248600699437548,3.4686470214354186,0.606966991411009,0.02300712472794703,4.810690871716801e7,0.12020642170529047,4.798811780154152,3.5538314549554655,0.009984250984251477,1.0116116523516816,0.0,0.1917260393995586,5.876165118732509,4.575943689310137,0.0355327306323827,0.6311804782231162,0.0,0.21209430584957908,6.071903796185347,4.828846380083242,0.07296651740141748,0.42418861169915817,197452.54555726363,0.03834520787991172,6.048659737230037,4.846074713404927,0.1409292706128157,0.20096056723534025,261844.78214846912,0.027572259760445278,6.2373465049791506,5.1663780813766484,0.2995275295275443,0.08252277442494835,331833.79078827717,0.01945773797371133,5.910675994005833,4.6827683299560645,0.6362829175487372,0.008330958424017657,468715.28942910593,0.018353553390593275,5.910675994005833,4.549225963270055,0.010189907412699019,0.9883883476483185,0.0,0.18612372435695795,7.095248770457529,5.278013811146495,0.03446726936761731,0.7069810194985969,0.0,0.19060660171779822,6.959554117499472,5.873021529427319,0.07703348259858253,0.3939116499156264,198425.75300104337,0.04032576538582524,6.817529157808182,5.665194033718302,0.15174174785275224,0.21387627564304207,268502.6524527451,0.024778858223313768,7.649828139314158,5.387967092082539,0.28590990257669735,0.11012132034355965,357101.145117175,0.020304417504218686,7.07044385514697,5.4538277003236715,0.6048864807873786,0.011724662100445347,449396.4996732558,0.0192747548783982,7.5342839961642,5.529400777718352 +34,20,17,3,515625,46875,921875,0.16204620338678605,4.375,1.9172374697017807,17,19,19,4,5,11,8,18,9,23,0.09848484848484848,0.1590909090909091,0.14393939393939395,0.1893939393939394,0.26515151515151514,0.05303030303030303,0.022727272727272728,0.06818181818181818,0.08292682926829269,0.11219512195121951,0.1902439024390244,0.2780487804878049,0.11219512195121951,0.03414634146341464,0.1902439024390244,0.99609375,3.28125,16.328125,0.30078125,0.010413698030022072,1.0413698030022072,0.0,0.21064585653306517,3.4838866971656266,2.433394407764258,0.03711650352367634,2.1209430584957905,0.0,0.20542262026288677,3.350753465053379,2.6716920249115663,0.07672086187221659,1.222788889523882,0.0,0.00400629960629941,3.1431780827763114,2.602456102794555,0.16234834957055044,0.9001914459673415,430275.4850092162,0.004108452405257736,3.167406907593266,2.410317750349361,0.3124109409006622,0.41933452377915614,681040.939209679,0.002016288269291262,3.502612005104014,2.468371385976971,0.606966991411009,0.0453875259337216,983356.3470828623,0.0019172603939955858,3.2241698346921157,2.6294389976348556,0.010532292826653258,0.9984250984251477,0.0,0.20232233047033632,3.4913202224965527,2.7991123582732502,0.03580306887370108,1.8612372435695794,0.0,0.19060660171779822,3.596408791235463,2.971075398312137,0.07810273522516555,1.2325357215773205,0.0,0.18845261441733016,3.6655321645721797,2.8904841568680784,0.14201560760020115,0.8933943701856222,420459.9184839994,0.1890874611264268,3.7821658863103425,2.8256854714815587,0.3094604040935563,0.4762218254069481,631785.1060720977,0.10479937506509061,3.5247465210368913,2.7991123582732502,0.5951135192126216,0.044510912703474,964363.8339161482,0.1020542406942163,4.011904279503447,2.7287981300131943,0.010362622560800904,0.9810092587300983,0.0,0.19060660171779822,4.114863967703013,3.087418217069815,0.03211871843353824,2.093933982822018,0.0,0.1969558249578132,4.048381398296987,3.087418217069815,0.07412912607362389,1.2987867965644035,0.0,0.18240110303063797,3.9529100165379827,3.123230159395084,0.15406696519716506,0.5810791918128875,227958.24496282867,0.18240110303063797,4.08805083699141,3.144745487937831,0.30144085085301037,0.2975567596063108,239996.84569019516,0.08386690475583121,3.7456139916348534,3.3083341090029497,0.6048864807873786,0.028185854122563143,258270.37469547844,0.08967118523175135,4.210335349462018,3.0291967222135545,0.010693813782152103,1.0413698030022072,0.0,0.21387627564304207,4.3018197023800315,3.4686470214354186,0.03516809926618455,1.5632882800593795,0.0,0.20162882692912618,4.324739641736421,3.3799242914086522,0.07771966920600677,0.9902732930993801,0.0,0.215385459941112,4.65019087026358,3.7601159403350337,0.15174174785275224,0.4974058829184433,1.4457052767182519e6,0.21397018211763638,4.435358369507079,3.4081423320207436,0.3081339303943301,0.2419545923149514,8.995778447775787e6,0.11055182899632297,4.419162107325022,3.3645632023859147,0.5908674748734396,0.023804540768504863,4.6586189510359555e7,0.10795176012703561,4.324739641736421,3.457432794389492,0.009684653196881459,0.9847791247890659,0.0,0.21209430584957908,6.094157369020849,4.734543729154006,0.036863024893286404,0.656519416526044,0.0,0.20379814825398038,5.837553384301147,4.700763480595073,0.07511811761811393,0.3834520787991172,191458.1725062018,0.039674234614174776,6.215966650966487,5.027504771394277,0.14715138880951475,0.19541103500742246,275919.42355106835,0.024924385121942616,6.071903796185347,4.622890851781605,0.3081339303943301,0.0801259921259882,313002.94023200625,0.02003149803149705,6.538604385593562,4.812294464845993,0.5751781181986758,0.008065153077165047,455623.73645389144,0.020630693606237087,6.115537223033512,4.7179918139167585,0.009918558653543694,1.0152208752109342,0.0,0.19541103500742246,7.2893583197390805,5.4738160196441585,0.0331369751067136,0.6390867979985286,0.0,0.1976776695296637,7.16477397286058,5.643295832759966,0.07488188238188608,0.37870828693386976,192094.83362580332,0.04165479212008829,7.07044385514697,5.922365366923927,0.15704504871165134,0.19274754878398198,258813.06407443597,0.02738396134929847,6.894105566586728,5.546844774281648,0.29651650429449555,0.11674642784226795,345042.0905646754,0.021064585653306517,6.817529157808182,5.243332473321018,0.6248218818013244,0.011167423461417478,432051.6506221377,0.021387627564304207,6.817529157808182,5.688278459917461 +9,45,42,12,15625,546875,421875,0.047434164902525694,1.3972662922462575,5.76393202250021,42,47,47,24,13,3,0,6,21,11,0.1388888888888889,0.16358024691358025,0.1574074074074074,0.17592592592592593,0.009259259259259259,0.12037037037037036,0.10802469135802469,0.12654320987654322,0.20675105485232068,0.2320675105485232,0.029535864978902954,0.10548523206751055,0.2320675105485232,0.16455696202531644,0.029535864978902954,0.87109375,4.28125,23.828125,0.42578125,0.009810092587300983,0.9810092587300983,0.0,0.1976776695296637,3.281951422475478,2.6111101215519175,0.03471495528740293,1.9837117307087384,0.0,0.19369306393762917,3.070076562565329,2.519793292430426,0.07228033079399324,1.1503562363973516,0.0,0.003670710678118655,3.372730733493356,2.410317750349361,0.14976376476377215,0.8480892146495208,456749.9165509957,0.0038738612787525832,3.384331260773357,2.602456102794555,0.2943027776190295,0.4466971850928111,639113.3817347616,0.0018790569415042097,3.294563451530929,2.6294389976348556,0.5680624304008046,0.04280702354216493,927447.7388651486,0.0020379814825398036,3.422246215847947,2.468371385976971,0.009883883476483186,1.0823223304703364,0.0,0.18935414346693488,3.769630630040058,2.971075398312137,0.03373082103719685,2.0096056723534024,0.0,0.20304417504218686,3.8228581486037347,2.7991123582732502,0.07357569440475738,1.162158383625775,0.0,0.2014895905571001,3.887654175158966,3.10594728737555,0.15174174785275224,0.8386690475583123,446934.3500257789,0.20318246186088998,3.5247465210368913,2.996024063459644,0.2918660696056699,0.43930704330706505,670069.6911525015,0.09752932205468329,3.7821658863103425,2.971075398312137,0.6362829175487372,0.04165791156272568,902551.3265746741,0.09613890735554963,3.733593871959942,2.9280877749266487,0.009770551750371123,1.0413698030022072,0.0,0.20304417504218686,3.834800717546093,3.2745079795130425,0.03505512155511984,1.9695582495781319,0.0,0.2093933982822018,4.328444648453908,3.2745079795130425,0.07899219619989943,1.1981101181101772,0.0,0.17059920884095148,4.192288132331471,3.328122461383807,0.14526979795322187,0.6162678607886602,214745.18299617406,0.17059920884095148,3.7456139916348534,3.3791618246855486,0.27918558653543696,0.3181414587743686,226106.0547637598,0.0893394370185622,4.08805083699141,3.111825296404928,0.5637170824512628,0.030244324039368924,243523.23096194427,0.08435945733580577,3.9709572336685306,3.219931338578367,0.00995197163823299,0.9810092587300983,0.0,0.1990394327646598,4.57268554763437,3.7601159403350337,0.032571651762467645,1.6580196097281443,0.0,0.18790569415042097,4.5904293608259605,3.583673629614086,0.07327913812778342,0.9339714227381436,0.0,0.22943991779767112,4.38450115117404,3.4686470214354186,0.14201560760020115,0.46898648401781384,1.3530403872979744e6,0.22862423343148003,4.726329812562453,3.6178420104762603,0.29053959590644374,0.22548683298050515,8.298462231882709e6,0.11776562152446837,4.698227998135754,3.5683125405913483,0.6281801948466054,0.02545131670194949,4.944820494477073e7,0.11655712899649735,4.5904293608259605,3.715157539784924,0.010271131013144339,1.046966991411009,0.0,0.19837117307087385,6.493950489698852,5.0620750495366975,0.03459359216769115,0.697977994274006,0.0,0.1917260393995586,6.2373465049791506,4.9976122307299455,0.06882582521472479,0.40759629650796075,177322.88784644997,0.04241886116991581,5.792899488406437,4.7179918139167585,0.1562054704503311,0.20725245121601807,254531.27027016997,0.026493759273017448,6.455338755267491,4.902841292593214,0.29053959590644374,0.0734142135623731,341618.73985250917,0.018353553390593275,6.115537223033512,4.484763144463303,0.611394444761941,0.007516227766016839,493909.60326840024,0.01945773797371133,6.538604385593562,5.027504771394277,0.010604715292478953,0.9530330085889911,0.0,0.20725245121601807,6.857568689319529,5.832913078678983,0.03540640783230886,0.6793271608466012,0.0,0.21064585653306517,6.564614460469395,5.309011727754844,0.08117417478527522,0.40464466094067264,179020.59742605194,0.03924037034920393,7.5342839961642,5.511524079580415,0.1477168687183599,0.2045889649925776,242959.3393316963,0.025698097038856282,7.317643888682026,5.082211602648832,0.3159687847995977,0.12378416163742251,322926.0426519941,0.01976776695296637,7.2623905530967745,5.602429532355842,0.588605555238059,0.012057634034120414,461641.3205274839,0.01990394327646598,7.2623905530967745,5.3634798447310414 +12,4,14,17,703125,734375,734375,0.13133925536563698,0.16603153358167777,1.5968757625671515,47,52,28,1,2,14,15,22,16,21,0.14534883720930233,0.005813953488372093,0.13372093023255813,0.0755813953488372,0.13372093023255813,0.06395348837209303,0.27325581395348836,0.1686046511627907,0.13962264150943396,0.07169811320754717,0.19245283018867926,0.07924528301886792,0.22264150943396227,0.19245283018867926,0.1018867924528302,0.98046875,4.90625,11.640625,0.31640625,0.010532292826653258,1.0532292826653258,0.0,0.20162882692912618,3.3066380512266433,2.5940956983435015,0.037881281566461776,2.093933982822018,0.0,0.18612372435695795,3.422246215847947,2.5408303404023624,0.06882582521472479,1.1817349497468792,0.0,0.003924037034920393,3.450983445115174,2.5505943563651448,0.15543933841201354,0.8697817459305204,439295.67709283385,0.004019211344706805,3.2070826148343734,2.5859376556564992,0.28590990257669735,0.4435834192440776,661458.3508250016,0.0020630693606237087,3.547791229223689,2.433394407764258,0.5862331050222673,0.04435834192440777,935190.7400996472,0.0019968501968502953,3.3964058604690712,2.433394407764258,0.009395284707521049,0.9770551750371123,0.0,0.19541103500742246,3.745703830957665,2.6653339270951544,0.03335615530061469,2.0542262026288673,0.0,0.20162882692912618,4.060453714523384,2.9090078731703866,0.06882582521472479,1.222788889523882,0.0,0.2056412427893639,3.7951746682169216,2.6653339270951544,0.15284861119048526,0.9164054266419425,450496.85708315833,0.17435875721063612,3.5754103106298474,3.10594728737555,0.28912132317597294,0.466607472869074,626230.718959226,0.09686205806953521,3.6498944079461664,2.9090078731703866,0.6162678607886602,0.043641658075592255,1.0109416862953367e6,0.08993241161390704,3.442770787476616,2.8256854714815587,0.010116116523516816,1.0015749015748523,0.0,0.20162882692912618,4.08805083699141,3.245597363392304,0.03528504471259709,2.1209430584957905,0.0,0.18612372435695795,4.129017066625734,3.111825296404928,0.07228033079399324,1.1724662100445347,0.0,0.17172911692912537,4.229631529953251,3.144745487937831,0.14655827625556683,0.611394444761941,230554.31233714946,0.16657603498636106,3.9336138360467494,3.123230159395084,0.2995275295275443,0.3034834957055045,228252.57159526987,0.08757735041645029,3.834800717546093,3.2745079795130425,0.6189208081871126,0.030456626256328025,266658.4418621825,0.08786140866141298,3.9336138360467494,3.245597363392304,0.010015749015748525,0.9530330085889911,0.0,0.19457737973711328,4.480397939901231,3.4908040376105087,0.0331369751067136,1.643380962103094,0.0,0.21064585653306517,4.555768404674979,3.5538314549554655,0.07587087392637612,0.9019473319220206,0.0,0.23534957547849883,4.698227998135754,3.4908040376105087,0.1590707293871843,0.4544499443206437,1.4809337241186006e6,0.21665042452150118,4.4022449643656305,3.3799242914086522,0.3181414587743686,0.23721320343559643,8.351471131538377e6,0.10898530260724416,4.3018197023800315,3.4458247278452308,0.6217573536480542,0.0232431676725155,4.43596881950976e7,0.12554939033455903,4.276702513864247,3.4795898105645824,0.010604715292478953,0.9586301969977928,0.0,0.19968501968502955,6.1361388405404105,4.7659014317467046,0.034335324055553444,0.7069810194985969,0.0,0.2093933982822018,5.910675994005833,4.575943689310137,0.07046463530640786,0.3993700393700591,180400.55700181713,0.04187867965644036,5.998579280052453,4.750493147074372,0.15798439239979886,0.21646446609406728,244386.24604495996,0.026301902961143722,6.195365033459589,4.663893831344829,0.3181414587743686,0.08555051025721683,339443.41104747454,0.020827396060044145,6.455338755267491,5.027504771394277,0.606966991411009,0.007783095189484531,465008.71190200775,0.018790569415042098,6.15604148456427,5.104605492748664,0.00984779124789066,0.9637377439199099,0.0,0.21646446609406728,7.347461686500529,5.583225993571779,0.03566467594444657,0.6656167322834318,0.0,0.20162882692912618,6.720924339679158,5.688278459917461,0.07189726477483448,0.3834520787991172,188330.50619882336,0.042129171306613034,7.317643888682026,5.546844774281648,0.15072042542650518,0.21064585653306517,239516.5901705864,0.026211747500786402,6.959554117499472,5.665194033718302,0.28912132317597294,0.11564852927038918,342719.7288542064,0.021387627564304207,7.649828139314158,5.643295832759966,0.5837321392113398,0.011981101181101772,424680.7640753084,0.021064585653306517,7.017657484260921,5.873021529427319 +37,29,39,9,203125,234375,234375,0.223147869255303,2.287980793757309,5.0,19,22,7,22,10,6,7,10,4,9,0.1565934065934066,0.09065934065934066,0.1510989010989011,0.12362637362637363,0.1510989010989011,0.11813186813186813,0.04120879120879121,0.16758241758241757,0.02145922746781116,0.21888412017167383,0.0815450643776824,0.22746781115879827,0.11587982832618025,0.0815450643776824,0.2532188841201717,0.85546875,3.90625,19.140625,0.44140625,0.009883883476483186,0.9883883476483185,0.0,0.18790569415042097,3.523562404406734,2.376800468192324,0.03494487844488017,1.9695582495781319,0.0,0.20096056723534025,3.2241698346921157,2.6971651566999215,0.07511811761811393,1.2563603896932107,0.0,0.004165479212008829,3.254778191575989,2.711661968023029,0.14655827625556683,0.9268417687454868,402497.9385517075,0.0037224744871391592,3.4090178895245224,2.8032328858076765,0.3045662625632803,0.41339252713092617,623173.7657445978,0.0019457737973711327,3.3182385785066444,2.6111101215519175,0.6217573536480542,0.04133925271309262,992732.1155436699,0.0021646446609406727,3.188357306895986,2.6111101215519175,0.01008144134645631,1.0362622560800903,0.0,0.20725245121601807,4.060453714523384,2.9090078731703866,0.0355327306323827,1.9369306393762915,0.0,0.18790569415042097,3.745703830957665,2.6653339270951544,0.07511811761811393,1.1503562363973516,0.0,0.18970076870077807,3.5519166220408223,2.9090078731703866,0.14379452954966895,0.8632881476824866,424773.65166037605,0.19029923129922197,3.8087150729122827,2.8904841568680784,0.30688344748886637,0.4364165807559225,664153.6488840894,0.10321646970120192,3.869918143989321,2.6653339270951544,0.5810791918128875,0.04666074728690741,945530.7506410894,0.09815434035433554,3.7575206710423354,2.996024063459644,0.009467707173346744,0.9176776695296637,0.0,0.18790569415042097,3.7456139916348534,3.0602749435229692,0.03288349647632367,1.9837117307087384,0.0,0.20096056723534025,3.8643608354733883,3.3083341090029497,0.07672086187221659,1.2435147072961084,0.0,0.18615944084089786,3.987970564974013,3.3791618246855486,0.15543933841201354,0.5751781181986758,216360.4825318171,0.1766634534260826,4.175274801025988,3.328122461383807,0.3246966991411009,0.2840312152004023,242012.14322959253,0.0941055612829385,4.114863967703013,3.087418217069815,0.5837321392113398,0.028590990257669733,249404.84710121484,0.09524436508138959,4.175274801025988,3.0602749435229692,0.009176776695296637,1.0152208752109342,0.0,0.20630693606237088,4.8568838537785854,3.233079292215077,0.03540640783230886,1.5495445115010331,0.0,0.1976776695296637,4.276702513864247,3.3481390443464507,0.07100780380010058,0.9678183692598056,0.0,0.22170809247300222,4.419162107325022,3.233079292215077,0.1487783798031554,0.48557359312880716,1.396320237031995e6,0.2302919075269978,4.67311080961997,3.583673629614086,0.2975567596063108,0.2527750278396782,7.734885168000203e6,0.11694471961889319,4.57268554763437,3.684203669403796,0.5862331050222673,0.02465071443154641,4.841520265025894e7,0.11581731141731715,4.555768404674979,3.188120891664967,0.009918558653543694,1.0189907412699017,0.0,0.21646446609406728,6.593540304122162,5.1663780813766484,0.036447943105077256,0.6612372435695795,0.0,0.1969558249578132,6.282844136769962,4.864069864043935,0.07561081009842233,0.43292893218813455,192755.544940731,0.03939116499156264,6.360186953215491,5.104605492748664,0.14825825214724778,0.19968501968502955,259774.12644982192,0.02461603865070153,5.737963569877837,4.946514042673007,0.2975567596063108,0.07961577310586392,364746.2793578374,0.019620185174601967,6.071903796185347,4.7179918139167585,0.5680624304008046,0.008252277442494835,437463.6344004223,0.02016288269291262,6.67333100555583,4.750493147074372,0.01046966991411009,1.0229448249628879,0.0,0.19968501968502955,6.927924317202108,5.203224022572681,0.03355205689492276,0.7215482203135576,0.0,0.18790569415042097,7.211767033542473,5.3634798447310414,0.07642430559524263,0.40759629650796075,200685.49413773723,0.03953553390593274,6.894105566586728,5.082211602648832,0.13959279326771848,0.1976776695296637,257008.9710400158,0.024427740239554723,7.379091486797894,5.337297949693708,0.30688344748886637,0.12275337899554653,317416.8605438435,0.01990394327646598,7.119150775457958,5.309011727754844,0.6189208081871126,0.012987867965644037,458534.1688028672,0.01976776695296637,7.449447114680473,5.493019558428221 +50,17,1,13,453125,484375,984375,0.17191311542550503,3.8451426339690093,3.0,10,12,42,12,14,10,3,16,10,15,0.033582089552238806,0.1828358208955224,0.026119402985074626,0.10820895522388059,0.026119402985074626,0.22014925373134328,0.23507462686567165,0.16791044776119404,0.24423963133640553,0.16129032258064516,0.16129032258064516,0.02304147465437788,0.19815668202764977,0.013824884792626729,0.19815668202764977,0.79296875,4.40625,15.390625,0.25390625,0.010152208752109343,1.0152208752109342,0.0,0.19620185174601967,3.188357306895986,2.6716920249115663,0.033896286189085106,2.023223304703363,0.0,0.19541103500742246,3.5775989922311187,2.6111101215519175,0.07736510102338907,1.1361248608016092,0.0,0.0037581138830084194,3.070076562565329,2.4521519471920596,0.15072042542650518,0.8933943701856222,452436.18337461905,0.003908220700148449,3.547791229223689,2.6602400615695743,0.29651650429449555,0.4316440738412433,643516.110218516,0.0018353553390593276,3.2070826148343734,2.6971651566999215,0.6028817017060207,0.04316440738412434,895647.3326711867,0.002054226202628868,3.523562404406734,2.6971651566999215,0.010413698030022072,1.0048028361767012,0.0,0.20096056723534025,3.853330094053834,2.8256854714815587,0.03459359216769115,2.164644660940673,0.0,0.19620185174601967,3.6333063580106795,2.8256854714815587,0.07296651740141748,1.2725658350974745,0.0,0.1840084107407477,3.6945094290877174,2.996024063459644,0.1590707293871843,0.8871668384881553,437914.15794216126,0.1848485107502576,3.9513078799591783,2.971075398312137,0.29855914914698967,0.42179728667902894,645603.3628700823,0.09949164577067154,3.442770787476616,2.996024063459644,0.5990550590550886,0.0421797286679029,971398.2788668763,0.10109039867056172,3.6498944079461664,2.9090078731703866,0.01046966991411009,1.0315346803118544,0.0,0.19620185174601967,3.9709572336685306,3.4200542254009836,0.036447943105077256,1.9172603939955857,0.0,0.19541103500742246,4.019496813483939,2.991721690616193,0.07463978728674742,1.2057634034120415,0.0,0.16657603498636106,3.798434075898996,3.232425934930185,0.13959279326771848,0.6362829175487372,208621.11749665393,0.17172911692912537,4.364811290101005,3.0115100429970507,0.29053959590644374,0.3140900974233027,215299.73139601035,0.09001914459673412,4.250478609325051,3.1750986640621695,0.6009449409449115,0.029651650429449554,256227.98523571176,0.09038595291567017,4.364811290101005,3.154945509746097,0.009728868986855665,0.9883883476483185,0.0,0.18353553390593275,4.60913435613093,3.394405377044535,0.03446726936761731,1.7317157287525382,0.0,0.19060660171779822,4.726329812562453,3.457432794389492,0.07852252435582567,0.9997150108821189,0.0,0.22784057442991257,4.248600699437548,3.60009778765355,0.14379452954966895,0.4726939798987516,1.4359747230522372e6,0.22415942557008744,4.216101369522883,3.4795898105645824,0.2875890590993379,0.2436530100506242,8.612947739365043e6,0.11379707401269142,4.7588291424771185,3.5400944999792574,0.6028817017060207,0.025975735931288074,4.986343059270051e7,0.11914511975247433,4.435358369507079,3.583673629614086,0.00958630196997793,0.9918558653543692,0.0,0.19369306393762917,6.307224035959051,4.902841292593214,0.03528504471259709,0.6390867979985286,0.0,0.18935414346693488,6.538604385593562,4.734543729154006,0.07357569440475738,0.38738612787525833,199492.25821514055,0.037870828693386975,5.6581728684441694,4.882944362655171,0.14295495128834868,0.20542262026288677,270348.9383936523,0.027221141776686233,6.389336012665805,4.442232701251335,0.3056972223809705,0.0770990195135928,348907.62687142944,0.02016288269291262,6.2373465049791506,4.846074713404927,0.6281801948466054,0.00801259921259882,483938.1555221613,0.019620185174601967,6.3329245939475465,4.600324151326993,0.009467707173346744,0.9951971638232989,0.0,0.19369306393762917,7.742401343530607,5.432949719240034,0.03471495528740293,0.6456435464587639,0.0,0.19620185174601967,7.017657484260921,5.529400777718352,0.0743891899015777,0.42418861169915817,193443.25718428858,0.038121320343559646,7.119150775457958,5.387967092082539,0.14655827625556683,0.20304417504218686,265479.28251927876,0.027075614878057385,6.564614460469395,5.922365366923927,0.3208144134645631,0.12832576538582524,333255.51303025143,0.0192747548783982,6.894105566586728,5.493019558428221,0.6009449409449115,0.012325357215773205,472890.4369552434,0.020304417504218686,6.720924339679158,5.643295832759966 +25,42,26,4,953125,984375,484375,0.07245688373094719,1.1303215590630522,0.4501655647292502,31,34,17,32,6,2,11,4,22,3,0.15298507462686567,0.06343283582089553,0.1455223880597015,0.22761194029850745,0.1455223880597015,0.10074626865671642,0.11567164179104478,0.048507462686567165,0.17355371900826447,0.024793388429752067,0.024793388429752067,0.30578512396694213,0.09090909090909091,0.2892561983471074,0.09090909090909091,0.91796875,3.40625,22.890625,0.37890625,0.009530330085889912,0.9530330085889911,0.0,0.20827396060044145,3.3964058604690712,2.519793292430426,0.03594895854600519,1.8935414346693487,0.0,0.20725245121601807,3.329416841265565,2.433394407764258,0.07296651740141748,1.213933982822018,0.0,0.004032576538582524,3.350753465053379,2.620091050238382,0.13959279326771848,0.8386690475583123,426712.9779518368,0.004145049024320361,3.3182385785066444,2.5083413290884344,0.3159687847995977,0.45820271332097123,691485.2351522115,0.002003149803149705,3.4090178895245224,2.5408303404023624,0.5583711730708739,0.04582027133209713,961058.268325434,0.0019369306393762916,3.3066380512266433,2.5408303404023624,0.009810092587300983,0.9306186217847897,0.0,0.18612372435695795,3.6333063580106795,2.996024063459644,0.036863024893286404,1.9968501968502954,0.0,0.20827396060044145,3.853330094053834,2.996024063459644,0.07736510102338907,1.1902270384252431,0.0,0.19515148924974243,3.927814191370153,2.8256854714815587,0.1487783798031554,0.8267850542618523,474711.8964832876,0.1959915892592523,3.7080498337830785,2.7991123582732502,0.3208144134645631,0.44835592615875686,699853.1360671913,0.09339723484172113,3.7575206710423354,2.8256854714815587,0.6493933982822018,0.04483559261587569,913856.9034228534,0.0953429160711855,3.869918143989321,2.6653339270951544,0.00984779124789066,0.9728868986855663,0.0,0.20827396060044145,4.210335349462018,3.154945509746097,0.034335324055553444,2.0379814825398035,0.0,0.20725245121601807,4.273324220495441,3.1966139926049157,0.08020360336614077,1.1167423461417478,0.0,0.1766634534260826,4.101226048081557,3.045336172486958,0.15072042542650518,0.5951135192126216,222234.18452841477,0.18615944084089786,4.062019317918444,3.208018855595072,0.3081339303943301,0.2954337374367198,234983.16940911548,0.08480892146495206,4.004109642665785,2.940682327314452,0.5506066017177983,0.031596878479959775,241050.16269014173,0.08522494813255682,4.062019317918444,3.4200542254009836,0.010315346803118543,1.0532292826653258,0.0,0.2003149803149705,4.345954473741487,3.60009778765355,0.036643844699385315,1.5974801574802362,0.0,0.20304417504218686,4.435358369507079,3.715157539784924,0.07385843435917995,0.9417688883808943,0.0,0.21233343438997568,4.539572142492922,3.394405377044535,0.15284861119048526,0.5025441558772843,1.3299572508866438e6,0.23966656561002433,4.524011777262454,3.188120891664967,0.3056972223809705,0.22872792206135786,8.1208450000908e6,0.12079889714825605,4.450918734737546,3.3303948215237402,0.5583711730708739,0.023962202362203543,4.7028451173827104e7,0.11234197708382493,4.726329812562453,3.3799242914086522,0.010189907412699019,1.0604715292478952,0.0,0.20542262026288677,5.942167861334194,4.622890851781605,0.03288349647632367,0.6793271608466012,0.0,0.20232233047033632,6.115537223033512,5.0620750495366975,0.07810273522516555,0.41084524052577354,187642.79395526578,0.040464466094067265,6.1754623894357294,4.600324151326993,0.15228313128164014,0.19369306393762917,252856.5575242229,0.02560425724451571,6.024279838040949,4.7963450469256275,0.2875890590993379,0.08183558599703103,328713.1827170839,0.018790569415042098,5.837553384301147,4.549225963270055,0.5908674748734396,0.00734142135623731,452625.91666544095,0.020827396060044145,5.971316920784508,4.882944362655171,0.010116116523516816,1.0693813782152104,0.0,0.20542262026288677,7.1422418311394225,5.767233824245157,0.03711650352367634,0.6847420675429559,0.0,0.20827396060044145,7.449447114680473,5.994033949351168,0.07953536469359215,0.3967423461417477,181593.7929244138,0.04060883500843737,7.649828139314158,5.712765707268959,0.15543933841201354,0.19060660171779822,250091.40211441676,0.025506240726982557,7.16477397286058,5.511524079580415,0.29855914914698967,0.11942365965879587,353449.95718459703,0.020458896499257757,7.317643888682026,5.873021529427319,0.5506066017177983,0.01162158383625775,445871.73366755515,0.019060660171779823,7.211767033542473,5.309011727754844 +18,23,45,2,828125,609375,859375,0.19437684912861194,5.0434405196876835,7.0,14,28,52,27,4,0,9,7,13,24,0.056666666666666664,0.03,0.05,0.17666666666666667,0.15666666666666668,0.17,0.18333333333333332,0.17666666666666667,0.215311004784689,0.1291866028708134,0.20574162679425836,0.13875598086124402,0.014354066985645933,0.05263157894736842,0.24401913875598086,0.82421875,3.65625,24.765625,0.28515625,0.009176776695296637,0.9176776695296637,0.0,0.19274754878398198,3.254778191575989,2.559942303761619,0.0331369751067136,2.164644660940673,0.0,0.20379814825398038,3.372730733493356,2.5775772512054456,0.07412912607362389,1.1981101181101772,0.0,0.004091779299851552,3.523562404406734,2.5083413290884344,0.1487783798031554,0.8075563491861042,433511.9896955464,0.004241886116991582,3.4667994773078847,2.620091050238382,0.27530330085889915,0.4705278064146926,634341.9025040866,0.0021064585653306515,3.3615524707344355,2.6494441563047255,0.611394444761941,0.04240446073247604,918725.8998606356,0.0019695582495781318,3.070076562565329,2.496096829006922,0.010693813782152103,1.0189907412699017,0.0,0.1917260393995586,3.6945094290877174,3.0590345971224955,0.0361037138109149,2.093933982822018,0.0,0.1990394327646598,3.927814191370153,3.0590345971224955,0.07614156564082007,1.2435147072961084,0.0,0.18710803370992252,3.853330094053834,2.948641698540831,0.15072042542650518,0.8480892146495208,459204.87091136817,0.2001135637064119,3.7575206710423354,2.8492763275234942,0.3024432403936893,0.45595539267523977,612202.5176874202,0.10109039867056172,3.9513078799591783,3.0590345971224955,0.5908674748734396,0.045595539267523987,887153.6225703201,0.09949164577067154,3.9513078799591783,2.870708401875772,0.010271131013144339,1.0532292826653258,0.0,0.1990394327646598,3.88992114550456,3.111825296404928,0.03580306887370108,1.8612372435695794,0.0,0.20379814825398038,3.9529100165379827,3.245597363392304,0.07357569440475738,1.1902270384252431,0.0,0.1693820094637193,4.159135723334216,3.1856569068566456,0.1487783798031554,0.6028817017060207,225805.3139857412,0.17399720420448922,4.250478609325051,2.899789926599017,0.2954337374367198,0.29053959590644374,231889.4235191486,0.08632881476824864,3.9336138360467494,3.0291967222135545,0.5718198051533947,0.027530330085889912,260570.95447237842,0.08902182540694797,3.834800717546093,3.1966139926049157,0.010152208752109343,1.0315346803118544,0.0,0.21064585653306517,4.248600699437548,3.3303948215237402,0.03494487844488017,1.5148331477354788,0.0,0.20630693606237088,4.49453257209877,3.5024121041547702,0.07263489897661093,0.9251882341631135,0.0,0.24168019147663752,4.60913435613093,3.4458247278452308,0.13959279326771848,0.4930142886309282,1.4562508133988983e6,0.2341952698741004,4.798811780154152,3.659043247178078,0.29311655251113367,0.2202426406871193,7.967704835021098e6,0.11179357829470955,4.65019087026358,3.4908040376105087,0.5751781181986758,0.024278679656440358,4.606873252381876e7,0.12144817100367705,4.49453257209877,3.4337781607248337,0.010362622560800904,1.0048028361767012,0.0,0.20232233047033632,6.4208278799941665,4.9976122307299455,0.03742834823753237,0.6908415040533935,0.0,0.21646446609406728,6.024279838040949,4.442232701251335,0.07228033079399324,0.4187867965644036,190242.9390587302,0.04329289321881346,6.094157369020849,4.970894504689864,0.14593303480283495,0.2093933982822018,237245.1777440126,0.028140380592228745,5.910675994005833,4.734543729154006,0.30144085085301037,0.08065153077165048,320455.8458176402,0.021387627564304207,6.67333100555583,4.923947342218395,0.5990550590550886,0.008425834261322606,445871.73366755515,0.021387627564304207,6.071903796185347,4.812294464845993,0.009984250984251477,1.0413698030022072,0.0,0.1969558249578132,7.044625250903228,5.337297949693708,0.03419693112629893,0.6744077682344545,0.0,0.19274754878398198,7.649828139314158,5.4538277003236715,0.07536021271325259,0.3722474487139159,174857.07965000425,0.03670710678118655,7.017657484260921,5.832913078678983,0.1487783798031554,0.18353553390593275,272620.35082022613,0.025057181341917655,6.817529157808182,5.767233824245157,0.3024432403936893,0.1209772961574757,326971.0925942907,0.018790569415042098,6.720924339679158,5.564721472419586,0.5930330085889911,0.011361248608016091,437463.6344004223,0.01945773797371133,7.119150775457958,5.738947602306292 +43,48,20,11,328125,109375,359375,0.10606601717798213,1.677582785989058,2.2554373534619714,38,7,22,7,12,8,1,19,25,12,0.2076271186440678,0.17372881355932204,0.19915254237288135,0.08898305084745763,0.0635593220338983,0.08050847457627118,0.09745762711864407,0.08898305084745763,0.05394190871369295,0.24481327800829875,0.04564315352697095,0.25311203319502074,0.14522821576763487,0.17842323651452283,0.07883817427385892,0.94921875,4.65625,17.265625,0.41015625,0.010015749015748525,1.0015749015748523,0.0,0.2045889649925776,3.450983445115174,2.7278814068079407,0.03540640783230886,1.9968501968502954,0.0,0.1917260393995586,3.1431780827763114,2.7697156036506394,0.07899219619989943,1.2987867965644035,0.0,0.0038549509756796397,3.3066380512266433,2.6602400615695743,0.1590707293871843,0.8813859133858702,461951.5426504383,0.003967423461417477,3.268723096152053,2.4521519471920596,0.30047247047245573,0.4378867520822516,673372.3419714128,0.001976776695296637,3.113370319768882,2.496096829006922,0.5751781181986758,0.04500957229836708,975167.6851414371,0.002093933982822018,3.350753465053379,2.6494441563047255,0.00995197163823299,0.9586301969977928,0.0,0.20379814825398038,3.927814191370153,2.870708401875772,0.034051041453994825,1.9695582495781319,0.0,0.21387627564304207,3.6945094290877174,2.870708401875772,0.07147747564417434,1.1724662100445347,0.0,0.19892372836809172,3.6333063580106795,2.768021164485463,0.13959279326771848,0.9001914459673415,431928.96680106164,0.1877937860531805,3.442770787476616,3.0245895250090964,0.2818585412256314,0.42990427701632944,654130.0751623376,0.0953429160711855,3.7080498337830785,2.870708401875772,0.6281801948466054,0.04299042770163295,957873.0268404585,0.09339723484172113,3.7080498337830785,3.0590345971224955,0.009684653196881459,0.9883883476483185,0.0,0.21387627564304207,4.143748552516062,3.3083341090029497,0.03373082103719685,2.0096056723534024,0.0,0.1917260393995586,4.192288132331471,3.0602749435229692,0.07810273522516555,1.2725658350974745,0.0,0.18007832252269354,3.91276675667495,2.9688367557600963,0.1590707293871843,0.5583711730708739,212967.17970150412,0.16284456338156397,4.004109642665785,3.1648986422539034,0.3140900974233027,0.3081339303943301,247101.9936362605,0.09164054266419422,4.175274801025988,3.219931338578367,0.6091325251265606,0.03004724704724557,245683.1733837851,0.08331582312545133,4.114863967703013,2.991721690616193,0.009530330085889912,0.9728868986855663,0.0,0.1976776695296637,4.539572142492922,3.5400944999792574,0.037881281566461776,1.6185786437626906,0.0,0.19457737973711328,4.118046658221416,3.2640331625962045,0.07703348259858253,0.9820270319643722,0.0,0.22491455902406554,4.345954473741487,3.684203669403796,0.15072042542650518,0.46486335345030994,1.3699888993957206e6,0.22081446955838735,4.465912695526794,3.4337781607248337,0.3108786768240271,0.24037797637796457,8.469394644029373e6,0.11866159969569501,4.38450115117404,3.233079292215077,0.611394444761941,0.022722497216032183,4.907483637102427e7,0.11423437847553165,4.118046658221416,3.659043247178078,0.009770551750371123,0.9306186217847897,0.0,0.18935414346693488,6.048659737230037,4.700763480595073,0.034831900733815466,0.6513701166914082,0.0,0.19968501968502955,6.389336012665805,4.7963450469256275,0.07672086187221659,0.3939116499156264,206228.9714895501,0.03993700393700591,6.493950489698852,4.6827683299560645,0.15473020204677815,0.1969558249578132,256157.16458503995,0.02595905255905384,6.282844136769962,5.0620750495366975,0.27918558653543696,0.07516227766016839,343859.3841816632,0.01990394327646598,6.15604148456427,4.643996901406786,0.6493933982822018,0.007907106781186548,472890.4369552434,0.01990394327646598,6.455338755267491,4.484763144463303,0.010823223304703365,0.9810092587300983,0.0,0.2093933982822018,7.4894866461918195,5.665194033718302,0.03626917896280316,0.6311804782231162,0.0,0.2045889649925776,7.119150775457958,5.798231740853505,0.06979639663385924,0.4019211344706805,190843.11208082415,0.0400629960629941,7.449447114680473,5.4738160196441585,0.1590707293871843,0.2003149803149705,253708.36397919877,0.026596565449035083,7.2623905530967745,5.432949719240034,0.2818585412256314,0.11274341649025257,347558.96179770876,0.02016288269291262,7.211767033542473,5.153880185076074,0.6319375695991954,0.012139339828220179,465008.71190200775,0.020630693606237087,7.649828139314158,5.411051518281698 +31,11,33,7,78125,359375,609375,0.15247950681976907,0.6299038468795466,1.0,60,17,34,37,8,4,5,13,19,18,0.00423728813559322,0.24152542372881355,0.13135593220338984,0.15677966101694915,0.2669491525423729,0.012711864406779662,0.1652542372881356,0.0211864406779661,0.23735408560311283,0.16731517509727625,0.22957198443579765,0.05058365758754864,0.07392996108949416,0.22957198443579765,0.011673151750972763,0.88671875,3.15625,21.015625,0.34765625,0.009728868986855665,0.9728868986855663,0.0,0.21387627564304207,3.070076562565329,2.468371385976971,0.036643844699385315,2.0542262026288673,0.0,0.21209430584957908,3.4838866971656266,2.6494441563047255,0.07614156564082007,1.162158383625775,0.0,0.004277525512860841,3.188357306895986,2.5859376556564992,0.14379452954966895,0.9077505186744319,418004.96412362694,0.0038345207879911716,3.113370319768882,2.5505943563651448,0.2918660696056699,0.4240446073247604,651887.9028698251,0.0019060660171779822,3.268723096152053,2.5775772512054456,0.5951135192126216,0.04705278064146927,948715.992126065,0.0020232233047033634,3.254778191575989,2.7697156036506394,0.0096373774391991,0.9918558653543692,0.0,0.21209430584957908,3.7951746682169216,2.948641698540831,0.03505512155511984,2.023223304703363,0.0,0.2045889649925776,3.5519166220408223,2.768021164485463,0.07899219619989943,1.2057634034120415,0.0,0.1922062139468195,3.745703830957665,2.870708401875772,0.15543933841201354,0.8757735041645032,415258.2923845568,0.1928919662900775,3.6498944079461664,2.7287981300131943,0.3124109409006622,0.40947219358530756,636779.5798111557,0.08993241161390704,3.8087150729122827,2.948641698540831,0.606966991411009,0.044211324791774864,931421.3338250862,0.09686205806953521,3.8087150729122827,2.948641698540831,0.010823223304703365,1.0152208752109342,0.0,0.2045889649925776,4.298884530526613,2.991721690616193,0.03742834823753237,2.0725245121601805,0.0,0.21209430584957908,4.417631374365148,3.4200542254009836,0.07046463530640786,1.222788889523882,0.0,0.16284456338156397,4.048381398296987,3.0999128134216334,0.14379452954966895,0.6217573536480542,200881.7524614908,0.18007832252269354,3.834800717546093,3.074246788607696,0.2840312152004023,0.2995275295275443,223594.5774575795,0.08871668384881551,4.364811290101005,3.134187245143355,0.5930330085889911,0.030946040409355627,252660.39802464857,0.08666056298143779,4.250478609325051,3.111825296404928,0.009883883476483186,1.0015749015748523,0.0,0.20304417504218686,4.698227998135754,3.684203669403796,0.033896286189085106,1.5756465996625053,0.0,0.18353553390593275,4.6289760382585134,3.4081423320207436,0.07488188238188608,1.026606123086602,0.0,0.23118553044161266,4.480397939901231,3.3303948215237402,0.15543933841201354,0.5195147186257615,1.5155314611878074e6,0.22708544097593447,4.5904293608259605,3.3109495261949,0.30144085085301037,0.24756832327484501,8.24386170890279e6,0.11544287100350269,4.176118731845849,3.394405377044535,0.5951135192126216,0.023634698994937583,5.0912127567543395e7,0.11734695167279507,4.6289760382585134,3.3109495261949,0.009306186217847899,1.0362622560800903,0.0,0.2093933982822018,5.792899488406437,4.519333422605723,0.03373082103719685,0.6204124145231932,0.0,0.19369306393762917,6.195365033459589,4.663893831344829,0.07463978728674742,0.40464466094067264,195709.2379268093,0.038738612787525835,5.876165118732509,4.484763144463303,0.15023623523622787,0.20232233047033632,264177.20146372286,0.026704940634175278,6.115537223033512,4.575943689310137,0.3108786768240271,0.07848074069840787,355192.04730739025,0.020458896499257757,6.3329245939475465,4.780936762253296,0.5810791918128875,0.007624264068711929,424680.7640753084,0.020458896499257757,6.2373465049791506,4.6827683299560645,0.009684653196881459,1.0081441346456308,0.0,0.20232233047033632,6.772731807835801,5.922365366923927,0.03516809926618455,0.697977994274006,0.0,0.21387627564304207,7.317643888682026,5.602429532355842,0.07771966920600677,0.41450490243203614,196551.73896677358,0.041261387212474174,7.211767033542473,5.278013811146495,0.15284861119048526,0.19457737973711328,245688.32710051586,0.025875126259405773,7.07044385514697,5.583225993571779,0.2943027776190295,0.11772111104761179,361707.29408404074,0.020827396060044145,7.449447114680473,5.411051518281698,0.6091325251265606,0.012563603896932108,483938.1555221613,0.018353553390593275,6.894105566586728,5.564721472419586 +6,36,8,15,578125,859375,109375,0.274382623085101,2.9902462669136396,3.8768943743823394,25,42,12,17,0,12,13,25,7,6,0.13983050847457626,0.1059322033898305,0.2669491525423729,0.0211864406779661,0.13135593220338984,0.1483050847457627,0.029661016949152543,0.15677966101694915,0.1288888888888889,0.04888888888888889,0.12,0.2,0.22666666666666666,0.12,0.15555555555555556,0.76171875,4.15625,13.515625,0.47265625,0.010315346803118543,1.0315346803118544,0.0,0.1990394327646598,3.350753465053379,2.6294389976348556,0.03446726936761731,1.9369306393762915,0.0,0.19837117307087385,3.281951422475478,2.496096829006922,0.07147747564417434,1.2325357215773205,0.0,0.0039807886552931954,3.3964058604690712,2.8032328858076765,0.15284861119048526,0.8561404708432985,445280.86823393346,0.004075962965079607,3.3615524707344355,2.711661968023029,0.3094604040935563,0.45009572298367073,607519.5236843486,0.0020304417504218683,3.4667994773078847,2.7697156036506394,0.6362829175487372,0.043788675208225165,1.0194353963962032e6,0.0018935414346693486,3.450983445115174,2.5775772512054456,0.010229448249628879,1.0604715292478952,0.0,0.19837117307087385,3.5519166220408223,2.768021164485463,0.03211871843353824,1.8935414346693487,0.0,0.19274754878398198,3.7951746682169216,2.948641698540831,0.07412912607362389,1.1167423461417478,0.0,0.1798864362935881,4.060453714523384,3.0590345971224955,0.14655827625556683,0.9410556128293852,443697.8453394487,0.18107627163190831,3.869918143989321,2.9280877749266487,0.2943027776190295,0.4421132479177486,676991.6056147644,0.09815434035433554,3.5754103106298474,2.768021164485463,0.5680624304008046,0.04094721935853076,987863.1191058877,0.10321646970120192,3.5754103106298474,2.768021164485463,0.009984250984251477,0.9530330085889911,0.0,0.19274754878398198,4.034228299374266,3.1966139926049157,0.034831900733815466,1.9541103500742245,0.0,0.19837117307087385,4.0751945290085905,3.154945509746097,0.07561081009842233,1.1503562363973516,0.0,0.17399720420448922,4.328444648453908,3.2906474297864454,0.15284861119048526,0.5862331050222673,219247.04951458756,0.1693820094637193,4.114863967703013,3.259569208477031,0.3034834957055045,0.3246966991411009,238184.70144594845,0.08267850542618521,4.062019317918444,3.351007396239904,0.6319375695991954,0.029186606960566987,234006.57613982455,0.09213309524416878,4.004109642665785,3.3083341090029497,0.010532292826653258,0.9176776695296637,0.0,0.19060660171779822,4.419162107325022,3.4458247278452308,0.03594895854600519,1.6751471862576144,0.0,0.2003149803149705,4.365796155869071,3.6178420104762603,0.08117417478527522,0.9553892772703669,0.0,0.21780473012589963,4.8568838537785854,3.5400944999792574,0.14655827625556683,0.4792440472440709,1.4174720654445968e6,0.2103198085233625,4.324739641736421,3.5269975388779446,0.27918558653543696,0.2334928556845359,8.814164374805447e6,0.12404823987296441,4.509017816473206,3.60009778765355,0.6362829175487372,0.025127207793864216,4.777777685253991e7,0.10982540321082222,4.365796155869071,3.5269975388779446,0.010048028361767013,0.9770551750371123,0.0,0.1969558249578132,6.215966650966487,4.828846380083242,0.03580306887370108,0.6698685574511342,0.0,0.20542262026288677,5.737963569877837,4.946514042673007,0.08020360336614077,0.37870828693386976,184534.31217278077,0.041084524052577356,6.259600077814652,4.812294464845993,0.13765165042944957,0.18935414346693488,249083.376628361,0.02518009831189179,6.538604385593562,4.864069864043935,0.29311655251113367,0.08330958424017658,334604.17810397217,0.0192747548783982,5.971316920784508,4.380460112623352,0.6162678607886602,0.008121767001687473,458534.1688028672,0.0192747548783982,5.837553384301147,4.970894504689864,0.010271131013144339,0.9395284707521048,0.0,0.18935414346693488,7.236571948853032,5.511524079580415,0.032571651762467645,0.656519416526044,0.0,0.1990394327646598,6.894105566586728,5.243332473321018,0.07327913812778342,0.3908220700148449,185376.81321274507,0.03891547594742266,6.720924339679158,5.622417851676328,0.14379452954966895,0.20630693606237088,260782.15193587772,0.02780391583359547,7.5342839961642,5.203224022572681,0.3124109409006622,0.12496437636026486,338303.75572001765,0.019620185174601967,7.017657484260921,5.738947602306292,0.5718198051533947,0.011817349497468791,452625.91666544095,0.02003149803149705,7.317643888682026,5.153880185076074 +4,12,40,3,421875,78125,265625,0.14747881203752627,2.128206182523731,0.583801512904337,26,32,49,13,10,1,14,15,17,15,0.23412698412698413,0.09126984126984126,0.24206349206349206,0.09126984126984126,0.1626984126984127,0.01984126984126984,0.003968253968253968,0.15476190476190477,0.022222222222222223,0.18095238095238095,0.16825396825396827,0.1746031746031746,0.18095238095238095,0.16825396825396827,0.10476190476190476,0.84765625,4.09375,21.484375,0.27734375,0.010116116523516816,0.9467707173346743,0.0,0.2093933982822018,3.268723096152053,2.5083413290884344,0.0361037138109149,1.9274754878398197,0.0,0.18790569415042097,3.2070826148343734,2.568923232448083,0.07587087392637612,1.1564852927038918,0.0,0.004075962965079607,3.6208927494346717,2.433394407764258,0.15344172374443318,0.9119107853504795,435032.86001299927,0.004277525512860841,3.450983445115174,2.519793292430426,0.29053959590644374,0.40947219358530756,685723.9332127507,0.0019837117307087383,3.3066380512266433,2.639203013597638,0.5930330085889911,0.045595539267523987,979141.2801013748,0.0021064585653306515,3.547791229223689,2.5859376556564992,0.009306186217847899,0.9883883476483185,0.0,0.1976776695296637,3.5247465210368913,2.749832754877505,0.03494487844488017,2.0630693606237087,0.0,0.19369306393762917,3.8376923374278205,2.9381589501242287,0.07703348259858253,1.177211110476118,0.0,0.1928919662900775,3.6498944079461664,3.0408461875145374,0.13765165042944957,0.872833161511845,442176.97502199584,0.18710803370992252,3.6945094290877174,2.9831818805184414,0.2840312152004023,0.45820271332097123,607519.5236843486,0.10155370109584884,3.853330094053834,2.9381589501242287,0.5837321392113398,0.046342088437274345,1.0040376923918492e6,0.10155370109584884,3.721058615689658,2.8807795770733517,0.010532292826653258,1.0271131013144337,0.0,0.20725245121601807,3.798434075898996,3.045336172486958,0.03471495528740293,1.9457737973711327,0.0,0.19060660171779822,3.7456139916348534,3.232425934930185,0.0743891899015777,1.2496437636026487,0.0,0.18393359705301618,3.9709572336685306,3.111825296404928,0.15473020204677815,0.6416288269291262,203714.55667352155,0.15784055915910214,4.328444648453908,3.2745079795130425,0.30688344748886637,0.3124109409006622,224907.7544052168,0.08598085540326587,4.129017066625734,3.328122461383807,0.5862331050222673,0.031087867682402705,246677.4384512425,0.09001914459673412,4.101226048081557,3.123230159395084,0.00958630196997793,0.9684653196881458,0.0,0.21209430584957908,4.524011777262454,3.5538314549554655,0.03211871843353824,1.6025198425197638,0.0,0.21209430584957908,4.450918734737546,3.6372873058051005,0.07810273522516555,0.9088998886412873,0.0,0.21887316224952094,4.798811780154152,3.2640331625962045,0.15228313128164014,0.5055500556793564,1.3619898962223388e6,0.23534957547849883,4.57268554763437,3.233079292215077,0.29855914914698967,0.23962202362203544,8.010156477410309e6,0.12301469739275586,4.5904293608259605,3.5024121041547702,0.6319375695991954,0.023544222209522358,4.964969556114407e7,0.12079889714825605,4.248600699437548,3.5683125405913483,0.009810092587300983,1.0015749015748523,0.0,0.19274754878398198,6.195365033459589,4.6827683299560645,0.032571651762467645,0.7021528551102172,0.0,0.2003149803149705,6.4208278799941665,5.027504771394277,0.07703348259858253,0.4165479212008829,190843.11208082415,0.03891547594742266,6.195365033459589,4.828846380083242,0.1487783798031554,0.19620185174601967,242959.3393316963,0.027075614878057385,5.6581728684441694,5.027504771394277,0.28912132317597294,0.07878232998312527,361707.29408404074,0.019541103500742247,6.1754623894357294,4.828846380083242,0.588605555238059,0.007987400787401181,443969.5723047655,0.019837117307087388,5.998579280052453,4.7963450469256275,0.010693813782152103,1.0271131013144337,0.0,0.19620185174601967,7.379091486797894,5.643295832759966,0.03528504471259709,0.6540061724867322,0.0,0.1969558249578132,7.236571948853032,5.082211602648832,0.07296651740141748,0.38915475947422656,191458.1725062018,0.037870828693386975,7.044625250903228,5.153880185076074,0.16040720673228154,0.18935414346693488,266906.1892325424,0.026301902961143722,7.044625250903228,5.688278459917461,0.3056972223809705,0.12435147072961082,364746.2793578374,0.02164644660940673,6.772731807835801,5.432949719240034,0.5862331050222673,0.01209772961574757,480633.21111173375,0.019837117307087388,7.187865028542044,5.712765707268959 +29,37,15,11,921875,578125,765625,0.25562940162675285,0.05490280845544948,3.204168476687281,66,11,21,33,2,9,6,3,5,3,0.10714285714285714,0.21825396825396826,0.11507936507936507,0.21825396825396826,0.03571428571428571,0.14682539682539683,0.13095238095238096,0.027777777777777776,0.25161290322580643,0.16129032258064516,0.13548387096774195,0.14838709677419354,0.16129032258064516,0.13548387096774195,0.0064516129032258064,0.97265625,3.09375,13.984375,0.40234375,0.009467707173346744,1.0116116523516816,0.0,0.1969558249578132,3.4667994773078847,2.6602400615695743,0.034051041453994825,2.0458896499257757,0.0,0.20162882692912618,3.4090178895245224,2.746638946235742,0.07100780380010058,1.2275337899554655,0.0,0.0038345207879911716,3.3402158469466214,2.6111101215519175,0.14456066158798647,0.8598085540326589,465128.0276154276,0.0039807886552931954,3.254778191575989,2.6716920249115663,0.3081339303943301,0.4421132479177486,641355.5540272741,0.002120943058495791,3.523562404406734,2.4828681973000792,0.6319375695991954,0.04299042770163295,923232.6718836612,0.001976776695296637,3.3182385785066444,2.8032328858076765,0.010048028361767013,1.0532292826653258,0.0,0.21064585653306517,3.7821658863103425,2.9381589501242287,0.037881281566461776,1.9457737973711327,0.0,0.20542262026288677,3.6155703268410346,2.749832754877505,0.07263489897661093,1.2496437636026487,0.0,0.18107627163190831,3.869918143989321,2.8602256534591692,0.15023623523622787,0.933214945738148,412081.8074195675,0.19892372836809172,3.927814191370153,2.8128432885403565,0.3034834957055045,0.4316440738412433,651887.9028698251,0.095751407153637,3.6333063580106795,2.749832754877505,0.6189208081871126,0.04348908729652602,942225.1850503753,0.095751407153637,3.978477980963109,3.080069221986806,0.009883883476483186,0.9684653196881458,0.0,0.19541103500742246,4.101226048081557,3.232425934930185,0.03711650352367634,2.0630693606237087,0.0,0.20304417504218686,4.08805083699141,3.045336172486958,0.07953536469359215,1.177211110476118,0.0,0.1711739121776074,4.210335349462018,3.3083341090029497,0.14593303480283495,0.5971182982939793,219953.65182298067,0.1722708830708746,4.048381398296987,3.087418217069815,0.28912132317597294,0.2943027776190295,239069.16357992482,0.09119107853504793,3.8643608354733883,3.123230159395084,0.6217573536480542,0.029311655251113365,261855.26099681252,0.08480892146495206,3.798434075898996,3.328122461383807,0.010189907412699019,1.0271131013144337,0.0,0.19837117307087385,4.216101369522883,3.3481390443464507,0.03505512155511984,1.468284271247462,0.0,0.19837117307087385,4.7588291424771185,3.4212392931220563,0.07357569440475738,0.9711471862576143,0.0,0.23212756089706205,4.465912695526794,3.5024121041547702,0.14295495128834868,0.47442640687119286,1.450863256581714e6,0.22170809247300222,4.3018197023800315,3.4908040376105087,0.3208144134645631,0.25975735931288074,8.502259216684552e6,0.11505528038110684,4.324739641736421,3.2640331625962045,0.5930330085889911,0.024992875272052975,4.681471614227066e7,0.11379707401269142,4.539572142492922,3.3645632023859147,0.010413698030022072,0.9176776695296637,0.0,0.2045889649925776,5.737963569877837,4.970894504689864,0.03516809926618455,0.658925565098879,0.0,0.18353553390593275,6.048659737230037,4.7179918139167585,0.07263489897661093,0.39240370349203935,174857.07965000425,0.041261387212474174,5.737963569877837,4.519333422605723,0.1590707293871843,0.20827396060044145,258813.06407443597,0.025506240726982557,6.1754623894357294,4.7179918139167585,0.30688344748886637,0.08375735931288072,338303.75572001765,0.020725245121601808,5.6581728684441694,4.519333422605723,0.6248218818013244,0.00865857864376269,470733.043537059,0.021209430584957906,6.360186953215491,4.442232701251335,0.00995197163823299,0.9684653196881458,0.0,0.20827396060044145,6.959554117499472,5.309011727754844,0.03288349647632367,0.6942465353348048,0.0,0.2093933982822018,6.772731807835801,5.546844774281648,0.07736510102338907,0.41261387212474177,177322.88784644997,0.040464466094067265,7.4894866461918195,5.564721472419586,0.14927957457349483,0.20232233047033632,251052.46448980272,0.02461603865070153,7.4894866461918195,5.3634798447310414,0.2875890590993379,0.11724662100445346,339443.41104747454,0.019968501968502955,7.236571948853032,5.767233824245157,0.6217573536480542,0.011274341649025257,451043.54120638757,0.021209430584957906,6.657187664685844,5.387967092082539 +42,25,28,7,671875,828125,15625,0.18833644282936352,1.0013022246490868,5.354248688935409,40,21,32,3,6,5,2,21,11,21,0.15140845070422534,0.13732394366197184,0.15845070422535212,0.02464788732394366,0.2007042253521127,0.18661971830985916,0.05985915492957746,0.08098591549295775,0.13450292397660818,0.05263157894736842,0.21637426900584794,0.22807017543859648,0.23976608187134502,0.029239766081871343,0.09941520467836257,0.91015625,4.59375,17.734375,0.33984375,0.01046966991411009,0.9847791247890659,0.0,0.18935414346693488,3.113370319768882,2.5859376556564992,0.03211871843353824,1.9903943276465978,0.0,0.19620185174601967,3.3182385785066444,2.639203013597638,0.07385843435917995,1.1942365965879587,0.0,0.004241886116991582,3.2399858668848265,2.5408303404023624,0.16040720673228154,0.8189443871706151,420459.9184839994,0.0038549509756796397,3.070076562565329,2.5940956983435015,0.2995275295275443,0.45595539267523977,619871.1149256865,0.0020379814825398036,3.3964058604690712,2.568923232448083,0.6091325251265606,0.04094721935853076,1.0317719351285e6,0.0019060660171779822,3.4090178895245224,2.6602400615695743,0.010362622560800904,1.0152208752109342,0.0,0.20304417504218686,3.906815710764537,2.8602256534591692,0.033896286189085106,2.0031498031497046,0.0,0.21646446609406728,3.733593871959942,2.8602256534591692,0.08117417478527522,1.1274341649025257,0.0,0.1877937860531805,3.7575206710423354,2.749832754877505,0.14593303480283495,0.8435945733580579,430275.4850092162,0.1798864362935881,3.7951746682169216,3.143533424904846,0.2954337374367198,0.41339252713092617,634341.9025040866,0.0912006249349094,4.060453714523384,3.0408461875145374,0.6009449409449115,0.044669718509281114,967804.4862513752,0.0912006249349094,3.596408791235463,2.959591024476506,0.010152208752109343,1.0823223304703364,0.0,0.18612372435695795,4.229631529953251,3.144745487937831,0.03355205689492276,2.0031498031497046,0.0,0.1976776695296637,4.210335349462018,3.3791618246855486,0.07189726477483448,1.1274341649025257,0.0,0.1759465098936167,4.08805083699141,3.1966139926049157,0.15023623523622787,0.6137668949777327,226840.19119453768,0.1673365465739174,3.91276675667495,3.1750986640621695,0.3208144134645631,0.3024432403936893,232702.95059462628,0.0884226495835497,4.019496813483939,3.208018855595072,0.5583711730708739,0.02791855865354369,236246.98182477173,0.08757735041645029,3.987970564974013,3.208018855595072,0.010604715292478953,0.9984250984251477,0.0,0.20379814825398038,4.4022449643656305,3.457432794389492,0.034051041453994825,1.6504554884989668,0.0,0.1917260393995586,4.3018197023800315,3.2891935848219225,0.07561081009842233,1.0050883117545686,0.0,0.22564407224408337,4.324739641736421,3.4081423320207436,0.14825825214724778,0.4873060201012484,1.412516597965453e6,0.22784057442991257,4.7588291424771185,3.60009778765355,0.30688344748886637,0.2465071443154641,8.271633085236975e6,0.11820292598730862,4.465912695526794,3.4081423320207436,0.6091325251265606,0.02419545923149514,4.826294408471223e7,0.11694471961889319,4.419162107325022,3.7601159403350337,0.01008144134645631,1.0315346803118544,0.0,0.1990394327646598,6.024279838040949,4.812294464845993,0.03626917896280316,0.6353553390593274,0.0,0.19457737973711328,5.792899488406437,4.846074713404927,0.08117417478527522,0.40325765385825235,185376.81321274507,0.0400629960629941,6.389336012665805,4.700763480595073,0.15284861119048526,0.18790569415042097,268502.6524527451,0.026211747500786402,5.998579280052453,4.846074713404927,0.29855914914698967,0.08092893218813453,326971.0925942907,0.018612372435695797,6.360186953215491,4.9976122307299455,0.5637170824512628,0.008216904810515471,418775.2584654712,0.01917260393995586,6.1754623894357294,4.663893831344829,0.010229448249628879,1.0823223304703364,0.0,0.20162882692912618,7.16477397286058,5.493019558428221,0.034335324055553444,0.6263523138347366,0.0,0.20232233047033632,7.4894866461918195,5.712765707268959,0.06882582521472479,0.400629960629941,186171.04920017958,0.04187867965644036,7.236571948853032,5.738947602306292,0.14456066158798647,0.1969558249578132,241362.87611149356,0.027221141776686233,6.772731807835801,5.994033949351168,0.2975567596063108,0.11167423461417476,328713.1827170839,0.019369306393762917,7.4894866461918195,5.583225993571779,0.6028817017060207,0.011772111104761179,434909.3998359294,0.01917260393995586,7.412910237413274,5.546844774281648 +17,50,3,16,171875,328125,515625,0.09874208829065749,3.6111395720685104,1.7550020016016017,15,49,11,23,14,13,10,9,23,9,0.05,0.031818181818181815,0.05909090909090909,0.17727272727272728,0.11363636363636363,0.09545454545454546,0.22272727272727272,0.25,0.270935960591133,0.2019704433497537,0.024630541871921183,0.034482758620689655,0.04433497536945813,0.18226600985221675,0.2413793103448276,0.78515625,3.59375,10.234375,0.46484375,0.00984779124789066,1.046966991411009,0.0,0.20232233047033632,3.3615524707344355,2.8032328858076765,0.03505512155511984,2.138762756430421,0.0,0.20827396060044145,3.547791229223689,2.4828681973000792,0.07852252435582567,1.2832576538582523,0.0,0.003967423461417477,3.4361911204240116,2.6971651566999215,0.14927957457349483,0.8842264958354972,446934.3500257789,0.004091779299851552,3.350753465053379,2.376800468192324,0.3246966991411009,0.42990427701632944,658901.5543930127,0.0019172603939955858,3.188357306895986,2.746638946235742,0.5718198051533947,0.044211324791774864,951793.1644589785,0.0020304417504218683,3.2070826148343734,2.5083413290884344,0.009770551750371123,0.9530330085889911,0.0,0.19060660171779822,3.6803663533962654,3.0408461875145374,0.03594895854600519,1.8353553390593274,0.0,0.19968501968502955,4.011904279503447,3.0408461875145374,0.07488188238188608,1.2097729615747572,0.0,0.2001135637064119,3.442770787476616,2.9381589501242287,0.15473020204677815,0.8967118523175137,456749.9165509957,0.1922062139468195,3.5519166220408223,2.8998594788296135,0.3140900974233027,0.4435834192440776,673372.3419714128,0.09847067794531672,3.745703830957665,2.8602256534591692,0.5506066017177983,0.04193345237791562,908521.1344441994,0.09847067794531672,3.8228581486037347,2.7842778269909036,0.009530330085889912,0.9984250984251477,0.0,0.20096056723534025,3.987970564974013,3.3791618246855486,0.03566467594444657,1.8353553390593274,0.0,0.21064585653306517,3.9709572336685306,3.144745487937831,0.07642430559524263,1.2097729615747572,0.0,0.16576289195422447,3.7456139916348534,2.991721690616193,0.13765165042944957,0.5782426463519459,213879.62498163336,0.17742396501363894,4.159135723334216,2.940682327314452,0.29855914914698967,0.2818585412256314,248801.12372921576,0.0818944387170615,4.273324220495441,3.0115100429970507,0.6028817017060207,0.030144085085301035,253500.5765857394,0.0941055612829385,4.229631529953251,3.0115100429970507,0.009918558653543694,1.0823223304703364,0.0,0.1917260393995586,4.67311080961997,3.715157539784924,0.0361037138109149,1.556619037896906,0.0,0.20379814825398038,4.57268554763437,3.514458671275167,0.07046463530640786,0.9453879597975032,0.0,0.244604846686296,4.5904293608259605,3.6178420104762603,0.15798439239979886,0.4574558441227157,1.5051814873857307e6,0.21233343438997568,4.450918734737546,3.394405377044535,0.28912132317597294,0.23243167672515497,8.88821904877515e6,0.11120110285174399,4.798811780154152,3.6178420104762603,0.5718198051533947,0.022548683298050515,5.231845853987357e7,0.10898530260724416,4.698227998135754,3.4686470214354186,0.009395284707521049,0.9728868986855663,0.0,0.21387627564304207,6.389336012665805,4.484763144463303,0.03419693112629893,0.6768139168072895,0.0,0.20630693606237088,6.215966650966487,4.549225963270055,0.07488188238188608,0.37581138830084193,196551.73896677358,0.03670710678118655,6.024279838040949,4.9976122307299455,0.14379452954966895,0.20162882692912618,251972.5736502222,0.024427740239554723,6.360186953215491,4.549225963270055,0.3208144134645631,0.07574165738677395,347558.96179770876,0.020096056723534025,5.998579280052453,4.700763480595073,0.6048864807873786,0.0077477225575051665,457061.12527998,0.020379814825398038,5.6581728684441694,4.946514042673007,0.0096373774391991,0.9984250984251477,0.0,0.18790569415042097,6.564614460469395,5.873021529427319,0.036447943105077256,0.6720960897637539,0.0,0.18935414346693488,7.044625250903228,5.387967092082539,0.07511811761811393,0.3670710678118655,197452.54555726363,0.03939116499156264,6.772731807835801,5.411051518281698,0.15344172374443318,0.2093933982822018,257892.9549140165,0.02560425724451571,7.236571948853032,5.529400777718352,0.3181414587743686,0.12057634034120414,348907.62687142944,0.020542262026288678,7.044625250903228,5.203224022572681,0.5583711730708739,0.012496437636026488,463288.36206061573,0.020379814825398038,6.989371915317976,5.082211602648832 +23,18,22,14,46875,203125,140625,0.16688820488025863,1.5356267514014013,2.4322356371699785,32,66,40,39,12,15,8,12,8,18,0.1795774647887324,0.10915492957746478,0.13028169014084506,0.16549295774647887,0.05985915492957746,0.2147887323943662,0.0880281690140845,0.0528169014084507,0.07692307692307693,0.2512820512820513,0.23076923076923078,0.3230769230769231,0.005128205128205128,0.06666666666666667,0.046153846153846156,0.94140625,3.34375,12.109375,0.37109375,0.009984250984251477,1.0823223304703364,0.0,0.19968501968502955,3.3182385785066444,2.711661968023029,0.03335615530061469,1.8790569415042095,0.0,0.2045889649925776,3.113370319768882,2.530589197695275,0.08117417478527522,1.1274341649025257,0.0,0.003908220700148449,3.502612005104014,2.5775772512054456,0.1409292706128157,0.8967118523175137,440711.4650826296,0.004032576538582524,3.188357306895986,2.6294389976348556,0.2840312152004023,0.4364165807559225,601758.2217448878,0.0019541103500742246,3.070076562565329,2.410317750349361,0.6009449409449115,0.043641658075592255,998067.8845223241,0.0020630693606237087,3.268723096152053,2.5505943563651448,0.010604715292478953,1.0015749015748523,0.0,0.18353553390593275,3.6155703268410346,3.143533424904846,0.03540640783230886,2.0304417504218684,0.0,0.2093933982822018,3.7821658863103425,3.143533424904846,0.07100780380010058,1.1564852927038918,0.0,0.17435875721063612,3.7080498337830785,2.8998594788296135,0.14295495128834868,0.8842264958354972,469035.93118683016,0.19515148924974243,4.060453714523384,2.749832754877505,0.3081339303943301,0.4705278064146926,623173.7657445978,0.09720187480472818,3.5519166220408223,3.143533424904846,0.6091325251265606,0.04280702354216493,874817.0838380235,0.09720187480472818,3.769630630040058,2.8377919536878635,0.010315346803118543,1.046966991411009,0.0,0.1917260393995586,4.159135723334216,3.2906474297864454,0.03419693112629893,2.0304417504218684,0.0,0.2003149803149705,4.143748552516062,3.0999128134216334,0.06979639663385924,1.2832576538582523,0.0,0.1791156061163796,3.88992114550456,3.245597363392304,0.15798439239979886,0.6248218818013244,209846.35491252516,0.17461799053628066,3.798434075898996,3.219931338578367,0.3024432403936893,0.29855914914698967,218335.85577502596,0.08728331615118448,4.192288132331471,2.899789926599017,0.611394444761941,0.029755675960631077,250245.02566230568,0.08632881476824864,4.159135723334216,3.074246788607696,0.009306186217847899,1.046966991411009,0.0,0.19541103500742246,4.798811780154152,3.2640331625962045,0.03459359216769115,1.5248528137423858,0.0,0.20725245121601807,4.38450115117404,3.7601159403350337,0.07463978728674742,0.9297267069006199,0.0,0.21397018211763638,4.524011777262454,3.715157539784924,0.14593303480283495,0.4669857113690718,1.3903633077081374e6,0.21780473012589963,4.176118731845849,3.5400944999792574,0.3124109409006622,0.22722497216032184,8.379242507872562e6,0.12020642170529047,4.4022449643656305,3.457432794389492,0.5506066017177983,0.025665153077165048,4.8900369882431254e7,0.12404823987296441,4.60913435613093,3.4212392931220563,0.00995197163823299,0.9530330085889911,0.0,0.20827396060044145,5.910675994005833,5.104605492748664,0.03566467594444657,0.6876897868745695,0.0,0.20304417504218686,6.307224035959051,4.923947342218395,0.07587087392637612,0.3980788655293196,200685.49413773723,0.03953553390593274,6.282844136769962,4.622890851781605,0.15543933841201354,0.1990394327646598,233946.1050131704,0.026596565449035083,6.259600077814652,4.923947342218395,0.2943027776190295,0.07747722557505167,342719.7288542064,0.019837117307087388,6.259600077814652,4.902841292593214,0.6137668949777327,0.008375735931288071,463288.36206061573,0.020096056723534025,6.094157369020849,5.0620750495366975,0.010413698030022072,0.9847791247890659,0.0,0.21387627564304207,6.817529157808182,5.153880185076074,0.034831900733815466,0.6819632166419253,0.0,0.21646446609406728,7.1422418311394225,5.832913078678983,0.07899219619989943,0.3953553390593274,202065.45371350241,0.04329289321881346,7.347461686500529,5.493019558428221,0.1409292706128157,0.21646446609406728,246893.54105946544,0.02518009831189179,6.927924317202108,5.798231740853505,0.27918558653543696,0.11902270384252431,334604.17810397217,0.018935414346693488,7.742401343530607,5.511524079580415,0.5951135192126216,0.012832576538582524,470733.043537059,0.020725245121601808,7.2893583197390805,5.832913078678983 +48,43,47,5,546875,703125,640625,0.06123724356957945,4.6849676028184835,0.06274606680622785,11,26,15,18,4,7,0,24,20,6,0.06690140845070422,0.22183098591549297,0.017605633802816902,0.0528169014084507,0.17253521126760563,0.10211267605633803,0.2007042253521127,0.16549295774647887,0.20704845814977973,0.07488986784140969,0.05726872246696035,0.13656387665198239,0.14537444933920704,0.19823788546255505,0.18061674008810572,0.81640625,4.34375,19.609375,0.49609375,0.010823223304703365,0.9984250984251477,0.0,0.21646446609406728,3.547791229223689,2.5505943563651448,0.0355327306323827,2.0162882692912616,0.0,0.19274754878398198,3.3615524707344355,2.6839365249930784,0.07488188238188608,1.2097729615747572,0.0,0.004145049024320361,3.294563451530929,2.7697156036506394,0.15122162019684465,0.8435945733580579,408173.90384816495,0.0037581138830084194,3.3964058604690712,2.468371385976971,0.3034834957055045,0.466607472869074,649727.3466785833,0.0020725245121601807,3.350753465053379,2.602456102794555,0.5506066017177983,0.04666074728690741,938784.5327151483,0.0019457737973711327,3.4667994773078847,2.711661968023029,0.009918558653543694,0.9176776695296637,0.0,0.2003149803149705,3.8376923374278205,2.8998594788296135,0.0331369751067136,1.9060660171779822,0.0,0.1969558249578132,3.5247465210368913,2.8998594788296135,0.07587087392637612,1.2275337899554655,0.0,0.19029923129922197,3.9513078799591783,3.143533424904846,0.15228313128164014,0.8189443871706151,436498.3699523655,0.1840084107407477,3.745703830957665,2.9381589501242287,0.29053959590644374,0.4378867520822516,661458.3508250016,0.10392620986629374,3.7951746682169216,2.8998594788296135,0.5718198051533947,0.0453875259337216,954795.854507545,0.10392620986629374,3.4913202224965527,3.00975499372675,0.009728868986855665,0.9847791247890659,0.0,0.20379814825398038,3.91276675667495,3.0999128134216334,0.03626917896280316,1.9060660171779822,0.0,0.18353553390593275,3.88992114550456,3.2906474297864454,0.07536021271325259,1.1942365965879587,0.0,0.16873359250157688,4.143748552516062,3.0602749435229692,0.14825825214724778,0.588605555238059,223059.41687917977,0.16392167747730646,4.101226048081557,3.0291967222135545,0.2818585412256314,0.3208144134645631,235740.4870118181,0.09332149457381478,3.9529100165379827,3.1648986422539034,0.5751781181986758,0.03181414587743686,268898.84754712967,0.09164054266419422,3.91276675667495,3.259569208477031,0.010048028361767013,0.9847791247890659,0.0,0.20725245121601807,4.465912695526794,3.5024121041547702,0.036863024893286404,1.6243534003374946,0.0,0.19541103500742246,4.65019087026358,3.4686470214354186,0.08020360336614077,0.9860285772618564,0.0,0.22862423343148003,4.216101369522883,3.457432794389492,0.15473020204677815,0.49513664654969003,1.4741774938811022e6,0.23118553044161266,4.509017816473206,3.3303948215237402,0.2943027776190295,0.24278679656440358,7.808939841969905e6,0.11333840030430503,4.67311080961997,3.715157539784924,0.6009449409449115,0.023884731931759173,4.576601916742778e7,0.11544287100350269,4.345954473741487,3.6372873058051005,0.010693813782152103,1.0152208752109342,0.0,0.19620185174601967,6.282844136769962,4.750493147074372,0.03355205689492276,0.6485912657903775,0.0,0.19060660171779822,5.942167861334194,4.643996901406786,0.07100780380010058,0.42775255128608414,188330.50619882336,0.042129171306613034,5.910675994005833,4.902841292593214,0.14655827625556683,0.21387627564304207,255334.25829406874,0.025057181341917655,5.876165118732509,4.643996901406786,0.3124109409006622,0.08216904810515471,317416.8605438435,0.021209430584957906,5.876165118732509,4.622890851781605,0.5782426463519459,0.007878232998312527,434909.3998359294,0.018612372435695797,6.493950489698852,4.734543729154006,0.009810092587300983,1.046966991411009,0.0,0.1990394327646598,7.2623905530967745,5.564721472419586,0.03742834823753237,0.6424918292799399,0.0,0.19968501968502955,7.742401343530607,5.4738160196441585,0.07412912607362389,0.42129171306613034,188991.21751375103,0.03993700393700591,6.927924317202108,5.873021529427319,0.15122162019684465,0.19968501968502955,261844.78214846912,0.026704940634175278,7.347461686500529,5.4538277003236715,0.30144085085301037,0.12725658350974745,355192.04730739025,0.020232233047033633,7.1422418311394225,5.922365366923927,0.6362829175487372,0.011942365965879586,443969.5723047655,0.019541103500742247,6.857568689319529,5.4738160196441585 +36,6,9,9,796875,953125,390625,0.12549900398011132,2.80364741710137,1.144345399598956,21,15,66,28,0,11,4,6,14,24,0.12323943661971831,0.16549295774647887,0.18661971830985916,0.22183098591549297,0.0035211267605633804,0.045774647887323945,0.03169014084507042,0.22183098591549297,0.11272727272727273,0.0036363636363636364,0.22181818181818183,0.1709090909090909,0.06181818181818182,0.22181818181818183,0.20727272727272728,0.75390625,3.84375,15.859375,0.30859375,0.009684653196881459,1.0271131013144337,0.0,0.20542262026288677,3.2070826148343734,2.620091050238382,0.036863024893286404,1.9620185174601965,0.0,0.21387627564304207,3.268723096152053,2.602456102794555,0.07263489897661093,1.177211110476118,0.0,0.0037224744871391592,3.167406907593266,2.496096829006922,0.14715138880951475,0.872833161511845,454509.7213545039,0.003924037034920393,3.523562404406734,2.559942303761619,0.2954337374367198,0.44835592615875686,670069.6911525015,0.0020096056723534024,3.450983445115174,2.6839365249930784,0.5837321392113398,0.04483559261587569,964363.8339161482,0.0018353553390593276,3.113370319768882,2.620091050238382,0.00958630196997793,0.9728868986855663,0.0,0.20630693606237088,4.011904279503447,2.9831818805184414,0.036643844699385315,2.1064585653306516,0.0,0.18935414346693488,3.6803663533962654,2.8128432885403565,0.07385843435917995,1.1942365965879587,0.0,0.1959915892592523,3.8087150729122827,2.9831818805184414,0.14825825214724778,0.9119107853504795,422700.1136804912,0.2056412427893639,3.6333063580106795,2.8602256534591692,0.3246966991411009,0.4240446073247604,643516.110218516,0.09986109264445038,3.6945094290877174,2.9831818805184414,0.5930330085889911,0.040377817459305215,927447.7388651486,0.09986109264445038,3.887654175158966,2.918383195131922,0.010015749015748525,1.0116116523516816,0.0,0.21209430584957908,4.048381398296987,3.1856569068566456,0.032571651762467645,1.976776695296637,0.0,0.20630693606237088,4.034228299374266,2.9688367557600963,0.07327913812778342,1.1564852927038918,0.0,0.1734007911590485,4.298884530526613,3.154945509746097,0.15228313128164014,0.6048864807873786,232139.6567707897,0.18115543661843603,4.229631529953251,3.351007396239904,0.3124109409006622,0.28912132317597294,229230.5062325289,0.08967118523175135,4.0751945290085905,3.074246788607696,0.6362829175487372,0.030569722238097053,242334.46921457583,0.08871668384881551,4.048381398296987,3.1648986422539034,0.010362622560800904,1.0116116523516816,0.0,0.18612372435695795,4.324739641736421,3.6178420104762603,0.03335615530061469,1.5814213562373096,0.0,0.18612372435695795,4.176118731845849,3.3645632023859147,0.07228033079399324,1.039029437251523,0.0,0.2225600822023289,4.4022449643656305,3.5538314549554655,0.15023623523622787,0.4404852813742386,1.3114631944792243e6,0.22491455902406554,4.38450115117404,3.4458247278452308,0.2818585412256314,0.25127207793864215,8.655399381754253e6,0.11655712899649735,4.524011777262454,3.5538314549554655,0.5837321392113398,0.023129705854077837,4.76033103639469e7,0.11866159969569501,4.8568838537785854,3.2891935848219225,0.010229448249628879,0.9883883476483185,0.0,0.20162882692912618,6.538604385593562,4.600324151326993,0.03471495528740293,0.6117851130197758,0.0,0.1976776695296637,6.1361388405404105,4.780936762253296,0.07852252435582567,0.38549509756796396,181593.7929244138,0.04060883500843737,6.538604385593562,5.1663780813766484,0.13959279326771848,0.19274754878398198,262971.9875047733,0.02780391583359547,6.493950489698852,4.780936762253296,0.2818585412256314,0.08658578643762692,333255.51303025143,0.01917260393995586,6.493950489698852,5.1663780813766484,0.6416288269291262,0.007574165738677394,480633.21111173375,0.020725245121601808,6.259600077814652,4.575943689310137,0.01008144134645631,0.9467707173346743,0.0,0.19274754878398198,7.07044385514697,5.738947602306292,0.03580306887370108,0.7129209188101402,0.0,0.19369306393762917,6.927924317202108,5.278013811146495,0.07614156564082007,0.4060883500843737,182660.298138511,0.038738612787525835,7.1422418311394225,5.643295832759966,0.1562054704503311,0.20542262026288677,275919.42355106835,0.02595905255905384,7.1422418311394225,5.602429532355842,0.3108786768240271,0.12227888895238821,343859.3841816632,0.02093933982822018,6.927924317202108,5.665194033718302,0.611394444761941,0.011564852927038918,418775.2584654712,0.020096056723534025,7.586091464320844,5.622417851676328 +11,31,34,1,296875,453125,890625,0.21503677266016785,0.5108263237912949,4.127016653792583,49,40,26,8,8,3,12,18,2,12,0.013636363636363636,0.06818181818181818,0.09545454545454546,0.1409090909090909,0.15,0.20454545454545456,0.18636363636363637,0.1409090909090909,0.25925925925925924,0.13580246913580246,0.11934156378600823,0.06172839506172839,0.20164609053497942,0.11934156378600823,0.102880658436214,0.87890625,4.84375,23.359375,0.43359375,0.010271131013144339,0.9684653196881458,0.0,0.19369306393762917,3.4090178895245224,2.4521519471920596,0.03459359216769115,2.0827396060044143,0.0,0.1990394327646598,3.4667994773078847,2.410317750349361,0.07703348259858253,1.2496437636026487,0.0,0.004019211344706805,3.384331260773357,2.6494441563047255,0.1562054704503311,0.933214945738148,428541.20445719676,0.004165479212008829,3.3066380512266433,2.7278814068079407,0.3140900974233027,0.42179728667902894,631785.1060720977,0.0018612372435695796,3.254778191575989,2.530589197695275,0.6189208081871126,0.0421797286679029,902551.3265746741,0.002003149803149705,3.3615524707344355,2.4521519471920596,0.010189907412699019,1.0315346803118544,0.0,0.19457737973711328,3.733593871959942,2.8128432885403565,0.03446726936761731,1.976776695296637,0.0,0.20232233047033632,3.906815710764537,2.9831818805184414,0.07852252435582567,1.2832576538582523,0.0,0.1848485107502576,3.5754103106298474,2.8128432885403565,0.15798439239979886,0.8598085540326589,448668.63057779835,0.18970076870077807,3.853330094053834,3.0408461875145374,0.2995275295275443,0.45009572298367073,691485.2351522115,0.09394575930578371,3.927814191370153,2.8128432885403565,0.6319375695991954,0.04406929566929352,983356.3470828623,0.09394575930578371,3.6655321645721797,2.7029200646244504,0.009176776695296637,0.9467707173346743,0.0,0.19837117307087385,4.328444648453908,2.9688367557600963,0.03516809926618455,2.1064585653306516,0.0,0.19457737973711328,4.298884530526613,3.1856569068566456,0.07771966920600677,1.2275337899554655,0.0,0.161598896969362,4.034228299374266,3.4200542254009836,0.14295495128834868,0.5637170824512628,217119.5301327462,0.17000279579551075,3.987970564974013,3.134187245143355,0.2943027776190295,0.30688344748886637,243121.29715896424,0.08435945733580577,4.417631374365148,3.259569208477031,0.5951135192126216,0.028758905909933786,257222.25030316916,0.08267850542618521,4.328444648453908,2.899789926599017,0.009770551750371123,0.9467707173346743,0.0,0.20096056723534025,4.5904293608259605,3.4081423320207436,0.0355327306323827,1.6851668522645211,0.0,0.20096056723534025,4.509017816473206,3.5683125405913483,0.07672086187221659,0.9584880944881418,0.0,0.23661454005888802,4.67311080961997,3.3481390443464507,0.13765165042944957,0.48075595275592914,1.4313616464077109e6,0.24168019147663752,4.65019087026358,3.684203669403796,0.3024432403936893,0.2363469899493758,8.153709572745979e6,0.10795176012703561,4.216101369522883,3.3481390443464507,0.6189208081871126,0.024550675799109307,5.060941421115241e7,0.11179357829470955,4.480397939901231,3.514458671275167,0.0096373774391991,1.0532292826653258,0.0,0.18790569415042097,6.115537223033512,4.882944362655171,0.03711650352367634,0.6677166010499016,0.0,0.21064585653306517,6.593540304122162,4.380460112623352,0.07385843435917995,0.4091779299851552,193443.25718428858,0.038121320343559646,6.115537223033512,4.7659014317467046,0.15072042542650518,0.2045889649925776,248020.7464157696,0.025875126259405773,6.094157369020849,4.380460112623352,0.3024432403936893,0.07987400787401182,353449.95718459703,0.020379814825398038,6.094157369020849,4.7659014317467046,0.5971182982939793,0.008092893218813454,451043.54120638757,0.019541103500742247,5.876165118732509,4.864069864043935,0.009395284707521049,1.0116116523516816,0.0,0.2045889649925776,7.5342839961642,5.411051518281698,0.03373082103719685,0.6634647758821993,0.0,0.20542262026288677,7.347461686500529,5.622417851676328,0.07147747564417434,0.38121320343559645,194161.5788691571,0.041084524052577356,7.742401343530607,5.309011727754844,0.14715138880951475,0.19369306393762917,254531.27027016997,0.028140380592228745,7.742401343530607,5.243332473321018,0.29311655251113367,0.11503562363973514,320455.8458176402,0.01969558249578132,7.347461686500529,5.337297949693708,0.5751781181986758,0.012275337899554654,457061.12527998,0.018612372435695797,7.095248770457529,5.278013811146495 +8,22,12,6,984375,265625,203125,0.15732132722552272,1.8234301897878362,2.083920216900384,44,29,13,26,7,14,3,8,9,22,0.16176470588235295,0.17352941176470588,0.14411764705882352,0.1264705882352941,0.15588235294117647,0.0029411764705882353,0.10882352941176471,0.1264705882352941,0.25748502994011974,0.029940119760479042,0.24550898203592814,0.017964071856287425,0.3652694610778443,0.05389221556886228,0.029940119760479042,0.76953125,4.46875,11.171875,0.32421875,0.009306186217847899,1.0048028361767012,0.0,0.20725245121601807,3.384331260773357,2.410317750349361,0.03742834823753237,1.976776695296637,0.0,0.19457737973711328,3.3402158469466214,2.4521519471920596,0.07536021271325259,1.2182650502531212,0.0,0.004187867965644036,3.4667994773078847,2.7278814068079407,0.14825825214724778,0.9038595291567019,415258.2923845568,0.003953553390593274,3.4838866971656266,2.433394407764258,0.3056972223809705,0.41657911562725675,654130.0751623376,0.002093933982822018,3.5775989922311187,2.8032328858076765,0.6048864807873786,0.047622182540694814,887153.6225703201,0.0019620185174601965,3.384331260773357,2.4828681973000792,0.01046966991411009,0.9951971638232989,0.0,0.18790569415042097,3.7575206710423354,2.918383195131922,0.03419693112629893,1.9620185174601965,0.0,0.20379814825398038,3.7575206710423354,2.7029200646244504,0.07536021271325259,1.1860660171779822,0.0,0.18639175915871867,3.733593871959942,3.00975499372675,0.1562054704503311,0.9038595291567019,445280.86823393346,0.19091253887357323,3.769630630040058,3.080069221986806,0.27918558653543696,0.41933452377915614,593390.320829908,0.09490960132943829,3.4913202224965527,2.7029200646244504,0.6137668949777327,0.04705278064146927,918725.8998606356,0.09784565964566447,3.6333063580106795,3.0408461875145374,0.010413698030022072,0.9770551750371123,0.0,0.1969558249578132,4.0751945290085905,3.123230159395084,0.03540640783230886,1.9620185174601965,0.0,0.20162882692912618,4.114863967703013,2.899789926599017,0.07100780380010058,1.201889881889823,0.0,0.15784055915910214,3.834800717546093,3.134187245143355,0.14715138880951475,0.5506066017177983,229183.4823786999,0.16576289195422447,4.0751945290085905,3.4200542254009836,0.28590990257669735,0.3094604040935563,240974.78032745415,0.09524436508138959,4.048381398296987,3.0999128134216334,0.6162678607886602,0.02840312152004023,248532.93037066312,0.08561404708432982,4.129017066625734,2.9688367557600963,0.010271131013144339,0.9918558653543692,0.0,0.20542262026288677,4.435358369507079,3.3109495261949,0.03580306887370108,1.6130306154330094,0.0,0.19968501968502955,4.539572142492922,3.60009778765355,0.07412912607362389,0.9202849891178811,0.0,0.2302919075269978,4.365796155869071,3.583673629614086,0.16040720673228154,0.49985750544105945,1.4019710612848066e6,0.21987243910293797,4.480397939901231,3.4686470214354186,0.2918660696056699,0.2300712472794703,8.43806120583862e6,0.11914511975247433,4.726329812562453,3.659043247178078,0.6248218818013244,0.023721320343559643,4.794539344533575e7,0.1128548802475257,4.7588291424771185,3.684203669403796,0.009883883476483186,0.9395284707521048,0.0,0.18353553390593275,6.67333100555583,4.549225963270055,0.036643844699385315,0.6819632166419253,0.0,0.18790569415042097,5.998579280052453,5.104605492748664,0.07327913812778342,0.3953553390593274,194915.00193937478,0.037581138830084196,5.971316920784508,4.734543729154006,0.15406696519716506,0.2003149803149705,239516.5901705864,0.025295059365824723,5.942167861334194,5.104605492748664,0.2918660696056699,0.0803842268941361,330325.67168217537,0.019968501968502955,6.4208278799941665,4.7963450469256275,0.5837321392113398,0.008290098048640723,439794.42477862805,0.018935414346693488,6.307224035959051,4.902841292593214,0.010152208752109343,1.0048028361767012,0.0,0.2003149803149705,7.119150775457958,5.3634798447310414,0.03211871843353824,0.6768139168072895,0.0,0.20725245121601807,7.2893583197390805,5.337297949693708,0.08020360336614077,0.40325765385825235,199492.25821514055,0.037224744871391595,7.2893583197390805,5.798231740853505,0.15023623523622787,0.19837117307087385,249083.376628361,0.024196084166404532,6.657187664685844,5.643295832759966,0.3034834957055045,0.12563603896932107,341618.73985250917,0.020725245121601808,7.586091464320844,5.082211602648832,0.5810791918128875,0.011674642784226795,428746.7062117102,0.020232233047033633,7.236571948853032,5.922365366923927 +33,47,37,15,484375,765625,703125,0.027386127875258306,5.484455543377233,6.267949192431123,18,9,36,5,15,6,11,20,21,10,0.1554054054054054,0.18243243243243243,0.11486486486486487,0.07432432432432433,0.14189189189189189,0.22297297297297297,0.033783783783783786,0.07432432432432433,0.05527638190954774,0.18592964824120603,0.04522613065326633,0.17587939698492464,0.1457286432160804,0.20603015075376885,0.18592964824120603,0.89453125,3.46875,18.671875,0.44921875,0.010048028361767013,0.9306186217847897,0.0,0.19541103500742246,3.167406907593266,2.602456102794555,0.034831900733815466,2.1064585653306516,0.0,0.20630693606237088,3.6208927494346717,2.620091050238382,0.06979639663385924,1.1436396103067894,0.0,0.0039391164991562635,3.268723096152053,2.559942303761619,0.15798439239979886,0.8522494813255684,443697.8453394487,0.004212917130661303,3.281951422475478,2.6111101215519175,0.2875890590993379,0.44510912703474,612202.5176874202,0.0019695582495781318,3.329416841265565,2.5859376556564992,0.5637170824512628,0.04393070433070651,957873.0268404585,0.0020827396060044143,3.167406907593266,2.639203013597638,0.00984779124789066,1.0693813782152104,0.0,0.20162882692912618,3.442770787476616,2.7029200646244504,0.03626917896280316,2.0827396060044143,0.0,0.1917260393995586,3.442770787476616,2.918383195131922,0.06979639663385924,1.263875139198391,0.0,0.19786026257041936,4.011904279503447,2.8377919536878635,0.14715138880951475,0.8522494813255684,418004.96412362694,0.17681753813911005,3.4913202224965527,2.8807795770733517,0.30144085085301037,0.4466971850928111,647640.094027017,0.1006570839288145,3.769630630040058,2.918383195131922,0.5782426463519459,0.043788675208225165,975167.6851414371,0.10606758838609297,3.853330094053834,2.8602256534591692,0.009810092587300983,1.0362622560800903,0.0,0.2093933982822018,4.417631374365148,3.328122461383807,0.0331369751067136,2.0827396060044143,0.0,0.18790569415042097,3.834800717546093,3.1648986422539034,0.07587087392637612,1.1012132034355966,0.0,0.1722708830708746,4.114863967703013,3.351007396239904,0.1562054704503311,0.6009449409449115,215570.41534693906,0.1759465098936167,4.417631374365148,3.154945509746097,0.3045662625632803,0.2918660696056699,227215.20869313148,0.08786140866141298,4.328444648453908,3.2906474297864454,0.5810791918128875,0.030348349570550447,264837.35931915627,0.09077505186744317,3.8643608354733883,3.1856569068566456,0.009684653196881459,1.0604715292478952,0.0,0.19369306393762917,4.726329812562453,3.5269975388779446,0.03373082103719685,1.5032455532033675,0.0,0.21646446609406728,4.248600699437548,3.394405377044535,0.07899219619989943,0.9782311116191057,0.0,0.21665042452150118,4.6289760382585134,3.3799242914086522,0.14927957457349483,0.47088444419044717,1.4882329752879846e6,0.23312683775047907,4.8568838537785854,3.7601159403350337,0.3094604040935563,0.24455777790477642,7.9211835119008785e6,0.11234197708382493,4.435358369507079,3.4337781607248337,0.588605555238059,0.02527750278396782,5.126221105644365e7,0.11965802291617511,4.450918734737546,3.4458247278452308,0.010532292826653258,1.0081441346456308,0.0,0.2003149803149705,6.15604148456427,4.846074713404927,0.03446726936761731,0.6424918292799399,0.0,0.20162882692912618,6.360186953215491,4.750493147074372,0.07771966920600677,0.42129171306613034,183633.50558229073,0.04032576538582524,6.3329245939475465,5.0620750495366975,0.14526979795322187,0.18353553390593275,257008.9710400158,0.02681990168810821,6.307224035959051,4.750493147074372,0.3094604040935563,0.07444948974278319,350329.3491134037,0.02164644660940673,6.048659737230037,4.442232701251335,0.6189208081871126,0.007816441400296898,466813.1280663163,0.020232233047033633,5.942167861334194,4.622890851781605,0.009530330085889912,0.9306186217847897,0.0,0.18353553390593275,7.649828139314158,5.688278459917461,0.03505512155511984,0.6353553390593274,0.0,0.19541103500742246,6.857568689319529,5.665194033718302,0.07463978728674742,0.37581138830084193,187642.79395526578,0.04019211344706805,6.857568689319529,5.4538277003236715,0.13765165042944957,0.21209430584957908,264177.20146372286,0.02612487374059423,7.187865028542044,5.309011727754844,0.2840312152004023,0.1181734949746879,313002.94023200625,0.019541103500742247,7.095248770457529,5.546844774281648,0.6162678607886602,0.012378416163742252,460058.94506843056,0.018935414346693488,6.772731807835801,5.511524079580415 +45,9,25,2,234375,515625,453125,0.11291589790636215,3.1859634244019106,3.641101056459326,9,18,23,36,11,10,15,2,15,16,0.1266233766233766,0.03571428571428571,0.10714285714285714,0.19155844155844157,0.12012987012987013,0.1590909090909091,0.17207792207792208,0.08766233766233766,0.17201166180758018,0.15451895043731778,0.1661807580174927,0.05539358600583091,0.13119533527696792,0.1661807580174927,0.15451895043731778,0.95703125,4.96875,14.921875,0.26171875,0.009770551750371123,1.0362622560800903,0.0,0.18612372435695795,3.502612005104014,2.530589197695275,0.03373082103719685,1.9060660171779822,0.0,0.18353553390593275,3.2399858668848265,2.711661968023029,0.07327913812778342,1.263875139198391,0.0,0.004046446609406727,3.113370319768882,2.6294389976348556,0.14295495128834868,0.8786140866141301,431928.96680106164,0.004060883500843737,3.1431780827763114,2.6971651566999215,0.3181414587743686,0.46066547622084403,636779.5798111557,0.0018935414346693486,3.2241698346921157,2.5083413290884344,0.588605555238059,0.042612474066278425,931421.3338250862,0.002016288269291262,3.502612005104014,2.746638946235742,0.009467707173346744,1.0229448249628879,0.0,0.20827396060044145,3.6498944079461664,3.00975499372675,0.032571651762467645,1.8790569415042095,0.0,0.19837117307087385,3.6498944079461664,3.00975499372675,0.07771966920600677,1.1436396103067894,0.0,0.19154738558266987,3.8376923374278205,2.7029200646244504,0.15122162019684465,0.9524436508138961,433511.9896955464,0.19688982865521715,3.6655321645721797,2.959591024476506,0.29311655251113367,0.4634208843727434,629089.8080130098,0.10606758838609297,3.6655321645721797,2.8377919536878635,0.5971182982939793,0.04500957229836708,948715.992126065,0.1006570839288145,3.745703830957665,2.749832754877505,0.01008144134645631,0.9306186217847897,0.0,0.20232233047033632,4.192288132331471,3.0115100429970507,0.036643844699385315,2.0162882692912616,0.0,0.20827396060044145,4.004109642665785,3.074246788607696,0.07385843435917995,1.1674642784226796,0.0,0.1673365465739174,4.250478609325051,3.219931338578367,0.1409292706128157,0.5837321392113398,207250.2875382044,0.1711739121776074,4.192288132331471,3.245597363392304,0.29651650429449555,0.30047247047245573,253927.62052671367,0.08522494813255682,4.159135723334216,2.9688367557600963,0.6493933982822018,0.03140900974233027,239642.73448604962,0.08813859133858701,4.019496813483939,3.2906474297864454,0.009984250984251477,0.9586301969977928,0.0,0.21646446609406728,4.555768404674979,3.659043247178078,0.03742834823753237,1.6661916848035314,0.0,0.20542262026288677,4.698227998135754,3.233079292215077,0.07147747564417434,1.0180526680779796,0.0,0.23966656561002433,4.49453257209877,3.4795898105645824,0.14456066158798647,0.4839091846299028,1.3426904134958975e6,0.207395153313704,4.345954473741487,3.5683125405913483,0.30047247047245573,0.2545131670194949,8.753970064952629e6,0.12554939033455903,4.276702513864247,3.3109495261949,0.6048864807873786,0.02436530100506242,4.9257068203034304e7,0.106450609665441,4.57268554763437,3.5400944999792574,0.010152208752109343,0.9810092587300983,0.0,0.19457737973711328,5.971316920784508,5.027504771394277,0.0331369751067136,0.6634647758821993,0.0,0.20827396060044145,6.1754623894357294,4.882944362655171,0.06979639663385924,0.38121320343559645,189627.87863335255,0.04165479212008829,6.15604148456427,4.864069864043935,0.14976376476377215,0.20630693606237088,265479.28251927876,0.023859619407771256,6.1361388405404105,4.882944362655171,0.27530330085889915,0.07816441400296899,369160.1996696747,0.019369306393762917,6.215966650966487,4.946514042673007,0.5506066017177983,0.0074449489742783185,454150.6929310043,0.01969558249578132,6.1361388405404105,4.7659014317467046,0.010532292826653258,1.0362622560800903,0.0,0.19457737973711328,6.894105566586728,5.994033949351168,0.0361037138109149,0.7021528551102172,0.0,0.18612372435695795,7.586091464320844,5.922365366923927,0.07672086187221659,0.39240370349203935,180400.55700181713,0.041450490243203617,7.095248770457529,5.243332473321018,0.14593303480283495,0.1917260393995586,256157.16458503995,0.02540343455096492,6.989371915317976,5.873021529427319,0.2954337374367198,0.11361248608016092,331833.79078827717,0.018612372435695797,6.857568689319529,5.712765707268959,0.6493933982822018,0.012018898818898229,475221.2273334492,0.02093933982822018,7.4894866461918195,5.665194033718302 +20,34,50,10,734375,15625,953125,0.20078432583507785,0.7512501250250061,0.8585715714571496,29,44,56,16,3,2,7,14,3,4,0.03888888888888889,0.2388888888888889,0.005555555555555556,0.15,0.027777777777777776,0.09444444444444444,0.11666666666666667,0.3277777777777778,0.14754098360655737,0.11475409836065574,0.1366120218579235,0.2786885245901639,0.07103825136612021,0.1366120218579235,0.11475409836065574,0.83203125,3.96875,22.421875,0.38671875,0.010362622560800904,0.9770551750371123,0.0,0.20096056723534025,3.294563451530929,2.6839365249930784,0.03580306887370108,2.0304417504218684,0.0,0.2003149803149705,3.4361911204240116,2.5505943563651448,0.07771966920600677,1.1860660171779822,0.0,0.003787082869338697,3.3615524707344355,2.468371385976971,0.15228313128164014,0.9524436508138961,459204.87091136817,0.0038121320343559644,3.372730733493356,2.5408303404023624,0.2975567596063108,0.433302814907189,676991.6056147644,0.0020232233047033634,3.422246215847947,2.6602400615695743,0.6248218818013244,0.0451929764578351,987863.1191058877,0.0018790569415042097,3.294563451530929,2.568923232448083,0.010116116523516816,0.9637377439199099,0.0,0.19620185174601967,3.869918143989321,2.8377919536878635,0.03516809926618455,2.0162882692912616,0.0,0.21209430584957908,3.869918143989321,2.8377919536878635,0.07327913812778342,1.2182650502531212,0.0,0.17851040944289992,3.6155703268410346,2.918383195131922,0.1409292706128157,0.8786140866141301,461951.5426504383,0.18564048325705132,3.887654175158966,2.7842778269909036,0.3108786768240271,0.4348908729652602,667012.7379378732,0.09784565964566447,3.887654175158966,3.00975499372675,0.6416288269291262,0.04240446073247604,1.0194353963962032e6,0.09490960132943829,4.060453714523384,2.9381589501242287,0.009395284707521049,1.0048028361767012,0.0,0.18935414346693488,3.9529100165379827,3.208018855595072,0.03446726936761731,1.8790569415042095,0.0,0.19620185174601967,4.250478609325051,3.259569208477031,0.07852252435582567,1.2378416163742252,0.0,0.17742396501363894,4.004109642665785,3.0291967222135545,0.15122162019684465,0.6189208081871126,221444.11734353675,0.18393359705301618,3.9529100165379827,3.0602749435229692,0.3159687847995977,0.27530330085889915,234244.18251360857,0.09038595291567017,3.91276675667495,3.1856569068566456,0.5990550590550886,0.029543373743671976,255280.04219189766,0.0807556349186104,4.273324220495441,3.0999128134216334,0.010823223304703365,1.0189907412699017,0.0,0.19968501968502955,4.276702513864247,3.4337781607248337,0.034831900733815466,1.5696148139681572,0.0,0.19369306393762917,4.419162107325022,3.4908040376105087,0.07614156564082007,0.9521816307401945,0.0,0.22415942557008744,4.118046658221416,3.188120891664967,0.15344172374443318,0.4509736659610103,1.440749809239108e6,0.22635592775591665,4.60913435613093,3.3645632023859147,0.27530330085889915,0.23804540768504862,8.215041254802193e6,0.11581731141731715,4.555768404674979,3.5269975388779446,0.5637170824512628,0.022872792206135785,4.633929542496347e7,0.1161826885826829,4.3018197023800315,3.3303948215237402,0.009530330085889912,1.0413698030022072,0.0,0.20630693606237088,6.3329245939475465,4.7179918139167585,0.03540640783230886,0.7129209188101402,0.0,0.19620185174601967,5.6581728684441694,4.600324151326993,0.07536021271325259,0.4060883500843737,203763.1632931044,0.03924037034920393,6.67333100555583,4.575943689310137,0.16234834957055044,0.19457737973711328,250091.40211441676,0.026040947440946163,6.593540304122162,4.600324151326993,0.30047247047245573,0.08290098048640723,340544.40004917176,0.020542262026288678,5.792899488406437,4.663893831344829,0.6009449409449115,0.00803842268941361,488004.09765856306,0.02093933982822018,6.593540304122162,5.1663780813766484,0.009883883476483186,0.9770551750371123,0.0,0.20630693606237088,7.317643888682026,5.529400777718352,0.034051041453994825,0.658925565098879,0.0,0.20096056723534025,7.095248770457529,5.511524079580415,0.07228033079399324,0.4165479212008829,192755.544940731,0.039082207001484494,7.586091464320844,5.602429532355842,0.15473020204677815,0.20379814825398038,237245.1777440126,0.026942818658082346,7.412910237413274,5.493019558428221,0.3140900974233027,0.12139339828220179,351837.46821950556,0.020096056723534025,7.2893583197390805,5.387967092082539,0.5990550590550886,0.011012132034355965,447676.1498318637,0.01969558249578132,7.044625250903228,5.337297949693708 +14,3,31,12,609375,390625,328125,0.13693063937629152,2.453366630131697,4.6833752096446,13,56,18,0,1,0,5,17,18,25,0.20454545454545456,0.16558441558441558,0.1331168831168831,0.06168831168831169,0.04220779220779221,0.18506493506493507,0.19805194805194806,0.00974025974025974,0.16908212560386474,0.06280193236714976,0.23671497584541062,0.05314009661835749,0.024154589371980676,0.23671497584541062,0.21739130434782608,0.92578125,3.21875,24.296875,0.29296875,0.010604715292478953,0.9918558653543692,0.0,0.19837117307087385,3.4361911204240116,2.746638946235742,0.03288349647632367,1.9457737973711327,0.0,0.21064585653306517,3.294563451530929,2.5083413290884344,0.07953536469359215,1.201889881889823,0.0,0.0038738612787525832,3.547791229223689,2.5940956983435015,0.15473020204677815,0.9213309524416881,474711.8964832876,0.003670710678118655,3.2241698346921157,2.7697156036506394,0.30144085085301037,0.43930704330706505,645603.3628700823,0.0021646446609406727,3.372730733493356,2.5505943563651448,0.5971182982939793,0.04333028149071891,945530.7506410894,0.0019903943276465977,3.2399858668848265,2.410317750349361,0.009684653196881459,1.0081441346456308,0.0,0.1990394327646598,3.8087150729122827,2.8807795770733517,0.03566467594444657,1.9274754878398197,0.0,0.19541103500742246,3.8087150729122827,2.8807795770733517,0.07189726477483448,1.1012132034355966,0.0,0.20318246186088998,3.6803663533962654,2.8807795770733517,0.16040720673228154,0.866605629814378,452436.18337461905,0.18845261441733016,3.596408791235463,2.8377919536878635,0.3056972223809705,0.4037781745930521,616251.8512823349,0.0991379419304648,3.8228581486037347,2.8807795770733517,0.588605555238059,0.04316440738412434,992732.1155436699,0.10260276515827887,3.927814191370153,3.143533424904846,0.010693813782152103,0.9586301969977928,0.0,0.20542262026288677,4.273324220495441,3.1648986422539034,0.03594895854600519,2.0458896499257757,0.0,0.19274754878398198,3.9336138360467494,3.328122461383807,0.07488188238188608,1.2182650502531212,0.0,0.16392167747730646,4.062019317918444,3.1750986640621695,0.14927957457349483,0.5718198051533947,236922.84741386306,0.1734007911590485,4.129017066625734,3.1966139926049157,0.27530330085889915,0.29651650429449555,237337.9284035754,0.09213309524416878,3.987970564974013,3.232425934930185,0.5908674748734396,0.030813393039433014,244635.0489914758,0.0893394370185622,4.192288132331471,3.045336172486958,0.010116116523516816,1.0048028361767012,0.0,0.18935414346693488,4.118046658221416,3.4795898105645824,0.036447943105077256,1.5419803902718556,0.0,0.1969558249578132,4.60913435613093,3.684203669403796,0.07736510102338907,0.8933938769133981,0.0,0.22708544097593447,4.276702513864247,3.3109495261949,0.1409292706128157,0.47769463863518347,1.3772881505651046e6,0.22943991779767112,4.698227998135754,3.6372873058051005,0.3159687847995977,0.23449324200890692,7.627325768999565e6,0.11734695167279507,4.118046658221416,3.188120891664967,0.5782426463519459,0.024756832327484504,4.7229941790200435e7,0.11465304832720495,4.38450115117404,3.233079292215077,0.009728868986855665,1.0229448249628879,0.0,0.21064585653306517,6.071903796185347,4.780936762253296,0.03494487844488017,0.6720960897637539,0.0,0.19274754878398198,5.876165118732509,4.970894504689864,0.0743891899015777,0.41261387212474177,198425.75300104337,0.0385495097567964,5.837553384301147,4.946514042673007,0.14201560760020115,0.20304417504218686,245688.32710051586,0.024778858223313768,6.215966650966487,4.970894504689864,0.28590990257669735,0.08483772233983163,335890.0099378692,0.01969558249578132,6.593540304122162,4.864069864043935,0.6091325251265606,0.007934846922834953,475221.2273334492,0.02164644660940673,6.215966650966487,4.9976122307299455,0.010015749015748525,0.9918558653543692,0.0,0.19060660171779822,7.211767033542473,5.602429532355842,0.036863024893286404,0.6485912657903775,0.0,0.19837117307087385,6.989371915317976,5.767233824245157,0.07357569440475738,0.4091779299851552,195709.2379268093,0.04241886116991581,6.989371915317976,5.688278459917461,0.14825825214724778,0.20096056723534025,259774.12644982192,0.026493759273017448,7.095248770457529,5.738947602306292,0.29053959590644374,0.11981101181101772,325061.99478450586,0.01917260393995586,6.657187664685844,5.278013811146495,0.5680624304008046,0.011436396103067892,439794.42477862805,0.019369306393762917,7.347461686500529,5.767233824245157 +39,28,6,4,109375,890625,828125,0.2322227914413702,0.2789974706149678,1.4425614756979996,36,23,44,21,9,8,13,5,6,13,0.12704918032786885,0.0778688524590164,0.036885245901639344,0.20901639344262296,0.18442622950819673,0.10245901639344263,0.11885245901639344,0.14344262295081966,0.017142857142857144,0.2571428571428571,0.09714285714285714,0.24571428571428572,0.21142857142857144,0.09714285714285714,0.07428571428571429,0.80078125,4.21875,16.796875,0.41796875,0.009918558653543694,1.0604715292478952,0.0,0.21209430584957908,3.2399858668848265,2.568923232448083,0.03528504471259709,2.0630693606237087,0.0,0.1976776695296637,3.502612005104014,2.6602400615695743,0.0743891899015777,1.1012132034355966,0.0,0.004108452405257736,3.3182385785066444,2.376800468192324,0.14593303480283495,0.866605629814378,437914.15794216126,0.00400629960629941,3.422246215847947,2.5775772512054456,0.27918558653543696,0.4762218254069481,699853.1360671913,0.0019968501968502953,3.1431780827763114,2.711661968023029,0.6416288269291262,0.04606654762208441,1.0109416862953367e6,0.0021387627564304207,3.4361911204240116,2.602456102794555,0.010271131013144339,0.9395284707521048,0.0,0.21387627564304207,3.5754103106298474,3.080069221986806,0.03355205689492276,2.0458896499257757,0.0,0.20725245121601807,3.5754103106298474,3.080069221986806,0.07642430559524263,1.201889881889823,0.0,0.1890874611264268,3.906815710764537,3.080069221986806,0.14927957457349483,0.9213309524416881,426712.9779518368,0.2014895905571001,3.8228581486037347,3.00975499372675,0.2875890590993379,0.4406929566929351,656463.8770859436,0.09278353029879809,3.596408791235463,3.080069221986806,0.6248218818013244,0.04582027133209713,935190.7400996472,0.09650835422932846,3.6945094290877174,2.8998594788296135,0.00995197163823299,1.0189907412699017,0.0,0.19369306393762917,4.019496813483939,2.899789926599017,0.033896286189085106,1.9274754878398197,0.0,0.2045889649925776,4.175274801025988,3.123230159395084,0.08117417478527522,1.1436396103067894,0.0,0.17461799053628066,4.364811290101005,2.940682327314452,0.16040720673228154,0.6091325251265606,218557.55036076627,0.161598896969362,3.8643608354733883,2.991721690616193,0.30047247047245573,0.3159687847995977,222125.35828646354,0.08666056298143779,4.229631529953251,3.045336172486958,0.6281801948466054,0.02905395959064437,259382.19272500998,0.08386690475583121,3.9529100165379827,3.232425934930185,0.009467707173346744,0.9306186217847897,0.0,0.20232233047033632,4.49453257209877,3.188120891664967,0.034335324055553444,1.6367117199406205,0.0,0.2093933982822018,4.345954473741487,3.4458247278452308,0.07296651740141748,0.9646107227296331,0.0,0.2103198085233625,4.555768404674979,3.5269975388779446,0.15122162019684465,0.513303061543301,1.4619016376517098e6,0.215385459941112,4.419162107325022,3.4212392931220563,0.29651650429449555,0.24870294145922164,8.324641984892643e6,0.10982540321082222,4.49453257209877,3.4795898105645824,0.6137668949777327,0.02334928556845359,5.009195722461162e7,0.1221745967891778,4.65019087026358,3.4908040376105087,0.010315346803118543,0.9637377439199099,0.0,0.1976776695296637,6.455338755267491,4.380460112623352,0.037881281566461776,0.6263523138347366,0.0,0.2045889649925776,6.259600077814652,4.6827683299560645,0.07953536469359215,0.38915475947422656,186924.47227039727,0.040917792998515515,6.2373465049791506,4.663893831344829,0.15174174785275224,0.19060660171779822,260782.15193587772,0.02639574275548429,5.792899488406437,4.6827683299560645,0.3045662625632803,0.07934846922834955,357101.145117175,0.02093933982822018,6.1361388405404105,4.575943689310137,0.5718198051533947,0.008483772233983163,447676.1498318637,0.019968501968502955,5.792899488406437,4.700763480595073,0.009176776695296637,1.0604715292478952,0.0,0.20304417504218686,6.720924339679158,5.243332473321018,0.03459359216769115,0.6876897868745695,0.0,0.21209430584957908,7.412910237413274,5.432949719240034,0.07810273522516555,0.38549509756796396,184534.31217278077,0.039674234614174776,7.412910237413274,5.3634798447310414,0.15798439239979886,0.18612372435695795,244386.24604495996,0.024924385121942616,7.586091464320844,5.411051518281698,0.3081339303943301,0.12987867965644037,346273.1299638117,0.020379814825398038,7.187865028542044,5.622417851676328,0.606966991411009,0.01218265050253121,466813.1280663163,0.020542262026288678,6.927924317202108,5.432949719240034 +26,15,43,17,359375,640625,78125,0.17714337624694385,1.2622412912357497,0.3188542521313922,56,13,9,10,13,4,9,23,12,19,0.19262295081967212,0.012295081967213115,0.2336065573770492,0.012295081967213115,0.11885245901639344,0.036885245901639344,0.18442622950819673,0.20901639344262296,0.22869955156950672,0.273542600896861,0.14798206278026907,0.1210762331838565,0.09417040358744394,0.004484304932735426,0.13004484304932734,0.86328125,3.71875,20.546875,0.35546875,0.010189907412699019,0.9586301969977928,0.0,0.20379814825398038,3.6208927494346717,2.639203013597638,0.036447943105077256,1.8353553390593274,0.0,0.20304417504218686,3.167406907593266,2.8032328858076765,0.07189726477483448,1.2378416163742252,0.0,0.0039937003937005906,3.2070826148343734,2.6716920249115663,0.15023623523622787,0.8331582312545135,450496.85708315833,0.004126138721247417,3.5775989922311187,2.496096829006922,0.3108786768240271,0.45192976457835093,664153.6488840894,0.0019369306393762916,3.281951422475478,2.620091050238382,0.6137668949777327,0.044510912703474,913856.9034228534,0.002045889649925776,3.3402158469466214,2.6839365249930784,0.010823223304703365,0.9810092587300983,0.0,0.2045889649925776,3.7080498337830785,2.7842778269909036,0.03711650352367634,1.9903943276465978,0.0,0.20096056723534025,3.7080498337830785,2.959591024476506,0.0743891899015777,1.1674642784226796,0.0,0.18311017134478288,3.7821658863103425,2.959591024476506,0.15344172374443318,0.8331582312545135,402497.9385517075,0.18213973742958064,3.978477980963109,2.7029200646244504,0.3181414587743686,0.45387525933721595,639113.3817347616,0.09650835422932846,3.978477980963109,2.7842778269909036,0.6048864807873786,0.04133925271309262,961058.268325434,0.09278353029879809,3.7951746682169216,2.8128432885403565,0.010229448249628879,0.9918558653543692,0.0,0.19968501968502955,3.8643608354733883,3.259569208477031,0.037881281566461776,1.9903943276465978,0.0,0.1990394327646598,4.364811290101005,3.208018855595072,0.07263489897661093,1.1860660171779822,0.0,0.17000279579551075,4.175274801025988,3.087418217069815,0.14456066158798647,0.5930330085889911,211999.28588961266,0.1791156061163796,4.019496813483939,3.3083341090029497,0.2918660696056699,0.28590990257669735,245632.77446514455,0.08331582312545133,4.101226048081557,3.3791618246855486,0.5680624304008046,0.02995275295275443,230752.53860143616,0.08697817459305202,4.0751945290085905,3.3791618246855486,0.00984779124789066,1.0362622560800903,0.0,0.1969558249578132,4.6289760382585134,3.3799242914086522,0.03528504471259709,1.5923154621172781,0.0,0.20232233047033632,4.8568838537785854,3.3303948215237402,0.07511811761811393,0.9948117658368866,0.0,0.2341952698741004,4.726329812562453,3.4337781607248337,0.1562054704503311,0.46259411708155673,1.4222471516314677e6,0.23802981788236363,4.539572142492922,3.2891935848219225,0.28590990257669735,0.24115268068240828,8.086200153992766e6,0.12144817100367705,4.6289760382585134,3.583673629614086,0.5971182982939793,0.02202426406871193,4.8571238017803155e7,0.11055182899632297,4.176118731845849,3.394405377044535,0.010015749015748525,1.0693813782152104,0.0,0.20304417504218686,6.2373465049791506,4.643996901406786,0.03594895854600519,0.6540061724867322,0.0,0.21387627564304207,6.493950489698852,4.812294464845993,0.07189726477483448,0.400629960629941,179020.59742605194,0.042775255128608414,6.071903796185347,4.442232701251335,0.15704504871165134,0.21064585653306517,272620.35082022613,0.025698097038856282,6.4208278799941665,4.812294464845993,0.29651650429449555,0.07669041575982344,345042.0905646754,0.018935414346693488,6.307224035959051,5.0620750495366975,0.6319375695991954,0.008151925930159214,460058.94506843056,0.020542262026288678,6.048659737230037,4.519333422605723,0.010315346803118543,0.9586301969977928,0.0,0.21064585653306517,7.449447114680473,5.4538277003236715,0.03335615530061469,0.6117851130197758,0.0,0.20379814825398038,6.657187664685844,5.203224022572681,0.07046463530640786,0.3980788655293196,190242.9390587302,0.03834520787991172,7.187865028542044,5.529400777718352,0.15228313128164014,0.20725245121601807,252856.5575242229,0.027572259760445278,6.857568689319529,5.564721472419586,0.3246966991411009,0.12325357215773206,359237.09724968683,0.021209430584957906,7.412910237413274,5.832913078678983,0.6281801948466054,0.01263875139198391,488004.09765856306,0.019968501968502955,7.742401343530607,5.583225993571779 +1,40,18,8,859375,140625,578125,0.08215838362577492,4.097953308439025,2.803847577293368,23,36,29,31,5,12,1,11,24,7,0.06147540983606557,0.14344262295081966,0.10245901639344263,0.14344262295081966,0.25,0.1680327868852459,0.05327868852459016,0.0778688524590164,0.07450980392156863,0.11372549019607843,0.00392156862745098,0.23137254901960785,0.20784313725490197,0.12941176470588237,0.23921568627450981,0.98828125,4.71875,13.046875,0.48046875,0.00958630196997793,1.0189907412699017,0.0,0.1917260393995586,3.3402158469466214,2.4828681973000792,0.034335324055553444,2.0031498031497046,0.0,0.19060660171779822,3.384331260773357,2.5859376556564992,0.07642430559524263,1.1674642784226796,0.0,0.004329289321881345,3.4090178895245224,2.519793292430426,0.13765165042944957,0.89021825406948,424773.65166037605,0.0038915475947422654,3.329416841265565,2.6494441563047255,0.29311655251113367,0.4261247406627842,626230.718959226,0.002054226202628868,3.4838866971656266,2.4521519471920596,0.5782426463519459,0.04165791156272568,971398.2788668763,0.0019274754878398199,3.6208927494346717,2.530589197695275,0.009984250984251477,1.0413698030022072,0.0,0.19274754878398198,3.9513078799591783,2.959591024476506,0.03471495528740293,2.138762756430421,0.0,0.18612372435695795,3.9513078799591783,2.7842778269909036,0.07953536469359215,1.2378416163742252,0.0,0.19435951674294868,3.5247465210368913,2.7842778269909036,0.14456066158798647,0.89021825406948,439295.67709283385,0.19360824084128134,3.721058615689658,2.918383195131922,0.2975567596063108,0.42807023542164924,681040.939209679,0.10260276515827887,3.721058615689658,2.959591024476506,0.5637170824512628,0.04435834192440777,895647.3326711867,0.0991379419304648,3.5519166220408223,2.9831818805184414,0.0096373774391991,1.0604715292478952,0.0,0.21646446609406728,4.129017066625734,3.074246788607696,0.03494487844488017,2.138762756430421,0.0,0.21387627564304207,4.062019317918444,3.0115100429970507,0.07703348259858253,1.263875139198391,0.0,0.18115543661843603,3.9336138360467494,3.2745079795130425,0.15344172374443318,0.6319375695991954,224837.4201738497,0.16873359250157688,4.273324220495441,3.111825296404928,0.3094604040935563,0.3045662625632803,231042.65047677557,0.08902182540694797,3.798434075898996,3.144745487937831,0.606966991411009,0.03246966991411009,251848.7251153603,0.09268417687454866,4.417631374365148,3.144745487937831,0.01046966991411009,0.9770551750371123,0.0,0.2093933982822018,4.365796155869071,3.583673629614086,0.03288349647632367,1.7110102051443365,0.0,0.18935414346693488,4.480397939901231,3.5400944999792574,0.06882582521472479,0.9379729680356277,0.0,0.22081446955838735,4.435358369507079,3.659043247178078,0.14715138880951475,0.4910135159821861,1.5282646237970614e6,0.22337576656851998,4.248600699437548,3.514458671275167,0.3045662625632803,0.22334846922834953,8.573654247020999e6,0.11423437847553165,4.365796155869071,3.3799242914086522,0.6416288269291262,0.024037797637796458,4.498524183560327e7,0.11776562152446837,4.509017816473206,3.60009778765355,0.009176776695296637,0.9951971638232989,0.0,0.19060660171779822,5.837553384301147,4.923947342218395,0.033896286189085106,0.6942465353348048,0.0,0.1990394327646598,6.094157369020849,4.484763144463303,0.07642430559524263,0.3670710678118655,192094.83362580332,0.03980788655293196,6.455338755267491,4.7963450469256275,0.1477168687183599,0.1976776695296637,253708.36397919877,0.02738396134929847,6.048659737230037,4.484763144463303,0.3159687847995977,0.08151925930159215,322926.0426519941,0.020232233047033633,5.942167861334194,4.734543729154006,0.5930330085889911,0.007669041575982343,428746.7062117102,0.019369306393762917,6.4208278799941665,4.828846380083242,0.009728868986855665,1.0189907412699017,0.0,0.1976776695296637,7.017657484260921,5.798231740853505,0.0355327306323827,0.6677166010499016,0.0,0.1917260393995586,7.187865028542044,5.583225993571779,0.07561081009842233,0.42775255128608414,206228.9714895501,0.040759629650796075,6.657187664685844,5.994033949351168,0.14295495128834868,0.19541103500742246,270348.9383936523,0.0257882524992136,7.2893583197390805,5.153880185076074,0.2995275295275443,0.11621583836257748,337121.04933700553,0.019837117307087388,6.989371915317976,5.4738160196441585,0.5908674748734396,0.011860660171779822,454150.6929310043,0.02164644660940673,7.1422418311394225,5.203224022572681 diff --git a/test/data/example_scenarios.csv b/test/data/example_scenarios.csv index 492e32fac..503fa990c 100644 --- a/test/data/example_scenarios.csv +++ b/test/data/example_scenarios.csv @@ -1,33 +1,33 @@ -dhw_scenario,wave_scenario,cyclone_mortality_scenario,guided,N_seed_TA,N_seed_CA,N_seed_SM,fogging,SRM,a_adapt,seed_years,shade_years,fog_years,plan_horizon,seed_freq,shade_freq,fog_freq,seed_year_start,shade_year_start,fog_year_start,seed_wave_stress,seed_heat_stress,fog_wave_stress,fog_heat_stress,fog_connectivity,seed_in_connectivity,seed_out_connectivity,seed_depth,coral_cover_low,coral_cover_high,seed_priority,fog_priority,seed_zone,fog_zone,deployed_coral_risk_tol,depth_min,depth_offset,heritability,abhorescent_acropora_1_1_mean_colony_diameter_m,abhorescent_acropora_1_1_growth_rate,abhorescent_acropora_1_1_fecundity,abhorescent_acropora_1_1_mb_rate,abhorescent_acropora_1_1_dist_mean,abhorescent_acropora_1_1_dist_std,abhorescent_acropora_1_2_mean_colony_diameter_m,abhorescent_acropora_1_2_growth_rate,abhorescent_acropora_1_2_fecundity,abhorescent_acropora_1_2_mb_rate,abhorescent_acropora_1_2_dist_mean,abhorescent_acropora_1_2_dist_std,abhorescent_acropora_1_3_mean_colony_diameter_m,abhorescent_acropora_1_3_growth_rate,abhorescent_acropora_1_3_fecundity,abhorescent_acropora_1_3_mb_rate,abhorescent_acropora_1_3_dist_mean,abhorescent_acropora_1_3_dist_std,abhorescent_acropora_1_4_mean_colony_diameter_m,abhorescent_acropora_1_4_growth_rate,abhorescent_acropora_1_4_fecundity,abhorescent_acropora_1_4_mb_rate,abhorescent_acropora_1_4_dist_mean,abhorescent_acropora_1_4_dist_std,abhorescent_acropora_1_5_mean_colony_diameter_m,abhorescent_acropora_1_5_growth_rate,abhorescent_acropora_1_5_fecundity,abhorescent_acropora_1_5_mb_rate,abhorescent_acropora_1_5_dist_mean,abhorescent_acropora_1_5_dist_std,abhorescent_acropora_1_6_mean_colony_diameter_m,abhorescent_acropora_1_6_growth_rate,abhorescent_acropora_1_6_fecundity,abhorescent_acropora_1_6_mb_rate,abhorescent_acropora_1_6_dist_mean,abhorescent_acropora_1_6_dist_std,tabular_acropora_2_1_mean_colony_diameter_m,tabular_acropora_2_1_growth_rate,tabular_acropora_2_1_fecundity,tabular_acropora_2_1_mb_rate,tabular_acropora_2_1_dist_mean,tabular_acropora_2_1_dist_std,tabular_acropora_2_2_mean_colony_diameter_m,tabular_acropora_2_2_growth_rate,tabular_acropora_2_2_fecundity,tabular_acropora_2_2_mb_rate,tabular_acropora_2_2_dist_mean,tabular_acropora_2_2_dist_std,tabular_acropora_2_3_mean_colony_diameter_m,tabular_acropora_2_3_growth_rate,tabular_acropora_2_3_fecundity,tabular_acropora_2_3_mb_rate,tabular_acropora_2_3_dist_mean,tabular_acropora_2_3_dist_std,tabular_acropora_2_4_mean_colony_diameter_m,tabular_acropora_2_4_growth_rate,tabular_acropora_2_4_fecundity,tabular_acropora_2_4_mb_rate,tabular_acropora_2_4_dist_mean,tabular_acropora_2_4_dist_std,tabular_acropora_2_5_mean_colony_diameter_m,tabular_acropora_2_5_growth_rate,tabular_acropora_2_5_fecundity,tabular_acropora_2_5_mb_rate,tabular_acropora_2_5_dist_mean,tabular_acropora_2_5_dist_std,tabular_acropora_2_6_mean_colony_diameter_m,tabular_acropora_2_6_growth_rate,tabular_acropora_2_6_fecundity,tabular_acropora_2_6_mb_rate,tabular_acropora_2_6_dist_mean,tabular_acropora_2_6_dist_std,corymbose_acropora_3_1_mean_colony_diameter_m,corymbose_acropora_3_1_growth_rate,corymbose_acropora_3_1_fecundity,corymbose_acropora_3_1_mb_rate,corymbose_acropora_3_1_dist_mean,corymbose_acropora_3_1_dist_std,corymbose_acropora_3_2_mean_colony_diameter_m,corymbose_acropora_3_2_growth_rate,corymbose_acropora_3_2_fecundity,corymbose_acropora_3_2_mb_rate,corymbose_acropora_3_2_dist_mean,corymbose_acropora_3_2_dist_std,corymbose_acropora_3_3_mean_colony_diameter_m,corymbose_acropora_3_3_growth_rate,corymbose_acropora_3_3_fecundity,corymbose_acropora_3_3_mb_rate,corymbose_acropora_3_3_dist_mean,corymbose_acropora_3_3_dist_std,corymbose_acropora_3_4_mean_colony_diameter_m,corymbose_acropora_3_4_growth_rate,corymbose_acropora_3_4_fecundity,corymbose_acropora_3_4_mb_rate,corymbose_acropora_3_4_dist_mean,corymbose_acropora_3_4_dist_std,corymbose_acropora_3_5_mean_colony_diameter_m,corymbose_acropora_3_5_growth_rate,corymbose_acropora_3_5_fecundity,corymbose_acropora_3_5_mb_rate,corymbose_acropora_3_5_dist_mean,corymbose_acropora_3_5_dist_std,corymbose_acropora_3_6_mean_colony_diameter_m,corymbose_acropora_3_6_growth_rate,corymbose_acropora_3_6_fecundity,corymbose_acropora_3_6_mb_rate,corymbose_acropora_3_6_dist_mean,corymbose_acropora_3_6_dist_std,corymbose_non_acropora_4_1_mean_colony_diameter_m,corymbose_non_acropora_4_1_growth_rate,corymbose_non_acropora_4_1_fecundity,corymbose_non_acropora_4_1_mb_rate,corymbose_non_acropora_4_1_dist_mean,corymbose_non_acropora_4_1_dist_std,corymbose_non_acropora_4_2_mean_colony_diameter_m,corymbose_non_acropora_4_2_growth_rate,corymbose_non_acropora_4_2_fecundity,corymbose_non_acropora_4_2_mb_rate,corymbose_non_acropora_4_2_dist_mean,corymbose_non_acropora_4_2_dist_std,corymbose_non_acropora_4_3_mean_colony_diameter_m,corymbose_non_acropora_4_3_growth_rate,corymbose_non_acropora_4_3_fecundity,corymbose_non_acropora_4_3_mb_rate,corymbose_non_acropora_4_3_dist_mean,corymbose_non_acropora_4_3_dist_std,corymbose_non_acropora_4_4_mean_colony_diameter_m,corymbose_non_acropora_4_4_growth_rate,corymbose_non_acropora_4_4_fecundity,corymbose_non_acropora_4_4_mb_rate,corymbose_non_acropora_4_4_dist_mean,corymbose_non_acropora_4_4_dist_std,corymbose_non_acropora_4_5_mean_colony_diameter_m,corymbose_non_acropora_4_5_growth_rate,corymbose_non_acropora_4_5_fecundity,corymbose_non_acropora_4_5_mb_rate,corymbose_non_acropora_4_5_dist_mean,corymbose_non_acropora_4_5_dist_std,corymbose_non_acropora_4_6_mean_colony_diameter_m,corymbose_non_acropora_4_6_growth_rate,corymbose_non_acropora_4_6_fecundity,corymbose_non_acropora_4_6_mb_rate,corymbose_non_acropora_4_6_dist_mean,corymbose_non_acropora_4_6_dist_std,small_massives_5_1_mean_colony_diameter_m,small_massives_5_1_growth_rate,small_massives_5_1_fecundity,small_massives_5_1_mb_rate,small_massives_5_1_dist_mean,small_massives_5_1_dist_std,small_massives_5_2_mean_colony_diameter_m,small_massives_5_2_growth_rate,small_massives_5_2_fecundity,small_massives_5_2_mb_rate,small_massives_5_2_dist_mean,small_massives_5_2_dist_std,small_massives_5_3_mean_colony_diameter_m,small_massives_5_3_growth_rate,small_massives_5_3_fecundity,small_massives_5_3_mb_rate,small_massives_5_3_dist_mean,small_massives_5_3_dist_std,small_massives_5_4_mean_colony_diameter_m,small_massives_5_4_growth_rate,small_massives_5_4_fecundity,small_massives_5_4_mb_rate,small_massives_5_4_dist_mean,small_massives_5_4_dist_std,small_massives_5_5_mean_colony_diameter_m,small_massives_5_5_growth_rate,small_massives_5_5_fecundity,small_massives_5_5_mb_rate,small_massives_5_5_dist_mean,small_massives_5_5_dist_std,small_massives_5_6_mean_colony_diameter_m,small_massives_5_6_growth_rate,small_massives_5_6_fecundity,small_massives_5_6_mb_rate,small_massives_5_6_dist_mean,small_massives_5_6_dist_std,large_massives_6_1_mean_colony_diameter_m,large_massives_6_1_growth_rate,large_massives_6_1_fecundity,large_massives_6_1_mb_rate,large_massives_6_1_dist_mean,large_massives_6_1_dist_std,large_massives_6_2_mean_colony_diameter_m,large_massives_6_2_growth_rate,large_massives_6_2_fecundity,large_massives_6_2_mb_rate,large_massives_6_2_dist_mean,large_massives_6_2_dist_std,large_massives_6_3_mean_colony_diameter_m,large_massives_6_3_growth_rate,large_massives_6_3_fecundity,large_massives_6_3_mb_rate,large_massives_6_3_dist_mean,large_massives_6_3_dist_std,large_massives_6_4_mean_colony_diameter_m,large_massives_6_4_growth_rate,large_massives_6_4_fecundity,large_massives_6_4_mb_rate,large_massives_6_4_dist_mean,large_massives_6_4_dist_std,large_massives_6_5_mean_colony_diameter_m,large_massives_6_5_growth_rate,large_massives_6_5_fecundity,large_massives_6_5_mb_rate,large_massives_6_5_dist_mean,large_massives_6_5_dist_std,large_massives_6_6_mean_colony_diameter_m,large_massives_6_6_growth_rate,large_massives_6_6_fecundity,large_massives_6_6_mb_rate,large_massives_6_6_dist_mean,large_massives_6_6_dist_std -3,14,36,9,140625,921875,796875,0.18260643118126102,6.125,0.18975032409334602,22,60,25,40,15,1,2,3,12,14,0.09210526315789473,0.19736842105263158,0.14835164835164835,0.2692307692307692,0.06043956043956044,0.06578947368421052,0.04824561403508772,0.07456140350877193,0.039473684210526314,0.25824175824175827,0.20614035087719298,0.1813186813186813,0.27631578947368424,0.08241758241758242,0.99609375,4.21875,21.484375,0.44921875,0.009395284707521049,0.9951971638232989,0.0,0.1990394327646598,3.350753465053379,2.6494441563047255,0.03580306887370108,2.0725245121601805,0.0,0.20096056723534025,3.294563451530929,2.7278814068079407,0.07147747564417434,1.1274341649025257,0.0,0.004145049024320361,3.188357306895986,2.7697156036506394,0.15284861119048526,0.8331582312545135,412081.8074195675,0.004277525512860841,3.167406907593266,2.5083413290884344,0.2875890590993379,0.45009572298367073,647640.094027017,0.0020630693606237087,3.329416841265565,2.5859376556564992,0.5837321392113398,0.0451929764578351,967804.4862513752,0.0021064585653306515,3.4667994773078847,2.6971651566999215,0.009728868986855665,1.0315346803118544,0.0,0.1969558249578132,3.6333063580106795,3.080069221986806,0.03528504471259709,1.8790569415042095,0.0,0.1917260393995586,3.442770787476616,3.00975499372675,0.07046463530640786,1.1564852927038918,0.0,0.1922062139468195,3.4913202224965527,2.959591024476506,0.1409292706128157,0.8786140866141301,402497.9385517075,0.19091253887357323,3.906815710764537,3.10594728737555,0.3045662625632803,0.41933452377915614,612202.5176874202,0.09394575930578371,3.7821658863103425,3.10594728737555,0.5637170824512628,0.04299042770163295,951793.1644589785,0.09490960132943829,3.8376923374278205,2.8492763275234942,0.010693813782152103,1.0189907412699017,0.0,0.1990394327646598,3.7456139916348534,3.3791618246855486,0.03711650352367634,1.976776695296637,0.0,0.21646446609406728,4.192288132331471,2.940682327314452,0.07953536469359215,1.1674642784226796,0.0,0.16284456338156397,4.101226048081557,3.1966139926049157,0.14593303480283495,0.6281801948466054,215570.41534693906,0.16576289195422447,3.798434075898996,3.208018855595072,0.2943027776190295,0.3181414587743686,235740.4870118181,0.09164054266419422,4.210335349462018,3.328122461383807,0.5990550590550886,0.028912132317597296,250245.02566230568,0.09213309524416878,4.101226048081557,3.0115100429970507,0.010362622560800904,0.9395284707521048,0.0,0.1990394327646598,4.216101369522883,3.4908040376105087,0.0331369751067136,1.6303851860318428,0.0,0.20379814825398038,4.465912695526794,3.4081423320207436,0.07614156564082007,0.9202849891178811,0.0,0.215385459941112,4.365796155869071,3.4458247278452308,0.1477168687183599,0.4930142886309282,1.3699888993957206e6,0.23212756089706205,4.60913435613093,3.4795898105645824,0.28912132317597294,0.25127207793864215,8.010156477410309e6,0.10982540321082222,4.365796155869071,3.4686470214354186,0.5680624304008046,0.025975735931288074,4.498524183560327e7,0.12079889714825605,4.450918734737546,3.6178420104762603,0.010413698030022072,1.046966991411009,0.0,0.20542262026288677,6.024279838040949,4.380460112623352,0.032571651762467645,0.6677166010499016,0.0,0.20542262026288677,6.024279838040949,4.902841292593214,0.07263489897661093,0.42129171306613034,197452.54555726363,0.03834520787991172,6.195365033459589,5.104605492748664,0.15023623523622787,0.19274754878398198,244386.24604495996,0.02461603865070153,5.737963569877837,4.902841292593214,0.2954337374367198,0.08092893218813453,325061.99478450586,0.020304417504218686,6.493950489698852,4.7963450469256275,0.6416288269291262,0.00803842268941361,488004.09765856306,0.02093933982822018,6.094157369020849,4.7963450469256275,0.010315346803118543,0.9306186217847897,0.0,0.18353553390593275,6.857568689319529,5.153880185076074,0.03211871843353824,0.6456435464587639,0.0,0.20096056723534025,6.564614460469395,5.278013811146495,0.07536021271325259,0.40464466094067264,206228.9714895501,0.0385495097567964,7.649828139314158,5.387967092082539,0.14715138880951475,0.21646446609406728,257008.9710400158,0.026040947440946163,6.564614460469395,5.203224022572681,0.3045662625632803,0.11012132034355965,325061.99478450586,0.02164644660940673,7.379091486797894,5.082211602648832,0.6493933982822018,0.011564852927038918,465008.71190200775,0.02164644660940673,6.720924339679158,5.387967092082539 -28,39,11,-1,0,0,0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.21875,13.984375,0.32421875,0.01008144134645631,1.0693813782152104,0.0,0.21387627564304207,3.070076562565329,2.496096829006922,0.03373082103719685,1.9541103500742245,0.0,0.18612372435695795,3.502612005104014,2.559942303761619,0.07614156564082007,1.2097729615747572,0.0,0.003908220700148449,3.3964058604690712,2.5775772512054456,0.14379452954966895,0.89021825406948,442176.97502199584,0.0039807886552931954,3.384331260773357,2.6602400615695743,0.3056972223809705,0.4240446073247604,593390.320829908,0.0019457737973711327,3.5775989922311187,2.8032328858076765,0.6189208081871126,0.042612474066278425,908521.1344441994,0.001976776695296637,3.268723096152053,2.5408303404023624,0.010315346803118543,0.9728868986855663,0.0,0.2093933982822018,3.853330094053834,2.8807795770733517,0.03288349647632367,2.0162882692912616,0.0,0.20379814825398038,3.7575206710423354,2.8377919536878635,0.07561081009842233,1.2275337899554655,0.0,0.1798864362935881,3.769630630040058,2.7842778269909036,0.15122162019684465,0.9524436508138961,439295.67709283385,0.17681753813911005,3.6803663533962654,2.8904841568680784,0.28590990257669735,0.4466971850928111,654130.0751623376,0.09986109264445038,3.5247465210368913,2.8904841568680784,0.6048864807873786,0.045595539267523987,1.0317719351285e6,0.1006570839288145,3.6155703268410346,3.0245895250090964,0.00995197163823299,0.9586301969977928,0.0,0.21387627564304207,4.08805083699141,3.144745487937831,0.03471495528740293,2.1064585653306516,0.0,0.19968501968502955,3.9529100165379827,3.1750986640621695,0.0743891899015777,1.2378416163742252,0.0,0.17399720420448922,3.798434075898996,2.991721690616193,0.15473020204677815,0.5908674748734396,229183.4823786999,0.1759465098936167,4.101226048081557,3.0115100429970507,0.3124109409006622,0.2975567596063108,218335.85577502596,0.08632881476824864,3.9709572336685306,3.123230159395084,0.6493933982822018,0.030688344748886633,268898.84754712967,0.08666056298143779,3.798434075898996,3.208018855595072,0.009770551750371123,1.0081441346456308,0.0,0.21387627564304207,4.524011777262454,3.233079292215077,0.03540640783230886,1.5338083151964685,0.0,0.1917260393995586,4.798811780154152,3.6178420104762603,0.07147747564417434,0.9782311116191057,0.0,0.22943991779767112,4.6289760382585134,3.684203669403796,0.15704504871165134,0.46486335345030994,1.4562508133988983e6,0.21887316224952094,4.345954473741487,3.188120891664967,0.30688344748886637,0.2363469899493758,8.502259216684552e6,0.11734695167279507,4.6289760382585134,3.7601159403350337,0.606966991411009,0.023962202362203543,4.8571238017803155e7,0.11379707401269142,4.7588291424771185,3.4081423320207436,0.009810092587300983,0.9847791247890659,0.0,0.19369306393762917,6.389336012665805,4.780936762253296,0.03516809926618455,0.6117851130197758,0.0,0.19369306393762917,6.389336012665805,4.622890851781605,0.07703348259858253,0.3953553390593274,186171.04920017958,0.040759629650796075,5.737963569877837,4.750493147074372,0.13765165042944957,0.2045889649925776,259774.12644982192,0.026301902961143722,6.195365033459589,4.622890851781605,0.3140900974233027,0.07574165738677395,346273.1299638117,0.019060660171779823,6.094157369020849,4.442232701251335,0.5971182982939793,0.0074449489742783185,454150.6929310043,0.01969558249578132,6.493950489698852,4.442232701251335,0.009728868986855665,1.0048028361767012,0.0,0.2003149803149705,7.2893583197390805,5.564721472419586,0.03505512155511984,0.6847420675429559,0.0,0.18612372435695795,7.16477397286058,5.622417851676328,0.06979639663385924,0.37870828693386976,190242.9390587302,0.040917792998515515,7.119150775457958,5.712765707268959,0.1562054704503311,0.19968501968502955,239516.5901705864,0.023859619407771256,7.16477397286058,5.583225993571779,0.28590990257669735,0.12018898818898228,346273.1299638117,0.019968501968502955,6.959554117499472,5.546844774281648,0.5990550590550886,0.012275337899554654,437463.6344004223,0.019968501968502955,7.211767033542473,5.712765707268959 -40,1,48,14,890625,171875,546875,0.14230249470757708,0.875,4.39444872453601,34,14,14,30,3,5,14,9,18,20,0.017123287671232876,0.09931506849315068,0.0514018691588785,0.1542056074766355,0.1261682242990654,0.21575342465753425,0.09246575342465753,0.11301369863013698,0.08561643835616438,0.14485981308411214,0.21575342465753425,0.22897196261682243,0.16095890410958905,0.29439252336448596,0.80859375,3.71875,17.734375,0.38671875,0.009810092587300983,0.9637377439199099,0.0,0.19274754878398198,3.254778191575989,2.7697156036506394,0.03742834823753237,1.8612372435695794,0.0,0.20725245121601807,3.167406907593266,2.6294389976348556,0.07899219619989943,1.2496437636026487,0.0,0.004019211344706805,3.3066380512266433,2.496096829006922,0.1590707293871843,0.866605629814378,456749.9165509957,0.004091779299851552,3.502612005104014,2.8032328858076765,0.3181414587743686,0.4705278064146926,629089.8080130098,0.0018353553390593276,3.422246215847947,2.6602400615695743,0.6009449409449115,0.04393070433070651,942225.1850503753,0.0020304417504218683,3.113370319768882,2.6111101215519175,0.010015749015748525,0.9176776695296637,0.0,0.20232233047033632,4.060453714523384,2.7842778269909036,0.036447943105077256,1.9620185174601965,0.0,0.19837117307087385,3.869918143989321,2.7029200646244504,0.07810273522516555,1.1942365965879587,0.0,0.19892372836809172,3.887654175158966,2.8807795770733517,0.1562054704503311,0.8522494813255684,426712.9779518368,0.18564048325705132,3.7821658863103425,2.7991123582732502,0.3159687847995977,0.4348908729652602,676991.6056147644,0.09720187480472818,3.6803663533962654,2.971075398312137,0.588605555238059,0.044211324791774864,923232.6718836612,0.09784565964566447,3.733593871959942,2.7287981300131943,0.0096373774391991,1.0604715292478952,0.0,0.19274754878398198,4.210335349462018,3.045336172486958,0.03566467594444657,1.9060660171779822,0.0,0.19369306393762917,4.417631374365148,3.2745079795130425,0.07642430559524263,1.1012132034355966,0.0,0.18007832252269354,4.229631529953251,3.111825296404928,0.15023623523622787,0.606966991411009,207250.2875382044,0.18393359705301618,3.987970564974013,3.123230159395084,0.2818585412256314,0.3056972223809705,243121.29715896424,0.08871668384881551,3.7456139916348534,3.0115100429970507,0.5810791918128875,0.029855914914698967,257222.25030316916,0.08902182540694797,3.987970564974013,3.328122461383807,0.009306186217847899,1.0413698030022072,0.0,0.19274754878398198,4.4022449643656305,3.394405377044535,0.036643844699385315,1.6967544467966325,0.0,0.21209430584957908,4.5904293608259605,3.2640331625962045,0.07412912607362389,0.9521816307401945,0.0,0.23802981788236363,4.118046658221416,3.5400944999792574,0.14201560760020115,0.4792440472440709,1.4174720654445968e6,0.244604846686296,4.8568838537785854,3.583673629614086,0.3208144134645631,0.22722497216032184,8.88821904877515e6,0.11423437847553165,4.118046658221416,3.5683125405913483,0.6281801948466054,0.02465071443154641,5.009195722461162e7,0.10898530260724416,4.3018197023800315,3.5024121041547702,0.01008144134645631,0.9467707173346743,0.0,0.21646446609406728,5.737963569877837,4.923947342218395,0.03626917896280316,0.6485912657903775,0.0,0.19968501968502955,6.195365033459589,4.7659014317467046,0.07488188238188608,0.4060883500843737,191458.1725062018,0.04241886116991581,6.024279838040949,4.882944362655171,0.14593303480283495,0.21387627564304207,252856.5575242229,0.027221141776686233,6.024279838040949,5.1663780813766484,0.2840312152004023,0.08375735931288072,359237.09724968683,0.01976776695296637,6.259600077814652,4.946514042673007,0.6137668949777327,0.008290098048640723,439794.42477862805,0.020232233047033633,5.876165118732509,4.663893831344829,0.009176776695296637,0.9770551750371123,0.0,0.19457737973711328,7.586091464320844,5.411051518281698,0.0361037138109149,0.7215482203135576,0.0,0.20725245121601807,7.379091486797894,5.4738160196441585,0.07327913812778342,0.4187867965644036,184534.31217278077,0.042775255128608414,6.894105566586728,5.546844774281648,0.15122162019684465,0.19369306393762917,265479.28251927876,0.025295059365824723,6.959554117499472,5.432949719240034,0.3159687847995977,0.12378416163742251,359237.09724968683,0.019369306393762917,6.564614460469395,5.712765707268959,0.5810791918128875,0.012832576538582524,452625.91666544095,0.019369306393762917,7.017657484260921,5.082211602648832 -15,26,23,4,390625,671875,46875,0.242717803813052,3.392282577584547,1.2917960675006306,12,38,38,9,11,13,6,21,6,8,0.1267123287671233,0.2089041095890411,0.20093457943925233,0.004672897196261682,0.2757009345794392,0.10616438356164383,0.20205479452054795,0.003424657534246575,0.1952054794520548,0.29439252336448596,0.10616438356164383,0.0794392523364486,0.05136986301369863,0.14485981308411214,0.93359375,4.71875,10.234375,0.26171875,0.010413698030022072,1.0229448249628879,0.0,0.2045889649925776,3.450983445115174,2.5775772512054456,0.034831900733815466,2.0096056723534024,0.0,0.19541103500742246,3.384331260773357,2.468371385976971,0.07412912607362389,1.177211110476118,0.0,0.0037224744871391592,3.523562404406734,2.6494441563047255,0.1487783798031554,0.9213309524416881,430275.4850092162,0.0038549509756796397,3.294563451530929,2.5859376556564992,0.2975567596063108,0.4378867520822516,667012.7379378732,0.002003149803149705,3.2241698346921157,2.5083413290884344,0.5506066017177983,0.047622182540694814,1.0040376923918492e6,0.0019060660171779822,3.3615524707344355,2.433394407764258,0.009176776695296637,1.0015749015748523,0.0,0.18935414346693488,3.745703830957665,2.959591024476506,0.034335324055553444,2.0827396060044143,0.0,0.21209430584957908,3.6498944079461664,2.918383195131922,0.07357569440475738,1.2832576538582523,0.0,0.18710803370992252,3.6655321645721797,3.080069221986806,0.14715138880951475,0.9038595291567019,452436.18337461905,0.19688982865521715,3.5247465210368913,2.971075398312137,0.29651650429449555,0.4634208843727434,636779.5798111557,0.10392620986629374,3.906815710764537,2.7991123582732502,0.6248218818013244,0.04094721935853076,979141.2801013748,0.10606758838609297,4.011904279503447,2.9280877749266487,0.010229448249628879,0.9918558653543692,0.0,0.2045889649925776,3.9709572336685306,3.232425934930185,0.03355205689492276,2.0304417504218684,0.0,0.20542262026288677,4.0751945290085905,3.087418217069815,0.07189726477483448,1.201889881889823,0.0,0.1693820094637193,3.987970564974013,3.3083341090029497,0.13765165042944957,0.5680624304008046,221444.11734353675,0.1711739121776074,4.229631529953251,3.328122461383807,0.3024432403936893,0.2875890590993379,229230.5062325289,0.08267850542618521,4.08805083699141,3.208018855595072,0.6162678607886602,0.03208144134645631,242334.46921457583,0.08331582312545133,4.229631529953251,3.123230159395084,0.010048028361767013,0.9810092587300983,0.0,0.2045889649925776,4.67311080961997,3.60009778765355,0.03446726936761731,1.5869693845669908,0.0,0.19837117307087385,4.324739641736421,3.5024121041547702,0.07899219619989943,1.0180526680779796,0.0,0.22337576656851998,4.49453257209877,3.3303948215237402,0.15174174785275224,0.5195147186257615,1.5155314611878074e6,0.22564407224408337,4.480397939901231,3.3799242914086522,0.29855914914698967,0.24278679656440358,8.271633085236975e6,0.12144817100367705,4.49453257209877,3.3645632023859147,0.5908674748734396,0.0232431676725155,4.7229941790200435e7,0.11694471961889319,4.57268554763437,3.2640331625962045,0.009395284707521049,1.0116116523516816,0.0,0.19968501968502955,6.195365033459589,4.643996901406786,0.03419693112629893,0.6876897868745695,0.0,0.21646446609406728,5.737963569877837,5.1663780813766484,0.08117417478527522,0.38121320343559645,177322.88784644997,0.039674234614174776,6.389336012665805,4.600324151326993,0.15473020204677815,0.1990394327646598,270348.9383936523,0.02560425724451571,6.389336012665805,4.7659014317467046,0.3034834957055045,0.07878232998312527,337121.04933700553,0.021064585653306517,5.876165118732509,4.663893831344829,0.5782426463519459,0.007816441400296898,466813.1280663163,0.018935414346693488,6.259600077814652,4.946514042673007,0.010015749015748525,1.0362622560800903,0.0,0.20630693606237088,7.095248770457529,5.738947602306292,0.034051041453994825,0.6656167322834318,0.0,0.19541103500742246,6.959554117499472,5.832913078678983,0.07771966920600677,0.3939116499156264,195709.2379268093,0.03980788655293196,7.317643888682026,5.082211602648832,0.1409292706128157,0.20542262026288677,250091.40211441676,0.02681990168810821,7.379091486797894,5.767233824245157,0.29651650429449555,0.11674642784226795,337121.04933700553,0.020542262026288678,7.16477397286058,5.387967092082539,0.6162678607886602,0.011942365965879586,483938.1555221613,0.020542262026288678,7.449447114680473,5.546844774281648 -22,8,4,7,265625,796875,671875,0.11937336386313323,0.39389486913809435,3.41742430504416,28,31,10,14,9,15,4,24,15,17,0.11153846153846154,0.1423076923076923,0.015151515151515152,0.045454545454545456,0.25757575757575757,0.21153846153846154,0.07307692307692308,0.21923076923076923,0.0038461538461538464,0.19696969696969696,0.21153846153846154,0.20707070707070707,0.026923076923076925,0.2777777777777778,0.83984375,3.46875,15.859375,0.29296875,0.00995197163823299,1.0081441346456308,0.0,0.20162882692912618,3.188357306895986,2.6111101215519175,0.034335324055553444,1.9172603939955857,0.0,0.20379814825398038,3.6208927494346717,2.6716920249115663,0.06882582521472479,1.1942365965879587,0.0,0.004241886116991582,3.450983445115174,2.6971651566999215,0.15543933841201354,0.9038595291567019,436498.3699523655,0.0037581138830084194,3.3402158469466214,2.711661968023029,0.3108786768240271,0.4435834192440776,681040.939209679,0.0019060660171779822,3.281951422475478,2.4521519471920596,0.6319375695991954,0.04333028149071891,874817.0838380235,0.002003149803149705,3.547791229223689,2.5775772512054456,0.009883883476483186,0.9530330085889911,0.0,0.20542262026288677,3.6945094290877174,3.00975499372675,0.034831900733815466,2.138762756430421,0.0,0.19541103500742246,3.9513078799591783,3.080069221986806,0.07463978728674742,1.2097729615747572,0.0,0.2056412427893639,3.8228581486037347,2.918383195131922,0.15344172374443318,0.866605629814378,461951.5426504383,0.2014895905571001,3.6155703268410346,2.8492763275234942,0.27530330085889915,0.4406929566929351,626230.718959226,0.0912006249349094,3.6155703268410346,2.8492763275234942,0.5971182982939793,0.04483559261587569,998067.8845223241,0.10260276515827887,3.5247465210368913,2.971075398312137,0.010413698030022072,1.0048028361767012,0.0,0.18790569415042097,4.298884530526613,3.0999128134216334,0.032571651762467645,1.9457737973711327,0.0,0.18935414346693488,3.8643608354733883,3.219931338578367,0.06979639663385924,1.1436396103067894,0.0,0.16657603498636106,4.159135723334216,3.4200542254009836,0.15228313128164014,0.6493933982822018,218557.55036076627,0.161598896969362,4.159135723334216,3.074246788607696,0.28912132317597294,0.3108786768240271,224907.7544052168,0.0941055612829385,4.298884530526613,3.259569208477031,0.606966991411009,0.031241094090066215,261855.26099681252,0.09524436508138959,4.048381398296987,2.899789926599017,0.010604715292478953,0.9637377439199099,0.0,0.20162882692912618,4.5904293608259605,3.684203669403796,0.03594895854600519,1.6580196097281443,0.0,0.18612372435695795,4.4022449643656305,3.457432794389492,0.07511811761811393,0.9646107227296331,0.0,0.207395153313704,4.435358369507079,3.233079292215077,0.15406696519716506,0.4726939798987516,1.4359747230522372e6,0.23661454005888802,4.419162107325022,3.3109495261949,0.3024432403936893,0.23962202362203544,8.153709572745979e6,0.11914511975247433,4.435358369507079,3.514458671275167,0.6493933982822018,0.022722497216032183,4.9257068203034304e7,0.12404823987296441,4.38450115117404,3.457432794389492,0.0096373774391991,1.0823223304703364,0.0,0.18935414346693488,6.282844136769962,4.846074713404927,0.03566467594444657,0.6353553390593274,0.0,0.20232233047033632,6.115537223033512,4.9976122307299455,0.07100780380010058,0.41261387212474177,188991.21751375103,0.039082207001484494,6.282844136769962,4.970894504689864,0.14295495128834868,0.20162882692912618,237245.1777440126,0.02518009831189179,6.115537223033512,4.519333422605723,0.2995275295275443,0.08658578643762692,331833.79078827717,0.020630693606237087,6.360186953215491,4.864069864043935,0.6248218818013244,0.007934846922834953,447676.1498318637,0.019369306393762917,6.1754623894357294,4.864069864043935,0.010152208752109343,0.9586301969977928,0.0,0.21064585653306517,7.187865028542044,5.873021529427319,0.0355327306323827,0.697977994274006,0.0,0.19837117307087385,7.2623905530967745,5.712765707268959,0.0743891899015777,0.38738612787525833,199492.25821514055,0.03924037034920393,6.720924339679158,5.622417851676328,0.14456066158798647,0.18935414346693488,253708.36397919877,0.025698097038856282,7.2623905530967745,5.511524079580415,0.3094604040935563,0.1218265050253121,341618.73985250917,0.01969558249578132,6.817529157808182,5.832913078678983,0.6281801948466054,0.011274341649025257,472890.4369552434,0.02093933982822018,7.317643888682026,5.4738160196441585 -47,33,29,17,765625,296875,171875,0.20763523399044415,2.625,0.719890110719482,7,10,31,35,1,7,12,12,3,5,0.23461538461538461,0.019230769230769232,0.26119402985074625,0.30597014925373134,0.1417910447761194,0.08846153846153847,0.19615384615384615,0.09615384615384616,0.12692307692307692,0.05223880597014925,0.08846153846153847,0.06716417910447761,0.15,0.17164179104477612,0.96484375,4.46875,23.359375,0.41796875,0.010693813782152103,0.9395284707521048,0.0,0.18790569415042097,3.3964058604690712,2.433394407764258,0.036447943105077256,2.0379814825398035,0.0,0.1917260393995586,3.3402158469466214,2.519793292430426,0.07511811761811393,1.2832576538582523,0.0,0.003967423461417477,3.254778191575989,2.5408303404023624,0.14655827625556683,0.8522494813255684,469035.93118683016,0.004032576538582524,3.6208927494346717,2.5505943563651448,0.29311655251113367,0.41339252713092617,639113.3817347616,0.0020304417504218683,3.4838866971656266,2.620091050238382,0.5930330085889911,0.04606654762208441,954795.854507545,0.0018353553390593276,3.3182385785066444,2.7697156036506394,0.010532292826653258,1.0152208752109342,0.0,0.19369306393762917,3.927814191370153,2.8377919536878635,0.03742834823753237,1.9903943276465978,0.0,0.20725245121601807,3.7080498337830785,2.8807795770733517,0.08020360336614077,1.1274341649025257,0.0,0.18970076870077807,3.596408791235463,2.7029200646244504,0.14456066158798647,0.9213309524416881,433511.9896955464,0.18845261441733016,3.8376923374278205,3.0245895250090964,0.30047247047245573,0.4037781745930521,664153.6488840894,0.09847067794531672,3.8376923374278205,3.0245895250090964,0.6416288269291262,0.0421797286679029,938784.5327151483,0.09650835422932846,3.7821658863103425,2.7991123582732502,0.009810092587300983,0.9306186217847897,0.0,0.20162882692912618,4.034228299374266,3.2906474297864454,0.03516809926618455,2.0630693606237087,0.0,0.20232233047033632,4.129017066625734,3.0291967222135545,0.07536021271325259,1.2182650502531212,0.0,0.1766634534260826,3.91276675667495,3.154945509746097,0.14295495128834868,0.5990550590550886,236922.84741386306,0.1734007911590485,3.91276675667495,3.259569208477031,0.30688344748886637,0.29311655251113367,239069.16357992482,0.08757735041645029,4.034228299374266,3.074246788607696,0.5680624304008046,0.029430277761902948,246677.4384512425,0.08786140866141298,4.328444648453908,3.1648986422539034,0.009918558653543694,1.0229448249628879,0.0,0.18790569415042097,4.324739641736421,3.4458247278452308,0.033896286189085106,1.5632882800593795,0.0,0.20096056723534025,4.67311080961997,3.715157539784924,0.06882582521472479,0.8933938769133981,0.0,0.22635592775591665,4.726329812562453,3.4908040376105087,0.14526979795322187,0.5025441558772843,1.3299572508866438e6,0.2225600822023289,4.698227998135754,3.5269975388779446,0.2818585412256314,0.25975735931288074,8.655399381754253e6,0.11234197708382493,4.726329812562453,3.2891935848219225,0.5990550590550886,0.024278679656440358,4.633929542496347e7,0.11544287100350269,4.65019087026358,3.715157539784924,0.010229448249628879,0.9984250984251477,0.0,0.20232233047033632,5.910675994005833,4.549225963270055,0.03355205689492276,0.6768139168072895,0.0,0.18935414346693488,6.538604385593562,4.700763480595073,0.07587087392637612,0.38915475947422656,202065.45371350241,0.041450490243203617,5.910675994005833,4.6827683299560645,0.15228313128164014,0.18790569415042097,256157.16458503995,0.026704940634175278,6.538604385593562,4.828846380083242,0.3246966991411009,0.07987400787401182,351837.46821950556,0.01945773797371133,5.998579280052453,4.575943689310137,0.588605555238059,0.008483772233983163,475221.2273334492,0.020542262026288678,5.6581728684441694,4.575943689310137,0.009530330085889912,1.0189907412699017,0.0,0.1976776695296637,6.657187664685844,5.493019558428221,0.03335615530061469,0.656519416526044,0.0,0.21209430584957908,6.817529157808182,5.387967092082539,0.07953536469359215,0.41084524052577354,187642.79395526578,0.04165479212008829,7.211767033542473,5.278013811146495,0.15344172374443318,0.20232233047033632,272620.35082022613,0.02738396134929847,6.817529157808182,5.922365366923927,0.2918660696056699,0.11436396103067893,313002.94023200625,0.02093933982822018,7.2623905530967745,5.4738160196441585,0.5908674748734396,0.01209772961574757,445871.73366755515,0.01969558249578132,6.894105566586728,5.832913078678983 -34,20,17,2,515625,46875,921875,0.16204620338678605,4.375,1.9172374697017807,17,19,19,4,5,11,8,18,9,23,0.09848484848484848,0.1590909090909091,0.1144578313253012,0.15060240963855423,0.21084337349397592,0.05303030303030303,0.022727272727272728,0.06818181818181818,0.12878787878787878,0.13855421686746988,0.29545454545454547,0.3433734939759036,0.17424242424242425,0.04216867469879518,0.90234375,4.96875,12.109375,0.35546875,0.0096373774391991,1.0413698030022072,0.0,0.20827396060044145,3.523562404406734,2.6971651566999215,0.03288349647632367,2.1209430584957905,0.0,0.21209430584957908,3.4361911204240116,2.5940956983435015,0.07736510102338907,1.2275337899554655,0.0,0.004075962965079607,3.350753465053379,2.433394407764258,0.15072042542650518,0.9524436508138961,448668.63057779835,0.003924037034920393,3.4361911204240116,2.4521519471920596,0.27918558653543696,0.45820271332097123,616251.8512823349,0.0021064585653306515,3.372730733493356,2.711661968023029,0.5718198051533947,0.044510912703474,983356.3470828623,0.0020630693606237087,3.2070826148343734,2.496096829006922,0.010152208752109343,1.0532292826653258,0.0,0.19968501968502955,3.7951746682169216,2.7029200646244504,0.03373082103719685,2.0458896499257757,0.0,0.18612372435695795,3.5754103106298474,2.7842778269909036,0.07672086187221659,1.2496437636026487,0.0,0.19515148924974243,3.721058615689658,2.8377919536878635,0.14927957457349483,0.8331582312545135,445280.86823393346,0.18213973742958064,3.733593871959942,2.9280877749266487,0.2918660696056699,0.45387525933721595,699853.1360671913,0.095751407153637,4.011904279503447,2.7287981300131943,0.5782426463519459,0.043641658075592255,964363.8339161482,0.0991379419304648,3.906815710764537,3.10594728737555,0.009395284707521049,1.0362622560800903,0.0,0.19620185174601967,3.88992114550456,3.1856569068566456,0.03419693112629893,1.8353553390593274,0.0,0.2093933982822018,4.019496813483939,3.134187245143355,0.07327913812778342,1.1860660171779822,0.0,0.18615944084089786,4.328444648453908,3.0602749435229692,0.14825825214724778,0.6162678607886602,211999.28588961266,0.1791156061163796,4.328444648453908,3.1648986422539034,0.29855914914698967,0.30144085085301037,232702.95059462628,0.09001914459673412,3.88992114550456,2.899789926599017,0.6281801948466054,0.030244324039368924,236246.98182477173,0.09038595291567017,4.159135723334216,3.259569208477031,0.00958630196997793,1.0693813782152104,0.0,0.20827396060044145,4.798811780154152,3.3303948215237402,0.03494487844488017,1.6076845378827218,0.0,0.19541103500742246,4.524011777262454,3.3481390443464507,0.07296651740141748,0.9948117658368866,0.0,0.23312683775047907,4.276702513864247,3.60009778765355,0.16234834957055044,0.48557359312880716,1.4809337241186006e6,0.22862423343148003,4.248600699437548,3.4337781607248337,0.2943027776190295,0.2465071443154641,8.379242507872562e6,0.12554939033455903,4.276702513864247,3.4212392931220563,0.5810791918128875,0.023634698994937583,4.794539344533575e7,0.11179357829470955,4.176118731845849,3.3481390443464507,0.00995197163823299,0.9684653196881458,0.0,0.1969558249578132,6.538604385593562,4.7179918139167585,0.03471495528740293,0.7021528551102172,0.0,0.1969558249578132,6.282844136769962,4.519333422605723,0.07385843435917995,0.400629960629941,182660.298138511,0.04019211344706805,6.115537223033512,4.812294464845993,0.15798439239979886,0.19620185174601967,249083.376628361,0.028140380592228745,5.910675994005833,4.700763480595073,0.29053959590644374,0.08216904810515471,341618.73985250917,0.018353553390593275,6.1754623894357294,5.0620750495366975,0.6048864807873786,0.007669041575982343,460058.94506843056,0.019968501968502955,6.360186953215491,4.734543729154006,0.009883883476483186,0.9918558653543692,0.0,0.20304417504218686,6.989371915317976,5.643295832759966,0.03459359216769115,0.6311804782231162,0.0,0.1917260393995586,7.07044385514697,5.546844774281648,0.07642430559524263,0.3993700393700591,180400.55700181713,0.04032576538582524,7.449447114680473,5.4738160196441585,0.16040720673228154,0.2093933982822018,245688.32710051586,0.02639574275548429,7.5342839961642,5.337297949693708,0.30047247047245573,0.11860660171779822,331833.79078827717,0.020232233047033633,7.5342839961642,5.278013811146495,0.5680624304008046,0.012496437636026488,424680.7640753084,0.018935414346693488,7.649828139314158,5.278013811146495 -9,45,42,12,15625,546875,421875,0.047434164902525694,1.3972662922462575,5.76393202250021,42,47,47,24,13,3,0,6,21,11,0.1388888888888889,0.16358024691358025,0.2217391304347826,0.24782608695652175,0.013043478260869565,0.12037037037037036,0.10802469135802469,0.12654320987654322,0.15123456790123457,0.2391304347826087,0.021604938271604937,0.10869565217391304,0.1697530864197531,0.16956521739130434,0.77734375,3.96875,19.609375,0.48046875,0.010229448249628879,0.9810092587300983,0.0,0.19620185174601967,3.3066380512266433,2.5408303404023624,0.03528504471259709,1.9837117307087384,0.0,0.19837117307087385,3.2399858668848265,2.376800468192324,0.07296651740141748,1.1564852927038918,0.0,0.0038345207879911716,3.070076562565329,2.6111101215519175,0.13959279326771848,0.8786140866141301,422700.1136804912,0.004165479212008829,3.2399858668848265,2.620091050238382,0.30144085085301037,0.4316440738412433,656463.8770859436,0.001976776695296637,3.1431780827763114,2.5505943563651448,0.6091325251265606,0.04165791156272568,927447.7388651486,0.0019457737973711327,3.4090178895245224,2.6494441563047255,0.009530330085889912,0.9883883476483185,0.0,0.21646446609406728,3.5519166220408223,2.918383195131922,0.03580306887370108,1.9274754878398197,0.0,0.20096056723534025,3.8087150729122827,2.959591024476506,0.07228033079399324,1.177211110476118,0.0,0.1840084107407477,3.978477980963109,3.00975499372675,0.16040720673228154,0.89021825406948,418004.96412362694,0.19360824084128134,4.011904279503447,2.7287981300131943,0.3094604040935563,0.42807023542164924,645603.3628700823,0.10155370109584884,3.733593871959942,2.9280877749266487,0.6137668949777327,0.04666074728690741,902551.3265746741,0.09278353029879809,3.6803663533962654,2.8904841568680784,0.01008144134645631,0.9770551750371123,0.0,0.20827396060044145,4.143748552516062,2.9688367557600963,0.03626917896280316,2.0031498031497046,0.0,0.1969558249578132,4.273324220495441,3.351007396239904,0.07771966920600677,1.263875139198391,0.0,0.17172911692912537,4.048381398296987,3.245597363392304,0.15798439239979886,0.5810791918128875,224837.4201738497,0.16873359250157688,4.048381398296987,2.899789926599017,0.3208144134645631,0.27918558653543696,248801.12372921576,0.08480892146495206,4.143748552516062,3.1648986422539034,0.5908674748734396,0.028185854122563143,253500.5765857394,0.08522494813255682,3.91276675667495,3.074246788607696,0.010189907412699019,0.9951971638232989,0.0,0.19620185174601967,4.465912695526794,3.5400944999792574,0.037881281566461776,1.4889897948556636,0.0,0.20725245121601807,4.216101369522883,3.5538314549554655,0.07736510102338907,0.9379729680356277,0.0,0.21987243910293797,4.555768404674979,3.394405377044535,0.14976376476377215,0.4544499443206437,1.396320237031995e6,0.21397018211763638,4.539572142492922,3.659043247178078,0.3124109409006622,0.23243167672515497,7.808939841969905e6,0.11581731141731715,4.555768404674979,3.6372873058051005,0.6162678607886602,0.025127207793864216,5.126221105644365e7,0.11866159969569501,4.509017816473206,3.5538314549554655,0.010693813782152103,1.0271131013144337,0.0,0.2093933982822018,6.115537223033512,5.027504771394277,0.03711650352367634,0.658925565098879,0.0,0.2093933982822018,5.910675994005833,4.828846380083242,0.07852252435582567,0.3670710678118655,194161.5788691571,0.037224744871391595,6.538604385593562,4.484763144463303,0.14825825214724778,0.20827396060044145,264177.20146372286,0.02595905255905384,6.282844136769962,4.9976122307299455,0.3081339303943301,0.07747722557505167,313002.94023200625,0.02003149803149705,5.6581728684441694,4.734543729154006,0.5637170824512628,0.008151925930159214,428746.7062117102,0.02164644660940673,5.998579280052453,5.0620750495366975,0.010532292826653258,1.0604715292478952,0.0,0.19060660171779822,7.412910237413274,5.309011727754844,0.036863024893286404,0.6744077682344545,0.0,0.20379814825398038,7.5342839961642,5.082211602648832,0.07189726477483448,0.43292893218813455,192755.544940731,0.037581138830084196,7.017657484260921,5.832913078678983,0.14927957457349483,0.1969558249578132,260782.15193587772,0.024778858223313768,7.07044385514697,5.665194033718302,0.27530330085889915,0.1263875139198391,351837.46821950556,0.018935414346693488,7.07044385514697,5.622417851676328,0.606966991411009,0.011772111104761179,458534.1688028672,0.020232233047033633,7.119150775457958,5.622417851676328 -12,4,14,18,703125,734375,734375,0.13133925536563698,0.16603153358167777,1.5968757625671515,47,52,28,1,2,14,15,22,16,21,0.09615384615384616,0.0038461538461538464,0.15333333333333332,0.08666666666666667,0.15333333333333332,0.04230769230769231,0.18076923076923077,0.11153846153846154,0.1423076923076923,0.12666666666666668,0.19615384615384615,0.14,0.22692307692307692,0.34,0.85546875,4.84375,24.296875,0.27734375,0.009728868986855665,1.0532292826653258,0.0,0.21064585653306517,3.372730733493356,2.559942303761619,0.03505512155511984,2.164644660940673,0.0,0.2093933982822018,3.113370319768882,2.6494441563047255,0.07357569440475738,1.1012132034355966,0.0,0.0039391164991562635,3.281951422475478,2.6716920249115663,0.1477168687183599,0.9119107853504795,433511.9896955464,0.00400629960629941,3.3615524707344355,2.4828681973000792,0.2995275295275443,0.41933452377915614,651887.9028698251,0.002045889649925776,3.450983445115174,2.746638946235742,0.5637170824512628,0.04299042770163295,961058.268325434,0.0019620185174601965,3.3402158469466214,2.6294389976348556,0.009395284707521049,0.9395284707521048,0.0,0.19541103500742246,3.6655321645721797,2.8998594788296135,0.03211871843353824,1.9060660171779822,0.0,0.20542262026288677,3.7821658863103425,3.143533424904846,0.07511811761811393,1.1012132034355966,0.0,0.19360824084128134,4.060453714523384,2.9381589501242287,0.13765165042944957,0.8967118523175137,456749.9165509957,0.19515148924974243,3.442770787476616,2.768021164485463,0.3208144134645631,0.4240446073247604,685723.9332127507,0.09490960132943829,3.7080498337830785,2.8256854714815587,0.6009449409449115,0.0451929764578351,945530.7506410894,0.10392620986629374,3.442770787476616,2.6653339270951544,0.009728868986855665,1.0116116523516816,0.0,0.2003149803149705,4.114863967703013,3.1648986422539034,0.03594895854600519,2.0162882692912616,0.0,0.21209430584957908,3.798434075898996,3.1966139926049157,0.07385843435917995,1.1564852927038918,0.0,0.1680534901063833,4.0751945290085905,3.2745079795130425,0.14927957457349483,0.5862331050222673,223059.41687917977,0.18115543661843603,3.9529100165379827,3.045336172486958,0.29651650429449555,0.2995275295275443,237337.9284035754,0.08561404708432982,4.062019317918444,2.9688367557600963,0.6217573536480542,0.030946040409355627,255280.04219189766,0.09332149457381478,4.0751945290085905,3.045336172486958,0.010271131013144339,1.0015749015748523,0.0,0.19060660171779822,4.365796155869071,3.4686470214354186,0.03516809926618455,1.5148331477354788,0.0,0.20542262026288677,4.726329812562453,3.5269975388779446,0.07672086187221659,0.9711471862576143,0.0,0.21233343438997568,4.67311080961997,3.6372873058051005,0.15072042542650518,0.5090263340389898,1.3530403872979744e6,0.2341952698741004,4.3018197023800315,3.4081423320207436,0.2918660696056699,0.2545131670194949,8.215041254802193e6,0.11655712899649735,4.216101369522883,3.3303948215237402,0.5951135192126216,0.024870294145922168,4.681471614227066e7,0.106450609665441,4.8568838537785854,3.3109495261949,0.010015749015748525,1.0604715292478952,0.0,0.1917260393995586,6.15604148456427,4.750493147074372,0.03494487844488017,0.6540061724867322,0.0,0.21209430584957908,6.455338755267491,4.575943689310137,0.07189726477483448,0.37581138830084193,190242.9390587302,0.037870828693386975,6.455338755267491,4.643996901406786,0.14927957457349483,0.21064585653306517,275919.42355106835,0.024924385121942616,6.2373465049791506,4.7963450469256275,0.29311655251113367,0.08483772233983163,364746.2793578374,0.01990394327646598,6.4208278799941665,4.9976122307299455,0.6319375695991954,0.008092893218813454,443969.5723047655,0.020379814825398038,5.792899488406437,4.7659014317467046,0.010693813782152103,0.9847791247890659,0.0,0.19274754878398198,7.742401343530607,5.688278459917461,0.03528504471259709,0.6793271608466012,0.0,0.19968501968502955,7.211767033542473,5.203224022572681,0.07703348259858253,0.3834520787991172,182660.298138511,0.03953553390593274,7.5342839961642,5.665194033718302,0.15023623523622787,0.20096056723534025,268502.6524527451,0.024427740239554723,7.211767033542473,5.387967092082539,0.30688344748886637,0.11564852927038918,328713.1827170839,0.020096056723534025,7.649828139314158,5.922365366923927,0.611394444761941,0.011674642784226795,455623.73645389144,0.018612372435695797,7.5342839961642,5.432949719240034 -37,29,39,8,203125,234375,234375,0.223147869255303,2.287980793757309,5.0,19,22,7,22,10,6,7,10,4,9,0.21923076923076923,0.12692307692307692,0.19784172661870503,0.1618705035971223,0.19784172661870503,0.16538461538461538,0.057692307692307696,0.23461538461538461,0.019230769230769232,0.18345323741007194,0.07307692307692308,0.1906474820143885,0.10384615384615385,0.0683453237410072,0.98046875,3.84375,16.796875,0.40234375,0.010315346803118543,0.9883883476483185,0.0,0.1976776695296637,3.1431780827763114,2.7278814068079407,0.03211871843353824,1.9968501968502954,0.0,0.1969558249578132,3.3615524707344355,2.496096829006922,0.07810273522516555,1.201889881889823,0.0,0.004187867965644036,3.4838866971656266,2.519793292430426,0.15704504871165134,0.8598085540326589,461951.5426504383,0.003670710678118655,3.113370319768882,2.639203013597638,0.3246966991411009,0.4466971850928111,607519.5236843486,0.0019274754878398199,3.254778191575989,2.568923232448083,0.6048864807873786,0.045595539267523987,895647.3326711867,0.0020827396060044143,3.6208927494346717,2.468371385976971,0.01008144134645631,1.0081441346456308,0.0,0.20725245121601807,3.887654175158966,3.143533424904846,0.03505512155511984,2.0304417504218684,0.0,0.19369306393762917,3.5247465210368913,2.8998594788296135,0.06882582521472479,1.201889881889823,0.0,0.18213973742958064,3.745703830957665,2.749832754877505,0.15023623523622787,0.8435945733580579,430275.4850092162,0.1840084107407477,3.7575206710423354,2.948641698540831,0.29855914914698967,0.45009572298367073,641355.5540272741,0.1006570839288145,3.9513078799591783,2.996024063459644,0.5506066017177983,0.042612474066278425,1.0109416862953367e6,0.09720187480472818,3.7575206710423354,2.9090078731703866,0.010315346803118543,0.9467707173346743,0.0,0.18353553390593275,3.834800717546093,2.899789926599017,0.033896286189085106,1.8790569415042095,0.0,0.19837117307087385,4.101226048081557,2.991721690616193,0.07852252435582567,1.2275337899554655,0.0,0.1782371080457755,4.417631374365148,3.087418217069815,0.16040720673228154,0.6217573536480542,209846.35491252516,0.17000279579551075,4.192288132331471,3.232425934930185,0.3159687847995977,0.3246966991411009,222125.35828646354,0.09077505186744317,4.364811290101005,3.1856569068566456,0.5862331050222673,0.029186606960566987,239642.73448604962,0.08728331615118448,4.417631374365148,3.232425934930185,0.009684653196881459,0.9176776695296637,0.0,0.20304417504218686,4.6289760382585134,3.7601159403350337,0.032571651762467645,1.6185786437626906,0.0,0.19369306393762917,4.435358369507079,3.3109495261949,0.07228033079399324,0.9088998886412873,0.0,0.22784057442991257,4.4022449643656305,3.4212392931220563,0.13959279326771848,0.47609081537009723,1.4457052767182519e6,0.22081446955838735,4.57268554763437,3.6178420104762603,0.3094604040935563,0.23804540768504862,8.753970064952629e6,0.10795176012703561,4.524011777262454,3.5400944999792574,0.6362829175487372,0.023449324200890694,4.964969556114407e7,0.1161826885826829,4.480397939901231,3.5269975388779446,0.009176776695296637,0.9918558653543692,0.0,0.20379814825398038,6.67333100555583,5.104605492748664,0.037881281566461776,0.6942465353348048,0.0,0.19837117307087385,6.071903796185347,4.864069864043935,0.07642430559524263,0.40325765385825235,206228.9714895501,0.040464466094067265,6.071903796185347,4.923947342218395,0.16040720673228154,0.1976776695296637,254531.27027016997,0.026493759273017448,5.837553384301147,4.442232701251335,0.3108786768240271,0.07934846922834955,339443.41104747454,0.021387627564304207,6.048659737230037,4.700763480595073,0.5930330085889911,0.007574165738677394,470733.043537059,0.01917260393995586,6.215966650966487,5.1663780813766484,0.00995197163823299,1.046966991411009,0.0,0.2045889649925776,7.1422418311394225,5.3634798447310414,0.03288349647632367,0.6390867979985286,0.0,0.21646446609406728,6.720924339679158,5.583225993571779,0.07263489897661093,0.40759629650796075,194161.5788691571,0.042129171306613034,7.07044385514697,5.337297949693708,0.13765165042944957,0.18612372435695795,251972.5736502222,0.026211747500786402,6.720924339679158,5.712765707268959,0.28912132317597294,0.12275337899554653,348907.62687142944,0.018612372435695797,7.119150775457958,5.511524079580415,0.5751781181986758,0.012378416163742252,493909.60326840024,0.020096056723534025,7.07044385514697,5.767233824245157 -50,17,1,13,453125,484375,984375,0.17191311542550503,3.8451426339690093,3.0,10,12,42,12,14,10,3,16,10,15,0.025280898876404494,0.13764044943820225,0.08139534883720931,0.3372093023255814,0.08139534883720931,0.16573033707865167,0.17696629213483145,0.12640449438202248,0.14887640449438203,0.4069767441860465,0.09831460674157304,0.05813953488372093,0.12078651685393259,0.03488372093023256,0.91796875,3.34375,20.546875,0.33984375,0.009176776695296637,1.0152208752109342,0.0,0.20304417504218686,3.281951422475478,2.468371385976971,0.0361037138109149,1.9369306393762915,0.0,0.20232233047033632,3.268723096152053,2.7697156036506394,0.07561081009842233,1.2378416163742252,0.0,0.003787082869338697,3.1431780827763114,2.376800468192324,0.14201560760020115,0.8842264958354972,445280.86823393346,0.004126138721247417,3.268723096152053,2.746638946235742,0.3081339303943301,0.4348908729652602,634341.9025040866,0.0019903943276465977,3.070076562565329,2.4828681973000792,0.6248218818013244,0.044211324791774864,935190.7400996472,0.0018790569415042097,3.4361911204240116,2.7278814068079407,0.010413698030022072,1.0413698030022072,0.0,0.20096056723534025,3.769630630040058,2.9831818805184414,0.034051041453994825,1.976776695296637,0.0,0.21646446609406728,3.6803663533962654,2.8128432885403565,0.07296651740141748,1.1674642784226796,0.0,0.2014895905571001,3.6333063580106795,2.8602256534591692,0.15473020204677815,0.933214945738148,442176.97502199584,0.18970076870077807,3.6498944079461664,3.0590345971224955,0.30688344748886637,0.4378867520822516,619871.1149256865,0.09784565964566447,3.8087150729122827,2.6653339270951544,0.6189208081871126,0.04393070433070651,913856.9034228534,0.09986109264445038,3.869918143989321,2.8256854714815587,0.010015749015748525,1.046966991411009,0.0,0.20630693606237088,4.004109642665785,3.074246788607696,0.037881281566461776,2.0827396060044143,0.0,0.1917260393995586,3.987970564974013,3.111825296404928,0.07100780380010058,1.1942365965879587,0.0,0.1728260878223926,3.9529100165379827,2.940682327314452,0.15344172374443318,0.5583711730708739,232139.6567707897,0.16392167747730646,4.0751945290085905,3.3791618246855486,0.28590990257669735,0.29053959590644374,245632.77446514455,0.0807556349186104,4.175274801025988,3.2906474297864454,0.6028817017060207,0.03004724704724557,248532.93037066312,0.08967118523175135,4.192288132331471,3.3791618246855486,0.009984250984251477,0.9728868986855663,0.0,0.1976776695296637,4.118046658221416,3.5683125405913483,0.03419693112629893,1.5756465996625053,0.0,0.21646446609406728,4.276702513864247,3.659043247178078,0.07463978728674742,1.0050883117545686,0.0,0.23534957547849883,4.524011777262454,3.2891935848219225,0.15543933841201354,0.4601424945589406,1.407358618101991e6,0.22708544097593447,4.450918734737546,3.2640331625962045,0.30047247047245573,0.2300712472794703,8.43806120583862e6,0.12020642170529047,4.4022449643656305,3.684203669403796,0.611394444761941,0.02411526806824083,5.231845853987357e7,0.11965802291617511,4.60913435613093,3.4337781607248337,0.010315346803118543,0.9586301969977928,0.0,0.19837117307087385,5.971316920784508,4.882944362655171,0.03594895854600519,0.6720960897637539,0.0,0.1917260393995586,5.837553384301147,5.0620750495366975,0.0743891899015777,0.39240370349203935,184534.31217278077,0.04187867965644036,5.837553384301147,4.380460112623352,0.15344172374443318,0.19060660171779822,261844.78214846912,0.027572259760445278,6.455338755267491,4.946514042673007,0.27918558653543696,0.08151925930159215,328713.1827170839,0.020458896499257757,6.215966650966487,4.828846380083242,0.6091325251265606,0.008375735931288071,457061.12527998,0.021209430584957906,6.048659737230037,4.902841292593214,0.0096373774391991,0.9467707173346743,0.0,0.1990394327646598,6.927924317202108,5.994033949351168,0.034335324055553444,0.6612372435695795,0.0,0.19369306393762917,7.017657484260921,5.432949719240034,0.07488188238188608,0.3967423461417477,202065.45371350241,0.04060883500843737,6.817529157808182,5.511524079580415,0.14593303480283495,0.19541103500742246,258813.06407443597,0.027075614878057385,7.449447114680473,5.082211602648832,0.3208144134645631,0.12832576538582524,364746.2793578374,0.019541103500742247,6.894105566586728,5.337297949693708,0.5951135192126216,0.012018898818898229,468715.28942910593,0.020725245121601808,7.2623905530967745,5.203224022572681 -25,42,26,3,953125,984375,484375,0.07245688373094719,1.1303215590630522,0.4501655647292502,31,34,17,32,6,2,11,4,22,3,0.25,0.10365853658536585,0.1822429906542056,0.2850467289719626,0.1822429906542056,0.16463414634146342,0.18902439024390244,0.07926829268292683,0.12804878048780488,0.014018691588785047,0.018292682926829267,0.17289719626168223,0.06707317073170732,0.16355140186915887,0.79296875,4.34375,13.046875,0.46484375,0.010015749015748525,0.9530330085889911,0.0,0.19060660171779822,3.4838866971656266,2.6294389976348556,0.034051041453994825,2.0542262026288673,0.0,0.18935414346693488,3.4667994773078847,2.5775772512054456,0.07046463530640786,1.1674642784226796,0.0,0.004046446609406727,3.372730733493356,2.5940956983435015,0.15174174785275224,0.8189443871706151,418004.96412362694,0.0038915475947422654,3.4667994773078847,2.568923232448083,0.29053959590644374,0.4634208843727434,673372.3419714128,0.0021387627564304207,3.350753465053379,2.639203013597638,0.588605555238059,0.04094721935853076,992732.1155436699,0.002016288269291262,3.2399858668848265,2.559942303761619,0.009810092587300983,0.9810092587300983,0.0,0.18612372435695795,3.4913202224965527,2.8128432885403565,0.0361037138109149,2.1064585653306516,0.0,0.19968501968502955,3.906815710764537,2.9831818805184414,0.07736510102338907,1.2378416163742252,0.0,0.18845261441733016,3.853330094053834,3.0408461875145374,0.14593303480283495,0.872833161511845,412081.8074195675,0.2056412427893639,3.869918143989321,2.870708401875772,0.28912132317597294,0.4705278064146926,658901.5543930127,0.10606758838609297,3.5754103106298474,2.9090078731703866,0.5837321392113398,0.047622182540694814,971398.2788668763,0.09394575930578371,3.6498944079461664,2.996024063459644,0.009176776695296637,0.9847791247890659,0.0,0.19457737973711328,4.250478609325051,3.259569208477031,0.03494487844488017,1.9620185174601965,0.0,0.20379814825398038,4.229631529953251,3.3083341090029497,0.07587087392637612,1.2832576538582523,0.0,0.16006640294698382,4.192288132331471,3.1750986640621695,0.14456066158798647,0.6028817017060207,217119.5301327462,0.17461799053628066,4.417631374365148,3.144745487937831,0.3045662625632803,0.3081339303943301,231042.65047677557,0.08813859133858701,3.9336138360467494,3.0999128134216334,0.5583711730708739,0.027530330085889912,264837.35931915627,0.08435945733580577,3.9529100165379827,3.144745487937831,0.010823223304703365,1.0315346803118544,0.0,0.21064585653306517,4.49453257209877,3.3645632023859147,0.03626917896280316,1.6751471862576144,0.0,0.19968501968502955,4.555768404674979,3.4337781607248337,0.08020360336614077,0.9453879597975032,0.0,0.22170809247300222,4.216101369522883,3.514458671275167,0.14655827625556683,0.48911555580955285,1.4962319784613661e6,0.2103198085233625,4.7588291424771185,3.5024121041547702,0.27530330085889915,0.24455777790477642,7.9211835119008785e6,0.11333840030430503,4.67311080961997,3.4458247278452308,0.5751781181986758,0.022334846922834956,4.826294408471223e7,0.1128548802475257,4.345954473741487,3.659043247178078,0.009728868986855665,1.0189907412699017,0.0,0.21209430584957908,6.3329245939475465,4.600324151326993,0.033896286189085106,0.6263523138347366,0.0,0.20379814825398038,6.2373465049791506,4.734543729154006,0.07953536469359215,0.4165479212008829,195709.2379268093,0.03939116499156264,6.2373465049791506,4.780936762253296,0.14456066158798647,0.20304417504218686,246893.54105946544,0.0257882524992136,6.071903796185347,4.663893831344829,0.30144085085301037,0.07669041575982344,348907.62687142944,0.0192747548783982,5.792899488406437,4.519333422605723,0.5718198051533947,0.007878232998312527,418775.2584654712,0.019837117307087388,6.4208278799941665,4.622890851781605,0.010229448249628879,1.0116116523516816,0.0,0.21387627564304207,7.347461686500529,5.529400777718352,0.036447943105077256,0.7069810194985969,0.0,0.20542262026288677,7.449447114680473,5.767233824245157,0.08117417478527522,0.42418861169915817,188991.21751375103,0.038121320343559646,7.2623905530967745,5.922365366923927,0.15473020204677815,0.20725245121601807,242959.3393316963,0.025506240726982557,7.017657484260921,5.546844774281648,0.29855914914698967,0.11942365965879587,339443.41104747454,0.020725245121601808,7.317643888682026,5.665194033718302,0.6362829175487372,0.011012132034355965,441951.81819681247,0.019541103500742247,6.817529157808182,5.583225993571779 -18,23,45,1,828125,609375,859375,0.19437684912861194,5.0434405196876835,7.0,14,28,52,27,4,0,9,7,13,24,0.06159420289855073,0.03260869565217391,0.08241758241758242,0.29120879120879123,0.25824175824175827,0.18478260869565216,0.19927536231884058,0.19202898550724637,0.16304347826086957,0.14835164835164835,0.15579710144927536,0.15934065934065933,0.010869565217391304,0.06043956043956044,0.94921875,3.59375,14.921875,0.49609375,0.009530330085889912,0.9176776695296637,0.0,0.18353553390593275,3.2241698346921157,2.519793292430426,0.03459359216769115,1.8935414346693487,0.0,0.21646446609406728,3.4090178895245224,2.6111101215519175,0.07463978728674742,1.1860660171779822,0.0,0.0039937003937005906,3.422246215847947,2.7278814068079407,0.14526979795322187,0.872833161511845,402497.9385517075,0.003953553390593274,3.547791229223689,2.6839365249930784,0.3034834957055045,0.4037781745930521,691485.2351522115,0.0019620185174601965,3.523562404406734,2.602456102794555,0.6137668949777327,0.04483559261587569,918725.8998606356,0.0019274754878398199,3.294563451530929,2.376800468192324,0.0096373774391991,1.0693813782152104,0.0,0.20379814825398038,3.596408791235463,2.8602256534591692,0.036863024893286404,2.0630693606237087,0.0,0.2093933982822018,3.733593871959942,3.0408461875145374,0.07899219619989943,1.2182650502531212,0.0,0.19688982865521715,3.6945094290877174,2.9831818805184414,0.15228313128164014,0.8842264958354972,422700.1136804912,0.19892372836809172,3.9513078799591783,2.9090078731703866,0.2943027776190295,0.4435834192440776,670069.6911525015,0.09278353029879809,3.869918143989321,3.0590345971224955,0.6319375695991954,0.04333028149071891,987863.1191058877,0.0912006249349094,3.8087150729122827,3.0590345971224955,0.009883883476483186,1.0271131013144337,0.0,0.21064585653306517,4.062019317918444,3.0115100429970507,0.03446726936761731,2.0458896499257757,0.0,0.18612372435695795,4.159135723334216,3.0602749435229692,0.07703348259858253,1.177211110476118,0.0,0.17059920884095148,4.019496813483939,3.219931338578367,0.15122162019684465,0.5951135192126216,219953.65182298067,0.17742396501363894,4.129017066625734,3.2906474297864454,0.27530330085889915,0.2954337374367198,227215.20869313148,0.08697817459305202,4.004109642665785,3.045336172486958,0.5751781181986758,0.028590990257669733,230752.53860143616,0.09119107853504793,4.129017066625734,2.9688367557600963,0.010116116523516816,1.0152208752109342,0.0,0.20630693606237088,4.726329812562453,3.2891935848219225,0.03355205689492276,1.5974801574802362,0.0,0.18935414346693488,4.6289760382585134,3.4795898105645824,0.07561081009842233,0.9297267069006199,0.0,0.21780473012589963,4.798811780154152,3.5683125405913483,0.1487783798031554,0.44669693845669906,1.4678585669755675e6,0.2302919075269978,4.65019087026358,3.715157539784924,0.3159687847995977,0.23449324200890692,7.627325768999565e6,0.11120110285174399,4.324739641736421,3.60009778765355,0.6028817017060207,0.02300712472794703,4.8900369882431254e7,0.11055182899632297,4.698227998135754,3.4795898105645824,0.009883883476483186,1.0362622560800903,0.0,0.20096056723534025,6.2373465049791506,4.970894504689864,0.036643844699385315,0.7129209188101402,0.0,0.20725245121601807,6.67333100555583,4.663893831344829,0.06979639663385924,0.38549509756796396,199492.25821514055,0.03993700393700591,6.67333100555583,4.7179918139167585,0.1562054704503311,0.19457737973711328,266906.1892325424,0.024196084166404532,6.67333100555583,4.575943689310137,0.2975567596063108,0.0803842268941361,343859.3841816632,0.018790569415042098,6.593540304122162,5.1663780813766484,0.6189208081871126,0.007987400787401181,480633.21111173375,0.019541103500742247,6.593540304122162,4.700763480595073,0.01008144134645631,0.9984250984251477,0.0,0.20827396060044145,7.044625250903228,5.4538277003236715,0.03373082103719685,0.6513701166914082,0.0,0.20232233047033632,6.894105566586728,5.922365366923927,0.07385843435917995,0.4019211344706805,177322.88784644997,0.03670710678118655,6.564614460469395,5.432949719240034,0.15798439239979886,0.19837117307087385,233946.1050131704,0.02780391583359547,6.894105566586728,5.278013811146495,0.3124109409006622,0.1209772961574757,343859.3841816632,0.01917260393995586,6.720924339679158,5.203224022572681,0.6028817017060207,0.011860660171779822,432051.6506221377,0.01917260393995586,6.959554117499472,5.511524079580415 -43,48,20,11,328125,109375,359375,0.10606601717798213,1.677582785989058,2.2554373534619714,38,7,22,7,12,8,1,19,25,12,0.23113207547169812,0.19339622641509435,0.1910569105691057,0.08536585365853659,0.06097560975609756,0.08962264150943396,0.10849056603773585,0.09905660377358491,0.06132075471698113,0.23983739837398374,0.05188679245283019,0.24796747967479674,0.1650943396226415,0.17479674796747968,0.82421875,4.59375,22.421875,0.37109375,0.010152208752109343,1.0015749015748523,0.0,0.2003149803149705,3.422246215847947,2.6716920249115663,0.036863024893286404,2.023223304703363,0.0,0.19968501968502955,3.2070826148343734,2.433394407764258,0.08020360336614077,1.263875139198391,0.0,0.004329289321881345,3.2241698346921157,2.559942303761619,0.15406696519716506,0.933214945738148,439295.67709283385,0.004212917130661303,3.3182385785066444,2.530589197695275,0.2840312152004023,0.4406929566929351,643516.110218516,0.0020827396060044143,3.3066380512266433,2.410317750349361,0.5782426463519459,0.0421797286679029,975167.6851414371,0.002045889649925776,3.502612005104014,2.5940956983435015,0.010229448249628879,0.9951971638232989,0.0,0.1917260393995586,3.8228581486037347,3.0408461875145374,0.03459359216769115,1.9457737973711327,0.0,0.1969558249578132,4.011904279503447,2.8602256534591692,0.07412912607362389,1.1436396103067894,0.0,0.18564048325705132,3.927814191370153,2.8128432885403565,0.14295495128834868,0.8189443871706151,448668.63057779835,0.18710803370992252,3.7080498337830785,2.6653339270951544,0.3124109409006622,0.41339252713092617,631785.1060720977,0.0991379419304648,3.6498944079461664,2.870708401875772,0.5930330085889911,0.04606654762208441,931421.3338250862,0.09847067794531672,3.5754103106298474,2.870708401875772,0.010532292826653258,0.9684653196881458,0.0,0.1976776695296637,4.364811290101005,3.208018855595072,0.036643844699385315,1.9274754878398197,0.0,0.20096056723534025,3.91276675667495,3.245597363392304,0.07263489897661093,1.2496437636026487,0.0,0.18240110303063797,4.273324220495441,3.0291967222135545,0.1409292706128157,0.6362829175487372,203714.55667352155,0.1673365465739174,3.8643608354733883,3.0999128134216334,0.30047247047245573,0.3140900974233027,240974.78032745415,0.09268417687454866,4.250478609325051,3.232425934930185,0.611394444761941,0.030456626256328025,251848.7251153603,0.08598085540326587,3.8643608354733883,3.1856569068566456,0.009467707173346744,0.9530330085889911,0.0,0.19457737973711328,4.435358369507079,3.514458671275167,0.03566467594444657,1.7317157287525382,0.0,0.20232233047033632,4.365796155869071,3.188120891664967,0.07046463530640786,0.9860285772618564,0.0,0.23118553044161266,4.465912695526794,3.3645632023859147,0.1590707293871843,0.48230536136481655,1.3840443808026027e6,0.21665042452150118,4.38450115117404,3.457432794389492,0.29651650429449555,0.24870294145922164,8.324641984892643e6,0.11820292598730862,4.5904293608259605,3.394405377044535,0.5583711730708739,0.024455777790477643,4.576601916742778e7,0.11776562152446837,4.419162107325022,3.188120891664967,0.010532292826653258,0.9770551750371123,0.0,0.18612372435695795,5.837553384301147,4.6827683299560645,0.03446726936761731,0.6634647758821993,0.0,0.19541103500742246,6.15604148456427,4.946514042673007,0.07536021271325259,0.4091779299851552,187642.79395526578,0.04329289321881346,6.15604148456427,5.027504771394277,0.14715138880951475,0.20630693606237088,251052.46448980272,0.02612487374059423,6.15604148456427,4.864069864043935,0.3181414587743686,0.07444948974278319,320455.8458176402,0.02016288269291262,6.1361388405404105,4.7659014317467046,0.5837321392113398,0.00865857864376269,451043.54120638757,0.020725245121601808,6.1361388405404105,4.9976122307299455,0.009395284707521049,1.0823223304703364,0.0,0.19620185174601967,7.4894866461918195,5.798231740853505,0.03580306887370108,0.6908415040533935,0.0,0.18935414346693488,7.317643888682026,5.511524079580415,0.07852252435582567,0.3722474487139159,191458.1725062018,0.0400629960629941,7.16477397286058,5.767233824245157,0.14825825214724778,0.21209430584957908,255334.25829406874,0.025875126259405773,7.317643888682026,5.622417851676328,0.2943027776190295,0.11274341649025257,320455.8458176402,0.020379814825398038,7.211767033542473,5.583225993571779,0.5583711730708739,0.01263875139198391,461641.3205274839,0.020379814825398038,7.379091486797894,5.922365366923927 -31,11,33,6,78125,359375,609375,0.15247950681976907,0.6299038468795466,1.0,60,17,34,37,8,4,5,13,19,18,0.004098360655737705,0.2336065573770492,0.12601626016260162,0.15040650406504066,0.25609756097560976,0.012295081967213115,0.1598360655737705,0.020491803278688523,0.25,0.17479674796747968,0.24180327868852458,0.052845528455284556,0.0778688524590164,0.23983739837398374,0.76171875,4.09375,11.171875,0.43359375,0.009883883476483186,0.9728868986855663,0.0,0.19457737973711328,3.5775989922311187,2.376800468192324,0.03335615530061469,2.093933982822018,0.0,0.20542262026288677,3.547791229223689,2.6971651566999215,0.07672086187221659,1.2182650502531212,0.0,0.0038738612787525832,3.5775989922311187,2.468371385976971,0.14976376476377215,0.8435945733580579,452436.18337461905,0.0038121320343559644,3.2070826148343734,2.410317750349361,0.2954337374367198,0.42807023542164924,623173.7657445978,0.002016288269291262,3.188357306895986,2.530589197695275,0.5971182982939793,0.043641658075592255,1.0194353963962032e6,0.0019903943276465977,3.384331260773357,2.519793292430426,0.010693813782152103,0.9637377439199099,0.0,0.19837117307087385,3.978477980963109,2.9381589501242287,0.0355327306323827,2.0031498031497046,0.0,0.20232233047033632,3.8376923374278205,2.749832754877505,0.07147747564417434,1.263875139198391,0.0,0.19091253887357323,3.7951746682169216,2.8998594788296135,0.14825825214724778,0.9119107853504795,436498.3699523655,0.1798864362935881,3.8087150729122827,2.8256854714815587,0.2818585412256314,0.45820271332097123,601758.2217448878,0.09650835422932846,3.442770787476616,2.948641698540831,0.6091325251265606,0.044510912703474,957873.0268404585,0.095751407153637,3.7080498337830785,2.948641698540831,0.010152208752109343,1.0823223304703364,0.0,0.20304417504218686,4.175274801025988,3.328122461383807,0.0331369751067136,2.138762756430421,0.0,0.20725245121601807,4.328444648453908,3.4200542254009836,0.08117417478527522,1.1274341649025257,0.0,0.1752664074984231,3.8643608354733883,3.134187245143355,0.14715138880951475,0.5751781181986758,226840.19119453768,0.15784055915910214,4.273324220495441,2.9688367557600963,0.2918660696056699,0.2840312152004023,234244.18251360857,0.08386690475583121,4.114863967703013,3.3791618246855486,0.5951135192126216,0.029651650429449554,259382.19272500998,0.0884226495835497,4.019496813483939,3.2906474297864454,0.00984779124789066,0.9883883476483185,0.0,0.2003149803149705,4.555768404674979,3.6372873058051005,0.03711650352367634,1.5495445115010331,0.0,0.1969558249578132,4.118046658221416,3.583673629614086,0.07357569440475738,0.9584880944881418,0.0,0.24168019147663752,4.5904293608259605,3.4686470214354186,0.14379452954966895,0.4974058829184433,1.5467586802044807e6,0.23966656561002433,4.509017816473206,3.5538314549554655,0.28590990257669735,0.24115268068240828,8.573654247020999e6,0.11505528038110684,4.465912695526794,3.233079292215077,0.5862331050222673,0.023804540768504863,4.76033103639469e7,0.1221745967891778,4.539572142492922,3.583673629614086,0.009530330085889912,0.9306186217847897,0.0,0.20725245121601807,6.455338755267491,4.484763144463303,0.0331369751067136,0.6424918292799399,0.0,0.18612372435695795,5.971316920784508,4.7963450469256275,0.07327913812778342,0.3980788655293196,192755.544940731,0.041084524052577356,5.971316920784508,4.549225963270055,0.1409292706128157,0.2003149803149705,257892.9549140165,0.026942818658082346,6.3329245939475465,4.734543729154006,0.2875890590993379,0.08290098048640723,334604.17810397217,0.020827396060044145,6.307224035959051,4.902841292593214,0.6009449409449115,0.0077477225575051665,434909.3998359294,0.018612372435695797,6.307224035959051,4.828846380083242,0.009810092587300983,0.9684653196881458,0.0,0.20162882692912618,7.236571948853032,5.243332473321018,0.03742834823753237,0.6698685574511342,0.0,0.2093933982822018,7.649828139314158,5.665194033718302,0.07587087392637612,0.41450490243203614,197452.54555726363,0.041261387212474174,7.379091486797894,5.583225993571779,0.14295495128834868,0.20379814825398038,248020.7464157696,0.025057181341917655,7.119150775457958,5.4738160196441585,0.3024432403936893,0.11772111104761179,334604.17810397217,0.021209430584957906,7.449447114680473,5.767233824245157,0.5862331050222673,0.01218265050253121,477775.46189794206,0.021209430584957906,6.564614460469395,5.337297949693708 -6,36,8,16,578125,859375,109375,0.274382623085101,2.9902462669136396,3.8768943743823394,25,42,12,17,0,12,13,25,7,6,0.13524590163934427,0.10245901639344263,0.34615384615384615,0.027472527472527472,0.17032967032967034,0.14344262295081966,0.028688524590163935,0.15163934426229508,0.11885245901639344,0.06043956043956044,0.11065573770491803,0.24725274725274726,0.20901639344262296,0.14835164835164835,0.88671875,3.09375,18.671875,0.30859375,0.010532292826653258,1.0315346803118544,0.0,0.20630693606237088,3.329416841265565,2.5940956983435015,0.0355327306323827,1.9695582495781319,0.0,0.19369306393762917,3.3182385785066444,2.5408303404023624,0.07228033079399324,1.1436396103067894,0.0,0.004108452405257736,3.329416841265565,2.6294389976348556,0.16234834957055044,0.8967118523175137,426712.9779518368,0.004060883500843737,3.4090178895245224,2.602456102794555,0.3140900974233027,0.45387525933721595,661458.3508250016,0.0018790569415042097,3.3964058604690712,2.6839365249930784,0.6416288269291262,0.04666074728690741,948715.992126065,0.0021387627564304207,3.167406907593266,2.6716920249115663,0.00995197163823299,1.0229448249628879,0.0,0.21209430584957908,3.721058615689658,2.749832754877505,0.03335615530061469,1.8353553390593274,0.0,0.18935414346693488,3.6155703268410346,2.9381589501242287,0.07614156564082007,1.1860660171779822,0.0,0.17681753813911005,3.5519166220408223,3.143533424904846,0.15798439239979886,0.8598085540326589,469035.93118683016,0.1922062139468195,3.5754103106298474,2.996024063459644,0.3024432403936893,0.4316440738412433,649727.3466785833,0.10260276515827887,3.7575206710423354,2.768021164485463,0.5718198051533947,0.04165791156272568,887153.6225703201,0.10155370109584884,3.9513078799591783,2.768021164485463,0.009530330085889912,0.9984250984251477,0.0,0.19060660171779822,3.9336138360467494,3.123230159395084,0.03540640783230886,1.9903943276465978,0.0,0.19541103500742246,4.048381398296987,3.154945509746097,0.07488188238188608,1.2097729615747572,0.0,0.16488439388362036,4.129017066625734,3.351007396239904,0.1562054704503311,0.611394444761941,213879.62498163336,0.1722708830708746,4.019496813483939,3.1856569068566456,0.3094604040935563,0.3034834957055045,253927.62052671367,0.0893394370185622,3.834800717546093,3.144745487937831,0.6362829175487372,0.031596878479959775,244635.0489914758,0.0818944387170615,4.273324220495441,3.0999128134216334,0.01046966991411009,1.0532292826653258,0.0,0.18353553390593275,4.276702513864247,3.4212392931220563,0.03471495528740293,1.643380962103094,0.0,0.2093933982822018,4.49453257209877,3.3799242914086522,0.07810273522516555,1.039029437251523,0.0,0.22491455902406554,4.324739641736421,3.7601159403350337,0.15284861119048526,0.46898648401781384,1.426860228275994e6,0.22415942557008744,4.176118731845849,3.3481390443464507,0.3045662625632803,0.22334846922834953,8.086200153992766e6,0.12301469739275586,4.798811780154152,3.4908040376105087,0.6217573536480542,0.02545131670194949,5.060941421115241e7,0.11465304832720495,4.248600699437548,3.3799242914086522,0.010152208752109343,1.0048028361767012,0.0,0.19541103500742246,6.071903796185347,4.812294464845993,0.03540640783230886,0.6819632166419253,0.0,0.20096056723534025,6.3329245939475465,4.442232701251335,0.07771966920600677,0.42775255128608414,180400.55700181713,0.038738612787525835,6.3329245939475465,4.846074713404927,0.15122162019684465,0.18353553390593275,241362.87611149356,0.02540343455096492,5.971316920784508,5.0620750495366975,0.3056972223809705,0.07816441400296899,355192.04730739025,0.019620185174601967,5.942167861334194,4.622890851781605,0.5506066017177983,0.008216904810515471,463288.36206061573,0.020096056723534025,5.942167861334194,4.519333422605723,0.010413698030022072,1.0271131013144337,0.0,0.18790569415042097,6.772731807835801,5.602429532355842,0.034831900733815466,0.6204124145231932,0.0,0.1969558249578132,7.119150775457958,5.337297949693708,0.07100780380010058,0.3908220700148449,186171.04920017958,0.03891547594742266,6.959554117499472,5.203224022572681,0.15228313128164014,0.1917260393995586,262971.9875047733,0.026596565449035083,7.649828139314158,5.832913078678983,0.2818585412256314,0.12496437636026486,355192.04730739025,0.019837117307087388,7.017657484260921,5.432949719240034,0.6217573536480542,0.011436396103067892,449396.4996732558,0.019837117307087388,7.16477397286058,5.665194033718302 -4,12,40,1,421875,78125,265625,0.14747881203752627,2.128206182523731,0.583801512904337,26,32,49,13,10,1,14,15,17,15,0.24180327868852458,0.0942622950819672,0.2103448275862069,0.07931034482758621,0.1413793103448276,0.020491803278688523,0.004098360655737705,0.1598360655737705,0.028688524590163935,0.19655172413793104,0.21721311475409835,0.1896551724137931,0.2336065573770492,0.18275862068965518,0.87890625,3.78125,18.203125,0.44140625,0.009467707173346744,1.0116116523516816,0.0,0.18935414346693488,3.502612005104014,2.530589197695275,0.033896286189085106,2.0630693606237087,0.0,0.19274754878398198,3.1431780827763114,2.4828681973000792,0.0743891899015777,1.213933982822018,0.0,0.0038549509756796397,3.4090178895245224,2.8032328858076765,0.1409292706128157,0.9001914459673415,454509.7213545039,0.003967423461417477,3.5775989922311187,2.6716920249115663,0.2918660696056699,0.4261247406627842,601758.2217448878,0.002120943058495791,3.3182385785066444,2.559942303761619,0.611394444761941,0.04348908729652602,987863.1191058877,0.002054226202628868,3.523562404406734,2.746638946235742,0.009984250984251477,0.9306186217847897,0.0,0.1976776695296637,3.7080498337830785,2.7287981300131943,0.0331369751067136,1.9968501968502954,0.0,0.20630693606237088,3.6333063580106795,2.971075398312137,0.07587087392637612,1.2325357215773205,0.0,0.18639175915871867,3.8087150729122827,2.8256854714815587,0.15704504871165134,0.8075563491861042,435032.86001299927,0.19154738558266987,3.6945094290877174,2.8602256534591692,0.3081339303943301,0.41657911562725675,673372.3419714128,0.09207379013370627,3.887654175158966,2.9831818805184414,0.606966991411009,0.04280702354216493,1.0040376923918492e6,0.10321646970120192,3.887654175158966,2.8807795770733517,0.009918558653543694,1.0532292826653258,0.0,0.20542262026288677,4.229631529953251,2.940682327314452,0.03373082103719685,1.9837117307087384,0.0,0.19457737973711328,3.88992114550456,2.899789926599017,0.07672086187221659,1.1902270384252431,0.0,0.1791156061163796,4.364811290101005,3.074246788607696,0.1477168687183599,0.6189208081871126,234090.04320183228,0.16006640294698382,3.7456139916348534,3.351007396239904,0.3108786768240271,0.30688344748886637,244319.59751750724,0.08435945733580577,3.987970564974013,3.1966139926049157,0.6319375695991954,0.029311655251113365,260570.95447237842,0.08632881476824864,4.175274801025988,3.1750986640621695,0.009883883476483186,0.9586301969977928,0.0,0.19369306393762917,4.7588291424771185,3.5024121041547702,0.03580306887370108,1.468284271247462,0.0,0.2003149803149705,4.7588291424771185,3.4458247278452308,0.07852252435582567,0.9997150108821189,0.0,0.21397018211763638,4.345954473741487,3.715157539784924,0.1409292706128157,0.4873060201012484,1.5051814873857307e6,0.215385459941112,4.67311080961997,3.5400944999792574,0.27918558653543696,0.23884731931759173,8.298462231882709e6,0.11179357829470955,4.7588291424771185,3.5538314549554655,0.6048864807873786,0.02527750278396782,4.742107853193687e7,0.11914511975247433,4.67311080961997,3.2891935848219225,0.010271131013144339,0.9810092587300983,0.0,0.2003149803149705,5.942167861334194,4.7963450469256275,0.034335324055553444,0.6204124145231932,0.0,0.21064585653306517,6.1754623894357294,4.970894504689864,0.07899219619989943,0.41084524052577354,198425.75300104337,0.0400629960629941,5.998579280052453,4.7963450469256275,0.15174174785275224,0.19837117307087385,250091.40211441676,0.024778858223313768,6.4208278799941665,4.380460112623352,0.3159687847995977,0.0770990195135928,335890.0099378692,0.021209430584957906,6.024279838040949,4.780936762253296,0.606966991411009,0.007848074069840786,455623.73645389144,0.01945773797371133,6.115537223033512,4.643996901406786,0.010048028361767013,1.0693813782152104,0.0,0.20542262026288677,7.017657484260921,5.712765707268959,0.03566467594444657,0.6720960897637539,0.0,0.19620185174601967,7.044625250903228,5.602429532355842,0.06882582521472479,0.38915475947422656,185376.81321274507,0.04019211344706805,6.772731807835801,5.4538277003236715,0.13959279326771848,0.21387627564304207,241362.87611149356,0.027221141776686233,7.236571948853032,5.4538277003236715,0.3081339303943301,0.12227888895238821,353449.95718459703,0.021387627564304207,7.742401343530607,5.243332473321018,0.588605555238059,0.011724662100445347,460058.94506843056,0.021064585653306517,7.095248770457529,5.564721472419586 -29,37,15,11,921875,578125,765625,0.25562940162675285,0.05490280845544948,3.204168476687281,66,11,21,33,2,9,6,3,5,3,0.11065573770491803,0.22540983606557377,0.17901234567901234,0.3395061728395062,0.05555555555555555,0.15163934426229508,0.13524590163934427,0.028688524590163935,0.1598360655737705,0.15432098765432098,0.0860655737704918,0.1419753086419753,0.10245901639344263,0.12962962962962962,0.75390625,4.78125,10.703125,0.31640625,0.010116116523516816,0.9467707173346743,0.0,0.20232233047033632,3.294563451530929,2.6839365249930784,0.03594895854600519,1.9457737973711327,0.0,0.2045889649925776,3.372730733493356,2.639203013597638,0.07953536469359215,1.1361248608016092,0.0,0.004091779299851552,3.2070826148343734,2.5859376556564992,0.15122162019684465,0.8480892146495208,428541.20445719676,0.004241886116991582,3.329416841265565,2.519793292430426,0.3094604040935563,0.45192976457835093,649727.3466785833,0.0019837117307087383,3.547791229223689,2.7278814068079407,0.5751781181986758,0.046342088437274345,931421.3338250862,0.0019369306393762916,3.3066380512266433,2.568923232448083,0.010823223304703365,1.0048028361767012,0.0,0.21064585653306517,3.9513078799591783,2.9280877749266487,0.03540640783230886,2.164644660940673,0.0,0.19457737973711328,3.853330094053834,2.7991123582732502,0.07100780380010058,1.162158383625775,0.0,0.19786026257041936,3.5754103106298474,2.996024063459644,0.1477168687183599,0.8813859133858702,465128.0276154276,0.17851040944289992,3.927814191370153,3.0408461875145374,0.29053959590644374,0.44510912703474,634341.9025040866,0.09879812519527183,3.6655321645721797,2.8128432885403565,0.5680624304008046,0.0453875259337216,942225.1850503753,0.09686205806953521,3.6655321645721797,3.080069221986806,0.010604715292478953,0.9883883476483185,0.0,0.19369306393762917,3.987970564974013,3.1750986640621695,0.03580306887370108,2.1209430584957905,0.0,0.20630693606237088,4.143748552516062,3.1648986422539034,0.07228033079399324,1.2725658350974745,0.0,0.16873359250157688,4.062019317918444,3.259569208477031,0.15704504871165134,0.5837321392113398,217850.94805237316,0.1728260878223926,4.08805083699141,3.134187245143355,0.29311655251113367,0.28912132317597294,230158.18834279923,0.08967118523175135,4.229631529953251,2.991721690616193,0.5930330085889911,0.031087867682402705,245683.1733837851,0.09164054266419422,3.9336138360467494,2.940682327314452,0.010532292826653258,1.0189907412699017,0.0,0.20542262026288677,4.450918734737546,3.2640331625962045,0.03373082103719685,1.6025198425197638,0.0,0.18353553390593275,4.450918734737546,3.684203669403796,0.07385843435917995,0.9417688883808943,0.0,0.22862423343148003,4.60913435613093,3.457432794389492,0.15122162019684465,0.4574558441227157,1.412516597965453e6,0.22943991779767112,4.4022449643656305,3.3303948215237402,0.30144085085301037,0.2566515307716505,8.995778447775787e6,0.11866159969569501,4.450918734737546,3.3481390443464507,0.5637170824512628,0.023721320343559643,5.03388513100077e7,0.11234197708382493,4.4022449643656305,3.514458671275167,0.009684653196881459,1.0413698030022072,0.0,0.18353553390593275,6.307224035959051,4.442232701251335,0.036447943105077256,0.6698685574511342,0.0,0.1976776695296637,5.6581728684441694,4.6827683299560645,0.07412912607362389,0.38738612787525833,186924.47227039727,0.03670710678118655,6.360186953215491,4.442232701251335,0.14201560760020115,0.21209430584957908,265479.28251927876,0.02639574275548429,6.048659737230037,4.780936762253296,0.29651650429449555,0.08183558599703103,357101.145117175,0.019837117307087388,6.389336012665805,4.380460112623352,0.5680624304008046,0.008330958424017657,493909.60326840024,0.020630693606237087,6.538604385593562,4.923947342218395,0.009306186217847899,0.9951971638232989,0.0,0.19369306393762917,7.449447114680473,5.387967092082539,0.03355205689492276,0.6263523138347366,0.0,0.20827396060044145,7.4894866461918195,5.243332473321018,0.07511811761811393,0.41261387212474177,196551.73896677358,0.037224744871391595,7.236571948853032,5.798231740853505,0.15072042542650518,0.1990394327646598,257892.9549140165,0.02560425724451571,6.772731807835801,5.798231740853505,0.29053959590644374,0.11503562363973514,333255.51303025143,0.01990394327646598,7.1422418311394225,5.602429532355842,0.6248218818013244,0.012435147072961084,428746.7062117102,0.01976776695296637,7.586091464320844,5.153880185076074 -42,25,28,6,671875,828125,15625,0.18833644282936352,1.0013022246490868,5.354248688935409,40,21,32,3,6,5,2,21,11,21,0.15579710144927536,0.14130434782608695,0.2777777777777778,0.043209876543209874,0.35185185185185186,0.19202898550724637,0.06159420289855073,0.08333333333333333,0.08333333333333333,0.05555555555555555,0.13405797101449277,0.24074074074074073,0.14855072463768115,0.030864197530864196,0.81640625,4.28125,21.953125,0.37890625,0.00984779124789066,1.046966991411009,0.0,0.1969558249578132,3.167406907593266,2.410317750349361,0.03494487844488017,1.8353553390593274,0.0,0.1990394327646598,3.281951422475478,2.568923232448083,0.07642430559524263,1.1817349497468792,0.0,0.0039807886552931954,3.547791229223689,2.5083413290884344,0.14715138880951475,0.9410556128293852,408173.90384816495,0.0038345207879911716,3.2241698346921157,2.376800468192324,0.30047247047245573,0.43930704330706505,670069.6911525015,0.0019172603939955858,3.4090178895245224,2.6294389976348556,0.5951135192126216,0.044669718509281114,887153.6225703201,0.0021646446609406727,3.188357306895986,2.639203013597638,0.010271131013144339,1.0362622560800903,0.0,0.20304417504218686,3.8087150729122827,3.0245895250090964,0.03446726936761731,1.9369306393762915,0.0,0.2003149803149705,4.060453714523384,2.8904841568680784,0.07385843435917995,1.2987867965644035,0.0,0.17851040944289992,3.7080498337830785,2.9090078731703866,0.14201560760020115,0.8561404708432985,420459.9184839994,0.18639175915871867,3.5519166220408223,2.9381589501242287,0.3246966991411009,0.433302814907189,607519.5236843486,0.09613890735554963,3.4913202224965527,3.143533424904846,0.6281801948466054,0.04406929566929352,967804.4862513752,0.09949164577067154,3.4913202224965527,2.7842778269909036,0.010189907412699019,1.0152208752109342,0.0,0.21646446609406728,3.798434075898996,3.2745079795130425,0.034831900733815466,1.9172603939955857,0.0,0.2003149803149705,4.034228299374266,3.259569208477031,0.08020360336614077,1.1503562363973516,0.0,0.161598896969362,4.175274801025988,3.1648986422539034,0.15174174785275224,0.6009449409449115,223924.97489372047,0.1782371080457755,3.9709572336685306,3.0291967222135545,0.30144085085301037,0.3208144134645631,236524.40132809774,0.08728331615118448,4.101226048081557,3.111825296404928,0.6091325251265606,0.02791855865354369,234006.57613982455,0.08267850542618521,4.062019317918444,3.087418217069815,0.010152208752109343,1.0604715292478952,0.0,0.19968501968502955,4.57268554763437,3.4081423320207436,0.034831900733815466,1.556619037896906,0.0,0.20630693606237088,4.3018197023800315,3.3303948215237402,0.07100780380010058,0.9678183692598056,0.0,0.23661454005888802,4.480397939901231,3.3481390443464507,0.14715138880951475,0.47442640687119286,1.450863256581714e6,0.22337576656851998,4.524011777262454,3.684203669403796,0.3108786768240271,0.24550675799109306,8.536904062782586e6,0.11544287100350269,4.57268554763437,3.457432794389492,0.588605555238059,0.02436530100506242,4.873275328963541e7,0.11581731141731715,4.524011777262454,3.4212392931220563,0.010823223304703365,1.0081441346456308,0.0,0.20630693606237088,6.1361388405404105,4.663893831344829,0.03528504471259709,0.6908415040533935,0.0,0.19060660171779822,5.998579280052453,4.484763144463303,0.07614156564082007,0.43292893218813455,192094.83362580332,0.03891547594742266,6.1754623894357294,4.946514042673007,0.1477168687183599,0.20379814825398038,239516.5901705864,0.02738396134929847,6.215966650966487,4.643996901406786,0.3045662625632803,0.07961577310586392,345042.0905646754,0.01917260393995586,5.737963569877837,4.923947342218395,0.6281801948466054,0.007516227766016839,468715.28942910593,0.018353553390593275,5.910675994005833,4.780936762253296,0.009770551750371123,1.0229448249628879,0.0,0.21646446609406728,7.211767033542473,5.546844774281648,0.03471495528740293,0.6540061724867322,0.0,0.18790569415042097,7.236571948853032,5.798231740853505,0.07736510102338907,0.3670710678118655,190843.11208082415,0.039082207001484494,7.4894866461918195,5.602429532355842,0.15543933841201354,0.19274754878398198,251052.46448980272,0.02461603865070153,7.4894866461918195,5.243332473321018,0.3246966991411009,0.11902270384252431,317416.8605438435,0.0192747548783982,6.927924317202108,5.798231740853505,0.6048864807873786,0.012057634034120414,447676.1498318637,0.019060660171779823,6.857568689319529,5.738947602306292 -17,50,3,16,171875,328125,515625,0.09874208829065749,3.6111395720685104,1.7550020016016017,15,49,11,23,14,13,10,9,23,9,0.05188679245283019,0.0330188679245283,0.08024691358024691,0.24074074074074073,0.15432098765432098,0.09905660377358491,0.23113207547169812,0.25943396226415094,0.25943396226415094,0.25308641975308643,0.02358490566037736,0.043209876543209874,0.04245283018867924,0.22839506172839505,0.94140625,3.28125,14.453125,0.25390625,0.01046966991411009,0.9847791247890659,0.0,0.2093933982822018,3.384331260773357,2.602456102794555,0.037881281566461776,2.0031498031497046,0.0,0.21387627564304207,3.4838866971656266,2.746638946235742,0.07189726477483448,1.2563603896932107,0.0,0.004277525512860841,3.3182385785066444,2.6602400615695743,0.1562054704503311,0.8757735041645032,440711.4650826296,0.004075962965079607,3.422246215847947,2.5940956983435015,0.27530330085889915,0.4762218254069481,631785.1060720977,0.0020379814825398036,3.2070826148343734,2.468371385976971,0.6362829175487372,0.04193345237791562,957873.0268404585,0.0019968501968502953,3.3964058604690712,2.4828681973000792,0.009684653196881459,0.9770551750371123,0.0,0.19060660171779822,3.5754103106298474,2.8492763275234942,0.036643844699385315,2.0542262026288673,0.0,0.18353553390593275,3.745703830957665,3.10594728737555,0.07852252435582567,1.1981101181101772,0.0,0.19154738558266987,3.9513078799591783,2.6653339270951544,0.15174174785275224,0.9077505186744319,446934.3500257789,0.19786026257041936,3.7951746682169216,2.749832754877505,0.2995275295275443,0.46066547622084403,651887.9028698251,0.1020542406942163,3.769630630040058,2.8998594788296135,0.5908674748734396,0.040377817459305215,908521.1344441994,0.09339723484172113,3.769630630040058,2.959591024476506,0.00958630196997793,0.9530330085889911,0.0,0.19968501968502955,4.101226048081557,3.087418217069815,0.03742834823753237,2.0379814825398035,0.0,0.18353553390593275,4.298884530526613,3.074246788607696,0.07463978728674742,1.222788889523882,0.0,0.1734007911590485,3.9336138360467494,2.899789926599017,0.14201560760020115,0.5506066017177983,210964.40868081615,0.1680534901063833,4.210335349462018,3.219931338578367,0.27918558653543696,0.29855914914698967,220426.2281935083,0.09332149457381478,3.798434075898996,3.3083341090029497,0.5718198051533947,0.030144085085301035,252660.39802464857,0.08871668384881551,4.364811290101005,3.2745079795130425,0.009530330085889912,0.9918558653543692,0.0,0.21646446609406728,4.3018197023800315,3.6178420104762603,0.03742834823753237,1.6504554884989668,0.0,0.19457737973711328,4.57268554763437,3.5400944999792574,0.07587087392637612,0.9019473319220206,0.0,0.2225600822023289,4.8568838537785854,3.5538314549554655,0.1562054704503311,0.5055500556793564,1.3619898962223388e6,0.23802981788236363,4.216101369522883,3.4458247278452308,0.29311655251113367,0.23129705854077837,8.049449969754353e6,0.12404823987296441,4.3018197023800315,3.715157539784924,0.6248218818013244,0.022872792206135785,4.541593567852753e7,0.12554939033455903,4.216101369522883,3.6372873058051005,0.009984250984251477,0.9395284707521048,0.0,0.19457737973711328,6.593540304122162,4.946514042673007,0.03288349647632367,0.6513701166914082,0.0,0.20304417504218686,6.360186953215491,4.812294464845993,0.07147747564417434,0.3993700393700591,179020.59742605194,0.041261387212474174,5.6581728684441694,4.663893831344829,0.15704504871165134,0.1917260393995586,257008.9710400158,0.025698097038856282,5.792899488406437,4.923947342218395,0.28590990257669735,0.08555051025721683,322926.0426519941,0.020379814825398038,6.195365033459589,4.643996901406786,0.5908674748734396,0.008065153077165047,441951.81819681247,0.02003149803149705,6.282844136769962,4.380460112623352,0.010362622560800904,0.9637377439199099,0.0,0.19968501968502955,6.720924339679158,5.082211602648832,0.03711650352367634,0.6942465353348048,0.0,0.20162882692912618,6.772731807835801,5.4538277003236715,0.07296651740141748,0.400629960629941,174857.07965000425,0.041450490243203617,7.044625250903228,5.243332473321018,0.14655827625556683,0.2045889649925776,266906.1892325424,0.026301902961143722,7.044625250903228,5.602429532355842,0.2995275295275443,0.12725658350974745,342719.7288542064,0.020458896499257757,7.347461686500529,5.4538277003236715,0.5637170824512628,0.011167423461417478,475221.2273334492,0.020304417504218686,7.2893583197390805,5.411051518281698 -23,18,22,14,46875,203125,140625,0.16688820488025863,1.5356267514014013,2.4322356371699785,32,66,40,39,12,15,8,12,8,18,0.20901639344262296,0.12704918032786885,0.16371681415929204,0.2079646017699115,0.0752212389380531,0.25,0.10245901639344263,0.06147540983606557,0.06147540983606557,0.2168141592920354,0.18442622950819673,0.27876106194690264,0.004098360655737705,0.05752212389380531,0.78515625,4.53125,12.578125,0.28515625,0.009984250984251477,0.9984250984251477,0.0,0.21646446609406728,3.3402158469466214,2.568923232448083,0.036643844699385315,1.9060660171779822,0.0,0.18790569415042097,3.422246215847947,2.410317750349361,0.07327913812778342,1.2987867965644035,0.0,0.0037581138830084194,3.268723096152053,2.711661968023029,0.14927957457349483,0.8267850542618523,446934.3500257789,0.004019211344706805,3.372730733493356,2.468371385976971,0.3045662625632803,0.41657911562725675,641355.5540272741,0.0018612372435695796,3.268723096152053,2.376800468192324,0.5583711730708739,0.04406929566929352,945530.7506410894,0.002093933982822018,3.450983445115174,2.530589197695275,0.00984779124789066,1.0604715292478952,0.0,0.2003149803149705,3.442770787476616,2.7991123582732502,0.037881281566461776,2.023223304703363,0.0,0.20304417504218686,3.927814191370153,2.9280877749266487,0.08117417478527522,1.1361248608016092,0.0,0.18311017134478288,3.442770787476616,2.870708401875772,0.14976376476377215,0.8386690475583123,440711.4650826296,0.20318246186088998,3.853330094053834,3.143533424904846,0.2840312152004023,0.45192976457835093,691485.2351522115,0.09444629890415117,3.721058615689658,2.749832754877505,0.6493933982822018,0.044669718509281114,927447.7388651486,0.08993241161390704,3.721058615689658,2.918383195131922,0.009770551750371123,1.0315346803118544,0.0,0.2093933982822018,3.91276675667495,3.219931338578367,0.036447943105077256,1.9541103500742245,0.0,0.20304417504218686,4.08805083699141,3.208018855595072,0.07357569440475738,1.1167423461417478,0.0,0.18393359705301618,4.250478609325051,3.0115100429970507,0.15406696519716506,0.6319375695991954,227958.24496282867,0.16488439388362036,4.143748552516062,2.940682327314452,0.3056972223809705,0.3024432403936893,233486.86491090595,0.0818944387170615,4.048381398296987,3.245597363392304,0.5506066017177983,0.030569722238097053,249404.84710121484,0.08757735041645029,4.004109642665785,3.219931338578367,0.009728868986855665,0.9306186217847897,0.0,0.2093933982822018,4.38450115117404,3.715157539784924,0.03288349647632367,1.5814213562373096,0.0,0.19060660171779822,4.65019087026358,3.394405377044535,0.08117417478527522,0.9553892772703669,0.0,0.21887316224952094,4.248600699437548,3.5024121041547702,0.16040720673228154,0.4669857113690718,1.3903633077081374e6,0.21987243910293797,4.324739641736421,3.233079292215077,0.3056972223809705,0.24992875272052972,7.869134151822724e6,0.11694471961889319,4.65019087026358,3.4081423320207436,0.5971182982939793,0.02202426406871193,5.16929048993679e7,0.11734695167279507,4.798811780154152,3.5683125405913483,0.00984779124789066,0.9951971638232989,0.0,0.19060660171779822,6.4208278799941665,4.575943689310137,0.03742834823753237,0.6793271608466012,0.0,0.20630693606237088,6.259600077814652,4.882944362655171,0.07736510102338907,0.40464466094067264,189627.87863335255,0.042129171306613034,6.094157369020849,4.864069864043935,0.14526979795322187,0.20725245121601807,253708.36397919877,0.023859619407771256,6.307224035959051,4.846074713404927,0.3094604040935563,0.07848074069840787,330325.67168217537,0.020096056723534025,6.115537223033512,4.846074713404927,0.6162678607886602,0.008183558599703104,477775.46189794206,0.020304417504218686,6.195365033459589,4.7179918139167585,0.010604715292478953,1.0413698030022072,0.0,0.1969558249578132,7.649828139314158,5.278013811146495,0.032571651762467645,0.6634647758821993,0.0,0.2045889649925776,7.742401343530607,5.529400777718352,0.07899219619989943,0.42129171306613034,188330.50619882336,0.04241886116991581,7.742401343530607,5.688278459917461,0.1487783798031554,0.18790569415042097,275919.42355106835,0.02518009831189179,6.927924317202108,5.3634798447310414,0.3140900974233027,0.11167423461417476,338303.75572001765,0.019620185174601967,6.772731807835801,5.994033949351168,0.5971182982939793,0.011902270384252431,488004.09765856306,0.020630693606237087,7.412910237413274,5.643295832759966 -48,43,47,4,546875,703125,640625,0.06123724356957945,4.6849676028184835,0.06274606680622785,11,26,15,18,4,7,0,24,20,6,0.06168831168831169,0.20454545454545456,0.030864197530864196,0.09259259259259259,0.30246913580246915,0.09415584415584416,0.18506493506493507,0.1525974025974026,0.1525974025974026,0.10493827160493827,0.04220779220779221,0.19135802469135801,0.10714285714285714,0.2777777777777778,0.91015625,3.53125,20.078125,0.41015625,0.010823223304703365,1.0823223304703364,0.0,0.19968501968502955,3.6208927494346717,2.746638946235742,0.03446726936761731,2.0304417504218684,0.0,0.20162882692912618,3.2241698346921157,2.602456102794555,0.07771966920600677,1.1981101181101772,0.0,0.004032576538582524,3.4667994773078847,2.5505943563651448,0.16040720673228154,0.8871668384881553,420459.9184839994,0.0037224744871391592,3.1431780827763114,2.6294389976348556,0.28590990257669735,0.44510912703474,685723.9332127507,0.0020096056723534024,3.4667994773078847,2.5940956983435015,0.6028817017060207,0.040377817459305215,1.0109416862953367e6,0.0019695582495781318,3.254778191575989,2.6839365249930784,0.01046966991411009,0.9918558653543692,0.0,0.18353553390593275,3.7575206710423354,2.971075398312137,0.03494487844488017,1.8935414346693487,0.0,0.19060660171779822,3.6945094290877174,2.7287981300131943,0.07488188238188608,1.213933982822018,0.0,0.19435951674294868,3.7575206710423354,3.0590345971224955,0.16234834957055044,0.8933943701856222,408173.90384816495,0.1890874611264268,3.6333063580106795,2.8998594788296135,0.3034834957055045,0.4261247406627842,643516.110218516,0.100248592846363,3.978477980963109,2.9381589501242287,0.5990550590550886,0.04193345237791562,983356.3470828623,0.09815434035433554,3.978477980963109,2.7029200646244504,0.010362622560800904,0.9728868986855663,0.0,0.1969558249578132,4.159135723334216,3.0291967222135545,0.034335324055553444,2.0725245121601805,0.0,0.19060660171779822,3.7456139916348534,3.0115100429970507,0.07810273522516555,1.2057634034120415,0.0,0.1711739121776074,4.004109642665785,3.208018855595072,0.14526979795322187,0.5930330085889911,214745.18299617406,0.1752664074984231,3.88992114550456,3.1750986640621695,0.2875890590993379,0.2818585412256314,250891.49614769805,0.0884226495835497,4.328444648453908,3.0602749435229692,0.6009449409449115,0.028758905909933786,266658.4418621825,0.0941055612829385,4.250478609325051,3.0291967222135545,0.010315346803118543,1.0048028361767012,0.0,0.1969558249578132,4.65019087026358,3.457432794389492,0.03528504471259709,1.6851668522645211,0.0,0.20304417504218686,4.38450115117404,3.60009778765355,0.07488188238188608,1.026606123086602,0.0,0.23212756089706205,4.539572142492922,3.2640331625962045,0.14927957457349483,0.49513664654969003,1.4741774938811022e6,0.23312683775047907,4.5904293608259605,3.4908040376105087,0.2875890590993379,0.23544222209522359,8.40806296197316e6,0.10898530260724416,4.38450115117404,3.6178420104762603,0.6416288269291262,0.024037797637796458,4.810690871716801e7,0.10982540321082222,4.465912695526794,3.3645632023859147,0.01046966991411009,1.0693813782152104,0.0,0.20304417504218686,6.048659737230037,4.864069864043935,0.034831900733815466,0.6390867979985286,0.0,0.19457737973711328,5.876165118732509,4.600324151326993,0.07296651740141748,0.37870828693386976,203763.1632931044,0.03953553390593274,6.493950489698852,4.575943689310137,0.15406696519716506,0.19541103500742246,272620.35082022613,0.026040947440946163,5.942167861334194,4.549225963270055,0.2918660696056699,0.08330958424017658,350329.3491134037,0.018612372435695797,6.538604385593562,4.549225963270055,0.5810791918128875,0.0077099019513592795,449396.4996732558,0.019060660171779823,5.737963569877837,5.027504771394277,0.009918558653543694,0.9810092587300983,0.0,0.2093933982822018,7.119150775457958,5.622417851676328,0.03516809926618455,0.7129209188101402,0.0,0.19274754878398198,7.1422418311394225,5.994033949351168,0.07412912607362389,0.3953553390593274,200685.49413773723,0.039674234614174776,7.1422418311394225,5.3634798447310414,0.1590707293871843,0.20162882692912618,254531.27027016997,0.026704940634175278,7.347461686500529,5.688278459917461,0.2954337374367198,0.12057634034120414,361707.29408404074,0.020827396060044145,7.236571948853032,5.529400777718352,0.6416288269291262,0.012725658350974745,454150.6929310043,0.01945773797371133,6.989371915317976,5.309011727754844 -36,6,9,9,796875,953125,390625,0.12549900398011132,2.80364741710137,1.144345399598956,21,15,66,28,0,11,4,6,14,24,0.12681159420289856,0.17028985507246377,0.2345132743362832,0.27876106194690264,0.004424778761061947,0.04710144927536232,0.03260869565217391,0.22826086956521738,0.11231884057971014,0.004424778761061947,0.2210144927536232,0.2079646017699115,0.06159420289855073,0.26991150442477874,0.97265625,3.03125,16.328125,0.34765625,0.009684653196881459,0.9684653196881458,0.0,0.20542262026288677,3.4361911204240116,2.4828681973000792,0.03540640783230886,2.1064585653306516,0.0,0.19620185174601967,3.5775989922311187,2.530589197695275,0.07536021271325259,1.162158383625775,0.0,0.003924037034920393,3.113370319768882,2.4521519471920596,0.14456066158798647,0.8632881476824866,435032.86001299927,0.004145049024320361,3.281951422475478,2.7278814068079407,0.29651650429449555,0.433302814907189,658901.5543930127,0.0020725245121601807,3.3615524707344355,2.6716920249115663,0.6217573536480542,0.04280702354216493,971398.2788668763,0.0020232233047033634,3.070076562565329,2.410317750349361,0.010116116523516816,0.9586301969977928,0.0,0.19457737973711328,3.869918143989321,3.10594728737555,0.03594895854600519,2.093933982822018,0.0,0.21064585653306517,3.5519166220408223,2.8492763275234942,0.07263489897661093,1.1817349497468792,0.0,0.1890874611264268,3.869918143989321,2.948641698540831,0.15406696519716506,0.8697817459305204,454509.7213545039,0.18311017134478288,4.060453714523384,2.8128432885403565,0.2954337374367198,0.4762218254069481,623173.7657445978,0.09752932205468329,3.8228581486037347,2.8602256534591692,0.6162678607886602,0.04348908729652602,874817.0838380235,0.0953429160711855,3.8228581486037347,3.00975499372675,0.010048028361767013,1.0015749015748523,0.0,0.20232233047033632,4.328444648453908,3.134187245143355,0.03528504471259709,1.8612372435695794,0.0,0.1976776695296637,4.210335349462018,3.123230159395084,0.07046463530640786,1.1724662100445347,0.0,0.16576289195422447,4.114863967703013,3.328122461383807,0.14976376476377215,0.6091325251265606,220685.06974260762,0.18240110303063797,4.298884530526613,3.2745079795130425,0.3181414587743686,0.3124109409006622,226106.0547637598,0.08598085540326587,4.159135723334216,3.154945509746097,0.5837321392113398,0.03181414587743686,256227.98523571176,0.08480892146495206,4.114863967703013,3.134187245143355,0.010015749015748525,1.0362622560800903,0.0,0.20232233047033632,4.176118731845849,3.3481390443464507,0.036447943105077256,1.5248528137423858,0.0,0.1976776695296637,4.176118731845849,3.233079292215077,0.07263489897661093,0.9251882341631135,0.0,0.244604846686296,4.419162107325022,3.4081423320207436,0.15344172374443318,0.48075595275592914,1.3114631944792243e6,0.207395153313704,4.465912695526794,3.394405377044535,0.2975567596063108,0.22548683298050515,8.701920704874473e6,0.12079889714825605,4.509017816473206,3.5024121041547702,0.6137668949777327,0.02334928556845359,4.6586189510359555e7,0.11423437847553165,4.5904293608259605,3.7601159403350337,0.009467707173346744,1.0229448249628879,0.0,0.1976776695296637,6.215966650966487,5.0620750495366975,0.03373082103719685,0.6612372435695795,0.0,0.18353553390593275,6.094157369020849,4.750493147074372,0.07511811761811393,0.4187867965644036,183633.50558229073,0.038121320343559646,6.259600077814652,5.0620750495366975,0.16234834957055044,0.18612372435695795,245688.32710051586,0.02681990168810821,6.593540304122162,5.027504771394277,0.30047247047245573,0.07516227766016839,369160.1996696747,0.019541103500742247,5.910675994005833,5.027504771394277,0.6493933982822018,0.008555051025721683,432051.6506221377,0.021064585653306517,6.389336012665805,4.846074713404927,0.00958630196997793,1.0081441346456308,0.0,0.18935414346693488,6.894105566586728,5.4738160196441585,0.03626917896280316,0.6819632166419253,0.0,0.21387627564304207,6.927924317202108,5.3634798447310414,0.07147747564417434,0.4060883500843737,193443.25718428858,0.03834520787991172,6.927924317202108,5.529400777718352,0.15284861119048526,0.20827396060044145,261844.78214846912,0.028140380592228745,7.1422418311394225,5.529400777718352,0.3034834957055045,0.12435147072961082,347558.96179770876,0.02016288269291262,7.4894866461918195,5.3634798447310414,0.6137668949777327,0.012227888895238822,439794.42477862805,0.018353553390593275,7.187865028542044,5.873021529427319 -11,31,34,-1,0,0,0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.03125,23.828125,0.47265625,0.010271131013144339,1.0271131013144337,0.0,0.19369306393762917,3.2399858668848265,2.639203013597638,0.0331369751067136,1.976776695296637,0.0,0.20827396060044145,3.329416841265565,2.6839365249930784,0.06979639663385924,1.2325357215773205,0.0,0.004165479212008829,3.3615524707344355,2.620091050238382,0.15344172374443318,0.9164054266419425,465128.0276154276,0.003908220700148449,3.4838866971656266,2.559942303761619,0.3159687847995977,0.46066547622084403,619871.1149256865,0.0019541103500742246,3.113370319768882,2.519793292430426,0.5862331050222673,0.0453875259337216,913856.9034228534,0.0018935414346693486,3.350753465053379,2.602456102794555,0.009467707173346744,1.0189907412699017,0.0,0.20630693606237088,3.6498944079461664,2.8904841568680784,0.033896286189085106,1.9695582495781319,0.0,0.1976776695296637,3.7951746682169216,3.0245895250090964,0.07703348259858253,1.2563603896932107,0.0,0.20318246186088998,3.6498944079461664,2.768021164485463,0.14526979795322187,0.9268417687454868,428541.20445719676,0.19435951674294868,3.745703830957665,2.9831818805184414,0.3140900974233027,0.43930704330706505,661458.3508250016,0.10479937506509061,3.596408791235463,3.0408461875145374,0.5810791918128875,0.046342088437274345,954795.854507545,0.10109039867056172,3.596408791235463,2.8377919536878635,0.009306186217847899,0.9176776695296637,0.0,0.18935414346693488,4.048381398296987,3.351007396239904,0.03288349647632367,2.0096056723534024,0.0,0.21064585653306517,3.9709572336685306,3.328122461383807,0.07561081009842233,1.2435147072961084,0.0,0.1759465098936167,3.834800717546093,3.123230159395084,0.16234834957055044,0.5718198051533947,205664.94310456415,0.17059920884095148,4.034228299374266,3.087418217069815,0.2975567596063108,0.2943027776190295,239996.84569019516,0.09119107853504793,3.91276675667495,3.4200542254009836,0.6189208081871126,0.029755675960631077,241050.16269014173,0.09001914459673412,3.834800717546093,3.351007396239904,0.009176776695296637,0.9770551750371123,0.0,0.18935414346693488,4.509017816473206,3.5538314549554655,0.034335324055553444,1.6243534003374946,0.0,0.21064585653306517,4.509017816473206,3.4908040376105087,0.07703348259858253,0.9820270319643722,0.0,0.22564407224408337,4.698227998135754,3.6178420104762603,0.14456066158798647,0.4404852813742386,1.4313616464077109e6,0.22635592775591665,4.798811780154152,3.60009778765355,0.3181414587743686,0.2419545923149514,8.185043010936731e6,0.11379707401269142,4.176118731845849,3.2640331625962045,0.5782426463519459,0.024756832327484504,4.944820494477073e7,0.12144817100367705,4.324739641736421,3.4686470214354186,0.010116116523516816,0.9637377439199099,0.0,0.21064585653306517,5.792899488406437,4.734543729154006,0.03580306887370108,0.7069810194985969,0.0,0.2003149803149705,6.493950489698852,5.104605492748664,0.06882582521472479,0.3939116499156264,194915.00193937478,0.04060883500843737,5.876165118732509,4.734543729154006,0.14976376476377215,0.20096056723534025,260782.15193587772,0.025295059365824723,6.1361388405404105,4.7179918139167585,0.27530330085889915,0.08065153077165048,340544.40004917176,0.020725245121601808,6.282844136769962,4.7179918139167585,0.5990550590550886,0.007961577310586391,461641.3205274839,0.01976776695296637,6.024279838040949,4.549225963270055,0.010189907412699019,0.9395284707521048,0.0,0.20232233047033632,7.317643888682026,5.832913078678983,0.03419693112629893,0.6424918292799399,0.0,0.1990394327646598,7.347461686500529,5.688278459917461,0.07614156564082007,0.38121320343559645,181593.7929244138,0.040759629650796075,7.347461686500529,5.994033949351168,0.14379452954966895,0.19620185174601967,246893.54105946544,0.02595905255905384,7.742401343530607,5.994033949351168,0.2840312152004023,0.11724662100445346,326971.0925942907,0.018790569415042098,7.044625250903228,5.688278459917461,0.5782426463519459,0.011503562363973515,466813.1280663163,0.02003149803149705,6.657187664685844,5.493019558428221 -8,22,12,5,984375,265625,203125,0.15732132722552272,1.8234301897878362,2.083920216900384,44,29,13,26,7,14,3,8,9,22,0.16176470588235295,0.17352941176470588,0.30246913580246915,0.2654320987654321,0.3271604938271605,0.0029411764705882353,0.10882352941176471,0.1264705882352941,0.1264705882352941,0.030864197530864196,0.12058823529411765,0.018518518518518517,0.17941176470588235,0.05555555555555555,0.76953125,3.15625,21.015625,0.26953125,0.009770551750371123,0.9306186217847897,0.0,0.20096056723534025,3.4667994773078847,2.620091050238382,0.032571651762467645,2.138762756430421,0.0,0.1976776695296637,3.254778191575989,2.5859376556564992,0.07100780380010058,1.2057634034120415,0.0,0.004060883500843737,3.502612005104014,2.6839365249930784,0.15798439239979886,0.8697817459305204,450496.85708315833,0.003787082869338697,3.3066380512266433,2.6971651566999215,0.2818585412256314,0.44835592615875686,612202.5176874202,0.0020232233047033634,3.502612005104014,2.7697156036506394,0.6493933982822018,0.04435834192440777,1.0317719351285e6,0.0018612372435695796,3.281951422475478,2.620091050238382,0.00958630196997793,1.046966991411009,0.0,0.1990394327646598,3.5247465210368913,2.9090078731703866,0.03516809926618455,1.9541103500742245,0.0,0.19620185174601967,3.8228581486037347,2.9090078731703866,0.06979639663385924,1.2057634034120415,0.0,0.1877937860531805,3.6803663533962654,2.8904841568680784,0.15543933841201354,0.9164054266419425,450496.85708315833,0.1928919662900775,3.769630630040058,2.918383195131922,0.3181414587743686,0.40947219358530756,616251.8512823349,0.08993241161390704,3.6333063580106795,2.7029200646244504,0.5583711730708739,0.04500957229836708,1.0194353963962032e6,0.09444629890415117,3.745703830957665,2.8128432885403565,0.01046966991411009,1.0413698030022072,0.0,0.19541103500742246,4.019496813483939,3.154945509746097,0.03459359216769115,2.023223304703363,0.0,0.19620185174601967,4.114863967703013,3.1856569068566456,0.06882582521472479,1.1361248608016092,0.0,0.1722708830708746,3.7456139916348534,2.9688367557600963,0.1487783798031554,0.588605555238059,200881.7524614908,0.18007832252269354,3.9336138360467494,3.154945509746097,0.3246966991411009,0.28590990257669735,242012.14322959253,0.09038595291567017,4.417631374365148,3.134187245143355,0.588605555238059,0.030813393039433014,238068.06436779798,0.08697817459305202,3.9709572336685306,3.1966139926049157,0.009395284707521049,1.0271131013144337,0.0,0.19837117307087385,4.60913435613093,3.4337781607248337,0.03335615530061469,1.6367117199406205,0.0,0.20162882692912618,4.480397939901231,3.514458671275167,0.07771966920600677,0.9488528137423857,0.0,0.21665042452150118,4.57268554763437,3.3799242914086522,0.15473020204677815,0.513303061543301,1.4882329752879846e6,0.22170809247300222,4.365796155869071,3.4686470214354186,0.2995275295275443,0.2334928556845359,7.967704835021098e6,0.11776562152446837,4.60913435613093,3.659043247178078,0.6319375695991954,0.024992875272052975,4.777777685253991e7,0.11505528038110684,4.365796155869071,3.684203669403796,0.010604715292478953,0.9883883476483185,0.0,0.18790569415042097,5.6581728684441694,5.1663780813766484,0.03335615530061469,0.697977994274006,0.0,0.2045889649925776,5.792899488406437,4.643996901406786,0.08020360336614077,0.3908220700148449,188330.50619882336,0.040917792998515515,5.792899488406437,4.622890851781605,0.1487783798031554,0.20542262026288677,255334.25829406874,0.024427740239554723,5.998579280052453,4.600324151326993,0.3208144134645631,0.07783095189484532,342719.7288542064,0.019369306393762917,6.15604148456427,4.970894504689864,0.6028817017060207,0.007783095189484531,472890.4369552434,0.0192747548783982,5.837553384301147,4.882944362655171,0.010271131013144339,1.0152208752109342,0.0,0.20096056723534025,7.16477397286058,5.511524079580415,0.033896286189085106,0.6117851130197758,0.0,0.20304417504218686,7.412910237413274,5.643295832759966,0.07228033079399324,0.42775255128608414,192094.83362580332,0.04187867965644036,6.657187664685844,5.643295832759966,0.15704504871165134,0.2003149803149705,252856.5575242229,0.02540343455096492,6.657187664685844,5.153880185076074,0.3056972223809705,0.12139339828220179,357101.145117175,0.02003149803149705,7.412910237413274,5.873021529427319,0.5506066017177983,0.01162158383625775,443969.5723047655,0.018790569415042098,7.236571948853032,5.602429532355842 -33,47,37,15,484375,765625,703125,0.027386127875258306,5.484455543377233,6.267949192431123,18,9,36,5,15,6,11,20,21,10,0.1554054054054054,0.18243243243243243,0.10493827160493827,0.06790123456790123,0.12962962962962962,0.22297297297297297,0.033783783783783786,0.07432432432432433,0.07432432432432433,0.22839506172839505,0.060810810810810814,0.21604938271604937,0.19594594594594594,0.25308641975308643,0.89453125,4.15625,13.515625,0.39453125,0.010362622560800904,1.0048028361767012,0.0,0.18612372435695795,3.268723096152053,2.4521519471920596,0.03516809926618455,1.9903943276465978,0.0,0.21064585653306517,3.450983445115174,2.8032328858076765,0.07587087392637612,1.1167423461417478,0.0,0.0038121320343559644,3.294563451530929,2.530589197695275,0.14825825214724778,0.9268417687454868,424773.65166037605,0.004046446609406727,3.523562404406734,2.5408303404023624,0.3024432403936893,0.42179728667902894,654130.0751623376,0.0018935414346693486,3.294563451530929,2.5775772512054456,0.5990550590550886,0.04133925271309262,951793.1644589785,0.0020096056723534024,3.4838866971656266,2.4521519471920596,0.010189907412699019,0.9847791247890659,0.0,0.21387627564304207,3.7821658863103425,2.6653339270951544,0.032571651762467645,2.0725245121601805,0.0,0.20827396060044145,3.596408791235463,2.6653339270951544,0.07536021271325259,1.1167423461417478,0.0,0.2001135637064119,3.906815710764537,3.10594728737555,0.14655827625556683,0.8632881476824866,424773.65166037605,0.18107627163190831,3.4913202224965527,2.7029200646244504,0.2975567596063108,0.4421132479177486,656463.8770859436,0.09815434035433554,3.853330094053834,2.918383195131922,0.6028817017060207,0.04240446073247604,948715.992126065,0.100248592846363,4.060453714523384,2.9831818805184414,0.00984779124789066,0.9810092587300983,0.0,0.20725245121601807,4.273324220495441,3.4200542254009836,0.036863024893286404,1.8935414346693487,0.0,0.20827396060044145,3.834800717546093,2.9688367557600963,0.07511811761811393,1.213933982822018,0.0,0.15784055915910214,4.08805083699141,3.1856569068566456,0.1590707293871843,0.6248218818013244,219247.04951458756,0.1693820094637193,4.175274801025988,3.4200542254009836,0.2995275295275443,0.3045662625632803,228252.57159526987,0.08522494813255682,4.0751945290085905,3.351007396239904,0.6248218818013244,0.02905395959064437,254372.49331629113,0.09268417687454866,4.210335349462018,2.991721690616193,0.01008144134645631,0.9684653196881458,0.0,0.21209430584957908,4.345954473741487,3.659043247178078,0.0355327306323827,1.5419803902718556,0.0,0.18790569415042097,4.8568838537785854,3.2891935848219225,0.07327913812778342,1.0111001113587128,0.0,0.2302919075269978,4.3018197023800315,3.583673629614086,0.14593303480283495,0.47769463863518347,1.4019710612848066e6,0.23534957547849883,4.6289760382585134,3.7601159403350337,0.3246966991411009,0.24756832327484501,8.469394644029373e6,0.11055182899632297,4.345954473741487,3.4337781607248337,0.5930330085889911,0.023544222209522358,5.0912127567543395e7,0.12301469739275586,4.6289760382585134,3.4458247278452308,0.009918558653543694,1.0532292826653258,0.0,0.20162882692912618,6.1754623894357294,4.7659014317467046,0.0355327306323827,0.656519416526044,0.0,0.19274754878398198,6.215966650966487,4.923947342218395,0.07463978728674742,0.41450490243203614,200685.49413773723,0.0385495097567964,6.215966650966487,4.902841292593214,0.1590707293871843,0.19369306393762917,233946.1050131704,0.026211747500786402,6.360186953215491,4.882944362655171,0.29855914914698967,0.08252277442494835,317416.8605438435,0.020542262026288678,6.67333100555583,4.6827683299560645,0.5583711730708739,0.008252277442494835,445871.73366755515,0.020458896499257757,6.2373465049791506,4.600324151326993,0.009684653196881459,0.9530330085889911,0.0,0.18612372435695795,6.564614460469395,5.922365366923927,0.03594895854600519,0.6677166010499016,0.0,0.19060660171779822,6.989371915317976,5.309011727754844,0.07672086187221659,0.3980788655293196,179020.59742605194,0.03939116499156264,7.187865028542044,5.309011727754844,0.1477168687183599,0.18353553390593275,270348.9383936523,0.026942818658082346,7.187865028542044,5.564721472419586,0.2875890590993379,0.11361248608016092,335890.0099378692,0.018353553390593275,6.989371915317976,5.493019558428221,0.6009449409449115,0.012325357215773205,470733.043537059,0.02016288269291262,6.772731807835801,5.243332473321018 -45,9,25,0,234375,515625,453125,0.11291589790636215,3.1859634244019106,3.641101056459326,9,18,23,0,11,10,15,2,15,16,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.65625,24.765625,0.33203125,0.009306186217847899,0.9770551750371123,0.0,0.20725245121601807,3.113370319768882,2.711661968023029,0.03419693112629893,1.9274754878398197,0.0,0.19060660171779822,3.070076562565329,2.5083413290884344,0.07852252435582567,1.1724662100445347,0.0,0.004212917130661303,3.384331260773357,2.410317750349361,0.15228313128164014,0.8386690475583123,437914.15794216126,0.0039391164991562635,3.3964058604690712,2.433394407764258,0.3124109409006622,0.466607472869074,676991.6056147644,0.0019695582495781318,3.167406907593266,2.496096829006922,0.5810791918128875,0.04316440738412434,923232.6718836612,0.0019541103500742246,3.372730733493356,2.711661968023029,0.010604715292478953,0.9467707173346743,0.0,0.2045889649925776,3.906815710764537,2.8256854714815587,0.03626917896280316,1.8612372435695794,0.0,0.18790569415042097,3.721058615689658,2.8256854714815587,0.07771966920600677,1.2435147072961084,0.0,0.18107627163190831,3.7821658863103425,2.971075398312137,0.13959279326771848,0.8871668384881553,474711.8964832876,0.1877937860531805,3.887654175158966,2.8377919536878635,0.3056972223809705,0.42990427701632944,681040.939209679,0.0953429160711855,4.060453714523384,2.8377919536878635,0.5862331050222673,0.043788675208225165,975167.6851414371,0.09752932205468329,3.853330094053834,2.8998594788296135,0.009467707173346744,1.0081441346456308,0.0,0.18612372435695795,4.129017066625734,3.245597363392304,0.03335615530061469,2.093933982822018,0.0,0.20162882692912618,4.250478609325051,3.0999128134216334,0.07296651740141748,1.1817349497468792,0.0,0.1673365465739174,3.9709572336685306,3.2906474297864454,0.15284861119048526,0.5637170824512628,212967.17970150412,0.16284456338156397,4.062019317918444,3.245597363392304,0.3081339303943301,0.29651650429449555,234983.16940911548,0.09524436508138959,3.9529100165379827,3.219931338578367,0.5637170824512628,0.03246966991411009,263262.6892009046,0.08386690475583121,4.08805083699141,3.111825296404928,0.010413698030022072,0.9984250984251477,0.0,0.1917260393995586,4.8568838537785854,3.5269975388779446,0.036863024893286404,1.7110102051443365,0.0,0.20827396060044145,4.60913435613093,3.6372873058051005,0.06979639663385924,0.9149116882454315,0.0,0.23966656561002433,4.7588291424771185,3.4795898105645824,0.15023623523622787,0.46259411708155673,1.440749809239108e6,0.21233343438997568,4.118046658221416,3.3645632023859147,0.3081339303943301,0.24037797637796457,8.814164374805447e6,0.1221745967891778,4.8568838537785854,3.3109495261949,0.5718198051533947,0.02419545923149514,4.907483637102427e7,0.11820292598730862,4.118046658221416,3.5400944999792574,0.010189907412699019,1.0152208752109342,0.0,0.19620185174601967,5.998579280052453,4.622890851781605,0.036863024893286404,0.6311804782231162,0.0,0.1990394327646598,6.4208278799941665,4.780936762253296,0.07672086187221659,0.3722474487139159,181593.7929244138,0.03980788655293196,6.4208278799941665,4.7659014317467046,0.15284861119048526,0.19968501968502955,262971.9875047733,0.027075614878057385,5.6581728684441694,4.750493147074372,0.30688344748886637,0.0734142135623731,333255.51303025143,0.02164644660940673,5.971316920784508,4.812294464845993,0.6217573536480542,0.00734142135623731,424680.7640753084,0.01990394327646598,6.071903796185347,4.750493147074372,0.009984250984251477,1.0532292826653258,0.0,0.20725245121601807,6.959554117499472,5.337297949693708,0.037881281566461776,0.6876897868745695,0.0,0.21064585653306517,6.657187664685844,5.873021529427319,0.08020360336614077,0.4091779299851552,186924.47227039727,0.037870828693386975,7.412910237413274,5.493019558428221,0.14201560760020115,0.19457737973711328,244386.24604495996,0.02612487374059423,6.989371915317976,5.411051518281698,0.3181414587743686,0.1181734949746879,322926.0426519941,0.01945773797371133,6.657187664685844,5.309011727754844,0.6189208081871126,0.012987867965644037,457061.12527998,0.020827396060044145,7.4894866461918195,5.798231740853505 -20,34,50,10,734375,15625,953125,0.20078432583507785,0.7512501250250061,0.8585715714571496,29,44,56,16,3,2,7,14,3,4,0.0330188679245283,0.2028301886792453,0.007692307692307693,0.2076923076923077,0.038461538461538464,0.08018867924528301,0.09905660377358491,0.2783018867924528,0.12735849056603774,0.16153846153846155,0.1179245283018868,0.3923076923076923,0.06132075471698113,0.19230769230769232,0.83203125,3.65625,17.265625,0.45703125,0.010048028361767013,1.0362622560800903,0.0,0.19541103500742246,3.3615524707344355,2.5505943563651448,0.03626917896280316,2.0458896499257757,0.0,0.20304417504218686,3.350753465053379,2.6602400615695743,0.07385843435917995,1.2435147072961084,0.0,0.003953553390593274,3.167406907593266,2.602456102794555,0.14295495128834868,0.8933943701856222,474711.8964832876,0.004187867965644036,3.188357306895986,2.6111101215519175,0.2943027776190295,0.4364165807559225,636779.5798111557,0.002093933982822018,3.384331260773357,2.6494441563047255,0.6162678607886602,0.04582027133209713,979141.2801013748,0.0020725245121601807,3.1431780827763114,2.5505943563651448,0.009918558653543694,1.0116116523516816,0.0,0.19274754878398198,3.6803663533962654,2.996024063459644,0.03419693112629893,2.0096056723534024,0.0,0.20162882692912618,3.978477980963109,2.996024063459644,0.07327913812778342,1.1724662100445347,0.0,0.1928919662900775,3.5247465210368913,2.7991123582732502,0.15072042542650518,0.8267850542618523,437914.15794216126,0.2001135637064119,3.6655321645721797,3.00975499372675,0.2875890590993379,0.45595539267523977,639113.3817347616,0.10109039867056172,3.745703830957665,3.00975499372675,0.6217573536480542,0.04705278064146927,918725.8998606356,0.10479937506509061,3.6333063580106795,3.143533424904846,0.010116116523516816,0.9395284707521048,0.0,0.20096056723534025,3.8643608354733883,3.0602749435229692,0.0355327306323827,1.9695582495781319,0.0,0.18790569415042097,4.004109642665785,3.2906474297864454,0.07736510102338907,1.2563603896932107,0.0,0.17742396501363894,4.210335349462018,3.0999128134216334,0.14379452954966895,0.6048864807873786,225805.3139857412,0.17399720420448922,4.364811290101005,3.0602749435229692,0.29053959590644374,0.3159687847995977,215299.73139601035,0.08786140866141298,4.192288132331471,3.0291967222135545,0.6048864807873786,0.02995275295275443,247625.3814950566,0.0893394370185622,3.7456139916348534,3.3083341090029497,0.009810092587300983,1.0823223304703364,0.0,0.20379814825398038,4.480397939901231,3.3109495261949,0.03459359216769115,1.5923154621172781,0.0,0.19620185174601967,4.345954473741487,3.4212392931220563,0.07536021271325259,0.9746120402024968,0.0,0.22415942557008744,4.450918734737546,3.188120891664967,0.13765165042944957,0.4910135159821861,1.3426904134958975e6,0.22784057442991257,4.49453257209877,3.5683125405913483,0.29053959590644374,0.2202426406871193,8.24386170890279e6,0.11465304832720495,4.480397939901231,3.5269975388779446,0.6091325251265606,0.022548683298050515,4.606873252381876e7,0.11120110285174399,4.49453257209877,3.3303948215237402,0.00958630196997793,0.9530330085889911,0.0,0.20827396060044145,6.360186953215491,4.902841292593214,0.03459359216769115,0.6744077682344545,0.0,0.21387627564304207,6.048659737230037,4.380460112623352,0.07228033079399324,0.4019211344706805,193443.25718428858,0.042775255128608414,6.048659737230037,5.1663780813766484,0.14379452954966895,0.21646446609406728,248020.7464157696,0.025506240726982557,6.1754623894357294,5.104605492748664,0.28912132317597294,0.0801259921259882,353449.95718459703,0.019968501968502955,6.3329245939475465,4.484763144463303,0.5862331050222673,0.00801259921259882,458534.1688028672,0.021387627564304207,6.455338755267491,5.104605492748664,0.010823223304703365,0.9883883476483185,0.0,0.19541103500742246,7.379091486797894,5.665194033718302,0.03494487844488017,0.6485912657903775,0.0,0.1976776695296637,7.187865028542044,5.493019558428221,0.07463978728674742,0.38549509756796396,198425.75300104337,0.040464466094067265,6.989371915317976,5.873021529427319,0.15174174785275224,0.20630693606237088,259774.12644982192,0.024196084166404532,7.412910237413274,5.738947602306292,0.2975567596063108,0.12563603896932107,345042.0905646754,0.020630693606237087,7.187865028542044,5.643295832759966,0.5837321392113398,0.011981101181101772,418775.2584654712,0.019620185174601967,7.044625250903228,5.4538277003236715 -14,3,31,13,609375,390625,328125,0.13693063937629152,2.453366630131697,4.6833752096446,13,56,18,0,1,0,5,17,18,25,0.19444444444444445,0.1574074074074074,0.2808219178082192,0.13013698630136986,0.08904109589041095,0.17592592592592593,0.1882716049382716,0.009259259259259259,0.10802469135802469,0.08904109589041095,0.15123456790123457,0.07534246575342465,0.015432098765432098,0.3356164383561644,0.92578125,4.40625,11.640625,0.48828125,0.00958630196997793,1.0604715292478952,0.0,0.19837117307087385,3.3182385785066444,2.6602400615695743,0.03711650352367634,1.8790569415042095,0.0,0.19457737973711328,3.523562404406734,2.5505943563651448,0.07263489897661093,1.2725658350974745,0.0,0.00400629960629941,3.2399858668848265,2.746638946235742,0.15023623523622787,0.9077505186744319,459204.87091136817,0.004329289321881345,3.070076562565329,2.496096829006922,0.3208144134645631,0.4421132479177486,645603.3628700823,0.0019968501968502953,3.6208927494346717,2.6111101215519175,0.5908674748734396,0.043788675208225165,938784.5327151483,0.0019837117307087383,3.329416841265565,2.5083413290884344,0.009306186217847899,0.9684653196881458,0.0,0.20162882692912618,3.733593871959942,2.948641698540831,0.03471495528740293,2.0379814825398035,0.0,0.19274754878398198,3.6655321645721797,2.948641698540831,0.0743891899015777,1.1503562363973516,0.0,0.17435875721063612,4.011904279503447,2.8492763275234942,0.1487783798031554,0.9410556128293852,431928.96680106164,0.1959915892592523,3.721058615689658,2.7842778269909036,0.29311655251113367,0.44835592615875686,593390.320829908,0.09339723484172113,3.7951746682169216,2.959591024476506,0.5951135192126216,0.04316440738412434,935190.7400996472,0.1020542406942163,3.927814191370153,3.0408461875145374,0.010823223304703365,1.0693813782152104,0.0,0.1917260393995586,4.192288132331471,3.3083341090029497,0.03505512155511984,2.0542262026288673,0.0,0.2045889649925776,3.9336138360467494,3.045336172486958,0.07899219619989943,1.1981101181101772,0.0,0.17461799053628066,3.88992114550456,3.144745487937831,0.15072042542650518,0.5971182982939793,208621.11749665393,0.18615944084089786,4.114863967703013,3.1966139926049157,0.3034834957055045,0.27530330085889915,231889.4235191486,0.08902182540694797,4.273324220495441,3.087418217069815,0.6137668949777327,0.029543373743671976,258270.37469547844,0.08561404708432982,4.143748552516062,3.245597363392304,0.0096373774391991,1.0116116523516816,0.0,0.20096056723534025,4.248600699437548,3.188120891664967,0.03505512155511984,1.6661916848035314,0.0,0.19274754878398198,4.419162107325022,3.5683125405913483,0.07953536469359215,0.9902732930993801,0.0,0.2103198085233625,4.509017816473206,3.3109495261949,0.14295495128834868,0.4509736659610103,1.4222471516314677e6,0.21780473012589963,4.555768404674979,3.6372873058051005,0.3140900974233027,0.2527750278396782,8.1208450000908e6,0.106450609665441,4.539572142492922,3.188120891664967,0.5506066017177983,0.023129705854077837,4.986343059270051e7,0.11333840030430503,4.435358369507079,3.394405377044535,0.009306186217847899,0.9728868986855663,0.0,0.2045889649925776,6.493950489698852,4.700763480595073,0.03505512155511984,0.6656167322834318,0.0,0.20162882692912618,5.942167861334194,4.549225963270055,0.07810273522516555,0.3967423461417477,196551.73896677358,0.04165479212008829,5.942167861334194,4.519333422605723,0.15543933841201354,0.18935414346693488,258813.06407443597,0.025057181341917655,5.876165118732509,4.812294464845993,0.3124109409006622,0.07624264068711929,361707.29408404074,0.01969558249578132,6.071903796185347,5.104605492748664,0.611394444761941,0.008121767001687473,452625.91666544095,0.020827396060044145,6.67333100555583,4.812294464845993,0.01046966991411009,1.0015749015748523,0.0,0.19837117307087385,6.817529157808182,5.583225993571779,0.03540640783230886,0.7021528551102172,0.0,0.19457737973711328,7.095248770457529,5.411051518281698,0.07810273522516555,0.39240370349203935,194915.00193937478,0.041084524052577356,7.586091464320844,5.411051518281698,0.15406696519716506,0.1976776695296637,256157.16458503995,0.026493759273017448,7.2893583197390805,5.493019558428221,0.3108786768240271,0.11621583836257748,340544.40004917176,0.019060660171779823,6.857568689319529,5.153880185076074,0.5718198051533947,0.011361248608016091,434909.3998359294,0.0192747548783982,6.927924317202108,5.688278459917461 -39,28,6,3,109375,890625,828125,0.2322227914413702,0.2789974706149678,1.4425614756979996,36,23,44,21,9,8,13,5,6,13,0.15816326530612246,0.09693877551020408,0.04285714285714286,0.24285714285714285,0.21428571428571427,0.12755102040816327,0.14795918367346939,0.17857142857142858,0.015306122448979591,0.21428571428571427,0.08673469387755102,0.20476190476190476,0.18877551020408162,0.08095238095238096,0.80078125,3.40625,19.140625,0.36328125,0.010189907412699019,0.9918558653543692,0.0,0.21209430584957908,3.547791229223689,2.5083413290884344,0.03471495528740293,2.0162882692912616,0.0,0.20630693606237088,3.3066380512266433,2.711661968023029,0.07703348259858253,1.1902270384252431,0.0,0.003670710678118655,3.4361911204240116,2.568923232448083,0.13765165042944957,0.8561404708432985,431928.96680106164,0.0039937003937005906,3.350753465053379,2.6494441563047255,0.29855914914698967,0.40947219358530756,699853.1360671913,0.0021646446609406727,3.3402158469466214,2.433394407764258,0.6281801948466054,0.04705278064146927,998067.8845223241,0.002120943058495791,3.5775989922311187,2.6602400615695743,0.010048028361767013,1.0271131013144337,0.0,0.18790569415042097,4.011904279503447,2.768021164485463,0.03711650352367634,1.9172603939955857,0.0,0.2045889649925776,3.887654175158966,2.768021164485463,0.07953536469359215,1.222788889523882,0.0,0.19029923129922197,3.733593871959942,3.0245895250090964,0.1590707293871843,0.8757735041645032,459204.87091136817,0.1848485107502576,3.978477980963109,2.959591024476506,0.3108786768240271,0.42179728667902894,647640.094027017,0.09949164577067154,3.5519166220408223,2.7842778269909036,0.6362829175487372,0.04582027133209713,992732.1155436699,0.09613890735554963,3.6945094290877174,2.8602256534591692,0.009984250984251477,0.9951971638232989,0.0,0.20379814825398038,3.9529100165379827,3.111825296404928,0.03211871843353824,1.9369306393762915,0.0,0.19274754878398198,4.175274801025988,3.232425934930185,0.07412912607362389,1.2987867965644035,0.0,0.16392167747730646,4.143748552516062,3.3791618246855486,0.13959279326771848,0.6416288269291262,222234.18452841477,0.17172911692912537,3.834800717546093,2.991721690616193,0.2840312152004023,0.30047247047245573,247101.9936362605,0.08331582312545133,4.019496813483939,3.2745079795130425,0.5782426463519459,0.03140900974233027,243523.23096194427,0.09077505186744317,3.88992114550456,3.0602749435229692,0.010229448249628879,0.9467707173346743,0.0,0.18612372435695795,4.539572142492922,3.4795898105645824,0.03211871843353824,1.5696148139681572,0.0,0.2045889649925776,4.698227998135754,3.3645632023859147,0.0743891899015777,0.9339714227381436,0.0,0.22708544097593447,4.176118731845849,3.5269975388779446,0.15228313128164014,0.4839091846299028,1.5282646237970614e6,0.23118553044161266,4.276702513864247,3.4212392931220563,0.2954337374367198,0.23721320343559643,8.612947739365043e6,0.1161826885826829,4.248600699437548,3.4795898105645824,0.6009449409449115,0.024550675799109307,4.7028451173827104e7,0.12020642170529047,4.726329812562453,3.60009778765355,0.010048028361767013,1.0315346803118544,0.0,0.19274754878398198,6.094157369020849,4.9976122307299455,0.03211871843353824,0.7215482203135576,0.0,0.18790569415042097,6.307224035959051,4.846074713404927,0.07357569440475738,0.42418861169915817,185376.81321274507,0.03924037034920393,6.307224035959051,4.828846380083242,0.14655827625556683,0.20232233047033632,242959.3393316963,0.026596565449035083,6.259600077814652,4.484763144463303,0.2943027776190295,0.08121767001687474,338303.75572001765,0.02093933982822018,6.455338755267491,4.750493147074372,0.5751781181986758,0.007624264068711929,483938.1555221613,0.019620185174601967,6.15604148456427,4.484763144463303,0.00984779124789066,0.9176776695296637,0.0,0.21209430584957908,7.2623905530967745,5.203224022572681,0.0331369751067136,0.658925565098879,0.0,0.20630693606237088,7.586091464320844,5.738947602306292,0.07357569440475738,0.4165479212008829,183633.50558229073,0.038738612787525835,7.095248770457529,5.738947602306292,0.14526979795322187,0.21064585653306517,237245.1777440126,0.024924385121942616,6.857568689319529,5.873021529427319,0.29311655251113367,0.12325357215773206,369160.1996696747,0.020304417504218686,7.2893583197390805,5.564721472419586,0.6091325251265606,0.012139339828220179,463288.36206061573,0.020458896499257757,7.347461686500529,5.3634798447310414 -26,15,43,18,359375,640625,78125,0.17714337624694385,1.2622412912357497,0.3188542521313922,56,13,9,10,13,4,9,23,12,19,0.18076923076923077,0.011538461538461539,0.3202247191011236,0.016853932584269662,0.16292134831460675,0.03461538461538462,0.17307692307692307,0.19615384615384615,0.19615384615384615,0.34269662921348315,0.12692307692307692,0.15168539325842698,0.08076923076923077,0.0056179775280898875,0.86328125,3.90625,15.390625,0.42578125,0.009918558653543694,1.0189907412699017,0.0,0.1917260393995586,3.4090178895245224,2.8032328858076765,0.03566467594444657,2.0827396060044143,0.0,0.18353553390593275,3.3964058604690712,2.4521519471920596,0.08117417478527522,1.1503562363973516,0.0,0.004126138721247417,3.3402158469466214,2.4828681973000792,0.15473020204677815,0.8813859133858702,415258.2923845568,0.004108452405257736,3.450983445115174,2.7697156036506394,0.28912132317597294,0.45595539267523977,664153.6488840894,0.002054226202628868,3.2399858668848265,2.5408303404023624,0.606966991411009,0.04500957229836708,964363.8339161482,0.0019172603939955858,3.422246215847947,2.5859376556564992,0.010362622560800904,1.0823223304703364,0.0,0.19620185174601967,3.8376923374278205,2.870708401875772,0.03355205689492276,2.1209430584957905,0.0,0.1990394327646598,3.769630630040058,2.870708401875772,0.07642430559524263,1.1902270384252431,0.0,0.1848485107502576,3.6155703268410346,2.9280877749266487,0.15284861119048526,0.9001914459673415,415258.2923845568,0.17435875721063612,3.596408791235463,3.080069221986806,0.27918558653543696,0.466607472869074,667012.7379378732,0.09686205806953521,3.6945094290877174,3.080069221986806,0.5751781181986758,0.04435834192440777,895647.3326711867,0.09879812519527183,3.5519166220408223,2.9381589501242287,0.009684653196881459,1.0229448249628879,0.0,0.19837117307087385,4.0751945290085905,2.991721690616193,0.0361037138109149,2.164644660940673,0.0,0.1990394327646598,4.062019317918444,3.3791618246855486,0.07614156564082007,1.162158383625775,0.0,0.17000279579551075,4.034228299374266,3.232425934930185,0.14655827625556683,0.5782426463519459,216360.4825318171,0.16657603498636106,4.250478609325051,3.111825296404928,0.3140900974233027,0.2918660696056699,223594.5774575795,0.09213309524416878,3.8643608354733883,3.1750986640621695,0.6416288269291262,0.02840312152004023,251056.69857159394,0.0807556349186104,4.034228299374266,3.154945509746097,0.010693813782152103,0.9847791247890659,0.0,0.20725245121601807,4.419162107325022,3.583673629614086,0.034051041453994825,1.6130306154330094,0.0,0.1990394327646598,4.539572142492922,3.7601159403350337,0.07189726477483448,0.9615119055118583,0.0,0.2341952698741004,4.65019087026358,3.659043247178078,0.14825825214724778,0.49985750544105945,1.3772881505651046e6,0.22491455902406554,4.726329812562453,3.514458671275167,0.2840312152004023,0.22872792206135786,8.351471131538377e6,0.1128548802475257,4.698227998135754,3.583673629614086,0.6189208081871126,0.023884731931759173,4.43596881950976e7,0.11655712899649735,4.276702513864247,3.233079292215077,0.009770551750371123,1.0015749015748523,0.0,0.21387627564304207,6.259600077814652,4.828846380083242,0.034051041453994825,0.6847420675429559,0.0,0.19620185174601967,6.593540304122162,5.027504771394277,0.07561081009842233,0.3834520787991172,190843.11208082415,0.037581138830084196,6.593540304122162,4.700763480595073,0.13959279326771848,0.2093933982822018,268502.6524527451,0.02780391583359547,6.094157369020849,4.970894504689864,0.3024432403936893,0.07907106781186549,326971.0925942907,0.020232233047033633,5.837553384301147,4.882944362655171,0.6362829175487372,0.008425834261322606,465008.71190200775,0.02016288269291262,6.3329245939475465,4.6827683299560645,0.009467707173346744,1.0315346803118544,0.0,0.1917260393995586,7.5342839961642,5.767233824245157,0.03446726936761731,0.6353553390593274,0.0,0.18353553390593275,7.2893583197390805,5.153880185076074,0.07046463530640786,0.37581138830084193,189627.87863335255,0.03993700393700591,6.857568689319529,5.564721472419586,0.14976376476377215,0.20304417504218686,264177.20146372286,0.0257882524992136,7.586091464320844,5.309011727754844,0.30144085085301037,0.12987867965644037,350329.3491134037,0.021064585653306517,7.586091464320844,5.738947602306292,0.6319375695991954,0.012563603896932108,480633.21111173375,0.021387627564304207,7.1422418311394225,5.994033949351168 -1,40,18,8,859375,140625,578125,0.08215838362577492,4.097953308439025,2.803847577293368,23,36,29,31,5,12,1,11,24,7,0.07653061224489796,0.17857142857142858,0.10330578512396695,0.1446280991735537,0.25206611570247933,0.20918367346938777,0.0663265306122449,0.09693877551020408,0.09693877551020408,0.11983471074380166,0.00510204081632653,0.24380165289256198,0.27040816326530615,0.13636363636363635,0.98828125,4.90625,22.890625,0.30078125,0.010604715292478953,0.9586301969977928,0.0,0.20379814825398038,3.2070826148343734,2.5859376556564992,0.03355205689492276,1.9620185174601965,0.0,0.2003149803149705,3.188357306895986,2.620091050238382,0.07488188238188608,1.222788889523882,0.0,0.0038915475947422654,3.6208927494346717,2.639203013597638,0.14593303480283495,0.8075563491861042,443697.8453394487,0.0038738612787525832,3.254778191575989,2.5775772512054456,0.30688344748886637,0.42990427701632944,626230.718959226,0.0019369306393762916,3.4361911204240116,2.6971651566999215,0.5680624304008046,0.04240446073247604,902551.3265746741,0.0020379814825398036,3.2241698346921157,2.8032328858076765,0.009770551750371123,0.9984250984251477,0.0,0.20827396060044145,3.6155703268410346,3.0590345971224955,0.03566467594444657,1.9837117307087384,0.0,0.21387627564304207,3.4913202224965527,3.0590345971224955,0.07189726477483448,1.2725658350974745,0.0,0.1959915892592523,3.8376923374278205,2.7287981300131943,0.14379452954966895,0.8480892146495208,443697.8453394487,0.19029923129922197,3.8228581486037347,2.8807795770733517,0.30144085085301037,0.4364165807559225,629089.8080130098,0.10321646970120192,3.927814191370153,2.8807795770733517,0.611394444761941,0.04133925271309262,961058.268325434,0.09207379013370627,3.7951746682169216,2.749832754877505,0.010271131013144339,0.9637377439199099,0.0,0.21209430584957908,4.417631374365148,3.1966139926049157,0.034051041453994825,1.9968501968502954,0.0,0.21387627564304207,4.364811290101005,3.144745487937831,0.07147747564417434,1.2325357215773205,0.0,0.18115543661843603,4.298884530526613,3.045336172486958,0.15543933841201354,0.6137668949777327,230554.31233714946,0.1766634534260826,4.004109642665785,3.3083341090029497,0.2954337374367198,0.3094604040935563,238184.70144594845,0.08666056298143779,4.129017066625734,2.940682327314452,0.5971182982939793,0.030348349570550447,272152.8850855181,0.08813859133858701,4.298884530526613,3.4200542254009836,0.00995197163823299,1.046966991411009,0.0,0.19541103500742246,4.698227998135754,3.3799242914086522,0.0361037138109149,1.5032455532033675,0.0,0.21387627564304207,4.248600699437548,3.4686470214354186,0.07642430559524263,0.8809705627484772,0.0,0.22081446955838735,4.38450115117404,3.4337781607248337,0.15798439239979886,0.47088444419044717,1.4619016376517098e6,0.24168019147663752,4.435358369507079,3.2891935848219225,0.3034834957055045,0.2436530100506242,7.734885168000203e6,0.11965802291617511,4.419162107325022,3.3799242914086522,0.5837321392113398,0.025665153077165048,4.841520265025894e7,0.10795176012703561,4.555768404674979,3.4908040376105087,0.010362622560800904,0.9176776695296637,0.0,0.1990394327646598,5.876165118732509,4.519333422605723,0.0361037138109149,0.6456435464587639,0.0,0.20827396060044145,6.1361388405404105,4.7179918139167585,0.07046463530640786,0.40759629650796075,174857.07965000425,0.04032576538582524,6.1361388405404105,4.9976122307299455,0.15072042542650518,0.1969558249578132,251972.5736502222,0.025875126259405773,6.493950489698852,4.6827683299560645,0.2818585412256314,0.08425834261322607,347558.96179770876,0.018935414346693488,6.2373465049791506,4.600324151326993,0.5951135192126216,0.007907106781186548,437463.6344004223,0.018790569415042098,5.971316920784508,4.970894504689864,0.010116116523516816,0.9728868986855663,0.0,0.20379814825398038,7.07044385514697,5.432949719240034,0.036643844699385315,0.6768139168072895,0.0,0.2003149803149705,6.857568689319529,5.564721472419586,0.07561081009842233,0.40325765385825235,203763.1632931044,0.04329289321881346,7.2893583197390805,5.153880185076074,0.16234834957055044,0.19060660171779822,249083.376628361,0.027572259760445278,7.095248770457529,5.643295832759966,0.27918558653543696,0.11981101181101772,330325.67168217537,0.01976776695296637,7.095248770457529,5.411051518281698,0.5930330085889911,0.011817349497468791,451043.54120638757,0.01990394327646598,7.742401343530607,5.529400777718352 +dhw_scenario,wave_scenario,cyclone_mortality_scenario,guided,N_seed_TA,N_seed_CA,N_seed_SM,fogging,SRM,a_adapt,seed_years,shade_years,fog_years,plan_horizon,seed_freq,shade_freq,fog_freq,seed_year_start,shade_year_start,fog_year_start,seed_in_connectivity,seed_out_connectivity,seed_wave_stress,seed_heat_stress,seed_priority,seed_zone,seed_coral_cover_low,seed_depth,fog_in_connectivity,fog_out_connectivity,fog_wave_stress,fog_heat_stress,fog_priority,fog_zone,fog_coral_cover_high,deployed_coral_risk_tol,depth_min,depth_offset,heritability,abhorescent_acropora_1_1_mean_colony_diameter_m,abhorescent_acropora_1_1_growth_rate,abhorescent_acropora_1_1_fecundity,abhorescent_acropora_1_1_mb_rate,abhorescent_acropora_1_1_dist_mean,abhorescent_acropora_1_1_dist_std,abhorescent_acropora_1_2_mean_colony_diameter_m,abhorescent_acropora_1_2_growth_rate,abhorescent_acropora_1_2_fecundity,abhorescent_acropora_1_2_mb_rate,abhorescent_acropora_1_2_dist_mean,abhorescent_acropora_1_2_dist_std,abhorescent_acropora_1_3_mean_colony_diameter_m,abhorescent_acropora_1_3_growth_rate,abhorescent_acropora_1_3_fecundity,abhorescent_acropora_1_3_mb_rate,abhorescent_acropora_1_3_dist_mean,abhorescent_acropora_1_3_dist_std,abhorescent_acropora_1_4_mean_colony_diameter_m,abhorescent_acropora_1_4_growth_rate,abhorescent_acropora_1_4_fecundity,abhorescent_acropora_1_4_mb_rate,abhorescent_acropora_1_4_dist_mean,abhorescent_acropora_1_4_dist_std,abhorescent_acropora_1_5_mean_colony_diameter_m,abhorescent_acropora_1_5_growth_rate,abhorescent_acropora_1_5_fecundity,abhorescent_acropora_1_5_mb_rate,abhorescent_acropora_1_5_dist_mean,abhorescent_acropora_1_5_dist_std,abhorescent_acropora_1_6_mean_colony_diameter_m,abhorescent_acropora_1_6_growth_rate,abhorescent_acropora_1_6_fecundity,abhorescent_acropora_1_6_mb_rate,abhorescent_acropora_1_6_dist_mean,abhorescent_acropora_1_6_dist_std,tabular_acropora_2_1_mean_colony_diameter_m,tabular_acropora_2_1_growth_rate,tabular_acropora_2_1_fecundity,tabular_acropora_2_1_mb_rate,tabular_acropora_2_1_dist_mean,tabular_acropora_2_1_dist_std,tabular_acropora_2_2_mean_colony_diameter_m,tabular_acropora_2_2_growth_rate,tabular_acropora_2_2_fecundity,tabular_acropora_2_2_mb_rate,tabular_acropora_2_2_dist_mean,tabular_acropora_2_2_dist_std,tabular_acropora_2_3_mean_colony_diameter_m,tabular_acropora_2_3_growth_rate,tabular_acropora_2_3_fecundity,tabular_acropora_2_3_mb_rate,tabular_acropora_2_3_dist_mean,tabular_acropora_2_3_dist_std,tabular_acropora_2_4_mean_colony_diameter_m,tabular_acropora_2_4_growth_rate,tabular_acropora_2_4_fecundity,tabular_acropora_2_4_mb_rate,tabular_acropora_2_4_dist_mean,tabular_acropora_2_4_dist_std,tabular_acropora_2_5_mean_colony_diameter_m,tabular_acropora_2_5_growth_rate,tabular_acropora_2_5_fecundity,tabular_acropora_2_5_mb_rate,tabular_acropora_2_5_dist_mean,tabular_acropora_2_5_dist_std,tabular_acropora_2_6_mean_colony_diameter_m,tabular_acropora_2_6_growth_rate,tabular_acropora_2_6_fecundity,tabular_acropora_2_6_mb_rate,tabular_acropora_2_6_dist_mean,tabular_acropora_2_6_dist_std,corymbose_acropora_3_1_mean_colony_diameter_m,corymbose_acropora_3_1_growth_rate,corymbose_acropora_3_1_fecundity,corymbose_acropora_3_1_mb_rate,corymbose_acropora_3_1_dist_mean,corymbose_acropora_3_1_dist_std,corymbose_acropora_3_2_mean_colony_diameter_m,corymbose_acropora_3_2_growth_rate,corymbose_acropora_3_2_fecundity,corymbose_acropora_3_2_mb_rate,corymbose_acropora_3_2_dist_mean,corymbose_acropora_3_2_dist_std,corymbose_acropora_3_3_mean_colony_diameter_m,corymbose_acropora_3_3_growth_rate,corymbose_acropora_3_3_fecundity,corymbose_acropora_3_3_mb_rate,corymbose_acropora_3_3_dist_mean,corymbose_acropora_3_3_dist_std,corymbose_acropora_3_4_mean_colony_diameter_m,corymbose_acropora_3_4_growth_rate,corymbose_acropora_3_4_fecundity,corymbose_acropora_3_4_mb_rate,corymbose_acropora_3_4_dist_mean,corymbose_acropora_3_4_dist_std,corymbose_acropora_3_5_mean_colony_diameter_m,corymbose_acropora_3_5_growth_rate,corymbose_acropora_3_5_fecundity,corymbose_acropora_3_5_mb_rate,corymbose_acropora_3_5_dist_mean,corymbose_acropora_3_5_dist_std,corymbose_acropora_3_6_mean_colony_diameter_m,corymbose_acropora_3_6_growth_rate,corymbose_acropora_3_6_fecundity,corymbose_acropora_3_6_mb_rate,corymbose_acropora_3_6_dist_mean,corymbose_acropora_3_6_dist_std,corymbose_non_acropora_4_1_mean_colony_diameter_m,corymbose_non_acropora_4_1_growth_rate,corymbose_non_acropora_4_1_fecundity,corymbose_non_acropora_4_1_mb_rate,corymbose_non_acropora_4_1_dist_mean,corymbose_non_acropora_4_1_dist_std,corymbose_non_acropora_4_2_mean_colony_diameter_m,corymbose_non_acropora_4_2_growth_rate,corymbose_non_acropora_4_2_fecundity,corymbose_non_acropora_4_2_mb_rate,corymbose_non_acropora_4_2_dist_mean,corymbose_non_acropora_4_2_dist_std,corymbose_non_acropora_4_3_mean_colony_diameter_m,corymbose_non_acropora_4_3_growth_rate,corymbose_non_acropora_4_3_fecundity,corymbose_non_acropora_4_3_mb_rate,corymbose_non_acropora_4_3_dist_mean,corymbose_non_acropora_4_3_dist_std,corymbose_non_acropora_4_4_mean_colony_diameter_m,corymbose_non_acropora_4_4_growth_rate,corymbose_non_acropora_4_4_fecundity,corymbose_non_acropora_4_4_mb_rate,corymbose_non_acropora_4_4_dist_mean,corymbose_non_acropora_4_4_dist_std,corymbose_non_acropora_4_5_mean_colony_diameter_m,corymbose_non_acropora_4_5_growth_rate,corymbose_non_acropora_4_5_fecundity,corymbose_non_acropora_4_5_mb_rate,corymbose_non_acropora_4_5_dist_mean,corymbose_non_acropora_4_5_dist_std,corymbose_non_acropora_4_6_mean_colony_diameter_m,corymbose_non_acropora_4_6_growth_rate,corymbose_non_acropora_4_6_fecundity,corymbose_non_acropora_4_6_mb_rate,corymbose_non_acropora_4_6_dist_mean,corymbose_non_acropora_4_6_dist_std,small_massives_5_1_mean_colony_diameter_m,small_massives_5_1_growth_rate,small_massives_5_1_fecundity,small_massives_5_1_mb_rate,small_massives_5_1_dist_mean,small_massives_5_1_dist_std,small_massives_5_2_mean_colony_diameter_m,small_massives_5_2_growth_rate,small_massives_5_2_fecundity,small_massives_5_2_mb_rate,small_massives_5_2_dist_mean,small_massives_5_2_dist_std,small_massives_5_3_mean_colony_diameter_m,small_massives_5_3_growth_rate,small_massives_5_3_fecundity,small_massives_5_3_mb_rate,small_massives_5_3_dist_mean,small_massives_5_3_dist_std,small_massives_5_4_mean_colony_diameter_m,small_massives_5_4_growth_rate,small_massives_5_4_fecundity,small_massives_5_4_mb_rate,small_massives_5_4_dist_mean,small_massives_5_4_dist_std,small_massives_5_5_mean_colony_diameter_m,small_massives_5_5_growth_rate,small_massives_5_5_fecundity,small_massives_5_5_mb_rate,small_massives_5_5_dist_mean,small_massives_5_5_dist_std,small_massives_5_6_mean_colony_diameter_m,small_massives_5_6_growth_rate,small_massives_5_6_fecundity,small_massives_5_6_mb_rate,small_massives_5_6_dist_mean,small_massives_5_6_dist_std,large_massives_6_1_mean_colony_diameter_m,large_massives_6_1_growth_rate,large_massives_6_1_fecundity,large_massives_6_1_mb_rate,large_massives_6_1_dist_mean,large_massives_6_1_dist_std,large_massives_6_2_mean_colony_diameter_m,large_massives_6_2_growth_rate,large_massives_6_2_fecundity,large_massives_6_2_mb_rate,large_massives_6_2_dist_mean,large_massives_6_2_dist_std,large_massives_6_3_mean_colony_diameter_m,large_massives_6_3_growth_rate,large_massives_6_3_fecundity,large_massives_6_3_mb_rate,large_massives_6_3_dist_mean,large_massives_6_3_dist_std,large_massives_6_4_mean_colony_diameter_m,large_massives_6_4_growth_rate,large_massives_6_4_fecundity,large_massives_6_4_mb_rate,large_massives_6_4_dist_mean,large_massives_6_4_dist_std,large_massives_6_5_mean_colony_diameter_m,large_massives_6_5_growth_rate,large_massives_6_5_fecundity,large_massives_6_5_mb_rate,large_massives_6_5_dist_mean,large_massives_6_5_dist_std,large_massives_6_6_mean_colony_diameter_m,large_massives_6_6_growth_rate,large_massives_6_6_fecundity,large_massives_6_6_mb_rate,large_massives_6_6_dist_mean,large_massives_6_6_dist_std +3,14,36,10,140625,921875,796875,0.18260643118126102,6.125,0.18975032409334602,22,60,25,40,15,1,2,3,12,14,0.10714285714285714,0.22959183673469388,0.1377551020408163,0.25,0.05612244897959184,0.07653061224489796,0.05612244897959184,0.08673469387755102,0.032490974729241874,0.16967509025270758,0.16967509025270758,0.11913357400722022,0.22743682310469315,0.05415162454873646,0.22743682310469315,0.90234375,4.53125,21.953125,0.26953125,0.00995197163823299,0.9951971638232989,0.0,0.2003149803149705,3.422246215847947,2.6494441563047255,0.03626917896280316,2.0096056723534024,0.0,0.1969558249578132,3.523562404406734,2.468371385976971,0.07046463530640786,1.2435147072961084,0.0,0.0038121320343559644,3.5775989922311187,2.639203013597638,0.14201560760020115,0.8267850542618523,469035.93118683016,0.003787082869338697,3.2399858668848265,2.4828681973000792,0.30688344748886637,0.4406929566929351,667012.7379378732,0.0019903943276465977,3.3402158469466214,2.519793292430426,0.6162678607886602,0.044669718509281114,1.0040376923918492e6,0.0020725245121601807,3.4838866971656266,2.519793292430426,0.010315346803118543,0.9847791247890659,0.0,0.19369306393762917,3.978477980963109,2.9280877749266487,0.03288349647632367,1.9172603939955857,0.0,0.18353553390593275,3.887654175158966,2.7287981300131943,0.07228033079399324,1.213933982822018,0.0,0.17681753813911005,3.8228581486037347,2.7287981300131943,0.14976376476377215,0.8075563491861042,440711.4650826296,0.19786026257041936,4.011904279503447,2.948641698540831,0.28590990257669735,0.41657911562725675,619871.1149256865,0.09879812519527183,4.011904279503447,2.7287981300131943,0.5862331050222673,0.04393070433070651,923232.6718836612,0.100248592846363,3.6803663533962654,3.10594728737555,0.010189907412699019,0.9951971638232989,0.0,0.18353553390593275,4.364811290101005,3.351007396239904,0.03459359216769115,2.164644660940673,0.0,0.20542262026288677,3.798434075898996,3.351007396239904,0.07296651740141748,1.1361248608016092,0.0,0.1728260878223926,4.129017066625734,3.074246788607696,0.15704504871165134,0.5908674748734396,210964.40868081615,0.16006640294698382,4.143748552516062,3.0999128134216334,0.3181414587743686,0.30144085085301037,244319.59751750724,0.09077505186744317,4.298884530526613,3.154945509746097,0.5782426463519459,0.029855914914698967,263262.6892009046,0.0884226495835497,3.88992114550456,3.2745079795130425,0.009395284707521049,0.9951971638232989,0.0,0.18790569415042097,4.509017816473206,3.2891935848219225,0.03566467594444657,1.6303851860318428,0.0,0.1990394327646598,4.4022449643656305,3.5269975388779446,0.07189726477483448,0.9149116882454315,0.0,0.21987243910293797,4.450918734737546,3.4212392931220563,0.15406696519716506,0.4601424945589406,1.4678585669755675e6,0.23212756089706205,4.49453257209877,3.3481390443464507,0.3140900974233027,0.23129705854077837,7.869134151822724e6,0.1128548802475257,4.480397939901231,3.2891935848219225,0.6493933982822018,0.022334846922834956,5.03388513100077e7,0.11505528038110684,4.67311080961997,3.6178420104762603,0.01046966991411009,1.0271131013144337,0.0,0.19541103500742246,5.6581728684441694,4.442232701251335,0.03505512155511984,0.6847420675429559,0.0,0.19541103500742246,6.3329245939475465,4.622890851781605,0.07899219619989943,0.41450490243203614,182660.298138511,0.04019211344706805,6.593540304122162,4.780936762253296,0.14456066158798647,0.1917260393995586,241362.87611149356,0.024196084166404532,6.3329245939475465,4.700763480595073,0.3034834957055045,0.07624264068711929,346273.1299638117,0.021064585653306517,6.195365033459589,5.104605492748664,0.6028817017060207,0.008555051025721683,477775.46189794206,0.01976776695296637,6.195365033459589,4.923947342218395,0.009306186217847899,0.9176776695296637,0.0,0.1917260393995586,6.657187664685844,5.082211602648832,0.033896286189085106,0.6698685574511342,0.0,0.18353553390593275,6.817529157808182,5.564721472419586,0.07587087392637612,0.43292893218813455,183633.50558229073,0.042775255128608414,6.959554117499472,5.432949719240034,0.16234834957055044,0.20162882692912618,255334.25829406874,0.023859619407771256,6.720924339679158,5.622417851676328,0.27530330085889915,0.11436396103067893,369160.1996696747,0.020630693606237087,6.564614460469395,5.994033949351168,0.5782426463519459,0.012227888895238822,493909.60326840024,0.018790569415042098,6.959554117499472,5.798231740853505 +28,39,11,1,640625,421875,296875,0.09082951062292476,1.973507684279225,2.6148351928654963,52,25,60,19,7,9,10,15,24,2,0.16358024691358025,0.040123456790123455,0.18209876543209877,0.05246913580246913,0.13271604938271606,0.14506172839506173,0.13271604938271606,0.15123456790123457,0.2265193370165746,0.08287292817679558,0.08287292817679558,0.0055248618784530384,0.1712707182320442,0.2596685082872928,0.1712707182320442,0.77734375,3.53125,14.453125,0.39453125,0.010693813782152103,1.0693813782152104,0.0,0.18353553390593275,3.2241698346921157,2.496096829006922,0.03419693112629893,1.8612372435695794,0.0,0.2093933982822018,3.3066380512266433,2.6294389976348556,0.07561081009842233,1.1724662100445347,0.0,0.004060883500843737,3.329416841265565,2.4828681973000792,0.15174174785275224,0.8871668384881553,436498.3699523655,0.004046446609406727,3.4361911204240116,2.639203013597638,0.28912132317597294,0.4037781745930521,629089.8080130098,0.0021387627564304207,3.6208927494346717,2.6716920249115663,0.5810791918128875,0.04193345237791562,942225.1850503753,0.0019541103500742246,3.281951422475478,2.6716920249115663,0.009728868986855665,1.046966991411009,0.0,0.20542262026288677,3.721058615689658,2.7287981300131943,0.03528504471259709,2.0379814825398035,0.0,0.2003149803149705,3.6655321645721797,2.9280877749266487,0.07672086187221659,1.1361248608016092,0.0,0.19091253887357323,3.596408791235463,2.9280877749266487,0.16234834957055044,0.8813859133858702,408173.90384816495,0.18639175915871867,3.733593871959942,2.768021164485463,0.3045662625632803,0.44510912703474,658901.5543930127,0.09207379013370627,3.733593871959942,2.9280877749266487,0.6217573536480542,0.047622182540694814,979141.2801013748,0.09444629890415117,3.906815710764537,2.8904841568680784,0.00958630196997793,1.0693813782152104,0.0,0.2003149803149705,4.062019317918444,3.134187245143355,0.036863024893286404,1.9968501968502954,0.0,0.19369306393762917,4.101226048081557,3.134187245143355,0.07736510102338907,1.213933982822018,0.0,0.16006640294698382,3.8643608354733883,3.259569208477031,0.1477168687183599,0.6281801948466054,223924.97489372047,0.1728260878223926,3.88992114550456,3.2906474297864454,0.2975567596063108,0.27918558653543696,230158.18834279923,0.08561404708432982,4.034228299374266,3.4200542254009836,0.6137668949777327,0.03208144134645631,247625.3814950566,0.0818944387170615,4.143748552516062,3.087418217069815,0.01008144134645631,1.0693813782152104,0.0,0.20162882692912618,4.176118731845849,3.514458671275167,0.03355205689492276,1.5338083151964685,0.0,0.21387627564304207,4.67311080961997,3.3109495261949,0.07642430559524263,0.9746120402024968,0.0,0.23312683775047907,4.7588291424771185,3.6372873058051005,0.14526979795322187,0.48911555580955285,1.3840443808026027e6,0.21887316224952094,4.118046658221416,3.5538314549554655,0.2954337374367198,0.24550675799109306,8.40806296197316e6,0.11965802291617511,4.8568838537785854,3.514458671275167,0.5990550590550886,0.02411526806824083,4.742107853193687e7,0.12301469739275586,4.4022449643656305,3.4081423320207436,0.00984779124789066,0.9684653196881458,0.0,0.20725245121601807,6.1754623894357294,4.7963450469256275,0.03211871843353824,0.6456435464587639,0.0,0.20725245121601807,5.971316920784508,4.902841292593214,0.07412912607362389,0.3908220700148449,194161.5788691571,0.037224744871391595,6.1361388405404105,4.380460112623352,0.15344172374443318,0.20379814825398038,257892.9549140165,0.02612487374059423,5.971316920784508,4.9976122307299455,0.2840312152004023,0.08121767001687474,325061.99478450586,0.01976776695296637,5.737963569877837,4.750493147074372,0.5583711730708739,0.007961577310586391,449396.4996732558,0.021064585653306517,5.737963569877837,4.643996901406786,0.010048028361767013,1.0015749015748523,0.0,0.20379814825398038,7.187865028542044,5.546844774281648,0.03594895854600519,0.6204124145231932,0.0,0.2003149803149705,7.2623905530967745,5.153880185076074,0.07100780380010058,0.3993700393700591,194915.00193937478,0.03980788655293196,7.379091486797894,5.767233824245157,0.14976376476377215,0.18790569415042097,233946.1050131704,0.026040947440946163,7.211767033542473,5.278013811146495,0.30047247047245573,0.1218265050253121,340544.40004917176,0.01945773797371133,7.16477397286058,5.529400777718352,0.6137668949777327,0.011503562363973515,455623.73645389144,0.02016288269291262,7.379091486797894,5.4538277003236715 +40,1,48,14,890625,171875,546875,0.14230249470757708,0.875,4.39444872453601,34,14,14,30,3,5,14,9,18,20,0.021929824561403508,0.12719298245614036,0.04824561403508772,0.14473684210526316,0.11842105263157894,0.27631578947368424,0.11842105263157894,0.14473684210526316,0.08532423208191127,0.10580204778156997,0.2150170648464164,0.16723549488054607,0.16040955631399317,0.2150170648464164,0.051194539249146756,0.83984375,4.03125,18.203125,0.33203125,0.0096373774391991,0.9637377439199099,0.0,0.19457737973711328,3.5775989922311187,2.7697156036506394,0.032571651762467645,2.0725245121601805,0.0,0.18935414346693488,3.3964058604690712,2.7278814068079407,0.07810273522516555,1.2057634034120415,0.0,0.003953553390593274,3.2241698346921157,2.746638946235742,0.1477168687183599,0.9164054266419425,448668.63057779835,0.004187867965644036,3.6208927494346717,2.746638946235742,0.3208144134645631,0.42807023542164924,593390.320829908,0.002045889649925776,3.4361911204240116,2.5940956983435015,0.5990550590550886,0.04348908729652602,967804.4862513752,0.0018612372435695796,3.372730733493356,2.5940956983435015,0.009176776695296637,1.0116116523516816,0.0,0.21646446609406728,3.596408791235463,3.0245895250090964,0.034335324055553444,1.9837117307087384,0.0,0.20630693606237088,3.4913202224965527,3.0245895250090964,0.07463978728674742,1.2563603896932107,0.0,0.19688982865521715,3.721058615689658,3.0245895250090964,0.14526979795322187,0.8561404708432985,428541.20445719676,0.19154738558266987,3.6155703268410346,3.0590345971224955,0.29651650429449555,0.46066547622084403,641355.5540272741,0.09613890735554963,3.8376923374278205,2.8492763275234942,0.6028817017060207,0.042612474066278425,951793.1644589785,0.09752932205468329,3.5247465210368913,2.7991123582732502,0.010604715292478953,0.9637377439199099,0.0,0.20630693606237088,3.9336138360467494,3.219931338578367,0.03335615530061469,1.9369306393762915,0.0,0.21646446609406728,4.229631529953251,3.219931338578367,0.06882582521472479,1.2563603896932107,0.0,0.1782371080457755,4.019496813483939,3.1648986422539034,0.15174174785275224,0.5680624304008046,234090.04320183228,0.1680534901063833,4.034228299374266,2.9688367557600963,0.3056972223809705,0.3108786768240271,236524.40132809774,0.0807556349186104,3.88992114550456,3.0602749435229692,0.5971182982939793,0.030688344748886633,254372.49331629113,0.08598085540326587,4.298884530526613,2.940682327314452,0.010413698030022072,0.9637377439199099,0.0,0.19620185174601967,4.38450115117404,3.6372873058051005,0.03711650352367634,1.6967544467966325,0.0,0.2045889649925776,4.216101369522883,3.4337781607248337,0.0743891899015777,1.0111001113587128,0.0,0.207395153313704,4.57268554763437,3.2891935848219225,0.14976376476377215,0.47609081537009723,1.5467586802044807e6,0.244604846686296,4.6289760382585134,3.715157539784924,0.2840312152004023,0.2566515307716505,8.185043010936731e6,0.106450609665441,4.60913435613093,3.6372873058051005,0.6162678607886602,0.024870294145922168,4.541593567852753e7,0.11120110285174399,4.524011777262454,3.5024121041547702,0.009467707173346744,1.0823223304703364,0.0,0.18612372435695795,6.360186953215491,4.946514042673007,0.034051041453994825,0.6656167322834318,0.0,0.20096056723534025,6.15604148456427,4.7659014317467046,0.07614156564082007,0.4019211344706805,202065.45371350241,0.039082207001484494,6.307224035959051,4.643996901406786,0.16040720673228154,0.19837117307087385,266906.1892325424,0.02540343455096492,6.67333100555583,4.519333422605723,0.3140900974233027,0.08425834261322607,337121.04933700553,0.020304417504218686,6.389336012665805,4.882944362655171,0.6217573536480542,0.0077099019513592795,461641.3205274839,0.019060660171779823,6.024279838040949,4.380460112623352,0.009770551750371123,0.9728868986855663,0.0,0.21209430584957908,6.989371915317976,5.712765707268959,0.037881281566461776,0.6908415040533935,0.0,0.20630693606237088,7.07044385514697,5.411051518281698,0.07852252435582567,0.38738612787525833,203763.1632931044,0.0385495097567964,7.16477397286058,5.583225993571779,0.14526979795322187,0.20827396060044145,248020.7464157696,0.025295059365824723,7.017657484260921,5.832913078678983,0.3094604040935563,0.1263875139198391,330325.67168217537,0.018353553390593275,7.379091486797894,5.3634798447310414,0.6416288269291262,0.011902270384252431,441951.81819681247,0.019620185174601967,6.564614460469395,5.602429532355842 +15,26,23,6,390625,671875,46875,0.242717803813052,3.392282577584547,1.2917960675006306,12,38,38,9,11,13,6,21,6,8,0.1267123287671233,0.2089041095890411,0.14726027397260275,0.003424657534246575,0.20205479452054795,0.10616438356164383,0.20205479452054795,0.003424657534246575,0.21839080459770116,0.2413793103448276,0.11877394636015326,0.06513409961685823,0.05747126436781609,0.11877394636015326,0.18007662835249041,0.96484375,3.03125,10.703125,0.45703125,0.010229448249628879,1.0229448249628879,0.0,0.20630693606237088,3.329416841265565,2.5775772512054456,0.03516809926618455,1.9541103500742245,0.0,0.20232233047033632,3.188357306895986,2.559942303761619,0.07357569440475738,1.1167423461417478,0.0,0.004212917130661303,3.422246215847947,2.568923232448083,0.15704504871165134,0.8632881476824866,422700.1136804912,0.0039391164991562635,3.3402158469466214,2.568923232448083,0.29855914914698967,0.45387525933721595,647640.094027017,0.0019274754878398199,3.2399858668848265,2.376800468192324,0.6493933982822018,0.046342088437274345,908521.1344441994,0.0020096056723534024,3.1431780827763114,2.376800468192324,0.010015749015748525,0.9467707173346743,0.0,0.19968501968502955,3.8228581486037347,2.8492763275234942,0.036447943105077256,2.1209430584957905,0.0,0.19457737973711328,3.769630630040058,2.8492763275234942,0.08020360336614077,1.1817349497468792,0.0,0.18564048325705132,3.978477980963109,2.8492763275234942,0.15406696519716506,0.9077505186744319,454509.7213545039,0.17851040944289992,3.8376923374278205,2.870708401875772,0.3159687847995977,0.433302814907189,685723.9332127507,0.1020542406942163,3.6155703268410346,3.0245895250090964,0.5583711730708739,0.0451929764578351,1.0317719351285e6,0.10479937506509061,3.7821658863103425,2.971075398312137,0.009918558653543694,1.0229448249628879,0.0,0.19457737973711328,4.175274801025988,3.0291967222135545,0.0355327306323827,2.0542262026288673,0.0,0.19968501968502955,3.987970564974013,3.0291967222135545,0.07511811761811393,1.1817349497468792,0.0,0.1680534901063833,4.273324220495441,2.899789926599017,0.14201560760020115,0.606966991411009,217850.94805237316,0.1782371080457755,4.298884530526613,3.1856569068566456,0.2875890590993379,0.29311655251113367,220426.2281935083,0.08813859133858701,4.143748552516062,3.245597363392304,0.6416288269291262,0.028912132317597296,238068.06436779798,0.09119107853504793,4.034228299374266,3.1750986640621695,0.009810092587300983,1.0229448249628879,0.0,0.20827396060044145,4.65019087026358,3.4212392931220563,0.03471495528740293,1.5869693845669908,0.0,0.19274754878398198,4.524011777262454,3.659043247178078,0.07953536469359215,0.9488528137423857,0.0,0.22635592775591665,4.3018197023800315,3.514458671275167,0.16234834957055044,0.5090263340389898,1.426860228275994e6,0.22564407224408337,4.365796155869071,3.457432794389492,0.3034834957055045,0.23884731931759173,8.701920704874473e6,0.1161826885826829,4.345954473741487,3.4212392931220563,0.5810791918128875,0.023449324200890694,4.873275328963541e7,0.11820292598730862,4.216101369522883,3.2640331625962045,0.010116116523516816,0.9984250984251477,0.0,0.20096056723534025,5.998579280052453,4.663893831344829,0.0361037138109149,0.7215482203135576,0.0,0.18612372435695795,6.67333100555583,5.1663780813766484,0.07147747564417434,0.3722474487139159,188991.21751375103,0.041450490243203617,5.942167861334194,4.923947342218395,0.14927957457349483,0.21209430584957908,251052.46448980272,0.026942818658082346,6.15604148456427,4.828846380083242,0.2954337374367198,0.07907106781186549,359237.09724968683,0.019060660171779823,6.024279838040949,4.600324151326993,0.5862331050222673,0.008183558599703104,432051.6506221377,0.020304417504218686,6.389336012665805,4.780936762253296,0.010362622560800904,1.0315346803118544,0.0,0.19837117307087385,7.412910237413274,5.387967092082539,0.03494487844488017,0.6513701166914082,0.0,0.19457737973711328,7.5342839961642,5.738947602306292,0.07385843435917995,0.41084524052577354,189627.87863335255,0.040917792998515515,6.564614460469395,5.203224022572681,0.15406696519716506,0.19620185174601967,262971.9875047733,0.02681990168810821,7.449447114680473,5.4738160196441585,0.2918660696056699,0.11860660171779822,350329.3491134037,0.02003149803149705,6.959554117499472,5.688278459917461,0.5971182982939793,0.012725658350974745,468715.28942910593,0.020827396060044145,7.16477397286058,5.243332473321018 +22,8,4,8,265625,796875,671875,0.11937336386313323,0.39389486913809435,3.41742430504416,28,31,10,14,9,15,4,24,15,17,0.11153846153846154,0.1423076923076923,0.011538461538461539,0.03461538461538462,0.19615384615384615,0.21153846153846154,0.07307692307692308,0.21923076923076923,0.004524886877828055,0.17647058823529413,0.248868778280543,0.18552036199095023,0.03167420814479638,0.248868778280543,0.10407239819004525,0.80859375,3.78125,12.578125,0.36328125,0.01008144134645631,1.0081441346456308,0.0,0.19060660171779822,3.372730733493356,2.5408303404023624,0.03355205689492276,2.0379814825398035,0.0,0.21646446609406728,3.450983445115174,2.376800468192324,0.07463978728674742,1.2725658350974745,0.0,0.004126138721247417,3.4838866971656266,2.6839365249930784,0.15406696519716506,0.8757735041645032,412081.8074195675,0.0039937003937005906,3.502612005104014,2.6839365249930784,0.3024432403936893,0.4634208843727434,616251.8512823349,0.0019620185174601965,3.167406907593266,2.7278814068079407,0.5908674748734396,0.040377817459305215,954795.854507545,0.002120943058495791,3.329416841265565,2.559942303761619,0.009530330085889912,1.0271131013144337,0.0,0.1969558249578132,3.887654175158966,2.8904841568680784,0.03742834823753237,1.9541103500742245,0.0,0.21064585653306517,3.978477980963109,2.8904841568680784,0.07561081009842233,1.2987867965644035,0.0,0.19360824084128134,3.769630630040058,2.971075398312137,0.1477168687183599,0.9268417687454868,465128.0276154276,0.18311017134478288,3.6803663533962654,2.6653339270951544,0.30047247047245573,0.4261247406627842,601758.2217448878,0.09444629890415117,3.6803663533962654,2.8904841568680784,0.611394444761941,0.04606654762208441,998067.8845223241,0.09207379013370627,3.8376923374278205,3.0245895250090964,0.010048028361767013,0.9395284707521048,0.0,0.21064585653306517,4.004109642665785,2.940682327314452,0.034051041453994825,1.8935414346693487,0.0,0.18935414346693488,4.159135723334216,2.940682327314452,0.07147747564417434,1.162158383625775,0.0,0.1752664074984231,4.417631374365148,3.208018855595072,0.16234834957055044,0.5990550590550886,205664.94310456415,0.1752664074984231,3.9709572336685306,3.045336172486958,0.3108786768240271,0.2875890590993379,250891.49614769805,0.09268417687454866,4.210335349462018,3.1966139926049157,0.6248218818013244,0.031241094090066215,272152.8850855181,0.08728331615118448,3.7456139916348534,3.351007396239904,0.0096373774391991,1.0081441346456308,0.0,0.2045889649925776,4.7588291424771185,3.5683125405913483,0.03626917896280316,1.4889897948556636,0.0,0.19620185174601967,4.465912695526794,3.4795898105645824,0.07536021271325259,0.8809705627484772,0.0,0.22337576656851998,4.176118731845849,3.5683125405913483,0.1477168687183599,0.48230536136481655,1.4962319784613661e6,0.2225600822023289,4.276702513864247,3.5024121041547702,0.2995275295275443,0.23544222209522359,8.536904062782586e6,0.11465304832720495,4.539572142492922,3.7601159403350337,0.5680624304008046,0.024455777790477643,5.16929048993679e7,0.11333840030430503,4.465912695526794,3.3481390443464507,0.010823223304703365,0.9467707173346743,0.0,0.20379814825398038,6.259600077814652,4.864069864043935,0.03335615530061469,0.6744077682344545,0.0,0.19837117307087385,6.455338755267491,4.519333422605723,0.07736510102338907,0.3967423461417477,186171.04920017958,0.040759629650796075,6.4208278799941665,4.549225963270055,0.15122162019684465,0.18612372435695795,246893.54105946544,0.0257882524992136,5.837553384301147,4.7659014317467046,0.3246966991411009,0.07783095189484532,351837.46821950556,0.020630693606237087,6.282844136769962,4.970894504689864,0.5951135192126216,0.007848074069840786,441951.81819681247,0.02003149803149705,6.282844136769962,4.846074713404927,0.00958630196997793,1.0532292826653258,0.0,0.20096056723534025,7.586091464320844,5.622417851676328,0.036643844699385315,0.6612372435695795,0.0,0.20304417504218686,7.379091486797894,5.493019558428221,0.07263489897661093,0.4187867965644036,186924.47227039727,0.037581138830084196,7.2623905530967745,5.337297949693708,0.14201560760020115,0.1990394327646598,251972.5736502222,0.02639574275548429,7.119150775457958,5.712765707268959,0.3045662625632803,0.12018898818898228,335890.0099378692,0.019060660171779823,7.5342839961642,5.798231740853505,0.5637170824512628,0.012435147072961084,477775.46189794206,0.020458896499257757,7.07044385514697,5.994033949351168 +47,33,29,16,765625,296875,171875,0.20763523399044415,2.625,0.719890110719482,7,10,31,35,1,7,12,12,3,5,0.23461538461538461,0.019230769230769232,0.1346153846153846,0.1576923076923077,0.07307692307692308,0.08846153846153847,0.19615384615384615,0.09615384615384616,0.1746031746031746,0.037037037037037035,0.12169312169312169,0.047619047619047616,0.20634920634920634,0.12169312169312169,0.291005291005291,0.93359375,4.78125,20.078125,0.48828125,0.009395284707521049,0.9395284707521048,0.0,0.20304417504218686,3.1431780827763114,2.6971651566999215,0.03566467594444657,1.9172603939955857,0.0,0.19968501968502955,3.254778191575989,2.5940956983435015,0.08020360336614077,1.1902270384252431,0.0,0.0038915475947422654,3.281951422475478,2.530589197695275,0.14526979795322187,0.9410556128293852,442176.97502199584,0.004329289321881345,3.294563451530929,2.530589197695275,0.2818585412256314,0.4348908729652602,656463.8770859436,0.0020827396060044143,3.384331260773357,2.559942303761619,0.6281801948466054,0.04406929566929352,874817.0838380235,0.0019837117307087383,3.5775989922311187,2.7278814068079407,0.010152208752109343,0.9684653196881458,0.0,0.2093933982822018,3.6655321645721797,3.10594728737555,0.034831900733815466,2.0725245121601805,0.0,0.1976776695296637,3.721058615689658,3.10594728737555,0.07046463530640786,1.1981101181101772,0.0,0.18213973742958064,3.4913202224965527,2.7991123582732502,0.15704504871165134,0.8697817459305204,435032.86001299927,0.19435951674294868,3.906815710764537,2.9090078731703866,0.27530330085889915,0.45192976457835093,649727.3466785833,0.100248592846363,3.906815710764537,3.10594728737555,0.5751781181986758,0.04333028149071891,938784.5327151483,0.09879812519527183,3.6155703268410346,2.8492763275234942,0.009306186217847899,1.0081441346456308,0.0,0.1976776695296637,4.250478609325051,3.1750986640621695,0.0361037138109149,2.023223304703363,0.0,0.20232233047033632,3.91276675667495,3.1750986640621695,0.07614156564082007,1.2325357215773205,0.0,0.16488439388362036,4.0751945290085905,3.0115100429970507,0.14976376476377215,0.6493933982822018,220685.06974260762,0.16488439388362036,4.210335349462018,3.232425934930185,0.29311655251113367,0.3056972223809705,233486.86491090595,0.08697817459305202,3.9709572336685306,2.991721690616193,0.588605555238059,0.029430277761902948,251056.69857159394,0.09332149457381478,4.08805083699141,3.134187245143355,0.010229448249628879,0.9395284707521048,0.0,0.19274754878398198,4.450918734737546,3.3645632023859147,0.03419693112629893,1.6076845378827218,0.0,0.20827396060044145,4.798811780154152,3.188120891664967,0.06979639663385924,0.9615119055118583,0.0,0.23802981788236363,4.509017816473206,3.3645632023859147,0.15704504871165134,0.44669693845669906,1.407358618101991e6,0.23661454005888802,4.555768404674979,3.2640331625962045,0.3246966991411009,0.24992875272052972,8.049449969754353e6,0.1221745967891778,4.248600699437548,3.4686470214354186,0.606966991411009,0.02300712472794703,4.810690871716801e7,0.12020642170529047,4.798811780154152,3.5538314549554655,0.009984250984251477,1.0116116523516816,0.0,0.1917260393995586,5.876165118732509,4.575943689310137,0.0355327306323827,0.6311804782231162,0.0,0.21209430584957908,6.071903796185347,4.828846380083242,0.07296651740141748,0.42418861169915817,197452.54555726363,0.03834520787991172,6.048659737230037,4.846074713404927,0.1409292706128157,0.20096056723534025,261844.78214846912,0.027572259760445278,6.2373465049791506,5.1663780813766484,0.2995275295275443,0.08252277442494835,331833.79078827717,0.01945773797371133,5.910675994005833,4.6827683299560645,0.6362829175487372,0.008330958424017657,468715.28942910593,0.018353553390593275,5.910675994005833,4.549225963270055,0.010189907412699019,0.9883883476483185,0.0,0.18612372435695795,7.095248770457529,5.278013811146495,0.03446726936761731,0.7069810194985969,0.0,0.19060660171779822,6.959554117499472,5.873021529427319,0.07703348259858253,0.3939116499156264,198425.75300104337,0.04032576538582524,6.817529157808182,5.665194033718302,0.15174174785275224,0.21387627564304207,268502.6524527451,0.024778858223313768,7.649828139314158,5.387967092082539,0.28590990257669735,0.11012132034355965,357101.145117175,0.020304417504218686,7.07044385514697,5.4538277003236715,0.6048864807873786,0.011724662100445347,449396.4996732558,0.0192747548783982,7.5342839961642,5.529400777718352 +34,20,17,3,515625,46875,921875,0.16204620338678605,4.375,1.9172374697017807,17,19,19,4,5,11,8,18,9,23,0.09848484848484848,0.1590909090909091,0.14393939393939395,0.1893939393939394,0.26515151515151514,0.05303030303030303,0.022727272727272728,0.06818181818181818,0.08292682926829269,0.11219512195121951,0.1902439024390244,0.2780487804878049,0.11219512195121951,0.03414634146341464,0.1902439024390244,0.99609375,3.28125,16.328125,0.30078125,0.010413698030022072,1.0413698030022072,0.0,0.21064585653306517,3.4838866971656266,2.433394407764258,0.03711650352367634,2.1209430584957905,0.0,0.20542262026288677,3.350753465053379,2.6716920249115663,0.07672086187221659,1.222788889523882,0.0,0.00400629960629941,3.1431780827763114,2.602456102794555,0.16234834957055044,0.9001914459673415,430275.4850092162,0.004108452405257736,3.167406907593266,2.410317750349361,0.3124109409006622,0.41933452377915614,681040.939209679,0.002016288269291262,3.502612005104014,2.468371385976971,0.606966991411009,0.0453875259337216,983356.3470828623,0.0019172603939955858,3.2241698346921157,2.6294389976348556,0.010532292826653258,0.9984250984251477,0.0,0.20232233047033632,3.4913202224965527,2.7991123582732502,0.03580306887370108,1.8612372435695794,0.0,0.19060660171779822,3.596408791235463,2.971075398312137,0.07810273522516555,1.2325357215773205,0.0,0.18845261441733016,3.6655321645721797,2.8904841568680784,0.14201560760020115,0.8933943701856222,420459.9184839994,0.1890874611264268,3.7821658863103425,2.8256854714815587,0.3094604040935563,0.4762218254069481,631785.1060720977,0.10479937506509061,3.5247465210368913,2.7991123582732502,0.5951135192126216,0.044510912703474,964363.8339161482,0.1020542406942163,4.011904279503447,2.7287981300131943,0.010362622560800904,0.9810092587300983,0.0,0.19060660171779822,4.114863967703013,3.087418217069815,0.03211871843353824,2.093933982822018,0.0,0.1969558249578132,4.048381398296987,3.087418217069815,0.07412912607362389,1.2987867965644035,0.0,0.18240110303063797,3.9529100165379827,3.123230159395084,0.15406696519716506,0.5810791918128875,227958.24496282867,0.18240110303063797,4.08805083699141,3.144745487937831,0.30144085085301037,0.2975567596063108,239996.84569019516,0.08386690475583121,3.7456139916348534,3.3083341090029497,0.6048864807873786,0.028185854122563143,258270.37469547844,0.08967118523175135,4.210335349462018,3.0291967222135545,0.010693813782152103,1.0413698030022072,0.0,0.21387627564304207,4.3018197023800315,3.4686470214354186,0.03516809926618455,1.5632882800593795,0.0,0.20162882692912618,4.324739641736421,3.3799242914086522,0.07771966920600677,0.9902732930993801,0.0,0.215385459941112,4.65019087026358,3.7601159403350337,0.15174174785275224,0.4974058829184433,1.4457052767182519e6,0.21397018211763638,4.435358369507079,3.4081423320207436,0.3081339303943301,0.2419545923149514,8.995778447775787e6,0.11055182899632297,4.419162107325022,3.3645632023859147,0.5908674748734396,0.023804540768504863,4.6586189510359555e7,0.10795176012703561,4.324739641736421,3.457432794389492,0.009684653196881459,0.9847791247890659,0.0,0.21209430584957908,6.094157369020849,4.734543729154006,0.036863024893286404,0.656519416526044,0.0,0.20379814825398038,5.837553384301147,4.700763480595073,0.07511811761811393,0.3834520787991172,191458.1725062018,0.039674234614174776,6.215966650966487,5.027504771394277,0.14715138880951475,0.19541103500742246,275919.42355106835,0.024924385121942616,6.071903796185347,4.622890851781605,0.3081339303943301,0.0801259921259882,313002.94023200625,0.02003149803149705,6.538604385593562,4.812294464845993,0.5751781181986758,0.008065153077165047,455623.73645389144,0.020630693606237087,6.115537223033512,4.7179918139167585,0.009918558653543694,1.0152208752109342,0.0,0.19541103500742246,7.2893583197390805,5.4738160196441585,0.0331369751067136,0.6390867979985286,0.0,0.1976776695296637,7.16477397286058,5.643295832759966,0.07488188238188608,0.37870828693386976,192094.83362580332,0.04165479212008829,7.07044385514697,5.922365366923927,0.15704504871165134,0.19274754878398198,258813.06407443597,0.02738396134929847,6.894105566586728,5.546844774281648,0.29651650429449555,0.11674642784226795,345042.0905646754,0.021064585653306517,6.817529157808182,5.243332473321018,0.6248218818013244,0.011167423461417478,432051.6506221377,0.021387627564304207,6.817529157808182,5.688278459917461 +9,45,42,12,15625,546875,421875,0.047434164902525694,1.3972662922462575,5.76393202250021,42,47,47,24,13,3,0,6,21,11,0.1388888888888889,0.16358024691358025,0.1574074074074074,0.17592592592592593,0.009259259259259259,0.12037037037037036,0.10802469135802469,0.12654320987654322,0.20675105485232068,0.2320675105485232,0.029535864978902954,0.10548523206751055,0.2320675105485232,0.16455696202531644,0.029535864978902954,0.87109375,4.28125,23.828125,0.42578125,0.009810092587300983,0.9810092587300983,0.0,0.1976776695296637,3.281951422475478,2.6111101215519175,0.03471495528740293,1.9837117307087384,0.0,0.19369306393762917,3.070076562565329,2.519793292430426,0.07228033079399324,1.1503562363973516,0.0,0.003670710678118655,3.372730733493356,2.410317750349361,0.14976376476377215,0.8480892146495208,456749.9165509957,0.0038738612787525832,3.384331260773357,2.602456102794555,0.2943027776190295,0.4466971850928111,639113.3817347616,0.0018790569415042097,3.294563451530929,2.6294389976348556,0.5680624304008046,0.04280702354216493,927447.7388651486,0.0020379814825398036,3.422246215847947,2.468371385976971,0.009883883476483186,1.0823223304703364,0.0,0.18935414346693488,3.769630630040058,2.971075398312137,0.03373082103719685,2.0096056723534024,0.0,0.20304417504218686,3.8228581486037347,2.7991123582732502,0.07357569440475738,1.162158383625775,0.0,0.2014895905571001,3.887654175158966,3.10594728737555,0.15174174785275224,0.8386690475583123,446934.3500257789,0.20318246186088998,3.5247465210368913,2.996024063459644,0.2918660696056699,0.43930704330706505,670069.6911525015,0.09752932205468329,3.7821658863103425,2.971075398312137,0.6362829175487372,0.04165791156272568,902551.3265746741,0.09613890735554963,3.733593871959942,2.9280877749266487,0.009770551750371123,1.0413698030022072,0.0,0.20304417504218686,3.834800717546093,3.2745079795130425,0.03505512155511984,1.9695582495781319,0.0,0.2093933982822018,4.328444648453908,3.2745079795130425,0.07899219619989943,1.1981101181101772,0.0,0.17059920884095148,4.192288132331471,3.328122461383807,0.14526979795322187,0.6162678607886602,214745.18299617406,0.17059920884095148,3.7456139916348534,3.3791618246855486,0.27918558653543696,0.3181414587743686,226106.0547637598,0.0893394370185622,4.08805083699141,3.111825296404928,0.5637170824512628,0.030244324039368924,243523.23096194427,0.08435945733580577,3.9709572336685306,3.219931338578367,0.00995197163823299,0.9810092587300983,0.0,0.1990394327646598,4.57268554763437,3.7601159403350337,0.032571651762467645,1.6580196097281443,0.0,0.18790569415042097,4.5904293608259605,3.583673629614086,0.07327913812778342,0.9339714227381436,0.0,0.22943991779767112,4.38450115117404,3.4686470214354186,0.14201560760020115,0.46898648401781384,1.3530403872979744e6,0.22862423343148003,4.726329812562453,3.6178420104762603,0.29053959590644374,0.22548683298050515,8.298462231882709e6,0.11776562152446837,4.698227998135754,3.5683125405913483,0.6281801948466054,0.02545131670194949,4.944820494477073e7,0.11655712899649735,4.5904293608259605,3.715157539784924,0.010271131013144339,1.046966991411009,0.0,0.19837117307087385,6.493950489698852,5.0620750495366975,0.03459359216769115,0.697977994274006,0.0,0.1917260393995586,6.2373465049791506,4.9976122307299455,0.06882582521472479,0.40759629650796075,177322.88784644997,0.04241886116991581,5.792899488406437,4.7179918139167585,0.1562054704503311,0.20725245121601807,254531.27027016997,0.026493759273017448,6.455338755267491,4.902841292593214,0.29053959590644374,0.0734142135623731,341618.73985250917,0.018353553390593275,6.115537223033512,4.484763144463303,0.611394444761941,0.007516227766016839,493909.60326840024,0.01945773797371133,6.538604385593562,5.027504771394277,0.010604715292478953,0.9530330085889911,0.0,0.20725245121601807,6.857568689319529,5.832913078678983,0.03540640783230886,0.6793271608466012,0.0,0.21064585653306517,6.564614460469395,5.309011727754844,0.08117417478527522,0.40464466094067264,179020.59742605194,0.03924037034920393,7.5342839961642,5.511524079580415,0.1477168687183599,0.2045889649925776,242959.3393316963,0.025698097038856282,7.317643888682026,5.082211602648832,0.3159687847995977,0.12378416163742251,322926.0426519941,0.01976776695296637,7.2623905530967745,5.602429532355842,0.588605555238059,0.012057634034120414,461641.3205274839,0.01990394327646598,7.2623905530967745,5.3634798447310414 +12,4,14,17,703125,734375,734375,0.13133925536563698,0.16603153358167777,1.5968757625671515,47,52,28,1,2,14,15,22,16,21,0.14534883720930233,0.005813953488372093,0.13372093023255813,0.0755813953488372,0.13372093023255813,0.06395348837209303,0.27325581395348836,0.1686046511627907,0.13962264150943396,0.07169811320754717,0.19245283018867926,0.07924528301886792,0.22264150943396227,0.19245283018867926,0.1018867924528302,0.98046875,4.90625,11.640625,0.31640625,0.010532292826653258,1.0532292826653258,0.0,0.20162882692912618,3.3066380512266433,2.5940956983435015,0.037881281566461776,2.093933982822018,0.0,0.18612372435695795,3.422246215847947,2.5408303404023624,0.06882582521472479,1.1817349497468792,0.0,0.003924037034920393,3.450983445115174,2.5505943563651448,0.15543933841201354,0.8697817459305204,439295.67709283385,0.004019211344706805,3.2070826148343734,2.5859376556564992,0.28590990257669735,0.4435834192440776,661458.3508250016,0.0020630693606237087,3.547791229223689,2.433394407764258,0.5862331050222673,0.04435834192440777,935190.7400996472,0.0019968501968502953,3.3964058604690712,2.433394407764258,0.009395284707521049,0.9770551750371123,0.0,0.19541103500742246,3.745703830957665,2.6653339270951544,0.03335615530061469,2.0542262026288673,0.0,0.20162882692912618,4.060453714523384,2.9090078731703866,0.06882582521472479,1.222788889523882,0.0,0.2056412427893639,3.7951746682169216,2.6653339270951544,0.15284861119048526,0.9164054266419425,450496.85708315833,0.17435875721063612,3.5754103106298474,3.10594728737555,0.28912132317597294,0.466607472869074,626230.718959226,0.09686205806953521,3.6498944079461664,2.9090078731703866,0.6162678607886602,0.043641658075592255,1.0109416862953367e6,0.08993241161390704,3.442770787476616,2.8256854714815587,0.010116116523516816,1.0015749015748523,0.0,0.20162882692912618,4.08805083699141,3.245597363392304,0.03528504471259709,2.1209430584957905,0.0,0.18612372435695795,4.129017066625734,3.111825296404928,0.07228033079399324,1.1724662100445347,0.0,0.17172911692912537,4.229631529953251,3.144745487937831,0.14655827625556683,0.611394444761941,230554.31233714946,0.16657603498636106,3.9336138360467494,3.123230159395084,0.2995275295275443,0.3034834957055045,228252.57159526987,0.08757735041645029,3.834800717546093,3.2745079795130425,0.6189208081871126,0.030456626256328025,266658.4418621825,0.08786140866141298,3.9336138360467494,3.245597363392304,0.010015749015748525,0.9530330085889911,0.0,0.19457737973711328,4.480397939901231,3.4908040376105087,0.0331369751067136,1.643380962103094,0.0,0.21064585653306517,4.555768404674979,3.5538314549554655,0.07587087392637612,0.9019473319220206,0.0,0.23534957547849883,4.698227998135754,3.4908040376105087,0.1590707293871843,0.4544499443206437,1.4809337241186006e6,0.21665042452150118,4.4022449643656305,3.3799242914086522,0.3181414587743686,0.23721320343559643,8.351471131538377e6,0.10898530260724416,4.3018197023800315,3.4458247278452308,0.6217573536480542,0.0232431676725155,4.43596881950976e7,0.12554939033455903,4.276702513864247,3.4795898105645824,0.010604715292478953,0.9586301969977928,0.0,0.19968501968502955,6.1361388405404105,4.7659014317467046,0.034335324055553444,0.7069810194985969,0.0,0.2093933982822018,5.910675994005833,4.575943689310137,0.07046463530640786,0.3993700393700591,180400.55700181713,0.04187867965644036,5.998579280052453,4.750493147074372,0.15798439239979886,0.21646446609406728,244386.24604495996,0.026301902961143722,6.195365033459589,4.663893831344829,0.3181414587743686,0.08555051025721683,339443.41104747454,0.020827396060044145,6.455338755267491,5.027504771394277,0.606966991411009,0.007783095189484531,465008.71190200775,0.018790569415042098,6.15604148456427,5.104605492748664,0.00984779124789066,0.9637377439199099,0.0,0.21646446609406728,7.347461686500529,5.583225993571779,0.03566467594444657,0.6656167322834318,0.0,0.20162882692912618,6.720924339679158,5.688278459917461,0.07189726477483448,0.3834520787991172,188330.50619882336,0.042129171306613034,7.317643888682026,5.546844774281648,0.15072042542650518,0.21064585653306517,239516.5901705864,0.026211747500786402,6.959554117499472,5.665194033718302,0.28912132317597294,0.11564852927038918,342719.7288542064,0.021387627564304207,7.649828139314158,5.643295832759966,0.5837321392113398,0.011981101181101772,424680.7640753084,0.021064585653306517,7.017657484260921,5.873021529427319 +37,29,39,9,203125,234375,234375,0.223147869255303,2.287980793757309,5.0,19,22,7,22,10,6,7,10,4,9,0.1565934065934066,0.09065934065934066,0.1510989010989011,0.12362637362637363,0.1510989010989011,0.11813186813186813,0.04120879120879121,0.16758241758241757,0.02145922746781116,0.21888412017167383,0.0815450643776824,0.22746781115879827,0.11587982832618025,0.0815450643776824,0.2532188841201717,0.85546875,3.90625,19.140625,0.44140625,0.009883883476483186,0.9883883476483185,0.0,0.18790569415042097,3.523562404406734,2.376800468192324,0.03494487844488017,1.9695582495781319,0.0,0.20096056723534025,3.2241698346921157,2.6971651566999215,0.07511811761811393,1.2563603896932107,0.0,0.004165479212008829,3.254778191575989,2.711661968023029,0.14655827625556683,0.9268417687454868,402497.9385517075,0.0037224744871391592,3.4090178895245224,2.8032328858076765,0.3045662625632803,0.41339252713092617,623173.7657445978,0.0019457737973711327,3.3182385785066444,2.6111101215519175,0.6217573536480542,0.04133925271309262,992732.1155436699,0.0021646446609406727,3.188357306895986,2.6111101215519175,0.01008144134645631,1.0362622560800903,0.0,0.20725245121601807,4.060453714523384,2.9090078731703866,0.0355327306323827,1.9369306393762915,0.0,0.18790569415042097,3.745703830957665,2.6653339270951544,0.07511811761811393,1.1503562363973516,0.0,0.18970076870077807,3.5519166220408223,2.9090078731703866,0.14379452954966895,0.8632881476824866,424773.65166037605,0.19029923129922197,3.8087150729122827,2.8904841568680784,0.30688344748886637,0.4364165807559225,664153.6488840894,0.10321646970120192,3.869918143989321,2.6653339270951544,0.5810791918128875,0.04666074728690741,945530.7506410894,0.09815434035433554,3.7575206710423354,2.996024063459644,0.009467707173346744,0.9176776695296637,0.0,0.18790569415042097,3.7456139916348534,3.0602749435229692,0.03288349647632367,1.9837117307087384,0.0,0.20096056723534025,3.8643608354733883,3.3083341090029497,0.07672086187221659,1.2435147072961084,0.0,0.18615944084089786,3.987970564974013,3.3791618246855486,0.15543933841201354,0.5751781181986758,216360.4825318171,0.1766634534260826,4.175274801025988,3.328122461383807,0.3246966991411009,0.2840312152004023,242012.14322959253,0.0941055612829385,4.114863967703013,3.087418217069815,0.5837321392113398,0.028590990257669733,249404.84710121484,0.09524436508138959,4.175274801025988,3.0602749435229692,0.009176776695296637,1.0152208752109342,0.0,0.20630693606237088,4.8568838537785854,3.233079292215077,0.03540640783230886,1.5495445115010331,0.0,0.1976776695296637,4.276702513864247,3.3481390443464507,0.07100780380010058,0.9678183692598056,0.0,0.22170809247300222,4.419162107325022,3.233079292215077,0.1487783798031554,0.48557359312880716,1.396320237031995e6,0.2302919075269978,4.67311080961997,3.583673629614086,0.2975567596063108,0.2527750278396782,7.734885168000203e6,0.11694471961889319,4.57268554763437,3.684203669403796,0.5862331050222673,0.02465071443154641,4.841520265025894e7,0.11581731141731715,4.555768404674979,3.188120891664967,0.009918558653543694,1.0189907412699017,0.0,0.21646446609406728,6.593540304122162,5.1663780813766484,0.036447943105077256,0.6612372435695795,0.0,0.1969558249578132,6.282844136769962,4.864069864043935,0.07561081009842233,0.43292893218813455,192755.544940731,0.03939116499156264,6.360186953215491,5.104605492748664,0.14825825214724778,0.19968501968502955,259774.12644982192,0.02461603865070153,5.737963569877837,4.946514042673007,0.2975567596063108,0.07961577310586392,364746.2793578374,0.019620185174601967,6.071903796185347,4.7179918139167585,0.5680624304008046,0.008252277442494835,437463.6344004223,0.02016288269291262,6.67333100555583,4.750493147074372,0.01046966991411009,1.0229448249628879,0.0,0.19968501968502955,6.927924317202108,5.203224022572681,0.03355205689492276,0.7215482203135576,0.0,0.18790569415042097,7.211767033542473,5.3634798447310414,0.07642430559524263,0.40759629650796075,200685.49413773723,0.03953553390593274,6.894105566586728,5.082211602648832,0.13959279326771848,0.1976776695296637,257008.9710400158,0.024427740239554723,7.379091486797894,5.337297949693708,0.30688344748886637,0.12275337899554653,317416.8605438435,0.01990394327646598,7.119150775457958,5.309011727754844,0.6189208081871126,0.012987867965644037,458534.1688028672,0.01976776695296637,7.449447114680473,5.493019558428221 +50,17,1,13,453125,484375,984375,0.17191311542550503,3.8451426339690093,3.0,10,12,42,12,14,10,3,16,10,15,0.033582089552238806,0.1828358208955224,0.026119402985074626,0.10820895522388059,0.026119402985074626,0.22014925373134328,0.23507462686567165,0.16791044776119404,0.24423963133640553,0.16129032258064516,0.16129032258064516,0.02304147465437788,0.19815668202764977,0.013824884792626729,0.19815668202764977,0.79296875,4.40625,15.390625,0.25390625,0.010152208752109343,1.0152208752109342,0.0,0.19620185174601967,3.188357306895986,2.6716920249115663,0.033896286189085106,2.023223304703363,0.0,0.19541103500742246,3.5775989922311187,2.6111101215519175,0.07736510102338907,1.1361248608016092,0.0,0.0037581138830084194,3.070076562565329,2.4521519471920596,0.15072042542650518,0.8933943701856222,452436.18337461905,0.003908220700148449,3.547791229223689,2.6602400615695743,0.29651650429449555,0.4316440738412433,643516.110218516,0.0018353553390593276,3.2070826148343734,2.6971651566999215,0.6028817017060207,0.04316440738412434,895647.3326711867,0.002054226202628868,3.523562404406734,2.6971651566999215,0.010413698030022072,1.0048028361767012,0.0,0.20096056723534025,3.853330094053834,2.8256854714815587,0.03459359216769115,2.164644660940673,0.0,0.19620185174601967,3.6333063580106795,2.8256854714815587,0.07296651740141748,1.2725658350974745,0.0,0.1840084107407477,3.6945094290877174,2.996024063459644,0.1590707293871843,0.8871668384881553,437914.15794216126,0.1848485107502576,3.9513078799591783,2.971075398312137,0.29855914914698967,0.42179728667902894,645603.3628700823,0.09949164577067154,3.442770787476616,2.996024063459644,0.5990550590550886,0.0421797286679029,971398.2788668763,0.10109039867056172,3.6498944079461664,2.9090078731703866,0.01046966991411009,1.0315346803118544,0.0,0.19620185174601967,3.9709572336685306,3.4200542254009836,0.036447943105077256,1.9172603939955857,0.0,0.19541103500742246,4.019496813483939,2.991721690616193,0.07463978728674742,1.2057634034120415,0.0,0.16657603498636106,3.798434075898996,3.232425934930185,0.13959279326771848,0.6362829175487372,208621.11749665393,0.17172911692912537,4.364811290101005,3.0115100429970507,0.29053959590644374,0.3140900974233027,215299.73139601035,0.09001914459673412,4.250478609325051,3.1750986640621695,0.6009449409449115,0.029651650429449554,256227.98523571176,0.09038595291567017,4.364811290101005,3.154945509746097,0.009728868986855665,0.9883883476483185,0.0,0.18353553390593275,4.60913435613093,3.394405377044535,0.03446726936761731,1.7317157287525382,0.0,0.19060660171779822,4.726329812562453,3.457432794389492,0.07852252435582567,0.9997150108821189,0.0,0.22784057442991257,4.248600699437548,3.60009778765355,0.14379452954966895,0.4726939798987516,1.4359747230522372e6,0.22415942557008744,4.216101369522883,3.4795898105645824,0.2875890590993379,0.2436530100506242,8.612947739365043e6,0.11379707401269142,4.7588291424771185,3.5400944999792574,0.6028817017060207,0.025975735931288074,4.986343059270051e7,0.11914511975247433,4.435358369507079,3.583673629614086,0.00958630196997793,0.9918558653543692,0.0,0.19369306393762917,6.307224035959051,4.902841292593214,0.03528504471259709,0.6390867979985286,0.0,0.18935414346693488,6.538604385593562,4.734543729154006,0.07357569440475738,0.38738612787525833,199492.25821514055,0.037870828693386975,5.6581728684441694,4.882944362655171,0.14295495128834868,0.20542262026288677,270348.9383936523,0.027221141776686233,6.389336012665805,4.442232701251335,0.3056972223809705,0.0770990195135928,348907.62687142944,0.02016288269291262,6.2373465049791506,4.846074713404927,0.6281801948466054,0.00801259921259882,483938.1555221613,0.019620185174601967,6.3329245939475465,4.600324151326993,0.009467707173346744,0.9951971638232989,0.0,0.19369306393762917,7.742401343530607,5.432949719240034,0.03471495528740293,0.6456435464587639,0.0,0.19620185174601967,7.017657484260921,5.529400777718352,0.0743891899015777,0.42418861169915817,193443.25718428858,0.038121320343559646,7.119150775457958,5.387967092082539,0.14655827625556683,0.20304417504218686,265479.28251927876,0.027075614878057385,6.564614460469395,5.922365366923927,0.3208144134645631,0.12832576538582524,333255.51303025143,0.0192747548783982,6.894105566586728,5.493019558428221,0.6009449409449115,0.012325357215773205,472890.4369552434,0.020304417504218686,6.720924339679158,5.643295832759966 +25,42,26,4,953125,984375,484375,0.07245688373094719,1.1303215590630522,0.4501655647292502,31,34,17,32,6,2,11,4,22,3,0.15298507462686567,0.06343283582089553,0.1455223880597015,0.22761194029850745,0.1455223880597015,0.10074626865671642,0.11567164179104478,0.048507462686567165,0.17355371900826447,0.024793388429752067,0.024793388429752067,0.30578512396694213,0.09090909090909091,0.2892561983471074,0.09090909090909091,0.91796875,3.40625,22.890625,0.37890625,0.009530330085889912,0.9530330085889911,0.0,0.20827396060044145,3.3964058604690712,2.519793292430426,0.03594895854600519,1.8935414346693487,0.0,0.20725245121601807,3.329416841265565,2.433394407764258,0.07296651740141748,1.213933982822018,0.0,0.004032576538582524,3.350753465053379,2.620091050238382,0.13959279326771848,0.8386690475583123,426712.9779518368,0.004145049024320361,3.3182385785066444,2.5083413290884344,0.3159687847995977,0.45820271332097123,691485.2351522115,0.002003149803149705,3.4090178895245224,2.5408303404023624,0.5583711730708739,0.04582027133209713,961058.268325434,0.0019369306393762916,3.3066380512266433,2.5408303404023624,0.009810092587300983,0.9306186217847897,0.0,0.18612372435695795,3.6333063580106795,2.996024063459644,0.036863024893286404,1.9968501968502954,0.0,0.20827396060044145,3.853330094053834,2.996024063459644,0.07736510102338907,1.1902270384252431,0.0,0.19515148924974243,3.927814191370153,2.8256854714815587,0.1487783798031554,0.8267850542618523,474711.8964832876,0.1959915892592523,3.7080498337830785,2.7991123582732502,0.3208144134645631,0.44835592615875686,699853.1360671913,0.09339723484172113,3.7575206710423354,2.8256854714815587,0.6493933982822018,0.04483559261587569,913856.9034228534,0.0953429160711855,3.869918143989321,2.6653339270951544,0.00984779124789066,0.9728868986855663,0.0,0.20827396060044145,4.210335349462018,3.154945509746097,0.034335324055553444,2.0379814825398035,0.0,0.20725245121601807,4.273324220495441,3.1966139926049157,0.08020360336614077,1.1167423461417478,0.0,0.1766634534260826,4.101226048081557,3.045336172486958,0.15072042542650518,0.5951135192126216,222234.18452841477,0.18615944084089786,4.062019317918444,3.208018855595072,0.3081339303943301,0.2954337374367198,234983.16940911548,0.08480892146495206,4.004109642665785,2.940682327314452,0.5506066017177983,0.031596878479959775,241050.16269014173,0.08522494813255682,4.062019317918444,3.4200542254009836,0.010315346803118543,1.0532292826653258,0.0,0.2003149803149705,4.345954473741487,3.60009778765355,0.036643844699385315,1.5974801574802362,0.0,0.20304417504218686,4.435358369507079,3.715157539784924,0.07385843435917995,0.9417688883808943,0.0,0.21233343438997568,4.539572142492922,3.394405377044535,0.15284861119048526,0.5025441558772843,1.3299572508866438e6,0.23966656561002433,4.524011777262454,3.188120891664967,0.3056972223809705,0.22872792206135786,8.1208450000908e6,0.12079889714825605,4.450918734737546,3.3303948215237402,0.5583711730708739,0.023962202362203543,4.7028451173827104e7,0.11234197708382493,4.726329812562453,3.3799242914086522,0.010189907412699019,1.0604715292478952,0.0,0.20542262026288677,5.942167861334194,4.622890851781605,0.03288349647632367,0.6793271608466012,0.0,0.20232233047033632,6.115537223033512,5.0620750495366975,0.07810273522516555,0.41084524052577354,187642.79395526578,0.040464466094067265,6.1754623894357294,4.600324151326993,0.15228313128164014,0.19369306393762917,252856.5575242229,0.02560425724451571,6.024279838040949,4.7963450469256275,0.2875890590993379,0.08183558599703103,328713.1827170839,0.018790569415042098,5.837553384301147,4.549225963270055,0.5908674748734396,0.00734142135623731,452625.91666544095,0.020827396060044145,5.971316920784508,4.882944362655171,0.010116116523516816,1.0693813782152104,0.0,0.20542262026288677,7.1422418311394225,5.767233824245157,0.03711650352367634,0.6847420675429559,0.0,0.20827396060044145,7.449447114680473,5.994033949351168,0.07953536469359215,0.3967423461417477,181593.7929244138,0.04060883500843737,7.649828139314158,5.712765707268959,0.15543933841201354,0.19060660171779822,250091.40211441676,0.025506240726982557,7.16477397286058,5.511524079580415,0.29855914914698967,0.11942365965879587,353449.95718459703,0.020458896499257757,7.317643888682026,5.873021529427319,0.5506066017177983,0.01162158383625775,445871.73366755515,0.019060660171779823,7.211767033542473,5.309011727754844 +18,23,45,2,828125,609375,859375,0.19437684912861194,5.0434405196876835,7.0,14,28,52,27,4,0,9,7,13,24,0.056666666666666664,0.03,0.05,0.17666666666666667,0.15666666666666668,0.17,0.18333333333333332,0.17666666666666667,0.215311004784689,0.1291866028708134,0.20574162679425836,0.13875598086124402,0.014354066985645933,0.05263157894736842,0.24401913875598086,0.82421875,3.65625,24.765625,0.28515625,0.009176776695296637,0.9176776695296637,0.0,0.19274754878398198,3.254778191575989,2.559942303761619,0.0331369751067136,2.164644660940673,0.0,0.20379814825398038,3.372730733493356,2.5775772512054456,0.07412912607362389,1.1981101181101772,0.0,0.004091779299851552,3.523562404406734,2.5083413290884344,0.1487783798031554,0.8075563491861042,433511.9896955464,0.004241886116991582,3.4667994773078847,2.620091050238382,0.27530330085889915,0.4705278064146926,634341.9025040866,0.0021064585653306515,3.3615524707344355,2.6494441563047255,0.611394444761941,0.04240446073247604,918725.8998606356,0.0019695582495781318,3.070076562565329,2.496096829006922,0.010693813782152103,1.0189907412699017,0.0,0.1917260393995586,3.6945094290877174,3.0590345971224955,0.0361037138109149,2.093933982822018,0.0,0.1990394327646598,3.927814191370153,3.0590345971224955,0.07614156564082007,1.2435147072961084,0.0,0.18710803370992252,3.853330094053834,2.948641698540831,0.15072042542650518,0.8480892146495208,459204.87091136817,0.2001135637064119,3.7575206710423354,2.8492763275234942,0.3024432403936893,0.45595539267523977,612202.5176874202,0.10109039867056172,3.9513078799591783,3.0590345971224955,0.5908674748734396,0.045595539267523987,887153.6225703201,0.09949164577067154,3.9513078799591783,2.870708401875772,0.010271131013144339,1.0532292826653258,0.0,0.1990394327646598,3.88992114550456,3.111825296404928,0.03580306887370108,1.8612372435695794,0.0,0.20379814825398038,3.9529100165379827,3.245597363392304,0.07357569440475738,1.1902270384252431,0.0,0.1693820094637193,4.159135723334216,3.1856569068566456,0.1487783798031554,0.6028817017060207,225805.3139857412,0.17399720420448922,4.250478609325051,2.899789926599017,0.2954337374367198,0.29053959590644374,231889.4235191486,0.08632881476824864,3.9336138360467494,3.0291967222135545,0.5718198051533947,0.027530330085889912,260570.95447237842,0.08902182540694797,3.834800717546093,3.1966139926049157,0.010152208752109343,1.0315346803118544,0.0,0.21064585653306517,4.248600699437548,3.3303948215237402,0.03494487844488017,1.5148331477354788,0.0,0.20630693606237088,4.49453257209877,3.5024121041547702,0.07263489897661093,0.9251882341631135,0.0,0.24168019147663752,4.60913435613093,3.4458247278452308,0.13959279326771848,0.4930142886309282,1.4562508133988983e6,0.2341952698741004,4.798811780154152,3.659043247178078,0.29311655251113367,0.2202426406871193,7.967704835021098e6,0.11179357829470955,4.65019087026358,3.4908040376105087,0.5751781181986758,0.024278679656440358,4.606873252381876e7,0.12144817100367705,4.49453257209877,3.4337781607248337,0.010362622560800904,1.0048028361767012,0.0,0.20232233047033632,6.4208278799941665,4.9976122307299455,0.03742834823753237,0.6908415040533935,0.0,0.21646446609406728,6.024279838040949,4.442232701251335,0.07228033079399324,0.4187867965644036,190242.9390587302,0.04329289321881346,6.094157369020849,4.970894504689864,0.14593303480283495,0.2093933982822018,237245.1777440126,0.028140380592228745,5.910675994005833,4.734543729154006,0.30144085085301037,0.08065153077165048,320455.8458176402,0.021387627564304207,6.67333100555583,4.923947342218395,0.5990550590550886,0.008425834261322606,445871.73366755515,0.021387627564304207,6.071903796185347,4.812294464845993,0.009984250984251477,1.0413698030022072,0.0,0.1969558249578132,7.044625250903228,5.337297949693708,0.03419693112629893,0.6744077682344545,0.0,0.19274754878398198,7.649828139314158,5.4538277003236715,0.07536021271325259,0.3722474487139159,174857.07965000425,0.03670710678118655,7.017657484260921,5.832913078678983,0.1487783798031554,0.18353553390593275,272620.35082022613,0.025057181341917655,6.817529157808182,5.767233824245157,0.3024432403936893,0.1209772961574757,326971.0925942907,0.018790569415042098,6.720924339679158,5.564721472419586,0.5930330085889911,0.011361248608016091,437463.6344004223,0.01945773797371133,7.119150775457958,5.738947602306292 +43,48,20,11,328125,109375,359375,0.10606601717798213,1.677582785989058,2.2554373534619714,38,7,22,7,12,8,1,19,25,12,0.2076271186440678,0.17372881355932204,0.19915254237288135,0.08898305084745763,0.0635593220338983,0.08050847457627118,0.09745762711864407,0.08898305084745763,0.05394190871369295,0.24481327800829875,0.04564315352697095,0.25311203319502074,0.14522821576763487,0.17842323651452283,0.07883817427385892,0.94921875,4.65625,17.265625,0.41015625,0.010015749015748525,1.0015749015748523,0.0,0.2045889649925776,3.450983445115174,2.7278814068079407,0.03540640783230886,1.9968501968502954,0.0,0.1917260393995586,3.1431780827763114,2.7697156036506394,0.07899219619989943,1.2987867965644035,0.0,0.0038549509756796397,3.3066380512266433,2.6602400615695743,0.1590707293871843,0.8813859133858702,461951.5426504383,0.003967423461417477,3.268723096152053,2.4521519471920596,0.30047247047245573,0.4378867520822516,673372.3419714128,0.001976776695296637,3.113370319768882,2.496096829006922,0.5751781181986758,0.04500957229836708,975167.6851414371,0.002093933982822018,3.350753465053379,2.6494441563047255,0.00995197163823299,0.9586301969977928,0.0,0.20379814825398038,3.927814191370153,2.870708401875772,0.034051041453994825,1.9695582495781319,0.0,0.21387627564304207,3.6945094290877174,2.870708401875772,0.07147747564417434,1.1724662100445347,0.0,0.19892372836809172,3.6333063580106795,2.768021164485463,0.13959279326771848,0.9001914459673415,431928.96680106164,0.1877937860531805,3.442770787476616,3.0245895250090964,0.2818585412256314,0.42990427701632944,654130.0751623376,0.0953429160711855,3.7080498337830785,2.870708401875772,0.6281801948466054,0.04299042770163295,957873.0268404585,0.09339723484172113,3.7080498337830785,3.0590345971224955,0.009684653196881459,0.9883883476483185,0.0,0.21387627564304207,4.143748552516062,3.3083341090029497,0.03373082103719685,2.0096056723534024,0.0,0.1917260393995586,4.192288132331471,3.0602749435229692,0.07810273522516555,1.2725658350974745,0.0,0.18007832252269354,3.91276675667495,2.9688367557600963,0.1590707293871843,0.5583711730708739,212967.17970150412,0.16284456338156397,4.004109642665785,3.1648986422539034,0.3140900974233027,0.3081339303943301,247101.9936362605,0.09164054266419422,4.175274801025988,3.219931338578367,0.6091325251265606,0.03004724704724557,245683.1733837851,0.08331582312545133,4.114863967703013,2.991721690616193,0.009530330085889912,0.9728868986855663,0.0,0.1976776695296637,4.539572142492922,3.5400944999792574,0.037881281566461776,1.6185786437626906,0.0,0.19457737973711328,4.118046658221416,3.2640331625962045,0.07703348259858253,0.9820270319643722,0.0,0.22491455902406554,4.345954473741487,3.684203669403796,0.15072042542650518,0.46486335345030994,1.3699888993957206e6,0.22081446955838735,4.465912695526794,3.4337781607248337,0.3108786768240271,0.24037797637796457,8.469394644029373e6,0.11866159969569501,4.38450115117404,3.233079292215077,0.611394444761941,0.022722497216032183,4.907483637102427e7,0.11423437847553165,4.118046658221416,3.659043247178078,0.009770551750371123,0.9306186217847897,0.0,0.18935414346693488,6.048659737230037,4.700763480595073,0.034831900733815466,0.6513701166914082,0.0,0.19968501968502955,6.389336012665805,4.7963450469256275,0.07672086187221659,0.3939116499156264,206228.9714895501,0.03993700393700591,6.493950489698852,4.6827683299560645,0.15473020204677815,0.1969558249578132,256157.16458503995,0.02595905255905384,6.282844136769962,5.0620750495366975,0.27918558653543696,0.07516227766016839,343859.3841816632,0.01990394327646598,6.15604148456427,4.643996901406786,0.6493933982822018,0.007907106781186548,472890.4369552434,0.01990394327646598,6.455338755267491,4.484763144463303,0.010823223304703365,0.9810092587300983,0.0,0.2093933982822018,7.4894866461918195,5.665194033718302,0.03626917896280316,0.6311804782231162,0.0,0.2045889649925776,7.119150775457958,5.798231740853505,0.06979639663385924,0.4019211344706805,190843.11208082415,0.0400629960629941,7.449447114680473,5.4738160196441585,0.1590707293871843,0.2003149803149705,253708.36397919877,0.026596565449035083,7.2623905530967745,5.432949719240034,0.2818585412256314,0.11274341649025257,347558.96179770876,0.02016288269291262,7.211767033542473,5.153880185076074,0.6319375695991954,0.012139339828220179,465008.71190200775,0.020630693606237087,7.649828139314158,5.411051518281698 +31,11,33,7,78125,359375,609375,0.15247950681976907,0.6299038468795466,1.0,60,17,34,37,8,4,5,13,19,18,0.00423728813559322,0.24152542372881355,0.13135593220338984,0.15677966101694915,0.2669491525423729,0.012711864406779662,0.1652542372881356,0.0211864406779661,0.23735408560311283,0.16731517509727625,0.22957198443579765,0.05058365758754864,0.07392996108949416,0.22957198443579765,0.011673151750972763,0.88671875,3.15625,21.015625,0.34765625,0.009728868986855665,0.9728868986855663,0.0,0.21387627564304207,3.070076562565329,2.468371385976971,0.036643844699385315,2.0542262026288673,0.0,0.21209430584957908,3.4838866971656266,2.6494441563047255,0.07614156564082007,1.162158383625775,0.0,0.004277525512860841,3.188357306895986,2.5859376556564992,0.14379452954966895,0.9077505186744319,418004.96412362694,0.0038345207879911716,3.113370319768882,2.5505943563651448,0.2918660696056699,0.4240446073247604,651887.9028698251,0.0019060660171779822,3.268723096152053,2.5775772512054456,0.5951135192126216,0.04705278064146927,948715.992126065,0.0020232233047033634,3.254778191575989,2.7697156036506394,0.0096373774391991,0.9918558653543692,0.0,0.21209430584957908,3.7951746682169216,2.948641698540831,0.03505512155511984,2.023223304703363,0.0,0.2045889649925776,3.5519166220408223,2.768021164485463,0.07899219619989943,1.2057634034120415,0.0,0.1922062139468195,3.745703830957665,2.870708401875772,0.15543933841201354,0.8757735041645032,415258.2923845568,0.1928919662900775,3.6498944079461664,2.7287981300131943,0.3124109409006622,0.40947219358530756,636779.5798111557,0.08993241161390704,3.8087150729122827,2.948641698540831,0.606966991411009,0.044211324791774864,931421.3338250862,0.09686205806953521,3.8087150729122827,2.948641698540831,0.010823223304703365,1.0152208752109342,0.0,0.2045889649925776,4.298884530526613,2.991721690616193,0.03742834823753237,2.0725245121601805,0.0,0.21209430584957908,4.417631374365148,3.4200542254009836,0.07046463530640786,1.222788889523882,0.0,0.16284456338156397,4.048381398296987,3.0999128134216334,0.14379452954966895,0.6217573536480542,200881.7524614908,0.18007832252269354,3.834800717546093,3.074246788607696,0.2840312152004023,0.2995275295275443,223594.5774575795,0.08871668384881551,4.364811290101005,3.134187245143355,0.5930330085889911,0.030946040409355627,252660.39802464857,0.08666056298143779,4.250478609325051,3.111825296404928,0.009883883476483186,1.0015749015748523,0.0,0.20304417504218686,4.698227998135754,3.684203669403796,0.033896286189085106,1.5756465996625053,0.0,0.18353553390593275,4.6289760382585134,3.4081423320207436,0.07488188238188608,1.026606123086602,0.0,0.23118553044161266,4.480397939901231,3.3303948215237402,0.15543933841201354,0.5195147186257615,1.5155314611878074e6,0.22708544097593447,4.5904293608259605,3.3109495261949,0.30144085085301037,0.24756832327484501,8.24386170890279e6,0.11544287100350269,4.176118731845849,3.394405377044535,0.5951135192126216,0.023634698994937583,5.0912127567543395e7,0.11734695167279507,4.6289760382585134,3.3109495261949,0.009306186217847899,1.0362622560800903,0.0,0.2093933982822018,5.792899488406437,4.519333422605723,0.03373082103719685,0.6204124145231932,0.0,0.19369306393762917,6.195365033459589,4.663893831344829,0.07463978728674742,0.40464466094067264,195709.2379268093,0.038738612787525835,5.876165118732509,4.484763144463303,0.15023623523622787,0.20232233047033632,264177.20146372286,0.026704940634175278,6.115537223033512,4.575943689310137,0.3108786768240271,0.07848074069840787,355192.04730739025,0.020458896499257757,6.3329245939475465,4.780936762253296,0.5810791918128875,0.007624264068711929,424680.7640753084,0.020458896499257757,6.2373465049791506,4.6827683299560645,0.009684653196881459,1.0081441346456308,0.0,0.20232233047033632,6.772731807835801,5.922365366923927,0.03516809926618455,0.697977994274006,0.0,0.21387627564304207,7.317643888682026,5.602429532355842,0.07771966920600677,0.41450490243203614,196551.73896677358,0.041261387212474174,7.211767033542473,5.278013811146495,0.15284861119048526,0.19457737973711328,245688.32710051586,0.025875126259405773,7.07044385514697,5.583225993571779,0.2943027776190295,0.11772111104761179,361707.29408404074,0.020827396060044145,7.449447114680473,5.411051518281698,0.6091325251265606,0.012563603896932108,483938.1555221613,0.018353553390593275,6.894105566586728,5.564721472419586 +6,36,8,15,578125,859375,109375,0.274382623085101,2.9902462669136396,3.8768943743823394,25,42,12,17,0,12,13,25,7,6,0.13983050847457626,0.1059322033898305,0.2669491525423729,0.0211864406779661,0.13135593220338984,0.1483050847457627,0.029661016949152543,0.15677966101694915,0.1288888888888889,0.04888888888888889,0.12,0.2,0.22666666666666666,0.12,0.15555555555555556,0.76171875,4.15625,13.515625,0.47265625,0.010315346803118543,1.0315346803118544,0.0,0.1990394327646598,3.350753465053379,2.6294389976348556,0.03446726936761731,1.9369306393762915,0.0,0.19837117307087385,3.281951422475478,2.496096829006922,0.07147747564417434,1.2325357215773205,0.0,0.0039807886552931954,3.3964058604690712,2.8032328858076765,0.15284861119048526,0.8561404708432985,445280.86823393346,0.004075962965079607,3.3615524707344355,2.711661968023029,0.3094604040935563,0.45009572298367073,607519.5236843486,0.0020304417504218683,3.4667994773078847,2.7697156036506394,0.6362829175487372,0.043788675208225165,1.0194353963962032e6,0.0018935414346693486,3.450983445115174,2.5775772512054456,0.010229448249628879,1.0604715292478952,0.0,0.19837117307087385,3.5519166220408223,2.768021164485463,0.03211871843353824,1.8935414346693487,0.0,0.19274754878398198,3.7951746682169216,2.948641698540831,0.07412912607362389,1.1167423461417478,0.0,0.1798864362935881,4.060453714523384,3.0590345971224955,0.14655827625556683,0.9410556128293852,443697.8453394487,0.18107627163190831,3.869918143989321,2.9280877749266487,0.2943027776190295,0.4421132479177486,676991.6056147644,0.09815434035433554,3.5754103106298474,2.768021164485463,0.5680624304008046,0.04094721935853076,987863.1191058877,0.10321646970120192,3.5754103106298474,2.768021164485463,0.009984250984251477,0.9530330085889911,0.0,0.19274754878398198,4.034228299374266,3.1966139926049157,0.034831900733815466,1.9541103500742245,0.0,0.19837117307087385,4.0751945290085905,3.154945509746097,0.07561081009842233,1.1503562363973516,0.0,0.17399720420448922,4.328444648453908,3.2906474297864454,0.15284861119048526,0.5862331050222673,219247.04951458756,0.1693820094637193,4.114863967703013,3.259569208477031,0.3034834957055045,0.3246966991411009,238184.70144594845,0.08267850542618521,4.062019317918444,3.351007396239904,0.6319375695991954,0.029186606960566987,234006.57613982455,0.09213309524416878,4.004109642665785,3.3083341090029497,0.010532292826653258,0.9176776695296637,0.0,0.19060660171779822,4.419162107325022,3.4458247278452308,0.03594895854600519,1.6751471862576144,0.0,0.2003149803149705,4.365796155869071,3.6178420104762603,0.08117417478527522,0.9553892772703669,0.0,0.21780473012589963,4.8568838537785854,3.5400944999792574,0.14655827625556683,0.4792440472440709,1.4174720654445968e6,0.2103198085233625,4.324739641736421,3.5269975388779446,0.27918558653543696,0.2334928556845359,8.814164374805447e6,0.12404823987296441,4.509017816473206,3.60009778765355,0.6362829175487372,0.025127207793864216,4.777777685253991e7,0.10982540321082222,4.365796155869071,3.5269975388779446,0.010048028361767013,0.9770551750371123,0.0,0.1969558249578132,6.215966650966487,4.828846380083242,0.03580306887370108,0.6698685574511342,0.0,0.20542262026288677,5.737963569877837,4.946514042673007,0.08020360336614077,0.37870828693386976,184534.31217278077,0.041084524052577356,6.259600077814652,4.812294464845993,0.13765165042944957,0.18935414346693488,249083.376628361,0.02518009831189179,6.538604385593562,4.864069864043935,0.29311655251113367,0.08330958424017658,334604.17810397217,0.0192747548783982,5.971316920784508,4.380460112623352,0.6162678607886602,0.008121767001687473,458534.1688028672,0.0192747548783982,5.837553384301147,4.970894504689864,0.010271131013144339,0.9395284707521048,0.0,0.18935414346693488,7.236571948853032,5.511524079580415,0.032571651762467645,0.656519416526044,0.0,0.1990394327646598,6.894105566586728,5.243332473321018,0.07327913812778342,0.3908220700148449,185376.81321274507,0.03891547594742266,6.720924339679158,5.622417851676328,0.14379452954966895,0.20630693606237088,260782.15193587772,0.02780391583359547,7.5342839961642,5.203224022572681,0.3124109409006622,0.12496437636026486,338303.75572001765,0.019620185174601967,7.017657484260921,5.738947602306292,0.5718198051533947,0.011817349497468791,452625.91666544095,0.02003149803149705,7.317643888682026,5.153880185076074 +4,12,40,3,421875,78125,265625,0.14747881203752627,2.128206182523731,0.583801512904337,26,32,49,13,10,1,14,15,17,15,0.23412698412698413,0.09126984126984126,0.24206349206349206,0.09126984126984126,0.1626984126984127,0.01984126984126984,0.003968253968253968,0.15476190476190477,0.022222222222222223,0.18095238095238095,0.16825396825396827,0.1746031746031746,0.18095238095238095,0.16825396825396827,0.10476190476190476,0.84765625,4.09375,21.484375,0.27734375,0.010116116523516816,0.9467707173346743,0.0,0.2093933982822018,3.268723096152053,2.5083413290884344,0.0361037138109149,1.9274754878398197,0.0,0.18790569415042097,3.2070826148343734,2.568923232448083,0.07587087392637612,1.1564852927038918,0.0,0.004075962965079607,3.6208927494346717,2.433394407764258,0.15344172374443318,0.9119107853504795,435032.86001299927,0.004277525512860841,3.450983445115174,2.519793292430426,0.29053959590644374,0.40947219358530756,685723.9332127507,0.0019837117307087383,3.3066380512266433,2.639203013597638,0.5930330085889911,0.045595539267523987,979141.2801013748,0.0021064585653306515,3.547791229223689,2.5859376556564992,0.009306186217847899,0.9883883476483185,0.0,0.1976776695296637,3.5247465210368913,2.749832754877505,0.03494487844488017,2.0630693606237087,0.0,0.19369306393762917,3.8376923374278205,2.9381589501242287,0.07703348259858253,1.177211110476118,0.0,0.1928919662900775,3.6498944079461664,3.0408461875145374,0.13765165042944957,0.872833161511845,442176.97502199584,0.18710803370992252,3.6945094290877174,2.9831818805184414,0.2840312152004023,0.45820271332097123,607519.5236843486,0.10155370109584884,3.853330094053834,2.9381589501242287,0.5837321392113398,0.046342088437274345,1.0040376923918492e6,0.10155370109584884,3.721058615689658,2.8807795770733517,0.010532292826653258,1.0271131013144337,0.0,0.20725245121601807,3.798434075898996,3.045336172486958,0.03471495528740293,1.9457737973711327,0.0,0.19060660171779822,3.7456139916348534,3.232425934930185,0.0743891899015777,1.2496437636026487,0.0,0.18393359705301618,3.9709572336685306,3.111825296404928,0.15473020204677815,0.6416288269291262,203714.55667352155,0.15784055915910214,4.328444648453908,3.2745079795130425,0.30688344748886637,0.3124109409006622,224907.7544052168,0.08598085540326587,4.129017066625734,3.328122461383807,0.5862331050222673,0.031087867682402705,246677.4384512425,0.09001914459673412,4.101226048081557,3.123230159395084,0.00958630196997793,0.9684653196881458,0.0,0.21209430584957908,4.524011777262454,3.5538314549554655,0.03211871843353824,1.6025198425197638,0.0,0.21209430584957908,4.450918734737546,3.6372873058051005,0.07810273522516555,0.9088998886412873,0.0,0.21887316224952094,4.798811780154152,3.2640331625962045,0.15228313128164014,0.5055500556793564,1.3619898962223388e6,0.23534957547849883,4.57268554763437,3.233079292215077,0.29855914914698967,0.23962202362203544,8.010156477410309e6,0.12301469739275586,4.5904293608259605,3.5024121041547702,0.6319375695991954,0.023544222209522358,4.964969556114407e7,0.12079889714825605,4.248600699437548,3.5683125405913483,0.009810092587300983,1.0015749015748523,0.0,0.19274754878398198,6.195365033459589,4.6827683299560645,0.032571651762467645,0.7021528551102172,0.0,0.2003149803149705,6.4208278799941665,5.027504771394277,0.07703348259858253,0.4165479212008829,190843.11208082415,0.03891547594742266,6.195365033459589,4.828846380083242,0.1487783798031554,0.19620185174601967,242959.3393316963,0.027075614878057385,5.6581728684441694,5.027504771394277,0.28912132317597294,0.07878232998312527,361707.29408404074,0.019541103500742247,6.1754623894357294,4.828846380083242,0.588605555238059,0.007987400787401181,443969.5723047655,0.019837117307087388,5.998579280052453,4.7963450469256275,0.010693813782152103,1.0271131013144337,0.0,0.19620185174601967,7.379091486797894,5.643295832759966,0.03528504471259709,0.6540061724867322,0.0,0.1969558249578132,7.236571948853032,5.082211602648832,0.07296651740141748,0.38915475947422656,191458.1725062018,0.037870828693386975,7.044625250903228,5.153880185076074,0.16040720673228154,0.18935414346693488,266906.1892325424,0.026301902961143722,7.044625250903228,5.688278459917461,0.3056972223809705,0.12435147072961082,364746.2793578374,0.02164644660940673,6.772731807835801,5.432949719240034,0.5862331050222673,0.01209772961574757,480633.21111173375,0.019837117307087388,7.187865028542044,5.712765707268959 +29,37,15,11,921875,578125,765625,0.25562940162675285,0.05490280845544948,3.204168476687281,66,11,21,33,2,9,6,3,5,3,0.10714285714285714,0.21825396825396826,0.11507936507936507,0.21825396825396826,0.03571428571428571,0.14682539682539683,0.13095238095238096,0.027777777777777776,0.25161290322580643,0.16129032258064516,0.13548387096774195,0.14838709677419354,0.16129032258064516,0.13548387096774195,0.0064516129032258064,0.97265625,3.09375,13.984375,0.40234375,0.009467707173346744,1.0116116523516816,0.0,0.1969558249578132,3.4667994773078847,2.6602400615695743,0.034051041453994825,2.0458896499257757,0.0,0.20162882692912618,3.4090178895245224,2.746638946235742,0.07100780380010058,1.2275337899554655,0.0,0.0038345207879911716,3.3402158469466214,2.6111101215519175,0.14456066158798647,0.8598085540326589,465128.0276154276,0.0039807886552931954,3.254778191575989,2.6716920249115663,0.3081339303943301,0.4421132479177486,641355.5540272741,0.002120943058495791,3.523562404406734,2.4828681973000792,0.6319375695991954,0.04299042770163295,923232.6718836612,0.001976776695296637,3.3182385785066444,2.8032328858076765,0.010048028361767013,1.0532292826653258,0.0,0.21064585653306517,3.7821658863103425,2.9381589501242287,0.037881281566461776,1.9457737973711327,0.0,0.20542262026288677,3.6155703268410346,2.749832754877505,0.07263489897661093,1.2496437636026487,0.0,0.18107627163190831,3.869918143989321,2.8602256534591692,0.15023623523622787,0.933214945738148,412081.8074195675,0.19892372836809172,3.927814191370153,2.8128432885403565,0.3034834957055045,0.4316440738412433,651887.9028698251,0.095751407153637,3.6333063580106795,2.749832754877505,0.6189208081871126,0.04348908729652602,942225.1850503753,0.095751407153637,3.978477980963109,3.080069221986806,0.009883883476483186,0.9684653196881458,0.0,0.19541103500742246,4.101226048081557,3.232425934930185,0.03711650352367634,2.0630693606237087,0.0,0.20304417504218686,4.08805083699141,3.045336172486958,0.07953536469359215,1.177211110476118,0.0,0.1711739121776074,4.210335349462018,3.3083341090029497,0.14593303480283495,0.5971182982939793,219953.65182298067,0.1722708830708746,4.048381398296987,3.087418217069815,0.28912132317597294,0.2943027776190295,239069.16357992482,0.09119107853504793,3.8643608354733883,3.123230159395084,0.6217573536480542,0.029311655251113365,261855.26099681252,0.08480892146495206,3.798434075898996,3.328122461383807,0.010189907412699019,1.0271131013144337,0.0,0.19837117307087385,4.216101369522883,3.3481390443464507,0.03505512155511984,1.468284271247462,0.0,0.19837117307087385,4.7588291424771185,3.4212392931220563,0.07357569440475738,0.9711471862576143,0.0,0.23212756089706205,4.465912695526794,3.5024121041547702,0.14295495128834868,0.47442640687119286,1.450863256581714e6,0.22170809247300222,4.3018197023800315,3.4908040376105087,0.3208144134645631,0.25975735931288074,8.502259216684552e6,0.11505528038110684,4.324739641736421,3.2640331625962045,0.5930330085889911,0.024992875272052975,4.681471614227066e7,0.11379707401269142,4.539572142492922,3.3645632023859147,0.010413698030022072,0.9176776695296637,0.0,0.2045889649925776,5.737963569877837,4.970894504689864,0.03516809926618455,0.658925565098879,0.0,0.18353553390593275,6.048659737230037,4.7179918139167585,0.07263489897661093,0.39240370349203935,174857.07965000425,0.041261387212474174,5.737963569877837,4.519333422605723,0.1590707293871843,0.20827396060044145,258813.06407443597,0.025506240726982557,6.1754623894357294,4.7179918139167585,0.30688344748886637,0.08375735931288072,338303.75572001765,0.020725245121601808,5.6581728684441694,4.519333422605723,0.6248218818013244,0.00865857864376269,470733.043537059,0.021209430584957906,6.360186953215491,4.442232701251335,0.00995197163823299,0.9684653196881458,0.0,0.20827396060044145,6.959554117499472,5.309011727754844,0.03288349647632367,0.6942465353348048,0.0,0.2093933982822018,6.772731807835801,5.546844774281648,0.07736510102338907,0.41261387212474177,177322.88784644997,0.040464466094067265,7.4894866461918195,5.564721472419586,0.14927957457349483,0.20232233047033632,251052.46448980272,0.02461603865070153,7.4894866461918195,5.3634798447310414,0.2875890590993379,0.11724662100445346,339443.41104747454,0.019968501968502955,7.236571948853032,5.767233824245157,0.6217573536480542,0.011274341649025257,451043.54120638757,0.021209430584957906,6.657187664685844,5.387967092082539 +42,25,28,7,671875,828125,15625,0.18833644282936352,1.0013022246490868,5.354248688935409,40,21,32,3,6,5,2,21,11,21,0.15140845070422534,0.13732394366197184,0.15845070422535212,0.02464788732394366,0.2007042253521127,0.18661971830985916,0.05985915492957746,0.08098591549295775,0.13450292397660818,0.05263157894736842,0.21637426900584794,0.22807017543859648,0.23976608187134502,0.029239766081871343,0.09941520467836257,0.91015625,4.59375,17.734375,0.33984375,0.01046966991411009,0.9847791247890659,0.0,0.18935414346693488,3.113370319768882,2.5859376556564992,0.03211871843353824,1.9903943276465978,0.0,0.19620185174601967,3.3182385785066444,2.639203013597638,0.07385843435917995,1.1942365965879587,0.0,0.004241886116991582,3.2399858668848265,2.5408303404023624,0.16040720673228154,0.8189443871706151,420459.9184839994,0.0038549509756796397,3.070076562565329,2.5940956983435015,0.2995275295275443,0.45595539267523977,619871.1149256865,0.0020379814825398036,3.3964058604690712,2.568923232448083,0.6091325251265606,0.04094721935853076,1.0317719351285e6,0.0019060660171779822,3.4090178895245224,2.6602400615695743,0.010362622560800904,1.0152208752109342,0.0,0.20304417504218686,3.906815710764537,2.8602256534591692,0.033896286189085106,2.0031498031497046,0.0,0.21646446609406728,3.733593871959942,2.8602256534591692,0.08117417478527522,1.1274341649025257,0.0,0.1877937860531805,3.7575206710423354,2.749832754877505,0.14593303480283495,0.8435945733580579,430275.4850092162,0.1798864362935881,3.7951746682169216,3.143533424904846,0.2954337374367198,0.41339252713092617,634341.9025040866,0.0912006249349094,4.060453714523384,3.0408461875145374,0.6009449409449115,0.044669718509281114,967804.4862513752,0.0912006249349094,3.596408791235463,2.959591024476506,0.010152208752109343,1.0823223304703364,0.0,0.18612372435695795,4.229631529953251,3.144745487937831,0.03355205689492276,2.0031498031497046,0.0,0.1976776695296637,4.210335349462018,3.3791618246855486,0.07189726477483448,1.1274341649025257,0.0,0.1759465098936167,4.08805083699141,3.1966139926049157,0.15023623523622787,0.6137668949777327,226840.19119453768,0.1673365465739174,3.91276675667495,3.1750986640621695,0.3208144134645631,0.3024432403936893,232702.95059462628,0.0884226495835497,4.019496813483939,3.208018855595072,0.5583711730708739,0.02791855865354369,236246.98182477173,0.08757735041645029,3.987970564974013,3.208018855595072,0.010604715292478953,0.9984250984251477,0.0,0.20379814825398038,4.4022449643656305,3.457432794389492,0.034051041453994825,1.6504554884989668,0.0,0.1917260393995586,4.3018197023800315,3.2891935848219225,0.07561081009842233,1.0050883117545686,0.0,0.22564407224408337,4.324739641736421,3.4081423320207436,0.14825825214724778,0.4873060201012484,1.412516597965453e6,0.22784057442991257,4.7588291424771185,3.60009778765355,0.30688344748886637,0.2465071443154641,8.271633085236975e6,0.11820292598730862,4.465912695526794,3.4081423320207436,0.6091325251265606,0.02419545923149514,4.826294408471223e7,0.11694471961889319,4.419162107325022,3.7601159403350337,0.01008144134645631,1.0315346803118544,0.0,0.1990394327646598,6.024279838040949,4.812294464845993,0.03626917896280316,0.6353553390593274,0.0,0.19457737973711328,5.792899488406437,4.846074713404927,0.08117417478527522,0.40325765385825235,185376.81321274507,0.0400629960629941,6.389336012665805,4.700763480595073,0.15284861119048526,0.18790569415042097,268502.6524527451,0.026211747500786402,5.998579280052453,4.846074713404927,0.29855914914698967,0.08092893218813453,326971.0925942907,0.018612372435695797,6.360186953215491,4.9976122307299455,0.5637170824512628,0.008216904810515471,418775.2584654712,0.01917260393995586,6.1754623894357294,4.663893831344829,0.010229448249628879,1.0823223304703364,0.0,0.20162882692912618,7.16477397286058,5.493019558428221,0.034335324055553444,0.6263523138347366,0.0,0.20232233047033632,7.4894866461918195,5.712765707268959,0.06882582521472479,0.400629960629941,186171.04920017958,0.04187867965644036,7.236571948853032,5.738947602306292,0.14456066158798647,0.1969558249578132,241362.87611149356,0.027221141776686233,6.772731807835801,5.994033949351168,0.2975567596063108,0.11167423461417476,328713.1827170839,0.019369306393762917,7.4894866461918195,5.583225993571779,0.6028817017060207,0.011772111104761179,434909.3998359294,0.01917260393995586,7.412910237413274,5.546844774281648 +17,50,3,16,171875,328125,515625,0.09874208829065749,3.6111395720685104,1.7550020016016017,15,49,11,23,14,13,10,9,23,9,0.05,0.031818181818181815,0.05909090909090909,0.17727272727272728,0.11363636363636363,0.09545454545454546,0.22272727272727272,0.25,0.270935960591133,0.2019704433497537,0.024630541871921183,0.034482758620689655,0.04433497536945813,0.18226600985221675,0.2413793103448276,0.78515625,3.59375,10.234375,0.46484375,0.00984779124789066,1.046966991411009,0.0,0.20232233047033632,3.3615524707344355,2.8032328858076765,0.03505512155511984,2.138762756430421,0.0,0.20827396060044145,3.547791229223689,2.4828681973000792,0.07852252435582567,1.2832576538582523,0.0,0.003967423461417477,3.4361911204240116,2.6971651566999215,0.14927957457349483,0.8842264958354972,446934.3500257789,0.004091779299851552,3.350753465053379,2.376800468192324,0.3246966991411009,0.42990427701632944,658901.5543930127,0.0019172603939955858,3.188357306895986,2.746638946235742,0.5718198051533947,0.044211324791774864,951793.1644589785,0.0020304417504218683,3.2070826148343734,2.5083413290884344,0.009770551750371123,0.9530330085889911,0.0,0.19060660171779822,3.6803663533962654,3.0408461875145374,0.03594895854600519,1.8353553390593274,0.0,0.19968501968502955,4.011904279503447,3.0408461875145374,0.07488188238188608,1.2097729615747572,0.0,0.2001135637064119,3.442770787476616,2.9381589501242287,0.15473020204677815,0.8967118523175137,456749.9165509957,0.1922062139468195,3.5519166220408223,2.8998594788296135,0.3140900974233027,0.4435834192440776,673372.3419714128,0.09847067794531672,3.745703830957665,2.8602256534591692,0.5506066017177983,0.04193345237791562,908521.1344441994,0.09847067794531672,3.8228581486037347,2.7842778269909036,0.009530330085889912,0.9984250984251477,0.0,0.20096056723534025,3.987970564974013,3.3791618246855486,0.03566467594444657,1.8353553390593274,0.0,0.21064585653306517,3.9709572336685306,3.144745487937831,0.07642430559524263,1.2097729615747572,0.0,0.16576289195422447,3.7456139916348534,2.991721690616193,0.13765165042944957,0.5782426463519459,213879.62498163336,0.17742396501363894,4.159135723334216,2.940682327314452,0.29855914914698967,0.2818585412256314,248801.12372921576,0.0818944387170615,4.273324220495441,3.0115100429970507,0.6028817017060207,0.030144085085301035,253500.5765857394,0.0941055612829385,4.229631529953251,3.0115100429970507,0.009918558653543694,1.0823223304703364,0.0,0.1917260393995586,4.67311080961997,3.715157539784924,0.0361037138109149,1.556619037896906,0.0,0.20379814825398038,4.57268554763437,3.514458671275167,0.07046463530640786,0.9453879597975032,0.0,0.244604846686296,4.5904293608259605,3.6178420104762603,0.15798439239979886,0.4574558441227157,1.5051814873857307e6,0.21233343438997568,4.450918734737546,3.394405377044535,0.28912132317597294,0.23243167672515497,8.88821904877515e6,0.11120110285174399,4.798811780154152,3.6178420104762603,0.5718198051533947,0.022548683298050515,5.231845853987357e7,0.10898530260724416,4.698227998135754,3.4686470214354186,0.009395284707521049,0.9728868986855663,0.0,0.21387627564304207,6.389336012665805,4.484763144463303,0.03419693112629893,0.6768139168072895,0.0,0.20630693606237088,6.215966650966487,4.549225963270055,0.07488188238188608,0.37581138830084193,196551.73896677358,0.03670710678118655,6.024279838040949,4.9976122307299455,0.14379452954966895,0.20162882692912618,251972.5736502222,0.024427740239554723,6.360186953215491,4.549225963270055,0.3208144134645631,0.07574165738677395,347558.96179770876,0.020096056723534025,5.998579280052453,4.700763480595073,0.6048864807873786,0.0077477225575051665,457061.12527998,0.020379814825398038,5.6581728684441694,4.946514042673007,0.0096373774391991,0.9984250984251477,0.0,0.18790569415042097,6.564614460469395,5.873021529427319,0.036447943105077256,0.6720960897637539,0.0,0.18935414346693488,7.044625250903228,5.387967092082539,0.07511811761811393,0.3670710678118655,197452.54555726363,0.03939116499156264,6.772731807835801,5.411051518281698,0.15344172374443318,0.2093933982822018,257892.9549140165,0.02560425724451571,7.236571948853032,5.529400777718352,0.3181414587743686,0.12057634034120414,348907.62687142944,0.020542262026288678,7.044625250903228,5.203224022572681,0.5583711730708739,0.012496437636026488,463288.36206061573,0.020379814825398038,6.989371915317976,5.082211602648832 +23,18,22,14,46875,203125,140625,0.16688820488025863,1.5356267514014013,2.4322356371699785,32,66,40,39,12,15,8,12,8,18,0.1795774647887324,0.10915492957746478,0.13028169014084506,0.16549295774647887,0.05985915492957746,0.2147887323943662,0.0880281690140845,0.0528169014084507,0.07692307692307693,0.2512820512820513,0.23076923076923078,0.3230769230769231,0.005128205128205128,0.06666666666666667,0.046153846153846156,0.94140625,3.34375,12.109375,0.37109375,0.009984250984251477,1.0823223304703364,0.0,0.19968501968502955,3.3182385785066444,2.711661968023029,0.03335615530061469,1.8790569415042095,0.0,0.2045889649925776,3.113370319768882,2.530589197695275,0.08117417478527522,1.1274341649025257,0.0,0.003908220700148449,3.502612005104014,2.5775772512054456,0.1409292706128157,0.8967118523175137,440711.4650826296,0.004032576538582524,3.188357306895986,2.6294389976348556,0.2840312152004023,0.4364165807559225,601758.2217448878,0.0019541103500742246,3.070076562565329,2.410317750349361,0.6009449409449115,0.043641658075592255,998067.8845223241,0.0020630693606237087,3.268723096152053,2.5505943563651448,0.010604715292478953,1.0015749015748523,0.0,0.18353553390593275,3.6155703268410346,3.143533424904846,0.03540640783230886,2.0304417504218684,0.0,0.2093933982822018,3.7821658863103425,3.143533424904846,0.07100780380010058,1.1564852927038918,0.0,0.17435875721063612,3.7080498337830785,2.8998594788296135,0.14295495128834868,0.8842264958354972,469035.93118683016,0.19515148924974243,4.060453714523384,2.749832754877505,0.3081339303943301,0.4705278064146926,623173.7657445978,0.09720187480472818,3.5519166220408223,3.143533424904846,0.6091325251265606,0.04280702354216493,874817.0838380235,0.09720187480472818,3.769630630040058,2.8377919536878635,0.010315346803118543,1.046966991411009,0.0,0.1917260393995586,4.159135723334216,3.2906474297864454,0.03419693112629893,2.0304417504218684,0.0,0.2003149803149705,4.143748552516062,3.0999128134216334,0.06979639663385924,1.2832576538582523,0.0,0.1791156061163796,3.88992114550456,3.245597363392304,0.15798439239979886,0.6248218818013244,209846.35491252516,0.17461799053628066,3.798434075898996,3.219931338578367,0.3024432403936893,0.29855914914698967,218335.85577502596,0.08728331615118448,4.192288132331471,2.899789926599017,0.611394444761941,0.029755675960631077,250245.02566230568,0.08632881476824864,4.159135723334216,3.074246788607696,0.009306186217847899,1.046966991411009,0.0,0.19541103500742246,4.798811780154152,3.2640331625962045,0.03459359216769115,1.5248528137423858,0.0,0.20725245121601807,4.38450115117404,3.7601159403350337,0.07463978728674742,0.9297267069006199,0.0,0.21397018211763638,4.524011777262454,3.715157539784924,0.14593303480283495,0.4669857113690718,1.3903633077081374e6,0.21780473012589963,4.176118731845849,3.5400944999792574,0.3124109409006622,0.22722497216032184,8.379242507872562e6,0.12020642170529047,4.4022449643656305,3.457432794389492,0.5506066017177983,0.025665153077165048,4.8900369882431254e7,0.12404823987296441,4.60913435613093,3.4212392931220563,0.00995197163823299,0.9530330085889911,0.0,0.20827396060044145,5.910675994005833,5.104605492748664,0.03566467594444657,0.6876897868745695,0.0,0.20304417504218686,6.307224035959051,4.923947342218395,0.07587087392637612,0.3980788655293196,200685.49413773723,0.03953553390593274,6.282844136769962,4.622890851781605,0.15543933841201354,0.1990394327646598,233946.1050131704,0.026596565449035083,6.259600077814652,4.923947342218395,0.2943027776190295,0.07747722557505167,342719.7288542064,0.019837117307087388,6.259600077814652,4.902841292593214,0.6137668949777327,0.008375735931288071,463288.36206061573,0.020096056723534025,6.094157369020849,5.0620750495366975,0.010413698030022072,0.9847791247890659,0.0,0.21387627564304207,6.817529157808182,5.153880185076074,0.034831900733815466,0.6819632166419253,0.0,0.21646446609406728,7.1422418311394225,5.832913078678983,0.07899219619989943,0.3953553390593274,202065.45371350241,0.04329289321881346,7.347461686500529,5.493019558428221,0.1409292706128157,0.21646446609406728,246893.54105946544,0.02518009831189179,6.927924317202108,5.798231740853505,0.27918558653543696,0.11902270384252431,334604.17810397217,0.018935414346693488,7.742401343530607,5.511524079580415,0.5951135192126216,0.012832576538582524,470733.043537059,0.020725245121601808,7.2893583197390805,5.832913078678983 +48,43,47,5,546875,703125,640625,0.06123724356957945,4.6849676028184835,0.06274606680622785,11,26,15,18,4,7,0,24,20,6,0.06690140845070422,0.22183098591549297,0.017605633802816902,0.0528169014084507,0.17253521126760563,0.10211267605633803,0.2007042253521127,0.16549295774647887,0.20704845814977973,0.07488986784140969,0.05726872246696035,0.13656387665198239,0.14537444933920704,0.19823788546255505,0.18061674008810572,0.81640625,4.34375,19.609375,0.49609375,0.010823223304703365,0.9984250984251477,0.0,0.21646446609406728,3.547791229223689,2.5505943563651448,0.0355327306323827,2.0162882692912616,0.0,0.19274754878398198,3.3615524707344355,2.6839365249930784,0.07488188238188608,1.2097729615747572,0.0,0.004145049024320361,3.294563451530929,2.7697156036506394,0.15122162019684465,0.8435945733580579,408173.90384816495,0.0037581138830084194,3.3964058604690712,2.468371385976971,0.3034834957055045,0.466607472869074,649727.3466785833,0.0020725245121601807,3.350753465053379,2.602456102794555,0.5506066017177983,0.04666074728690741,938784.5327151483,0.0019457737973711327,3.4667994773078847,2.711661968023029,0.009918558653543694,0.9176776695296637,0.0,0.2003149803149705,3.8376923374278205,2.8998594788296135,0.0331369751067136,1.9060660171779822,0.0,0.1969558249578132,3.5247465210368913,2.8998594788296135,0.07587087392637612,1.2275337899554655,0.0,0.19029923129922197,3.9513078799591783,3.143533424904846,0.15228313128164014,0.8189443871706151,436498.3699523655,0.1840084107407477,3.745703830957665,2.9381589501242287,0.29053959590644374,0.4378867520822516,661458.3508250016,0.10392620986629374,3.7951746682169216,2.8998594788296135,0.5718198051533947,0.0453875259337216,954795.854507545,0.10392620986629374,3.4913202224965527,3.00975499372675,0.009728868986855665,0.9847791247890659,0.0,0.20379814825398038,3.91276675667495,3.0999128134216334,0.03626917896280316,1.9060660171779822,0.0,0.18353553390593275,3.88992114550456,3.2906474297864454,0.07536021271325259,1.1942365965879587,0.0,0.16873359250157688,4.143748552516062,3.0602749435229692,0.14825825214724778,0.588605555238059,223059.41687917977,0.16392167747730646,4.101226048081557,3.0291967222135545,0.2818585412256314,0.3208144134645631,235740.4870118181,0.09332149457381478,3.9529100165379827,3.1648986422539034,0.5751781181986758,0.03181414587743686,268898.84754712967,0.09164054266419422,3.91276675667495,3.259569208477031,0.010048028361767013,0.9847791247890659,0.0,0.20725245121601807,4.465912695526794,3.5024121041547702,0.036863024893286404,1.6243534003374946,0.0,0.19541103500742246,4.65019087026358,3.4686470214354186,0.08020360336614077,0.9860285772618564,0.0,0.22862423343148003,4.216101369522883,3.457432794389492,0.15473020204677815,0.49513664654969003,1.4741774938811022e6,0.23118553044161266,4.509017816473206,3.3303948215237402,0.2943027776190295,0.24278679656440358,7.808939841969905e6,0.11333840030430503,4.67311080961997,3.715157539784924,0.6009449409449115,0.023884731931759173,4.576601916742778e7,0.11544287100350269,4.345954473741487,3.6372873058051005,0.010693813782152103,1.0152208752109342,0.0,0.19620185174601967,6.282844136769962,4.750493147074372,0.03355205689492276,0.6485912657903775,0.0,0.19060660171779822,5.942167861334194,4.643996901406786,0.07100780380010058,0.42775255128608414,188330.50619882336,0.042129171306613034,5.910675994005833,4.902841292593214,0.14655827625556683,0.21387627564304207,255334.25829406874,0.025057181341917655,5.876165118732509,4.643996901406786,0.3124109409006622,0.08216904810515471,317416.8605438435,0.021209430584957906,5.876165118732509,4.622890851781605,0.5782426463519459,0.007878232998312527,434909.3998359294,0.018612372435695797,6.493950489698852,4.734543729154006,0.009810092587300983,1.046966991411009,0.0,0.1990394327646598,7.2623905530967745,5.564721472419586,0.03742834823753237,0.6424918292799399,0.0,0.19968501968502955,7.742401343530607,5.4738160196441585,0.07412912607362389,0.42129171306613034,188991.21751375103,0.03993700393700591,6.927924317202108,5.873021529427319,0.15122162019684465,0.19968501968502955,261844.78214846912,0.026704940634175278,7.347461686500529,5.4538277003236715,0.30144085085301037,0.12725658350974745,355192.04730739025,0.020232233047033633,7.1422418311394225,5.922365366923927,0.6362829175487372,0.011942365965879586,443969.5723047655,0.019541103500742247,6.857568689319529,5.4738160196441585 +36,6,9,9,796875,953125,390625,0.12549900398011132,2.80364741710137,1.144345399598956,21,15,66,28,0,11,4,6,14,24,0.12323943661971831,0.16549295774647887,0.18661971830985916,0.22183098591549297,0.0035211267605633804,0.045774647887323945,0.03169014084507042,0.22183098591549297,0.11272727272727273,0.0036363636363636364,0.22181818181818183,0.1709090909090909,0.06181818181818182,0.22181818181818183,0.20727272727272728,0.75390625,3.84375,15.859375,0.30859375,0.009684653196881459,1.0271131013144337,0.0,0.20542262026288677,3.2070826148343734,2.620091050238382,0.036863024893286404,1.9620185174601965,0.0,0.21387627564304207,3.268723096152053,2.602456102794555,0.07263489897661093,1.177211110476118,0.0,0.0037224744871391592,3.167406907593266,2.496096829006922,0.14715138880951475,0.872833161511845,454509.7213545039,0.003924037034920393,3.523562404406734,2.559942303761619,0.2954337374367198,0.44835592615875686,670069.6911525015,0.0020096056723534024,3.450983445115174,2.6839365249930784,0.5837321392113398,0.04483559261587569,964363.8339161482,0.0018353553390593276,3.113370319768882,2.620091050238382,0.00958630196997793,0.9728868986855663,0.0,0.20630693606237088,4.011904279503447,2.9831818805184414,0.036643844699385315,2.1064585653306516,0.0,0.18935414346693488,3.6803663533962654,2.8128432885403565,0.07385843435917995,1.1942365965879587,0.0,0.1959915892592523,3.8087150729122827,2.9831818805184414,0.14825825214724778,0.9119107853504795,422700.1136804912,0.2056412427893639,3.6333063580106795,2.8602256534591692,0.3246966991411009,0.4240446073247604,643516.110218516,0.09986109264445038,3.6945094290877174,2.9831818805184414,0.5930330085889911,0.040377817459305215,927447.7388651486,0.09986109264445038,3.887654175158966,2.918383195131922,0.010015749015748525,1.0116116523516816,0.0,0.21209430584957908,4.048381398296987,3.1856569068566456,0.032571651762467645,1.976776695296637,0.0,0.20630693606237088,4.034228299374266,2.9688367557600963,0.07327913812778342,1.1564852927038918,0.0,0.1734007911590485,4.298884530526613,3.154945509746097,0.15228313128164014,0.6048864807873786,232139.6567707897,0.18115543661843603,4.229631529953251,3.351007396239904,0.3124109409006622,0.28912132317597294,229230.5062325289,0.08967118523175135,4.0751945290085905,3.074246788607696,0.6362829175487372,0.030569722238097053,242334.46921457583,0.08871668384881551,4.048381398296987,3.1648986422539034,0.010362622560800904,1.0116116523516816,0.0,0.18612372435695795,4.324739641736421,3.6178420104762603,0.03335615530061469,1.5814213562373096,0.0,0.18612372435695795,4.176118731845849,3.3645632023859147,0.07228033079399324,1.039029437251523,0.0,0.2225600822023289,4.4022449643656305,3.5538314549554655,0.15023623523622787,0.4404852813742386,1.3114631944792243e6,0.22491455902406554,4.38450115117404,3.4458247278452308,0.2818585412256314,0.25127207793864215,8.655399381754253e6,0.11655712899649735,4.524011777262454,3.5538314549554655,0.5837321392113398,0.023129705854077837,4.76033103639469e7,0.11866159969569501,4.8568838537785854,3.2891935848219225,0.010229448249628879,0.9883883476483185,0.0,0.20162882692912618,6.538604385593562,4.600324151326993,0.03471495528740293,0.6117851130197758,0.0,0.1976776695296637,6.1361388405404105,4.780936762253296,0.07852252435582567,0.38549509756796396,181593.7929244138,0.04060883500843737,6.538604385593562,5.1663780813766484,0.13959279326771848,0.19274754878398198,262971.9875047733,0.02780391583359547,6.493950489698852,4.780936762253296,0.2818585412256314,0.08658578643762692,333255.51303025143,0.01917260393995586,6.493950489698852,5.1663780813766484,0.6416288269291262,0.007574165738677394,480633.21111173375,0.020725245121601808,6.259600077814652,4.575943689310137,0.01008144134645631,0.9467707173346743,0.0,0.19274754878398198,7.07044385514697,5.738947602306292,0.03580306887370108,0.7129209188101402,0.0,0.19369306393762917,6.927924317202108,5.278013811146495,0.07614156564082007,0.4060883500843737,182660.298138511,0.038738612787525835,7.1422418311394225,5.643295832759966,0.1562054704503311,0.20542262026288677,275919.42355106835,0.02595905255905384,7.1422418311394225,5.602429532355842,0.3108786768240271,0.12227888895238821,343859.3841816632,0.02093933982822018,6.927924317202108,5.665194033718302,0.611394444761941,0.011564852927038918,418775.2584654712,0.020096056723534025,7.586091464320844,5.622417851676328 +11,31,34,1,296875,453125,890625,0.21503677266016785,0.5108263237912949,4.127016653792583,49,40,26,8,8,3,12,18,2,12,0.013636363636363636,0.06818181818181818,0.09545454545454546,0.1409090909090909,0.15,0.20454545454545456,0.18636363636363637,0.1409090909090909,0.25925925925925924,0.13580246913580246,0.11934156378600823,0.06172839506172839,0.20164609053497942,0.11934156378600823,0.102880658436214,0.87890625,4.84375,23.359375,0.43359375,0.010271131013144339,0.9684653196881458,0.0,0.19369306393762917,3.4090178895245224,2.4521519471920596,0.03459359216769115,2.0827396060044143,0.0,0.1990394327646598,3.4667994773078847,2.410317750349361,0.07703348259858253,1.2496437636026487,0.0,0.004019211344706805,3.384331260773357,2.6494441563047255,0.1562054704503311,0.933214945738148,428541.20445719676,0.004165479212008829,3.3066380512266433,2.7278814068079407,0.3140900974233027,0.42179728667902894,631785.1060720977,0.0018612372435695796,3.254778191575989,2.530589197695275,0.6189208081871126,0.0421797286679029,902551.3265746741,0.002003149803149705,3.3615524707344355,2.4521519471920596,0.010189907412699019,1.0315346803118544,0.0,0.19457737973711328,3.733593871959942,2.8128432885403565,0.03446726936761731,1.976776695296637,0.0,0.20232233047033632,3.906815710764537,2.9831818805184414,0.07852252435582567,1.2832576538582523,0.0,0.1848485107502576,3.5754103106298474,2.8128432885403565,0.15798439239979886,0.8598085540326589,448668.63057779835,0.18970076870077807,3.853330094053834,3.0408461875145374,0.2995275295275443,0.45009572298367073,691485.2351522115,0.09394575930578371,3.927814191370153,2.8128432885403565,0.6319375695991954,0.04406929566929352,983356.3470828623,0.09394575930578371,3.6655321645721797,2.7029200646244504,0.009176776695296637,0.9467707173346743,0.0,0.19837117307087385,4.328444648453908,2.9688367557600963,0.03516809926618455,2.1064585653306516,0.0,0.19457737973711328,4.298884530526613,3.1856569068566456,0.07771966920600677,1.2275337899554655,0.0,0.161598896969362,4.034228299374266,3.4200542254009836,0.14295495128834868,0.5637170824512628,217119.5301327462,0.17000279579551075,3.987970564974013,3.134187245143355,0.2943027776190295,0.30688344748886637,243121.29715896424,0.08435945733580577,4.417631374365148,3.259569208477031,0.5951135192126216,0.028758905909933786,257222.25030316916,0.08267850542618521,4.328444648453908,2.899789926599017,0.009770551750371123,0.9467707173346743,0.0,0.20096056723534025,4.5904293608259605,3.4081423320207436,0.0355327306323827,1.6851668522645211,0.0,0.20096056723534025,4.509017816473206,3.5683125405913483,0.07672086187221659,0.9584880944881418,0.0,0.23661454005888802,4.67311080961997,3.3481390443464507,0.13765165042944957,0.48075595275592914,1.4313616464077109e6,0.24168019147663752,4.65019087026358,3.684203669403796,0.3024432403936893,0.2363469899493758,8.153709572745979e6,0.10795176012703561,4.216101369522883,3.3481390443464507,0.6189208081871126,0.024550675799109307,5.060941421115241e7,0.11179357829470955,4.480397939901231,3.514458671275167,0.0096373774391991,1.0532292826653258,0.0,0.18790569415042097,6.115537223033512,4.882944362655171,0.03711650352367634,0.6677166010499016,0.0,0.21064585653306517,6.593540304122162,4.380460112623352,0.07385843435917995,0.4091779299851552,193443.25718428858,0.038121320343559646,6.115537223033512,4.7659014317467046,0.15072042542650518,0.2045889649925776,248020.7464157696,0.025875126259405773,6.094157369020849,4.380460112623352,0.3024432403936893,0.07987400787401182,353449.95718459703,0.020379814825398038,6.094157369020849,4.7659014317467046,0.5971182982939793,0.008092893218813454,451043.54120638757,0.019541103500742247,5.876165118732509,4.864069864043935,0.009395284707521049,1.0116116523516816,0.0,0.2045889649925776,7.5342839961642,5.411051518281698,0.03373082103719685,0.6634647758821993,0.0,0.20542262026288677,7.347461686500529,5.622417851676328,0.07147747564417434,0.38121320343559645,194161.5788691571,0.041084524052577356,7.742401343530607,5.309011727754844,0.14715138880951475,0.19369306393762917,254531.27027016997,0.028140380592228745,7.742401343530607,5.243332473321018,0.29311655251113367,0.11503562363973514,320455.8458176402,0.01969558249578132,7.347461686500529,5.337297949693708,0.5751781181986758,0.012275337899554654,457061.12527998,0.018612372435695797,7.095248770457529,5.278013811146495 +8,22,12,6,984375,265625,203125,0.15732132722552272,1.8234301897878362,2.083920216900384,44,29,13,26,7,14,3,8,9,22,0.16176470588235295,0.17352941176470588,0.14411764705882352,0.1264705882352941,0.15588235294117647,0.0029411764705882353,0.10882352941176471,0.1264705882352941,0.25748502994011974,0.029940119760479042,0.24550898203592814,0.017964071856287425,0.3652694610778443,0.05389221556886228,0.029940119760479042,0.76953125,4.46875,11.171875,0.32421875,0.009306186217847899,1.0048028361767012,0.0,0.20725245121601807,3.384331260773357,2.410317750349361,0.03742834823753237,1.976776695296637,0.0,0.19457737973711328,3.3402158469466214,2.4521519471920596,0.07536021271325259,1.2182650502531212,0.0,0.004187867965644036,3.4667994773078847,2.7278814068079407,0.14825825214724778,0.9038595291567019,415258.2923845568,0.003953553390593274,3.4838866971656266,2.433394407764258,0.3056972223809705,0.41657911562725675,654130.0751623376,0.002093933982822018,3.5775989922311187,2.8032328858076765,0.6048864807873786,0.047622182540694814,887153.6225703201,0.0019620185174601965,3.384331260773357,2.4828681973000792,0.01046966991411009,0.9951971638232989,0.0,0.18790569415042097,3.7575206710423354,2.918383195131922,0.03419693112629893,1.9620185174601965,0.0,0.20379814825398038,3.7575206710423354,2.7029200646244504,0.07536021271325259,1.1860660171779822,0.0,0.18639175915871867,3.733593871959942,3.00975499372675,0.1562054704503311,0.9038595291567019,445280.86823393346,0.19091253887357323,3.769630630040058,3.080069221986806,0.27918558653543696,0.41933452377915614,593390.320829908,0.09490960132943829,3.4913202224965527,2.7029200646244504,0.6137668949777327,0.04705278064146927,918725.8998606356,0.09784565964566447,3.6333063580106795,3.0408461875145374,0.010413698030022072,0.9770551750371123,0.0,0.1969558249578132,4.0751945290085905,3.123230159395084,0.03540640783230886,1.9620185174601965,0.0,0.20162882692912618,4.114863967703013,2.899789926599017,0.07100780380010058,1.201889881889823,0.0,0.15784055915910214,3.834800717546093,3.134187245143355,0.14715138880951475,0.5506066017177983,229183.4823786999,0.16576289195422447,4.0751945290085905,3.4200542254009836,0.28590990257669735,0.3094604040935563,240974.78032745415,0.09524436508138959,4.048381398296987,3.0999128134216334,0.6162678607886602,0.02840312152004023,248532.93037066312,0.08561404708432982,4.129017066625734,2.9688367557600963,0.010271131013144339,0.9918558653543692,0.0,0.20542262026288677,4.435358369507079,3.3109495261949,0.03580306887370108,1.6130306154330094,0.0,0.19968501968502955,4.539572142492922,3.60009778765355,0.07412912607362389,0.9202849891178811,0.0,0.2302919075269978,4.365796155869071,3.583673629614086,0.16040720673228154,0.49985750544105945,1.4019710612848066e6,0.21987243910293797,4.480397939901231,3.4686470214354186,0.2918660696056699,0.2300712472794703,8.43806120583862e6,0.11914511975247433,4.726329812562453,3.659043247178078,0.6248218818013244,0.023721320343559643,4.794539344533575e7,0.1128548802475257,4.7588291424771185,3.684203669403796,0.009883883476483186,0.9395284707521048,0.0,0.18353553390593275,6.67333100555583,4.549225963270055,0.036643844699385315,0.6819632166419253,0.0,0.18790569415042097,5.998579280052453,5.104605492748664,0.07327913812778342,0.3953553390593274,194915.00193937478,0.037581138830084196,5.971316920784508,4.734543729154006,0.15406696519716506,0.2003149803149705,239516.5901705864,0.025295059365824723,5.942167861334194,5.104605492748664,0.2918660696056699,0.0803842268941361,330325.67168217537,0.019968501968502955,6.4208278799941665,4.7963450469256275,0.5837321392113398,0.008290098048640723,439794.42477862805,0.018935414346693488,6.307224035959051,4.902841292593214,0.010152208752109343,1.0048028361767012,0.0,0.2003149803149705,7.119150775457958,5.3634798447310414,0.03211871843353824,0.6768139168072895,0.0,0.20725245121601807,7.2893583197390805,5.337297949693708,0.08020360336614077,0.40325765385825235,199492.25821514055,0.037224744871391595,7.2893583197390805,5.798231740853505,0.15023623523622787,0.19837117307087385,249083.376628361,0.024196084166404532,6.657187664685844,5.643295832759966,0.3034834957055045,0.12563603896932107,341618.73985250917,0.020725245121601808,7.586091464320844,5.082211602648832,0.5810791918128875,0.011674642784226795,428746.7062117102,0.020232233047033633,7.236571948853032,5.922365366923927 +33,47,37,15,484375,765625,703125,0.027386127875258306,5.484455543377233,6.267949192431123,18,9,36,5,15,6,11,20,21,10,0.1554054054054054,0.18243243243243243,0.11486486486486487,0.07432432432432433,0.14189189189189189,0.22297297297297297,0.033783783783783786,0.07432432432432433,0.05527638190954774,0.18592964824120603,0.04522613065326633,0.17587939698492464,0.1457286432160804,0.20603015075376885,0.18592964824120603,0.89453125,3.46875,18.671875,0.44921875,0.010048028361767013,0.9306186217847897,0.0,0.19541103500742246,3.167406907593266,2.602456102794555,0.034831900733815466,2.1064585653306516,0.0,0.20630693606237088,3.6208927494346717,2.620091050238382,0.06979639663385924,1.1436396103067894,0.0,0.0039391164991562635,3.268723096152053,2.559942303761619,0.15798439239979886,0.8522494813255684,443697.8453394487,0.004212917130661303,3.281951422475478,2.6111101215519175,0.2875890590993379,0.44510912703474,612202.5176874202,0.0019695582495781318,3.329416841265565,2.5859376556564992,0.5637170824512628,0.04393070433070651,957873.0268404585,0.0020827396060044143,3.167406907593266,2.639203013597638,0.00984779124789066,1.0693813782152104,0.0,0.20162882692912618,3.442770787476616,2.7029200646244504,0.03626917896280316,2.0827396060044143,0.0,0.1917260393995586,3.442770787476616,2.918383195131922,0.06979639663385924,1.263875139198391,0.0,0.19786026257041936,4.011904279503447,2.8377919536878635,0.14715138880951475,0.8522494813255684,418004.96412362694,0.17681753813911005,3.4913202224965527,2.8807795770733517,0.30144085085301037,0.4466971850928111,647640.094027017,0.1006570839288145,3.769630630040058,2.918383195131922,0.5782426463519459,0.043788675208225165,975167.6851414371,0.10606758838609297,3.853330094053834,2.8602256534591692,0.009810092587300983,1.0362622560800903,0.0,0.2093933982822018,4.417631374365148,3.328122461383807,0.0331369751067136,2.0827396060044143,0.0,0.18790569415042097,3.834800717546093,3.1648986422539034,0.07587087392637612,1.1012132034355966,0.0,0.1722708830708746,4.114863967703013,3.351007396239904,0.1562054704503311,0.6009449409449115,215570.41534693906,0.1759465098936167,4.417631374365148,3.154945509746097,0.3045662625632803,0.2918660696056699,227215.20869313148,0.08786140866141298,4.328444648453908,3.2906474297864454,0.5810791918128875,0.030348349570550447,264837.35931915627,0.09077505186744317,3.8643608354733883,3.1856569068566456,0.009684653196881459,1.0604715292478952,0.0,0.19369306393762917,4.726329812562453,3.5269975388779446,0.03373082103719685,1.5032455532033675,0.0,0.21646446609406728,4.248600699437548,3.394405377044535,0.07899219619989943,0.9782311116191057,0.0,0.21665042452150118,4.6289760382585134,3.3799242914086522,0.14927957457349483,0.47088444419044717,1.4882329752879846e6,0.23312683775047907,4.8568838537785854,3.7601159403350337,0.3094604040935563,0.24455777790477642,7.9211835119008785e6,0.11234197708382493,4.435358369507079,3.4337781607248337,0.588605555238059,0.02527750278396782,5.126221105644365e7,0.11965802291617511,4.450918734737546,3.4458247278452308,0.010532292826653258,1.0081441346456308,0.0,0.2003149803149705,6.15604148456427,4.846074713404927,0.03446726936761731,0.6424918292799399,0.0,0.20162882692912618,6.360186953215491,4.750493147074372,0.07771966920600677,0.42129171306613034,183633.50558229073,0.04032576538582524,6.3329245939475465,5.0620750495366975,0.14526979795322187,0.18353553390593275,257008.9710400158,0.02681990168810821,6.307224035959051,4.750493147074372,0.3094604040935563,0.07444948974278319,350329.3491134037,0.02164644660940673,6.048659737230037,4.442232701251335,0.6189208081871126,0.007816441400296898,466813.1280663163,0.020232233047033633,5.942167861334194,4.622890851781605,0.009530330085889912,0.9306186217847897,0.0,0.18353553390593275,7.649828139314158,5.688278459917461,0.03505512155511984,0.6353553390593274,0.0,0.19541103500742246,6.857568689319529,5.665194033718302,0.07463978728674742,0.37581138830084193,187642.79395526578,0.04019211344706805,6.857568689319529,5.4538277003236715,0.13765165042944957,0.21209430584957908,264177.20146372286,0.02612487374059423,7.187865028542044,5.309011727754844,0.2840312152004023,0.1181734949746879,313002.94023200625,0.019541103500742247,7.095248770457529,5.546844774281648,0.6162678607886602,0.012378416163742252,460058.94506843056,0.018935414346693488,6.772731807835801,5.511524079580415 +45,9,25,2,234375,515625,453125,0.11291589790636215,3.1859634244019106,3.641101056459326,9,18,23,36,11,10,15,2,15,16,0.1266233766233766,0.03571428571428571,0.10714285714285714,0.19155844155844157,0.12012987012987013,0.1590909090909091,0.17207792207792208,0.08766233766233766,0.17201166180758018,0.15451895043731778,0.1661807580174927,0.05539358600583091,0.13119533527696792,0.1661807580174927,0.15451895043731778,0.95703125,4.96875,14.921875,0.26171875,0.009770551750371123,1.0362622560800903,0.0,0.18612372435695795,3.502612005104014,2.530589197695275,0.03373082103719685,1.9060660171779822,0.0,0.18353553390593275,3.2399858668848265,2.711661968023029,0.07327913812778342,1.263875139198391,0.0,0.004046446609406727,3.113370319768882,2.6294389976348556,0.14295495128834868,0.8786140866141301,431928.96680106164,0.004060883500843737,3.1431780827763114,2.6971651566999215,0.3181414587743686,0.46066547622084403,636779.5798111557,0.0018935414346693486,3.2241698346921157,2.5083413290884344,0.588605555238059,0.042612474066278425,931421.3338250862,0.002016288269291262,3.502612005104014,2.746638946235742,0.009467707173346744,1.0229448249628879,0.0,0.20827396060044145,3.6498944079461664,3.00975499372675,0.032571651762467645,1.8790569415042095,0.0,0.19837117307087385,3.6498944079461664,3.00975499372675,0.07771966920600677,1.1436396103067894,0.0,0.19154738558266987,3.8376923374278205,2.7029200646244504,0.15122162019684465,0.9524436508138961,433511.9896955464,0.19688982865521715,3.6655321645721797,2.959591024476506,0.29311655251113367,0.4634208843727434,629089.8080130098,0.10606758838609297,3.6655321645721797,2.8377919536878635,0.5971182982939793,0.04500957229836708,948715.992126065,0.1006570839288145,3.745703830957665,2.749832754877505,0.01008144134645631,0.9306186217847897,0.0,0.20232233047033632,4.192288132331471,3.0115100429970507,0.036643844699385315,2.0162882692912616,0.0,0.20827396060044145,4.004109642665785,3.074246788607696,0.07385843435917995,1.1674642784226796,0.0,0.1673365465739174,4.250478609325051,3.219931338578367,0.1409292706128157,0.5837321392113398,207250.2875382044,0.1711739121776074,4.192288132331471,3.245597363392304,0.29651650429449555,0.30047247047245573,253927.62052671367,0.08522494813255682,4.159135723334216,2.9688367557600963,0.6493933982822018,0.03140900974233027,239642.73448604962,0.08813859133858701,4.019496813483939,3.2906474297864454,0.009984250984251477,0.9586301969977928,0.0,0.21646446609406728,4.555768404674979,3.659043247178078,0.03742834823753237,1.6661916848035314,0.0,0.20542262026288677,4.698227998135754,3.233079292215077,0.07147747564417434,1.0180526680779796,0.0,0.23966656561002433,4.49453257209877,3.4795898105645824,0.14456066158798647,0.4839091846299028,1.3426904134958975e6,0.207395153313704,4.345954473741487,3.5683125405913483,0.30047247047245573,0.2545131670194949,8.753970064952629e6,0.12554939033455903,4.276702513864247,3.3109495261949,0.6048864807873786,0.02436530100506242,4.9257068203034304e7,0.106450609665441,4.57268554763437,3.5400944999792574,0.010152208752109343,0.9810092587300983,0.0,0.19457737973711328,5.971316920784508,5.027504771394277,0.0331369751067136,0.6634647758821993,0.0,0.20827396060044145,6.1754623894357294,4.882944362655171,0.06979639663385924,0.38121320343559645,189627.87863335255,0.04165479212008829,6.15604148456427,4.864069864043935,0.14976376476377215,0.20630693606237088,265479.28251927876,0.023859619407771256,6.1361388405404105,4.882944362655171,0.27530330085889915,0.07816441400296899,369160.1996696747,0.019369306393762917,6.215966650966487,4.946514042673007,0.5506066017177983,0.0074449489742783185,454150.6929310043,0.01969558249578132,6.1361388405404105,4.7659014317467046,0.010532292826653258,1.0362622560800903,0.0,0.19457737973711328,6.894105566586728,5.994033949351168,0.0361037138109149,0.7021528551102172,0.0,0.18612372435695795,7.586091464320844,5.922365366923927,0.07672086187221659,0.39240370349203935,180400.55700181713,0.041450490243203617,7.095248770457529,5.243332473321018,0.14593303480283495,0.1917260393995586,256157.16458503995,0.02540343455096492,6.989371915317976,5.873021529427319,0.2954337374367198,0.11361248608016092,331833.79078827717,0.018612372435695797,6.857568689319529,5.712765707268959,0.6493933982822018,0.012018898818898229,475221.2273334492,0.02093933982822018,7.4894866461918195,5.665194033718302 +20,34,50,10,734375,15625,953125,0.20078432583507785,0.7512501250250061,0.8585715714571496,29,44,56,16,3,2,7,14,3,4,0.03888888888888889,0.2388888888888889,0.005555555555555556,0.15,0.027777777777777776,0.09444444444444444,0.11666666666666667,0.3277777777777778,0.14754098360655737,0.11475409836065574,0.1366120218579235,0.2786885245901639,0.07103825136612021,0.1366120218579235,0.11475409836065574,0.83203125,3.96875,22.421875,0.38671875,0.010362622560800904,0.9770551750371123,0.0,0.20096056723534025,3.294563451530929,2.6839365249930784,0.03580306887370108,2.0304417504218684,0.0,0.2003149803149705,3.4361911204240116,2.5505943563651448,0.07771966920600677,1.1860660171779822,0.0,0.003787082869338697,3.3615524707344355,2.468371385976971,0.15228313128164014,0.9524436508138961,459204.87091136817,0.0038121320343559644,3.372730733493356,2.5408303404023624,0.2975567596063108,0.433302814907189,676991.6056147644,0.0020232233047033634,3.422246215847947,2.6602400615695743,0.6248218818013244,0.0451929764578351,987863.1191058877,0.0018790569415042097,3.294563451530929,2.568923232448083,0.010116116523516816,0.9637377439199099,0.0,0.19620185174601967,3.869918143989321,2.8377919536878635,0.03516809926618455,2.0162882692912616,0.0,0.21209430584957908,3.869918143989321,2.8377919536878635,0.07327913812778342,1.2182650502531212,0.0,0.17851040944289992,3.6155703268410346,2.918383195131922,0.1409292706128157,0.8786140866141301,461951.5426504383,0.18564048325705132,3.887654175158966,2.7842778269909036,0.3108786768240271,0.4348908729652602,667012.7379378732,0.09784565964566447,3.887654175158966,3.00975499372675,0.6416288269291262,0.04240446073247604,1.0194353963962032e6,0.09490960132943829,4.060453714523384,2.9381589501242287,0.009395284707521049,1.0048028361767012,0.0,0.18935414346693488,3.9529100165379827,3.208018855595072,0.03446726936761731,1.8790569415042095,0.0,0.19620185174601967,4.250478609325051,3.259569208477031,0.07852252435582567,1.2378416163742252,0.0,0.17742396501363894,4.004109642665785,3.0291967222135545,0.15122162019684465,0.6189208081871126,221444.11734353675,0.18393359705301618,3.9529100165379827,3.0602749435229692,0.3159687847995977,0.27530330085889915,234244.18251360857,0.09038595291567017,3.91276675667495,3.1856569068566456,0.5990550590550886,0.029543373743671976,255280.04219189766,0.0807556349186104,4.273324220495441,3.0999128134216334,0.010823223304703365,1.0189907412699017,0.0,0.19968501968502955,4.276702513864247,3.4337781607248337,0.034831900733815466,1.5696148139681572,0.0,0.19369306393762917,4.419162107325022,3.4908040376105087,0.07614156564082007,0.9521816307401945,0.0,0.22415942557008744,4.118046658221416,3.188120891664967,0.15344172374443318,0.4509736659610103,1.440749809239108e6,0.22635592775591665,4.60913435613093,3.3645632023859147,0.27530330085889915,0.23804540768504862,8.215041254802193e6,0.11581731141731715,4.555768404674979,3.5269975388779446,0.5637170824512628,0.022872792206135785,4.633929542496347e7,0.1161826885826829,4.3018197023800315,3.3303948215237402,0.009530330085889912,1.0413698030022072,0.0,0.20630693606237088,6.3329245939475465,4.7179918139167585,0.03540640783230886,0.7129209188101402,0.0,0.19620185174601967,5.6581728684441694,4.600324151326993,0.07536021271325259,0.4060883500843737,203763.1632931044,0.03924037034920393,6.67333100555583,4.575943689310137,0.16234834957055044,0.19457737973711328,250091.40211441676,0.026040947440946163,6.593540304122162,4.600324151326993,0.30047247047245573,0.08290098048640723,340544.40004917176,0.020542262026288678,5.792899488406437,4.663893831344829,0.6009449409449115,0.00803842268941361,488004.09765856306,0.02093933982822018,6.593540304122162,5.1663780813766484,0.009883883476483186,0.9770551750371123,0.0,0.20630693606237088,7.317643888682026,5.529400777718352,0.034051041453994825,0.658925565098879,0.0,0.20096056723534025,7.095248770457529,5.511524079580415,0.07228033079399324,0.4165479212008829,192755.544940731,0.039082207001484494,7.586091464320844,5.602429532355842,0.15473020204677815,0.20379814825398038,237245.1777440126,0.026942818658082346,7.412910237413274,5.493019558428221,0.3140900974233027,0.12139339828220179,351837.46821950556,0.020096056723534025,7.2893583197390805,5.387967092082539,0.5990550590550886,0.011012132034355965,447676.1498318637,0.01969558249578132,7.044625250903228,5.337297949693708 +14,3,31,12,609375,390625,328125,0.13693063937629152,2.453366630131697,4.6833752096446,13,56,18,0,1,0,5,17,18,25,0.20454545454545456,0.16558441558441558,0.1331168831168831,0.06168831168831169,0.04220779220779221,0.18506493506493507,0.19805194805194806,0.00974025974025974,0.16908212560386474,0.06280193236714976,0.23671497584541062,0.05314009661835749,0.024154589371980676,0.23671497584541062,0.21739130434782608,0.92578125,3.21875,24.296875,0.29296875,0.010604715292478953,0.9918558653543692,0.0,0.19837117307087385,3.4361911204240116,2.746638946235742,0.03288349647632367,1.9457737973711327,0.0,0.21064585653306517,3.294563451530929,2.5083413290884344,0.07953536469359215,1.201889881889823,0.0,0.0038738612787525832,3.547791229223689,2.5940956983435015,0.15473020204677815,0.9213309524416881,474711.8964832876,0.003670710678118655,3.2241698346921157,2.7697156036506394,0.30144085085301037,0.43930704330706505,645603.3628700823,0.0021646446609406727,3.372730733493356,2.5505943563651448,0.5971182982939793,0.04333028149071891,945530.7506410894,0.0019903943276465977,3.2399858668848265,2.410317750349361,0.009684653196881459,1.0081441346456308,0.0,0.1990394327646598,3.8087150729122827,2.8807795770733517,0.03566467594444657,1.9274754878398197,0.0,0.19541103500742246,3.8087150729122827,2.8807795770733517,0.07189726477483448,1.1012132034355966,0.0,0.20318246186088998,3.6803663533962654,2.8807795770733517,0.16040720673228154,0.866605629814378,452436.18337461905,0.18845261441733016,3.596408791235463,2.8377919536878635,0.3056972223809705,0.4037781745930521,616251.8512823349,0.0991379419304648,3.8228581486037347,2.8807795770733517,0.588605555238059,0.04316440738412434,992732.1155436699,0.10260276515827887,3.927814191370153,3.143533424904846,0.010693813782152103,0.9586301969977928,0.0,0.20542262026288677,4.273324220495441,3.1648986422539034,0.03594895854600519,2.0458896499257757,0.0,0.19274754878398198,3.9336138360467494,3.328122461383807,0.07488188238188608,1.2182650502531212,0.0,0.16392167747730646,4.062019317918444,3.1750986640621695,0.14927957457349483,0.5718198051533947,236922.84741386306,0.1734007911590485,4.129017066625734,3.1966139926049157,0.27530330085889915,0.29651650429449555,237337.9284035754,0.09213309524416878,3.987970564974013,3.232425934930185,0.5908674748734396,0.030813393039433014,244635.0489914758,0.0893394370185622,4.192288132331471,3.045336172486958,0.010116116523516816,1.0048028361767012,0.0,0.18935414346693488,4.118046658221416,3.4795898105645824,0.036447943105077256,1.5419803902718556,0.0,0.1969558249578132,4.60913435613093,3.684203669403796,0.07736510102338907,0.8933938769133981,0.0,0.22708544097593447,4.276702513864247,3.3109495261949,0.1409292706128157,0.47769463863518347,1.3772881505651046e6,0.22943991779767112,4.698227998135754,3.6372873058051005,0.3159687847995977,0.23449324200890692,7.627325768999565e6,0.11734695167279507,4.118046658221416,3.188120891664967,0.5782426463519459,0.024756832327484504,4.7229941790200435e7,0.11465304832720495,4.38450115117404,3.233079292215077,0.009728868986855665,1.0229448249628879,0.0,0.21064585653306517,6.071903796185347,4.780936762253296,0.03494487844488017,0.6720960897637539,0.0,0.19274754878398198,5.876165118732509,4.970894504689864,0.0743891899015777,0.41261387212474177,198425.75300104337,0.0385495097567964,5.837553384301147,4.946514042673007,0.14201560760020115,0.20304417504218686,245688.32710051586,0.024778858223313768,6.215966650966487,4.970894504689864,0.28590990257669735,0.08483772233983163,335890.0099378692,0.01969558249578132,6.593540304122162,4.864069864043935,0.6091325251265606,0.007934846922834953,475221.2273334492,0.02164644660940673,6.215966650966487,4.9976122307299455,0.010015749015748525,0.9918558653543692,0.0,0.19060660171779822,7.211767033542473,5.602429532355842,0.036863024893286404,0.6485912657903775,0.0,0.19837117307087385,6.989371915317976,5.767233824245157,0.07357569440475738,0.4091779299851552,195709.2379268093,0.04241886116991581,6.989371915317976,5.688278459917461,0.14825825214724778,0.20096056723534025,259774.12644982192,0.026493759273017448,7.095248770457529,5.738947602306292,0.29053959590644374,0.11981101181101772,325061.99478450586,0.01917260393995586,6.657187664685844,5.278013811146495,0.5680624304008046,0.011436396103067892,439794.42477862805,0.019369306393762917,7.347461686500529,5.767233824245157 +39,28,6,4,109375,890625,828125,0.2322227914413702,0.2789974706149678,1.4425614756979996,36,23,44,21,9,8,13,5,6,13,0.12704918032786885,0.0778688524590164,0.036885245901639344,0.20901639344262296,0.18442622950819673,0.10245901639344263,0.11885245901639344,0.14344262295081966,0.017142857142857144,0.2571428571428571,0.09714285714285714,0.24571428571428572,0.21142857142857144,0.09714285714285714,0.07428571428571429,0.80078125,4.21875,16.796875,0.41796875,0.009918558653543694,1.0604715292478952,0.0,0.21209430584957908,3.2399858668848265,2.568923232448083,0.03528504471259709,2.0630693606237087,0.0,0.1976776695296637,3.502612005104014,2.6602400615695743,0.0743891899015777,1.1012132034355966,0.0,0.004108452405257736,3.3182385785066444,2.376800468192324,0.14593303480283495,0.866605629814378,437914.15794216126,0.00400629960629941,3.422246215847947,2.5775772512054456,0.27918558653543696,0.4762218254069481,699853.1360671913,0.0019968501968502953,3.1431780827763114,2.711661968023029,0.6416288269291262,0.04606654762208441,1.0109416862953367e6,0.0021387627564304207,3.4361911204240116,2.602456102794555,0.010271131013144339,0.9395284707521048,0.0,0.21387627564304207,3.5754103106298474,3.080069221986806,0.03355205689492276,2.0458896499257757,0.0,0.20725245121601807,3.5754103106298474,3.080069221986806,0.07642430559524263,1.201889881889823,0.0,0.1890874611264268,3.906815710764537,3.080069221986806,0.14927957457349483,0.9213309524416881,426712.9779518368,0.2014895905571001,3.8228581486037347,3.00975499372675,0.2875890590993379,0.4406929566929351,656463.8770859436,0.09278353029879809,3.596408791235463,3.080069221986806,0.6248218818013244,0.04582027133209713,935190.7400996472,0.09650835422932846,3.6945094290877174,2.8998594788296135,0.00995197163823299,1.0189907412699017,0.0,0.19369306393762917,4.019496813483939,2.899789926599017,0.033896286189085106,1.9274754878398197,0.0,0.2045889649925776,4.175274801025988,3.123230159395084,0.08117417478527522,1.1436396103067894,0.0,0.17461799053628066,4.364811290101005,2.940682327314452,0.16040720673228154,0.6091325251265606,218557.55036076627,0.161598896969362,3.8643608354733883,2.991721690616193,0.30047247047245573,0.3159687847995977,222125.35828646354,0.08666056298143779,4.229631529953251,3.045336172486958,0.6281801948466054,0.02905395959064437,259382.19272500998,0.08386690475583121,3.9529100165379827,3.232425934930185,0.009467707173346744,0.9306186217847897,0.0,0.20232233047033632,4.49453257209877,3.188120891664967,0.034335324055553444,1.6367117199406205,0.0,0.2093933982822018,4.345954473741487,3.4458247278452308,0.07296651740141748,0.9646107227296331,0.0,0.2103198085233625,4.555768404674979,3.5269975388779446,0.15122162019684465,0.513303061543301,1.4619016376517098e6,0.215385459941112,4.419162107325022,3.4212392931220563,0.29651650429449555,0.24870294145922164,8.324641984892643e6,0.10982540321082222,4.49453257209877,3.4795898105645824,0.6137668949777327,0.02334928556845359,5.009195722461162e7,0.1221745967891778,4.65019087026358,3.4908040376105087,0.010315346803118543,0.9637377439199099,0.0,0.1976776695296637,6.455338755267491,4.380460112623352,0.037881281566461776,0.6263523138347366,0.0,0.2045889649925776,6.259600077814652,4.6827683299560645,0.07953536469359215,0.38915475947422656,186924.47227039727,0.040917792998515515,6.2373465049791506,4.663893831344829,0.15174174785275224,0.19060660171779822,260782.15193587772,0.02639574275548429,5.792899488406437,4.6827683299560645,0.3045662625632803,0.07934846922834955,357101.145117175,0.02093933982822018,6.1361388405404105,4.575943689310137,0.5718198051533947,0.008483772233983163,447676.1498318637,0.019968501968502955,5.792899488406437,4.700763480595073,0.009176776695296637,1.0604715292478952,0.0,0.20304417504218686,6.720924339679158,5.243332473321018,0.03459359216769115,0.6876897868745695,0.0,0.21209430584957908,7.412910237413274,5.432949719240034,0.07810273522516555,0.38549509756796396,184534.31217278077,0.039674234614174776,7.412910237413274,5.3634798447310414,0.15798439239979886,0.18612372435695795,244386.24604495996,0.024924385121942616,7.586091464320844,5.411051518281698,0.3081339303943301,0.12987867965644037,346273.1299638117,0.020379814825398038,7.187865028542044,5.622417851676328,0.606966991411009,0.01218265050253121,466813.1280663163,0.020542262026288678,6.927924317202108,5.432949719240034 +26,15,43,17,359375,640625,78125,0.17714337624694385,1.2622412912357497,0.3188542521313922,56,13,9,10,13,4,9,23,12,19,0.19262295081967212,0.012295081967213115,0.2336065573770492,0.012295081967213115,0.11885245901639344,0.036885245901639344,0.18442622950819673,0.20901639344262296,0.22869955156950672,0.273542600896861,0.14798206278026907,0.1210762331838565,0.09417040358744394,0.004484304932735426,0.13004484304932734,0.86328125,3.71875,20.546875,0.35546875,0.010189907412699019,0.9586301969977928,0.0,0.20379814825398038,3.6208927494346717,2.639203013597638,0.036447943105077256,1.8353553390593274,0.0,0.20304417504218686,3.167406907593266,2.8032328858076765,0.07189726477483448,1.2378416163742252,0.0,0.0039937003937005906,3.2070826148343734,2.6716920249115663,0.15023623523622787,0.8331582312545135,450496.85708315833,0.004126138721247417,3.5775989922311187,2.496096829006922,0.3108786768240271,0.45192976457835093,664153.6488840894,0.0019369306393762916,3.281951422475478,2.620091050238382,0.6137668949777327,0.044510912703474,913856.9034228534,0.002045889649925776,3.3402158469466214,2.6839365249930784,0.010823223304703365,0.9810092587300983,0.0,0.2045889649925776,3.7080498337830785,2.7842778269909036,0.03711650352367634,1.9903943276465978,0.0,0.20096056723534025,3.7080498337830785,2.959591024476506,0.0743891899015777,1.1674642784226796,0.0,0.18311017134478288,3.7821658863103425,2.959591024476506,0.15344172374443318,0.8331582312545135,402497.9385517075,0.18213973742958064,3.978477980963109,2.7029200646244504,0.3181414587743686,0.45387525933721595,639113.3817347616,0.09650835422932846,3.978477980963109,2.7842778269909036,0.6048864807873786,0.04133925271309262,961058.268325434,0.09278353029879809,3.7951746682169216,2.8128432885403565,0.010229448249628879,0.9918558653543692,0.0,0.19968501968502955,3.8643608354733883,3.259569208477031,0.037881281566461776,1.9903943276465978,0.0,0.1990394327646598,4.364811290101005,3.208018855595072,0.07263489897661093,1.1860660171779822,0.0,0.17000279579551075,4.175274801025988,3.087418217069815,0.14456066158798647,0.5930330085889911,211999.28588961266,0.1791156061163796,4.019496813483939,3.3083341090029497,0.2918660696056699,0.28590990257669735,245632.77446514455,0.08331582312545133,4.101226048081557,3.3791618246855486,0.5680624304008046,0.02995275295275443,230752.53860143616,0.08697817459305202,4.0751945290085905,3.3791618246855486,0.00984779124789066,1.0362622560800903,0.0,0.1969558249578132,4.6289760382585134,3.3799242914086522,0.03528504471259709,1.5923154621172781,0.0,0.20232233047033632,4.8568838537785854,3.3303948215237402,0.07511811761811393,0.9948117658368866,0.0,0.2341952698741004,4.726329812562453,3.4337781607248337,0.1562054704503311,0.46259411708155673,1.4222471516314677e6,0.23802981788236363,4.539572142492922,3.2891935848219225,0.28590990257669735,0.24115268068240828,8.086200153992766e6,0.12144817100367705,4.6289760382585134,3.583673629614086,0.5971182982939793,0.02202426406871193,4.8571238017803155e7,0.11055182899632297,4.176118731845849,3.394405377044535,0.010015749015748525,1.0693813782152104,0.0,0.20304417504218686,6.2373465049791506,4.643996901406786,0.03594895854600519,0.6540061724867322,0.0,0.21387627564304207,6.493950489698852,4.812294464845993,0.07189726477483448,0.400629960629941,179020.59742605194,0.042775255128608414,6.071903796185347,4.442232701251335,0.15704504871165134,0.21064585653306517,272620.35082022613,0.025698097038856282,6.4208278799941665,4.812294464845993,0.29651650429449555,0.07669041575982344,345042.0905646754,0.018935414346693488,6.307224035959051,5.0620750495366975,0.6319375695991954,0.008151925930159214,460058.94506843056,0.020542262026288678,6.048659737230037,4.519333422605723,0.010315346803118543,0.9586301969977928,0.0,0.21064585653306517,7.449447114680473,5.4538277003236715,0.03335615530061469,0.6117851130197758,0.0,0.20379814825398038,6.657187664685844,5.203224022572681,0.07046463530640786,0.3980788655293196,190242.9390587302,0.03834520787991172,7.187865028542044,5.529400777718352,0.15228313128164014,0.20725245121601807,252856.5575242229,0.027572259760445278,6.857568689319529,5.564721472419586,0.3246966991411009,0.12325357215773206,359237.09724968683,0.021209430584957906,7.412910237413274,5.832913078678983,0.6281801948466054,0.01263875139198391,488004.09765856306,0.019968501968502955,7.742401343530607,5.583225993571779 +1,40,18,8,859375,140625,578125,0.08215838362577492,4.097953308439025,2.803847577293368,23,36,29,31,5,12,1,11,24,7,0.06147540983606557,0.14344262295081966,0.10245901639344263,0.14344262295081966,0.25,0.1680327868852459,0.05327868852459016,0.0778688524590164,0.07450980392156863,0.11372549019607843,0.00392156862745098,0.23137254901960785,0.20784313725490197,0.12941176470588237,0.23921568627450981,0.98828125,4.71875,13.046875,0.48046875,0.00958630196997793,1.0189907412699017,0.0,0.1917260393995586,3.3402158469466214,2.4828681973000792,0.034335324055553444,2.0031498031497046,0.0,0.19060660171779822,3.384331260773357,2.5859376556564992,0.07642430559524263,1.1674642784226796,0.0,0.004329289321881345,3.4090178895245224,2.519793292430426,0.13765165042944957,0.89021825406948,424773.65166037605,0.0038915475947422654,3.329416841265565,2.6494441563047255,0.29311655251113367,0.4261247406627842,626230.718959226,0.002054226202628868,3.4838866971656266,2.4521519471920596,0.5782426463519459,0.04165791156272568,971398.2788668763,0.0019274754878398199,3.6208927494346717,2.530589197695275,0.009984250984251477,1.0413698030022072,0.0,0.19274754878398198,3.9513078799591783,2.959591024476506,0.03471495528740293,2.138762756430421,0.0,0.18612372435695795,3.9513078799591783,2.7842778269909036,0.07953536469359215,1.2378416163742252,0.0,0.19435951674294868,3.5247465210368913,2.7842778269909036,0.14456066158798647,0.89021825406948,439295.67709283385,0.19360824084128134,3.721058615689658,2.918383195131922,0.2975567596063108,0.42807023542164924,681040.939209679,0.10260276515827887,3.721058615689658,2.959591024476506,0.5637170824512628,0.04435834192440777,895647.3326711867,0.0991379419304648,3.5519166220408223,2.9831818805184414,0.0096373774391991,1.0604715292478952,0.0,0.21646446609406728,4.129017066625734,3.074246788607696,0.03494487844488017,2.138762756430421,0.0,0.21387627564304207,4.062019317918444,3.0115100429970507,0.07703348259858253,1.263875139198391,0.0,0.18115543661843603,3.9336138360467494,3.2745079795130425,0.15344172374443318,0.6319375695991954,224837.4201738497,0.16873359250157688,4.273324220495441,3.111825296404928,0.3094604040935563,0.3045662625632803,231042.65047677557,0.08902182540694797,3.798434075898996,3.144745487937831,0.606966991411009,0.03246966991411009,251848.7251153603,0.09268417687454866,4.417631374365148,3.144745487937831,0.01046966991411009,0.9770551750371123,0.0,0.2093933982822018,4.365796155869071,3.583673629614086,0.03288349647632367,1.7110102051443365,0.0,0.18935414346693488,4.480397939901231,3.5400944999792574,0.06882582521472479,0.9379729680356277,0.0,0.22081446955838735,4.435358369507079,3.659043247178078,0.14715138880951475,0.4910135159821861,1.5282646237970614e6,0.22337576656851998,4.248600699437548,3.514458671275167,0.3045662625632803,0.22334846922834953,8.573654247020999e6,0.11423437847553165,4.365796155869071,3.3799242914086522,0.6416288269291262,0.024037797637796458,4.498524183560327e7,0.11776562152446837,4.509017816473206,3.60009778765355,0.009176776695296637,0.9951971638232989,0.0,0.19060660171779822,5.837553384301147,4.923947342218395,0.033896286189085106,0.6942465353348048,0.0,0.1990394327646598,6.094157369020849,4.484763144463303,0.07642430559524263,0.3670710678118655,192094.83362580332,0.03980788655293196,6.455338755267491,4.7963450469256275,0.1477168687183599,0.1976776695296637,253708.36397919877,0.02738396134929847,6.048659737230037,4.484763144463303,0.3159687847995977,0.08151925930159215,322926.0426519941,0.020232233047033633,5.942167861334194,4.734543729154006,0.5930330085889911,0.007669041575982343,428746.7062117102,0.019369306393762917,6.4208278799941665,4.828846380083242,0.009728868986855665,1.0189907412699017,0.0,0.1976776695296637,7.017657484260921,5.798231740853505,0.0355327306323827,0.6677166010499016,0.0,0.1917260393995586,7.187865028542044,5.583225993571779,0.07561081009842233,0.42775255128608414,206228.9714895501,0.040759629650796075,6.657187664685844,5.994033949351168,0.14295495128834868,0.19541103500742246,270348.9383936523,0.0257882524992136,7.2893583197390805,5.153880185076074,0.2995275295275443,0.11621583836257748,337121.04933700553,0.019837117307087388,6.989371915317976,5.4738160196441585,0.5908674748734396,0.011860660171779822,454150.6929310043,0.02164644660940673,7.1422418311394225,5.203224022572681 From d5b41d81fc6f0c9e107f0a234cd559675f67b8c9 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Tue, 16 Jan 2024 07:48:44 +1000 Subject: [PATCH 23/39] Uncomment fixing x and y lims for map (without this it is very zoomed out) --- ext/AvizExt/viz/spatial.jl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ext/AvizExt/viz/spatial.jl b/ext/AvizExt/viz/spatial.jl index 64e0cfaa2..2cc574024 100644 --- a/ext/AvizExt/viz/spatial.jl +++ b/ext/AvizExt/viz/spatial.jl @@ -47,11 +47,11 @@ function create_map!( dest="+proj=latlong +datum=WGS84", axis_opts..., ) - # lon = first.(centroids) - # lat = last.(centroids) - # map_buffer = 0.025 - # xlims!(spatial, minimum(lon) - map_buffer, maximum(lon) + map_buffer) - # ylims!(spatial, minimum(lat) - map_buffer, maximum(lat) + map_buffer) + lon = first.(centroids) + lat = last.(centroids) + map_buffer = 0.025 + xlims!(spatial, minimum(lon) - map_buffer, maximum(lon) + map_buffer) + ylims!(spatial, minimum(lat) - map_buffer, maximum(lat) + map_buffer) spatial.xticklabelsize = 14 spatial.yticklabelsize = 14 From 730f416688bd714634094e02ce76f0116fd0e52f Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Tue, 16 Jan 2024 09:58:00 +1000 Subject: [PATCH 24/39] Revert "Uncomment lines for defining x and y lims for spatial plotting" This reverts commit 537f498d2d8e50009d8f31e23995f45aa6d74f57. --- ext/AvizExt/viz/spatial.jl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ext/AvizExt/viz/spatial.jl b/ext/AvizExt/viz/spatial.jl index 2cc574024..64e0cfaa2 100644 --- a/ext/AvizExt/viz/spatial.jl +++ b/ext/AvizExt/viz/spatial.jl @@ -47,11 +47,11 @@ function create_map!( dest="+proj=latlong +datum=WGS84", axis_opts..., ) - lon = first.(centroids) - lat = last.(centroids) - map_buffer = 0.025 - xlims!(spatial, minimum(lon) - map_buffer, maximum(lon) + map_buffer) - ylims!(spatial, minimum(lat) - map_buffer, maximum(lat) + map_buffer) + # lon = first.(centroids) + # lat = last.(centroids) + # map_buffer = 0.025 + # xlims!(spatial, minimum(lon) - map_buffer, maximum(lon) + map_buffer) + # ylims!(spatial, minimum(lat) - map_buffer, maximum(lat) + map_buffer) spatial.xticklabelsize = 14 spatial.yticklabelsize = 14 From f097986f8053a899f56901f1c0c88bad8def554c Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Tue, 16 Jan 2024 07:47:49 +1000 Subject: [PATCH 25/39] Add `colorbar_limits` as input to `spatial` to allow limits to be adjusted So all plots in `viz.decision_matrices` have the same colorbar range. This requires removing `color_range`which was an equivalent variable, previously set to `(0.0,maximum(data))` Add use of colorbar_limits ro `viz.decision_matrices` --- ext/AvizExt/viz/location_selection.jl | 6 ++- ext/AvizExt/viz/spatial.jl | 64 ++++++++++++++------------- 2 files changed, 38 insertions(+), 32 deletions(-) diff --git a/ext/AvizExt/viz/location_selection.jl b/ext/AvizExt/viz/location_selection.jl index f890ba0e1..a9077ca15 100644 --- a/ext/AvizExt/viz/location_selection.jl +++ b/ext/AvizExt/viz/location_selection.jl @@ -178,13 +178,17 @@ function ADRIA.viz.decision_matrices!( if length(rs.site_data.site_id) != size(S, 1) error("Only unfiltered decision matrices can be plotted.") end - n_criteria::Int64 = length(criteria) + opts[:color_map] = get(opts, :color_map, :viridis) + opts[:colorbar_limits] = get(opts, :colorbar_limits, (0.0, 1.0)) + + n_criteria::Int64 = length(criteria) n_rows = n_cols = ceil(Int64, sqrt(n_criteria + 1)) criteria_names = String.(criteria) step::Int64 = 1 s_row = 1 s_col = 1 + for row in 1:n_rows, col in 1:n_cols if step > n_criteria s_row = row diff --git a/ext/AvizExt/viz/spatial.jl b/ext/AvizExt/viz/spatial.jl index 64e0cfaa2..c0d03dca7 100644 --- a/ext/AvizExt/viz/spatial.jl +++ b/ext/AvizExt/viz/spatial.jl @@ -20,6 +20,8 @@ Create a spatial choropleth figure. - `centroids` : Vector{Tuple}, of lon and lats - `show_colorbar` : Whether to show a colorbar (true) or not (false) - `colorbar_label` : Label to use for color bar +- `colorbar_limits` : Upper and lower limits displayed on colorbar, + (default is (minimum(data),maximum(data))) - `color_map` : Type of colormap to use, See: https://docs.makie.org/stable/documentation/colors/#colormaps - `legend_params` : Legend parameters @@ -32,11 +34,12 @@ function create_map!( data::Observable, highlight::Union{Vector, Tuple, Nothing}, centroids::Vector, - show_colorbar::Bool=true, - colorbar_label::String="", - color_map::Union{Symbol, Vector{Symbol}, RGBA{Float32}, Vector{RGBA{Float32}}}=:grayC, - legend_params::Union{Tuple, Nothing}=nothing, - axis_opts::Dict=Dict(), + show_colorbar::Bool = true, + colorbar_label::String = "", + colorbar_limits::Tuple{Float64, Float64} = (0.0, maximum(data)), + color_map::Union{Symbol, Vector{Symbol}, RGBA{Float32}, Vector{RGBA{Float32}}} = :grayC, + legend_params::Union{Tuple, Nothing} = nothing, + axis_opts::Dict = Dict(), ) axis_opts[:title] = get(axis_opts, :title, "Study Area") axis_opts[:xlabel] = get(axis_opts, :xlabel, "Longitude") @@ -44,7 +47,7 @@ function create_map!( spatial = GeoAxis( f[1, 1]; - dest="+proj=latlong +datum=WGS84", + dest = "+proj=latlong +datum=WGS84", axis_opts..., ) # lon = first.(centroids) @@ -58,28 +61,24 @@ function create_map!( spatial.yticklabelpad = 50 spatial.ytickalign = 10 - max_val = @lift(maximum($data)) - # Plot geodata polygons using data as internal color - color_range = (0.0, max_val[]) poly!( spatial, geodata; - color=data, - colormap=color_map, - colorrange=color_range, - strokecolor=(:black, 0.05), - strokewidth=1.0, + color = data, + colormap = color_map, + strokecolor = (:black, 0.05), + strokewidth = 1.0, ) if show_colorbar Colorbar( f[1, 2]; - colorrange=color_range, - colormap=color_map, - label=colorbar_label, - height=Relative(0.65), + colormap = color_map, + label = colorbar_label, + height = Relative(0.65), + limits = colorbar_limits, ) end @@ -91,34 +90,34 @@ function create_map!( poly!( spatial, geodata; - color="transparent", - strokecolor=highlight, - strokewidth=0.5, - linestyle=:solid, - overdraw=true, + color = "transparent", + strokecolor = highlight, + strokewidth = 0.5, + linestyle = :solid, + overdraw = true, ) else hl_groups = unique(highlight) for color in hl_groups m = findall(highlight .== [color]) - subset_feat = FC(; features=geodata[m]) + subset_feat = FC(; features = geodata[m]) poly!( spatial, subset_feat; - color="transparent", - strokecolor=color, - strokewidth=0.5, - linestyle=:solid, - overdraw=true, + color = "transparent", + strokecolor = color, + strokewidth = 0.5, + linestyle = :solid, + overdraw = true, ) end end if !isnothing(legend_params) # Plot Legend only if highlight colors are present - Legend(f[1, 3], legend_params...; framevisible=false) + Legend(f[1, 3], legend_params...; framevisible = false) end end @@ -137,6 +136,8 @@ Plot spatial choropleth of outcomes. - `y` : results of scenario metric - `opts` : Aviz options - `colorbar_label`, label for colorbar. Defaults to "Relative Cover" + -`colorbar_limits`, min and max values to be shown on the colorbar. + Defaults to (0.0,maximum(y)). - `color_map`, preferred colormap for plotting heatmaps - `axis_opts` : Additional options to pass to adjust Axis attributes See: https://docs.makie.org/v0.19/api/index.html#Axis @@ -196,7 +197,7 @@ function ADRIA.viz.map!( legend_params = get(opts, :legend_params, nothing) show_colorbar = get(opts, :show_colorbar, true) color_map = get(opts, :color_map, :grayC) - + colorbar_limits = get(opts, :colorbar_limits, (0.0, maximum(y))) return create_map!( g, geodata, @@ -205,6 +206,7 @@ function ADRIA.viz.map!( ADRIA.centroids(rs), show_colorbar, c_label, + colorbar_limits, color_map, legend_params, axis_opts, From 562bbec68f3c038173b995efb0df84c066da11d5 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Tue, 16 Jan 2024 10:35:38 +1000 Subject: [PATCH 26/39] Fix formatting and documentation in `viz.decision_matrices` --- ext/AvizExt/viz/location_selection.jl | 13 +++++++++---- ext/AvizExt/viz/spatial.jl | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ext/AvizExt/viz/location_selection.jl b/ext/AvizExt/viz/location_selection.jl index a9077ca15..985526756 100644 --- a/ext/AvizExt/viz/location_selection.jl +++ b/ext/AvizExt/viz/location_selection.jl @@ -20,6 +20,8 @@ Plot a spatial map of location selection frequencies. - `opts` : Aviz options - `colorbar_label`, label for colorbar. Defaults to "Relative Cover". - `color_map`, preferred colormap for plotting heatmaps. + - `colorbar_limits` : Upper and lower limits displayed on colorbar, + (default is (0.0, maximum(data))) - `axis_opts` : Additional options to pass to adjust Axis attributes See: https://docs.makie.org/v0.19/api/index.html#Axis - `fig_opts` : Additional options to pass to adjust Figure creation @@ -129,9 +131,10 @@ function ADRIA.viz.ranks_to_frequencies( end """ - ADRIA.viz.decision_matrices(rs::ResultSet, S::NamedDimsArray, criteria::Vector{Symbol}; opts::Dict=Dict(), - axis_opts::Dict=Dict(), fig_opts::Dict=Dict()) - ADRIA.viz.decision_matrices!(g::Union{GridLayout,GridPosition}, rs::ResultSet, S::NamedDimsArray, criteria::Vector{Symbol}; + ADRIA.viz.decision_matrices(rs::ResultSet, S::NamedDimsArray, scores::Vector{Float64}, + criteria::Vector{Symbol}; opts::Dict=Dict(), axis_opts::Dict=Dict(), fig_opts::Dict=Dict()) + ADRIA.viz.decision_matrices!(g::Union{GridLayout,GridPosition}, rs::ResultSet, + S::NamedDimsArray, scores::Vector{Float64}, criteria::Vector{Symbol}; opts::Dict=Dict(), axis_opts::Dict=Dict()) Plot a grid of spatial maps for a selection of location selection criteria. @@ -139,11 +142,13 @@ Plot a grid of spatial maps for a selection of location selection criteria. # Arguments - `g` : Figure GridPosition or GridLayout - `rs` : Result set -- `S` : A decision matrix calculated using decison.decision_matrices +- `S` : A normalised decision matrix calculated using decison.decision_matrices - `criteria` : Names of criteria to be plotted, e.g [:heat_stress, :wave_stress] - `opts` : Aviz options - `colorbar_label`, label for colorbar. Defaults to "Relative Cover". - `color_map`, preferred colormap for plotting heatmaps. + - `colorbar_limits` : Upper and lower limits displayed on colorbar, + (default is (0.0, 1.0)) - `axis_opts` : Additional options to pass to adjust Axis attributes See: https://docs.makie.org/v0.19/api/index.html#Axis - `fig_opts` : Additional options to pass to adjust Figure creation diff --git a/ext/AvizExt/viz/spatial.jl b/ext/AvizExt/viz/spatial.jl index c0d03dca7..3cd67ff78 100644 --- a/ext/AvizExt/viz/spatial.jl +++ b/ext/AvizExt/viz/spatial.jl @@ -21,7 +21,7 @@ Create a spatial choropleth figure. - `show_colorbar` : Whether to show a colorbar (true) or not (false) - `colorbar_label` : Label to use for color bar - `colorbar_limits` : Upper and lower limits displayed on colorbar, - (default is (minimum(data),maximum(data))) + (default is (0.0, maximum(data))) - `color_map` : Type of colormap to use, See: https://docs.makie.org/stable/documentation/colors/#colormaps - `legend_params` : Legend parameters From d251b41257e6abacd45656a7986ab6cee765e5d4 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Tue, 16 Jan 2024 10:37:00 +1000 Subject: [PATCH 27/39] Add criteria plotting example to `analysis.md` --- .../assets/imgs/criteria_spatial_plots.png | Bin 0 -> 326067 bytes docs/src/usage/analysis.md | 35 ++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 docs/src/assets/imgs/criteria_spatial_plots.png diff --git a/docs/src/assets/imgs/criteria_spatial_plots.png b/docs/src/assets/imgs/criteria_spatial_plots.png new file mode 100644 index 0000000000000000000000000000000000000000..3810b730cfbf062c98c21b1cb9cfef01658be3e1 GIT binary patch literal 326067 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

xT7_L1{XH%s}>VZA*@?eQbXLb{ZV=%%U)T1 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

Oif%{yX1>d{&ITZ~9gUR7xAyEI0UBX!)2#ERa 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

t5+nSMux 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 literal 0 HcmV?d00001 diff --git a/docs/src/usage/analysis.md b/docs/src/usage/analysis.md index 286935d8b..4cee7df8b 100644 --- a/docs/src/usage/analysis.md +++ b/docs/src/usage/analysis.md @@ -186,6 +186,41 @@ save("ranks_plot.png", rank_fig) ![Rank frequency plots for multiple ranks](/ADRIA.jl/dev/assets/imgs/ranks_plot.png?raw=true "Rank frequency plot 3 ranks") +## Intervention location selection - plot criteria maps + +```julia + +dom = ADRIA.load_domain("path to domain", "45") +scens = ADRIA.sample_guided(dom, 8) + +mcda_funcs = ADRIA.decision.mcda_methods() + +scens = ADRIA.sample_guided(dom, 2^5) +rs = ADRIA.run_scenarios(dom, scens, "45") + +# Remove any risk filtering +scens[1, ["deployed_coral_risk_tol"]] .= [1.0] + +# Create decision matrices for first scenario +SE, wse, SH, wsh = ADRIA.analysis.decision_matrices(rs, scens[1, :]) + +# Normalize seeding decision matrix and multiply by weightings +S = mcda_normalize(SE) .* mcda_normalize(wse)' + +# Get aggregate matrix criteria score using first MCDA algorithm +scores = mcda_funcs[1](Matrix(S)) + +# Plot maps of specified criteria and aggreagte selection score +fig_criteria = ADRIA.viz.decision_matrices( + rs, S, vec(scores), + [:seed_heat_stress, :seed_wave_stress, :seed_coral_cover_low, :seed_depth], +) +save("criteria_maps.png", fig_criteria) +``` + +![Spatial maps of location selection criteria](/ADRIA.jl/dev/assets/imgs/criteria_spatial_plots.png?raw=true "Spatial maps of location selection criteria") + + ### PAWN sensitivity (heatmap overview) The PAWN sensitivity analysis method is a moment-independent approach to Global Sensitivity From 9d10a4c1aa2aa35ae56aecfc37d36190b1c1fcac Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Thu, 18 Jan 2024 08:37:09 +1000 Subject: [PATCH 28/39] Use `_calc_gridsize` to calculate `n_rows` and `n_cols` Remove `s_row_`s_col` statement as no longer necessary Remove unnecessary catch for the case when one figure is plotted (the least that can be plotted is 2) --- ext/AvizExt/viz/location_selection.jl | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/ext/AvizExt/viz/location_selection.jl b/ext/AvizExt/viz/location_selection.jl index 985526756..7f9bc7bae 100644 --- a/ext/AvizExt/viz/location_selection.jl +++ b/ext/AvizExt/viz/location_selection.jl @@ -188,18 +188,11 @@ function ADRIA.viz.decision_matrices!( opts[:colorbar_limits] = get(opts, :colorbar_limits, (0.0, 1.0)) n_criteria::Int64 = length(criteria) - n_rows = n_cols = ceil(Int64, sqrt(n_criteria + 1)) + n_rows, n_cols = _calc_gridsize(n_criteria + 1) criteria_names = String.(criteria) step::Int64 = 1 - s_row = 1 - s_col = 1 for row in 1:n_rows, col in 1:n_cols - if step > n_criteria - s_row = row - s_col = col - break - end axis_opts_temp = Dict(:title => criteria_names[step]; axis_opts...) ADRIA.viz.map!( g[row, col], @@ -218,17 +211,9 @@ function ADRIA.viz.decision_matrices!( opts=opts, axis_opts=Dict(:title => "Aggregate score"; axis_opts...), ) - try - # Clear empty figures - trim!(g) - catch err - if !(err isa MethodError) - # GridPosition plots a single figure so does - # not need empty figures to be cleared - # If any other error is encountered, something else happened. - rethrow(err) - end - end + + # Clear empty figures + return trim!(g) end """ From 78392d8d74ed6dcd8bb038e23ead7281f533a7a6 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Thu, 18 Jan 2024 08:52:05 +1000 Subject: [PATCH 29/39] Change `criteria_weights` to `criteria_row` for clarity + fix missing variables in doc string --- src/analysis/decision.jl | 42 ++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/analysis/decision.jl b/src/analysis/decision.jl index 67e453039..4822acc08 100644 --- a/src/analysis/decision.jl +++ b/src/analysis/decision.jl @@ -3,25 +3,25 @@ using ADRIA: relative_leftover_space, connectivity_strength, model_spec, criteri component_params """ - decision_matrices(rs::ResultSet, criteria_weights::DataFrameRow; - loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}) + decision_matrices(rs::ResultSet, criteria_row::DataFrameRow; + loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, RCP::String = "45") Calculates a decision matrix for a specified intervention, using a scenario specification and Domain alone. These can be visualised spatially using `viz.decision_matrices`. # Arguments - `rs` : ADRIA ResultSet -- `criteria_weights` : A row of a scenario dataframe, containing intervention criteria weights. -- `int_type` : Intervention type (e.g. :seed or :fog) +- `criteria_row` : A row of a scenario dataframe, containing intervention criteria weights. - `loc_coral_cover` : Relative coral cover to site k area (dims: nspecies*nsites), default is max cover over scenarios in rs. +- `RCP` : RCP scenario to use (waves and dhws), default is "45". # Returns Selection score """ function decision_matrices( rs::ResultSet, - criteria_weights::DataFrameRow; + criteria_row::DataFrameRow; loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, RCP::String = "45", ) @@ -67,19 +67,19 @@ function decision_matrices( rs.site_data.depth_med[site_ids], priority_source_criteria, zones_criteria, - criteria_weights.deployed_coral_risk_tol, + criteria_row.deployed_coral_risk_tol, ) S, wse = ADRIA.decision.create_seed_matrix( A, - criteria_weights.seed_in_connectivity, - criteria_weights.seed_out_connectivity, - criteria_weights.seed_wave_stress, - criteria_weights.seed_heat_stress, - criteria_weights.seed_priority, - criteria_weights.seed_zone, - criteria_weights.seed_coral_cover_low, - criteria_weights.seed_depth; + criteria_row.seed_in_connectivity, + criteria_row.seed_out_connectivity, + criteria_row.seed_wave_stress, + criteria_row.seed_heat_stress, + criteria_row.seed_priority, + criteria_row.seed_zone, + criteria_row.seed_coral_cover_low, + criteria_row.seed_depth; filter_space = -1.0, ) SE = NamedDimsArray( @@ -91,13 +91,13 @@ function decision_matrices( S, wsh = ADRIA.decision.create_fog_matrix( A, site_k_area(rs)[site_ids][filtered_sites], - criteria_weights.fog_in_connectivity, - criteria_weights.fog_out_connectivity, - criteria_weights.fog_wave_stress, - criteria_weights.fog_heat_stress, - criteria_weights.fog_priority, - criteria_weights.fog_zone, - criteria_weights.fog_coral_cover_high, + criteria_row.fog_in_connectivity, + criteria_row.fog_out_connectivity, + criteria_row.fog_wave_stress, + criteria_row.fog_heat_stress, + criteria_row.fog_priority, + criteria_row.fog_zone, + criteria_row.fog_coral_cover_high, ) SH = NamedDimsArray( S[:, 2:end]; From 17b3649d5ca48aa840afb8b9ed5155c8d0f73e3a Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Thu, 18 Jan 2024 09:37:07 +1000 Subject: [PATCH 30/39] Remove unnecessary `vec()` Revert "Remove unnecessary `vec()`" This reverts commit 591daf3319518f84cacc8de97e70fe8cf735a041. Rename `TP_data` `conn_data` and remove unnecessary `vec()` --- src/analysis/decision.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/analysis/decision.jl b/src/analysis/decision.jl index 4822acc08..fdd27c920 100644 --- a/src/analysis/decision.jl +++ b/src/analysis/decision.jl @@ -35,9 +35,9 @@ function decision_matrices( rs.dhw_stats[RCP](; stat = "mean"), (:dhw_scenario) ) - TP_data = rs.connectivity_data[RCP] # connectivity matrix + conn_data = rs.connectivity_data[RCP] # connectivity matrix connectivity_data = connectivity_strength( - TP_data .* site_k_area(rs), vec(loc_coral_cover), TP_data + conn_data .* site_k_area(rs), loc_coral_cover, conn_data ) # Strongest larval source location for each location strong_pred = connectivity_data.strongest_predecessor From 32439085e14504836b41489e3d87d6541767d53a Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Thu, 18 Jan 2024 09:39:17 +1000 Subject: [PATCH 31/39] Update `Union{Float64,Float32} type to `:>Real` --- src/ecosystem/connectivity.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ecosystem/connectivity.jl b/src/ecosystem/connectivity.jl index 991449e15..1c6608562 100644 --- a/src/ecosystem/connectivity.jl +++ b/src/ecosystem/connectivity.jl @@ -162,8 +162,9 @@ function site_connectivity( end """ - connectivity_strength(TP_base::AbstractArray)::NamedTuple - connectivity_strength(area_weighted_TP::AbstractMatrix{Float64}, cover::Vector{Float64}, TP_cache::AbstractMatrix{Float64})::NamedTuple + connectivity_strength(TP_base::AbstractMatrix{<:Real})::NamedTuple + connectivity_strength(area_weighted_TP::AbstractMatrix{Float64},cover::Vector{<:Real}, + TP_cache::AbstractMatrix{<:Real})::NamedTuple Create in/out degree centralities for all nodes, and vector of their strongest predecessors. From 738380ec569d88ab9af58943cfd4835393882613 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Thu, 18 Jan 2024 10:12:14 +1000 Subject: [PATCH 32/39] Revert "Update `Union{Float64,Float32} type to `:>Real`" This reverts commit 8ecbbcda42cdeb16a3a8d899c401240e55f872e0. --- src/ecosystem/connectivity.jl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/ecosystem/connectivity.jl b/src/ecosystem/connectivity.jl index 1c6608562..991449e15 100644 --- a/src/ecosystem/connectivity.jl +++ b/src/ecosystem/connectivity.jl @@ -162,9 +162,8 @@ function site_connectivity( end """ - connectivity_strength(TP_base::AbstractMatrix{<:Real})::NamedTuple - connectivity_strength(area_weighted_TP::AbstractMatrix{Float64},cover::Vector{<:Real}, - TP_cache::AbstractMatrix{<:Real})::NamedTuple + connectivity_strength(TP_base::AbstractArray)::NamedTuple + connectivity_strength(area_weighted_TP::AbstractMatrix{Float64}, cover::Vector{Float64}, TP_cache::AbstractMatrix{Float64})::NamedTuple Create in/out degree centralities for all nodes, and vector of their strongest predecessors. From a19463862fe6997fe81afd92ebd3d23868dc7916 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Mon, 22 Jan 2024 15:58:00 +1000 Subject: [PATCH 33/39] Add `env_aggregation` as optional input for environmental summary function and `mcda_func` for scores calculation Change output to Dict of decision matrices and scores for each intervention --- src/decision/location_selection.jl | 114 +++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) diff --git a/src/decision/location_selection.jl b/src/decision/location_selection.jl index c1ca337bb..1b73ca107 100644 --- a/src/decision/location_selection.jl +++ b/src/decision/location_selection.jl @@ -317,3 +317,117 @@ function selection_score( selection_score = dropdims(sum(lowest_rank .- ranks; dims=dims); dims=dims[1]) return selection_score ./ ((lowest_rank - 1) * prod([size(ranks, d) for d in dims])) end + +""" + decision_matrices(rs::ResultSet, criteria_row::DataFrameRow; + loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, RCP::String = "45") + +Calculates a decision matrix for a specified intervention, using a scenario specification +and Domain alone. These can be visualised spatially using `viz.decision_matrices`. + +# Arguments +- `rs` : ADRIA ResultSet +- `criteria_row` : A row of a scenario dataframe, containing intervention criteria weights. +- `loc_coral_cover` : Relative coral cover to site k area (dims: nspecies*nsites), default +is max cover over scenarios in rs. +- `RCP` : RCP scenario to use (waves and dhws), default is "45". + +# Returns +Selection score +""" +function decision_matrices( + rs::ResultSet, + criteria_row::DataFrameRow; + mcda_func::Function; + loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, + RCP::String = "45", + env_aggregation::Function = summary_stat_env, + site_ids = collect(1:length(rs.site_data.site_id)) + leftover_space = relative_leftover_space(loc_coral_cover) .* site_k_area(rs) + + wave_stress = env_aggregation( + rs.wave_stats[RCP](; stat = "mean"), (:wave_scenario) + ) + heat_stress = env_aggregation( + rs.dhw_stats[RCP](; stat = "mean"), (:dhw_scenario) + ) + + conn_data = rs.connectivity_data[RCP] # connectivity matrix + connectivity_data = connectivity_strength( + conn_data .* site_k_area(rs), loc_coral_cover, conn_data + ) + # Strongest larval source location for each location + strong_pred = connectivity_data.strongest_predecessor + + # Criteria for strongest larval sources to priority locations + priority_source_criteria = ADRIA.decision.priority_predecessor_criteria( + strong_pred, vec(rs.sim_constants["priority_sites"]), length(site_ids) + ) + # Criteria for strongest larval sources to/members of priority zones + zones_criteria = ADRIA.decision.zones_criteria( + vec(rs.sim_constants["priority_zones"]), rs.site_data.zone_type, strong_pred, + site_ids, + ) + + spec = model_spec(rs) + crit = component_params(spec, CriteriaWeights) + weights_seed_crit = criteria_params(crit, "(:seed, :weight)") + weights_fog_crit = criteria_params(crit, "(:fog, :weight)") + + A, filtered_sites = ADRIA.decision.create_decision_matrix( + site_ids, + connectivity_data.in_conn, + connectivity_data.out_conn, + leftover_space[site_ids], + wave_stress[site_ids], + heat_stress[site_ids], + rs.site_data.depth_med[site_ids], + priority_source_criteria, + zones_criteria, + criteria_row.deployed_coral_risk_tol, + ) + + S, wse = ADRIA.decision.create_seed_matrix( + A, + criteria_row.seed_in_connectivity, + criteria_row.seed_out_connectivity, + criteria_row.seed_wave_stress, + criteria_row.seed_heat_stress, + criteria_row.seed_priority, + criteria_row.seed_zone, + criteria_row.seed_coral_cover_low, + criteria_row.seed_depth; + filter_space = -1.0, + ) + SE = NamedDimsArray( + S[:, 2:end]; + locations = rs.site_data.site_id[Int.(S[:, 1])], + criteria = weights_seed_crit.fieldname, + ) + + S, wsh = ADRIA.decision.create_fog_matrix( + A, + site_k_area(rs)[site_ids][filtered_sites], + criteria_row.fog_in_connectivity, + criteria_row.fog_out_connectivity, + criteria_row.fog_wave_stress, + criteria_row.fog_heat_stress, + criteria_row.fog_priority, + criteria_row.fog_zone, + criteria_row.fog_coral_cover_high, + ) + SH = NamedDimsArray( + S[:, 2:end]; + locations = rs.site_data.site_id[Int.(S[:, 1])], + criteria = weights_fog_crit.fieldname, + ) + + # Create decision info struct + decision_dict = Dict( + :seed_matrix => SE, + :seed_scores => vec(mcda_func(Matrix(SE))), + :fog_matrix => SH, + :fog_scores => vec(mcda_func(Matrix(SH))), + ) + return decision_dict +end From 3b80d4bc4e08b8b18ed91c6c19e2e2f91d87a4fd Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Mon, 22 Jan 2024 15:59:37 +1000 Subject: [PATCH 34/39] Remove `ADRIA.decision` from matrix creation and criteria definition functions as no longer needed inside decision module --- src/decision/location_selection.jl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/decision/location_selection.jl b/src/decision/location_selection.jl index 1b73ca107..98754d17c 100644 --- a/src/decision/location_selection.jl +++ b/src/decision/location_selection.jl @@ -360,11 +360,11 @@ function decision_matrices( strong_pred = connectivity_data.strongest_predecessor # Criteria for strongest larval sources to priority locations - priority_source_criteria = ADRIA.decision.priority_predecessor_criteria( + priority_source_criteria = priority_predecessor_criteria( strong_pred, vec(rs.sim_constants["priority_sites"]), length(site_ids) ) # Criteria for strongest larval sources to/members of priority zones - zones_criteria = ADRIA.decision.zones_criteria( + priority_zones_criteria = zones_criteria( vec(rs.sim_constants["priority_zones"]), rs.site_data.zone_type, strong_pred, site_ids, ) @@ -374,7 +374,7 @@ function decision_matrices( weights_seed_crit = criteria_params(crit, "(:seed, :weight)") weights_fog_crit = criteria_params(crit, "(:fog, :weight)") - A, filtered_sites = ADRIA.decision.create_decision_matrix( + A, filtered_sites = create_decision_matrix( site_ids, connectivity_data.in_conn, connectivity_data.out_conn, @@ -387,7 +387,7 @@ function decision_matrices( criteria_row.deployed_coral_risk_tol, ) - S, wse = ADRIA.decision.create_seed_matrix( + S, wse = create_seed_matrix( A, criteria_row.seed_in_connectivity, criteria_row.seed_out_connectivity, @@ -405,7 +405,8 @@ function decision_matrices( criteria = weights_seed_crit.fieldname, ) - S, wsh = ADRIA.decision.create_fog_matrix( + # Only add entries for locations which were not filtered (the filtered locations will have zeros) + S, wsh = create_fog_matrix( A, site_k_area(rs)[site_ids][filtered_sites], criteria_row.fog_in_connectivity, From 8e18159d1feefe64a2192f295e108faa3b7a7eb8 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Mon, 22 Jan 2024 16:04:27 +1000 Subject: [PATCH 35/39] Add `CriteriaWeights` to imports and format Move `decision_matrices` to `decision` module Move `decision_matrices` into decision module Move around file compilation order to allow this in `ADRIA.jl` --- ext/AvizExt/viz/location_selection.jl | 86 -------------------- src/ADRIA.jl | 12 +-- src/analysis/analysis.jl | 1 - src/analysis/decision.jl | 109 -------------------------- src/decision/dMCDA.jl | 39 +++++---- src/decision/location_selection.jl | 32 +++++--- 6 files changed, 53 insertions(+), 226 deletions(-) delete mode 100644 src/analysis/decision.jl diff --git a/ext/AvizExt/viz/location_selection.jl b/ext/AvizExt/viz/location_selection.jl index 7f9bc7bae..554bb3fb1 100644 --- a/ext/AvizExt/viz/location_selection.jl +++ b/ext/AvizExt/viz/location_selection.jl @@ -130,92 +130,6 @@ function ADRIA.viz.ranks_to_frequencies( return f end -""" - ADRIA.viz.decision_matrices(rs::ResultSet, S::NamedDimsArray, scores::Vector{Float64}, - criteria::Vector{Symbol}; opts::Dict=Dict(), axis_opts::Dict=Dict(), fig_opts::Dict=Dict()) - ADRIA.viz.decision_matrices!(g::Union{GridLayout,GridPosition}, rs::ResultSet, - S::NamedDimsArray, scores::Vector{Float64}, criteria::Vector{Symbol}; - opts::Dict=Dict(), axis_opts::Dict=Dict()) - -Plot a grid of spatial maps for a selection of location selection criteria. - -# Arguments -- `g` : Figure GridPosition or GridLayout -- `rs` : Result set -- `S` : A normalised decision matrix calculated using decison.decision_matrices -- `criteria` : Names of criteria to be plotted, e.g [:heat_stress, :wave_stress] -- `opts` : Aviz options - - `colorbar_label`, label for colorbar. Defaults to "Relative Cover". - - `color_map`, preferred colormap for plotting heatmaps. - - `colorbar_limits` : Upper and lower limits displayed on colorbar, - (default is (0.0, 1.0)) -- `axis_opts` : Additional options to pass to adjust Axis attributes - See: https://docs.makie.org/v0.19/api/index.html#Axis -- `fig_opts` : Additional options to pass to adjust Figure creation - See: https://docs.makie.org/v0.19/api/index.html#Figure - -# Returns -Figure -""" -function ADRIA.viz.decision_matrices( - rs::ResultSet, - S::NamedDimsArray, - scores::Vector{Float64}, - criteria::Vector{Symbol}; - opts::Dict=Dict(), - axis_opts::Dict=Dict(), - fig_opts::Dict=Dict(), -) - f = Figure(; fig_opts...) - g = f[1, 1] = GridLayout() - ADRIA.viz.decision_matrices!(g, rs, S, scores, criteria; opts=opts, axis_opts=axis_opts) - return f -end -function ADRIA.viz.decision_matrices!( - g::Union{GridLayout,GridPosition}, - rs::ResultSet, - S::NamedDimsArray, - scores::Vector{Float64}, - criteria::Vector{Symbol}; - opts::Dict=Dict(), - axis_opts::Dict=Dict(), -) - if length(rs.site_data.site_id) != size(S, 1) - error("Only unfiltered decision matrices can be plotted.") - end - - opts[:color_map] = get(opts, :color_map, :viridis) - opts[:colorbar_limits] = get(opts, :colorbar_limits, (0.0, 1.0)) - - n_criteria::Int64 = length(criteria) - n_rows, n_cols = _calc_gridsize(n_criteria + 1) - criteria_names = String.(criteria) - step::Int64 = 1 - - for row in 1:n_rows, col in 1:n_cols - axis_opts_temp = Dict(:title => criteria_names[step]; axis_opts...) - ADRIA.viz.map!( - g[row, col], - rs, - vec(S(criteria[step])); - opts=opts, - axis_opts=axis_opts_temp, - ) - - step += 1 - end - ADRIA.viz.map!( - g[s_row, s_col], - rs, - vec(scores); - opts=opts, - axis_opts=Dict(:title => "Aggregate score"; axis_opts...), - ) - - # Clear empty figures - return trim!(g) -end - """ _default_colormap(rank_groups::Dict{Symbol,BitVector}, alpha_vals::Dict{Symbol,Float64}) diff --git a/src/ADRIA.jl b/src/ADRIA.jl index a2bdeff3e..a5e1c9ec6 100644 --- a/src/ADRIA.jl +++ b/src/ADRIA.jl @@ -63,11 +63,6 @@ include("decision/CriteriaWeights.jl") include("Domain.jl") include("io/inputs.jl") -# Note: The decision module is imported after CriteriaWeights as CriteriaWeights is needed in -# Domain.jl but Domain.jl is needed in dMCDA.jl. A restructure is needed so that Domain.jl is -# not required in dMCDA.jl. -include("decision/dMCDA.jl") - include("interventions/Interventions.jl") include("interventions/seeding.jl") include("interventions/fogging.jl") @@ -75,6 +70,13 @@ include("interventions/fogging.jl") include("io/ResultSet.jl") include("io/result_io.jl") include("io/result_post_processing.jl") + +# Note: The decision module is imported after CriteriaWeights as CriteriaWeights is needed in +# Domain.jl but Domain.jl is needed in dMCDA.jl. A restructure is needed so that Domain.jl is +# not required in dMCDA.jl. It is also imported after ResultSet as ResultSet is needed in +# `decision_matrices`, but the decision module is also needed in sampling. +include("decision/dMCDA.jl") + include("io/sampling.jl") include("metrics/metrics.jl") include("metrics/performance.jl") diff --git a/src/analysis/analysis.jl b/src/analysis/analysis.jl index ea5ca552e..7d3980d4e 100644 --- a/src/analysis/analysis.jl +++ b/src/analysis/analysis.jl @@ -111,6 +111,5 @@ include("intervention.jl") include("clustering.jl") include("rule_extraction.jl") include("scenario.jl") -include("decision.jl") end diff --git a/src/analysis/decision.jl b/src/analysis/decision.jl deleted file mode 100644 index fdd27c920..000000000 --- a/src/analysis/decision.jl +++ /dev/null @@ -1,109 +0,0 @@ -using ADRIA.decision -using ADRIA: relative_leftover_space, connectivity_strength, model_spec, criteria_params, - component_params - -""" - decision_matrices(rs::ResultSet, criteria_row::DataFrameRow; - loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, RCP::String = "45") - -Calculates a decision matrix for a specified intervention, using a scenario specification - and Domain alone. These can be visualised spatially using `viz.decision_matrices`. - -# Arguments -- `rs` : ADRIA ResultSet -- `criteria_row` : A row of a scenario dataframe, containing intervention criteria weights. -- `loc_coral_cover` : Relative coral cover to site k area (dims: nspecies*nsites), default -is max cover over scenarios in rs. -- `RCP` : RCP scenario to use (waves and dhws), default is "45". - -# Returns -Selection score -""" -function decision_matrices( - rs::ResultSet, - criteria_row::DataFrameRow; - loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, - RCP::String = "45", -) - site_ids = collect(1:length(rs.site_data.site_id)) - leftover_space = relative_leftover_space(loc_coral_cover) .* site_k_area(rs) - - wave_stress = ADRIA.decision.summary_stat_env( - rs.wave_stats[RCP](; stat = "mean"), (:wave_scenario) - ) - heat_stress = ADRIA.decision.summary_stat_env( - rs.dhw_stats[RCP](; stat = "mean"), (:dhw_scenario) - ) - - conn_data = rs.connectivity_data[RCP] # connectivity matrix - connectivity_data = connectivity_strength( - conn_data .* site_k_area(rs), loc_coral_cover, conn_data - ) - # Strongest larval source location for each location - strong_pred = connectivity_data.strongest_predecessor - - # Criteria for strongest larval sources to priority locations - priority_source_criteria = ADRIA.decision.priority_predecessor_criteria( - strong_pred, vec(rs.sim_constants["priority_sites"]), length(site_ids) - ) - # Criteria for strongest larval sources to/members of priority zones - zones_criteria = ADRIA.decision.zones_criteria( - vec(rs.sim_constants["priority_zones"]), rs.site_data.zone_type, strong_pred, - site_ids, - ) - - spec = model_spec(rs) - crit = component_params(spec, CriteriaWeights) - weights_seed_crit = criteria_params(crit, "(:seed, :weight)") - weights_fog_crit = criteria_params(crit, "(:fog, :weight)") - - A, filtered_sites = ADRIA.decision.create_decision_matrix( - site_ids, - connectivity_data.in_conn, - connectivity_data.out_conn, - leftover_space[site_ids], - wave_stress[site_ids], - heat_stress[site_ids], - rs.site_data.depth_med[site_ids], - priority_source_criteria, - zones_criteria, - criteria_row.deployed_coral_risk_tol, - ) - - S, wse = ADRIA.decision.create_seed_matrix( - A, - criteria_row.seed_in_connectivity, - criteria_row.seed_out_connectivity, - criteria_row.seed_wave_stress, - criteria_row.seed_heat_stress, - criteria_row.seed_priority, - criteria_row.seed_zone, - criteria_row.seed_coral_cover_low, - criteria_row.seed_depth; - filter_space = -1.0, - ) - SE = NamedDimsArray( - S[:, 2:end]; - locations = rs.site_data.site_id[Int.(S[:, 1])], - criteria = weights_seed_crit.fieldname, - ) - - S, wsh = ADRIA.decision.create_fog_matrix( - A, - site_k_area(rs)[site_ids][filtered_sites], - criteria_row.fog_in_connectivity, - criteria_row.fog_out_connectivity, - criteria_row.fog_wave_stress, - criteria_row.fog_heat_stress, - criteria_row.fog_priority, - criteria_row.fog_zone, - criteria_row.fog_coral_cover_high, - ) - SH = NamedDimsArray( - S[:, 2:end]; - locations = rs.site_data.site_id[Int.(S[:, 1])], - criteria = weights_fog_crit.fieldname, - ) - - return SE, wse, SH, wsh -end diff --git a/src/decision/dMCDA.jl b/src/decision/dMCDA.jl index 4bd31ade4..07478be21 100644 --- a/src/decision/dMCDA.jl +++ b/src/decision/dMCDA.jl @@ -207,7 +207,17 @@ function mcda_normalize(x::DataFrame)::DataFrame end """ - align_rankings!(rankings::Array, s_order::Matrix, col::Int64)::Nothing + _filter_preferred(x::Union{Matrix,NamedDimsArray}) + +Filter all criteria which are zero for all sites from the decision matrix x. +""" +function _filter_preferred(x::Union{Matrix, NamedDimsArray})::BitVector + # weights in order of: in_conn, out_conn, wave, heat, predecessors, low cover + return vec(.!all(x .== 0; dims = 1)) +end + +""" + align_rankings!(rankings::Array, s_order::Matrix, col::Int64)::Nothing Align a vector of site rankings to match the indicated order in `s_order`. """ @@ -235,20 +245,17 @@ end Sites in order of their rankings """ function rank_sites!( - S::Matrix{Float64}, - weights::Vector{Float64}, - rankings::Matrix{Int64}, - n_site_int::Int64, - mcda_func::Union{Function, Type{<:MCDMMethod}}, - rank_col)::Tuple{Vector{Int64}, Matrix{Union{Float64, Int64}}} - # Filter out all non-preferred sites - selector = vec(.!all(S[:, 2:end] .== 0; dims = 1)) - - # weights in order of: in_conn, out_conn, wave, heat, predecessors, low cover - weights = weights[selector] - S = S[:, Bool[1, selector...]] - - s_order = retrieve_ranks(S[:, 2:end], S[:, 1], weights, mcda_func) + S::Matrix{Float64}, + weights::Vector{Float64}, + rankings::Matrix{Int64}, + n_site_int::Int64, + mcda_func::Union{Function, Type{<:MCDMMethod}}, + rank_col)::Tuple{Vector{Int64}, Matrix{Union{Float64, Int64}}} + # Filter out all non-preferred sites + selector = _filter_preferred(S) + S = S[:, selector] + weights = weights[selector[2:end]] + s_order = retrieve_ranks(S[:, 2:end], S[:, 1], weights, mcda_func) last_idx = min(n_site_int, size(s_order, 1)) prefsites = Int64.(s_order[1:last_idx, 1]) @@ -441,7 +448,7 @@ function create_seed_matrix( wt_predec_zones_seed::T, wt_low_cover::T, wt_depth_seed::T; - filter_space::T=0.0 + filter_space::T = 0.0, )::Tuple{Matrix{Float64}, Vector{Float64}} where {T <: Float64} # Define seeding decision matrix, based on copy of A SE = copy(A) diff --git a/src/decision/location_selection.jl b/src/decision/location_selection.jl index 98754d17c..e8176aacb 100644 --- a/src/decision/location_selection.jl +++ b/src/decision/location_selection.jl @@ -1,6 +1,9 @@ using NamedDims, AxisKeys -using ADRIA: connectivity_strength, relative_leftover_space, site_k_area +using ADRIA: ResultSet, CriteriaWeights, connectivity_strength, relative_leftover_space, + site_k_area, + model_spec, criteria_params, + component_params """ _location_selection(domain::Domain, sum_cover::AbstractArray, mcda_vars::DMCDA_vars, guided::Int64)::Matrix @@ -337,12 +340,15 @@ Selection score """ function decision_matrices( rs::ResultSet, - criteria_row::DataFrameRow; + criteria_row::DataFrameRow, mcda_func::Function; loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, RCP::String = "45", env_aggregation::Function = summary_stat_env, +)::Dict site_ids = collect(1:length(rs.site_data.site_id)) + site_names = rs.site_data.site_id + n_locs = length(site_ids) leftover_space = relative_leftover_space(loc_coral_cover) .* site_k_area(rs) wave_stress = env_aggregation( @@ -383,7 +389,7 @@ function decision_matrices( heat_stress[site_ids], rs.site_data.depth_med[site_ids], priority_source_criteria, - zones_criteria, + priority_zones_criteria, criteria_row.deployed_coral_risk_tol, ) @@ -399,13 +405,18 @@ function decision_matrices( criteria_row.seed_depth; filter_space = -1.0, ) + # Remove any criteria which are zeros for all sites + selector = _filter_preferred(S) SE = NamedDimsArray( - S[:, 2:end]; - locations = rs.site_data.site_id[Int.(S[:, 1])], - criteria = weights_seed_crit.fieldname, + zeros(n_locs, length(wse[selector[2:end]])); + locations = site_names, + criteria = weights_seed_crit.fieldname[selector[2:end]], ) # Only add entries for locations which were not filtered (the filtered locations will have zeros) + SE(site_names[Int.(S[:, 1])]) .= + mcda_normalize(wse[selector[2:end]])' .* mcda_normalize(S[:, selector][:, 2:end]) + S, wsh = create_fog_matrix( A, site_k_area(rs)[site_ids][filtered_sites], @@ -417,11 +428,14 @@ function decision_matrices( criteria_row.fog_zone, criteria_row.fog_coral_cover_high, ) + selector = _filter_preferred(S) SH = NamedDimsArray( - S[:, 2:end]; - locations = rs.site_data.site_id[Int.(S[:, 1])], - criteria = weights_fog_crit.fieldname, + zeros(n_locs, length(wsh[selector[2:end]])); + locations = site_names, + criteria = weights_fog_crit.fieldname[selector[2:end]], ) + SH(site_names[Int.(S[:, 1])]) .= + mcda_normalize(wsh[selector[2:end]])' .* mcda_normalize(S[:, selector][:, 2:end]) # Create decision info struct decision_dict = Dict( From e3c624bc26f82bbc2ae99ea6c24a60e33d5b0c7e Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Mon, 22 Jan 2024 16:06:38 +1000 Subject: [PATCH 36/39] Move `viz.decision_matrices` into `spatial.jl` and make it another instance of `map` --- ext/AvizExt/viz/spatial.jl | 70 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 3 deletions(-) diff --git a/ext/AvizExt/viz/spatial.jl b/ext/AvizExt/viz/spatial.jl index 3cd67ff78..aabd9fa16 100644 --- a/ext/AvizExt/viz/spatial.jl +++ b/ext/AvizExt/viz/spatial.jl @@ -125,15 +125,28 @@ function create_map!( end """ - ADRIA.viz.map(rs::Union{Domain,ResultSet}; opts=Dict(by_RCP => false), fig_opts=Dict(), axis_opts=Dict(), series_opts=Dict()) - ADRIA.viz.map(rs::ResultSet, y::NamedDimsArray; opts=Dict(by_RCP => false), fig_opts=Dict(), axis_opts=Dict(), series_opts=Dict()) - ADRIA.viz.map!(f::Union{GridLayout,GridPosition}, rs::ADRIA.ResultSet, y::NamedDimsArray; opts=Dict(by_RCP => false), axis_opts=Dict(), series_opts=Dict()) + ADRIA.viz.map(rs::Union{Domain,ResultSet}; opts=Dict(by_RCP => false), fig_opts=Dict(), + axis_opts=Dict(), series_opts=Dict()) + ADRIA.viz.map(rs::ResultSet, y::NamedDimsArray; opts=Dict(by_RCP => false), fig_opts=Dict(), + axis_opts=Dict(), series_opts=Dict()) + ADRIA.viz.map(rs::ResultSet, S::NamedDimsArray, scores::Vector{Float64}; + criteria::Vector{Symbol} = S.criteria, opts::Dict = Dict(), axis_opts::Dict = Dict(), + fig_opts::Dict = Dict()) + ADRIA.viz.map!(f::Union{GridLayout,GridPosition}, rs::ADRIA.ResultSet, y::NamedDimsArray; + opts=Dict(by_RCP => false), axis_opts=Dict(), series_opts=Dict()) + ADRIA.viz.map!(g::Union{GridLayout,GridPosition},rs::ResultSet, S::NamedDimsArray, + scores::Vector{Float64}; criteria::Vector{Symbol} = S.criteria, opts::Dict = Dict(), + axis_opts::Dict = Dict(), fig_opts::Dict = Dict()) Plot spatial choropleth of outcomes. # Arguments - `rs` : ResultSet - `y` : results of scenario metric +- `S` : A normalised decision matrix calculated using decison.decision_matrices +- `scores` : Aggregated criteria scores. +- `criteria` : Names of criteria to be plotted, if not specified all criteria in + S will be plotted. - `opts` : Aviz options - `colorbar_label`, label for colorbar. Defaults to "Relative Cover" -`colorbar_limits`, min and max values to be shown on the colorbar. @@ -212,6 +225,57 @@ function ADRIA.viz.map!( axis_opts, ) end +function ADRIA.viz.map( + rs::ResultSet, + S::NamedDimsArray, + scores::Vector{Float64}; + criteria::Vector{Symbol} = S.criteria, + opts::Dict = Dict(), + axis_opts::Dict = Dict(), + fig_opts::Dict = Dict(), +) + f = Figure(; fig_opts...) + g = f[1, 1] = GridLayout() + ADRIA.viz.map!( + g, rs, S, scores; criteria = criteria, opts = opts, axis_opts = axis_opts + ) + return f +end +function ADRIA.viz.map!( + g::Union{GridLayout, GridPosition}, + rs::ResultSet, + S::NamedDimsArray, + scores::Vector{Float64}; + opts::Dict = Dict(), + axis_opts::Dict = Dict(), +) + if length(rs.site_data.site_id) != size(S, 1) + error("Only unfiltered decision matrices can be plotted.") + end + + opts[:color_map] = get(opts, :color_map, :viridis) + opts[:colorbar_limits] = get(opts, :colorbar_limits, (0.0, 1.0)) + + n_criteria::Int64 = length(criteria) + n_rows, n_cols = _calc_gridsize(n_criteria + 1) + step::Int64 = 1 + + for row in 1:n_rows, col in 1:n_cols + axis_opts_temp = Dict(:title => criteria_names[step]; axis_opts...) + ADRIA.viz.map!( + g[row, col], + rs, + vec(S(criteria[step])); + opts = opts, + axis_opts = axis_opts_temp + ) + + step += 1 + end + + # Clear empty figures + return trim!(g) +end """ make_geojson_copy(ds::Union{ResultSet,Domain})::String From 92070944ddf18fe5776be0d636e164222b7e9435 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Mon, 22 Jan 2024 16:08:09 +1000 Subject: [PATCH 37/39] Fix how scores are plotted (should be inside loop), add use of human readable criteria names for labels Plus add criteria names as optional inputs so less than total set of criteria can be plotted --- ext/AvizExt/viz/spatial.jl | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ext/AvizExt/viz/spatial.jl b/ext/AvizExt/viz/spatial.jl index aabd9fa16..1b0feb0cd 100644 --- a/ext/AvizExt/viz/spatial.jl +++ b/ext/AvizExt/viz/spatial.jl @@ -246,6 +246,7 @@ function ADRIA.viz.map!( rs::ResultSet, S::NamedDimsArray, scores::Vector{Float64}; + criteria::Vector{Symbol} = S.criteria, opts::Dict = Dict(), axis_opts::Dict = Dict(), ) @@ -256,11 +257,29 @@ function ADRIA.viz.map!( opts[:color_map] = get(opts, :color_map, :viridis) opts[:colorbar_limits] = get(opts, :colorbar_limits, (0.0, 1.0)) + m_spec = model_spec(rs) + criteria_names::Vector{String} = m_spec[ + dropdims( + any( + reshape(criteria, 1, length(criteria)) .== m_spec[:, "fieldname"]; dims = 2 + ); + dims = 2, + ), "name"] n_criteria::Int64 = length(criteria) n_rows, n_cols = _calc_gridsize(n_criteria + 1) step::Int64 = 1 for row in 1:n_rows, col in 1:n_cols + if step > length(criteria_names) + ADRIA.viz.map!( + g[row, col], + rs, + vec(scores); + opts = opts, + axis_opts = Dict(:title => "Aggregate criteria score"; axis_opts...), + ) + break + end axis_opts_temp = Dict(:title => criteria_names[step]; axis_opts...) ADRIA.viz.map!( g[row, col], From 1af510db872b4c1326c5dbc72fbcc9fa7b5efae3 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Mon, 22 Jan 2024 16:18:59 +1000 Subject: [PATCH 38/39] Update criteria map plotting method in docs + update example fig --- .../assets/imgs/criteria_spatial_plots.png | Bin 326067 -> 339667 bytes docs/src/usage/analysis.md | 18 ++++++------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/docs/src/assets/imgs/criteria_spatial_plots.png b/docs/src/assets/imgs/criteria_spatial_plots.png index 3810b730cfbf062c98c21b1cb9cfef01658be3e1..bc3f8c6ed6b6e70c4114ce0488810810103ede27 100644 GIT binary patch literal 339667 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≪iaQD*$uvA$NQwQtI%q)hdu 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�fr^Pp#- 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⁡AZ-B=HhS@vp(lrPno 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%0A_aM1Rv$=ASPy|kYv;j9l4HrIBv9EnznnQTX4 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 literal 326067 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

xT7_L1{XH%s}>VZA*@?eQbXLb{ZV=%%U)T1 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

Oif%{yX1>d{&ITZ~9gUR7xAyEI0UBX!)2#ERa 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

t5+nSMux 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 diff --git a/docs/src/usage/analysis.md b/docs/src/usage/analysis.md index 4cee7df8b..cab9c9a10 100644 --- a/docs/src/usage/analysis.md +++ b/docs/src/usage/analysis.md @@ -201,19 +201,13 @@ rs = ADRIA.run_scenarios(dom, scens, "45") # Remove any risk filtering scens[1, ["deployed_coral_risk_tol"]] .= [1.0] -# Create decision matrices for first scenario -SE, wse, SH, wsh = ADRIA.analysis.decision_matrices(rs, scens[1, :]) +# Create decision matrices for first scenario, get aggregate score using the +# first MCDA method +decision_dict = ADRIA.decision.decision_matrices(rs, scens[1, :], mcda_funcs[1]) -# Normalize seeding decision matrix and multiply by weightings -S = mcda_normalize(SE) .* mcda_normalize(wse)' - -# Get aggregate matrix criteria score using first MCDA algorithm -scores = mcda_funcs[1](Matrix(S)) - -# Plot maps of specified criteria and aggreagte selection score -fig_criteria = ADRIA.viz.decision_matrices( - rs, S, vec(scores), - [:seed_heat_stress, :seed_wave_stress, :seed_coral_cover_low, :seed_depth], +# Plot maps of seeding criteria and aggreagte selection score +fig_criteria = hs = ADRIA.viz.map( + rs, decision_dict[:seed_matrix], decision_dict[:seed_scores] ) save("criteria_maps.png", fig_criteria) ``` From 353032c541b0358c92a830c7e726fe0e7d969312 Mon Sep 17 00:00:00 2001 From: Rose Crocker Date: Wed, 24 Jan 2024 11:52:51 +1000 Subject: [PATCH 39/39] Formatting and fix inconsistencies in rebase --- ext/AvizExt/viz/location_selection.jl | 9 +- ext/AvizExt/viz/scenarios.jl | 45 +- ext/AvizExt/viz/spatial.jl | 83 +- src/ADRIA.jl | 172 +++- src/analysis/analysis.jl | 92 +-- src/analysis/scenario.jl | 8 +- src/decision/CriteriaWeights.jl | 105 +-- src/decision/dMCDA.jl | 1050 +++++++++++++------------ src/decision/location_selection.jl | 424 +++++----- src/ecosystem/connectivity.jl | 342 ++++---- src/io/ResultSet.jl | 18 +- src/io/result_io.jl | 326 ++++---- src/viz/viz.jl | 2 - 13 files changed, 1418 insertions(+), 1258 deletions(-) diff --git a/ext/AvizExt/viz/location_selection.jl b/ext/AvizExt/viz/location_selection.jl index 554bb3fb1..b3207e573 100644 --- a/ext/AvizExt/viz/location_selection.jl +++ b/ext/AvizExt/viz/location_selection.jl @@ -31,7 +31,7 @@ Plot a spatial map of location selection frequencies. Figure """ function ADRIA.viz.ranks_to_frequencies!( - g::Union{GridLayout,GridPosition}, + g::Union{GridLayout, GridPosition}, rs::ResultSet, frequencies::NamedDimsArray, rank_ids::Vector{Int64}; @@ -88,7 +88,7 @@ function ADRIA.viz.ranks_to_frequencies!( return g end function ADRIA.viz.ranks_to_frequencies!( - g::Union{GridLayout,GridPosition}, + g::Union{GridLayout, GridPosition}, rs::ResultSet, frequencies::NamedDimsArray, rank_id::Int64; @@ -112,10 +112,9 @@ end function ADRIA.viz.ranks_to_frequencies( rs::ResultSet, frequencies::NamedDimsArray, - rank_ids::Union{Int64,Vector{Int64}}; + rank_ids::Union{Int64, Vector{Int64}}; opts::Dict=Dict(), fig_opts::Dict=Dict(), axis_opts::Dict=Dict()) - f = Figure(; fig_opts...) g = f[1, 1] = GridLayout() ADRIA.viz.ranks_to_frequencies!( @@ -143,7 +142,7 @@ Retrieve set of colormaps for plotting overlayed colormaps. Maps for each key in rank_groups to a unique colormap. """ function _default_colormap( - rank_groups::Dict{Symbol,BitVector}, alpha_vals::Dict{Symbol,Float64} + rank_groups::Dict{Symbol, BitVector}, alpha_vals::Dict{Symbol, Float64} ) rank_colors = colors(rank_groups, alpha_vals) rank_ids = keys(rank_groups) diff --git a/ext/AvizExt/viz/scenarios.jl b/ext/AvizExt/viz/scenarios.jl index 347a92c95..96934cebf 100644 --- a/ext/AvizExt/viz/scenarios.jl +++ b/ext/AvizExt/viz/scenarios.jl @@ -56,13 +56,13 @@ function ADRIA.viz.scenarios( ) end function ADRIA.viz.scenarios!( - g::Union{GridLayout,GridPosition}, + g::Union{GridLayout, GridPosition}, rs::ResultSet, outcomes::NamedDimsArray; opts::Dict=Dict(:by_RCP => false), axis_opts::Dict=Dict(), series_opts::Dict=Dict(), -)::Union{GridLayout,GridPosition} +)::Union{GridLayout, GridPosition} opts[:histogram] = get(opts, :histogram, false) return ADRIA.viz.scenarios!( @@ -91,13 +91,13 @@ function ADRIA.viz.scenarios( return f end function ADRIA.viz.scenarios!( - g::Union{GridLayout,GridPosition}, + g::Union{GridLayout, GridPosition}, scenarios::DataFrame, outcomes::NamedDimsArray; opts::Dict=Dict(), axis_opts::Dict=Dict(), series_opts::Dict=Dict(), -)::Union{GridLayout,GridPosition} +)::Union{GridLayout, GridPosition} # Ensure last year is always shown in x-axis xtick_vals = get(axis_opts, :xticks, _time_labels(timesteps(outcomes))) xtick_rot = get(axis_opts, :xticklabelrotation, 2 / π) @@ -121,14 +121,14 @@ function ADRIA.viz.scenarios!( ) end function ADRIA.viz.scenarios!( - g::Union{GridLayout,GridPosition}, + g::Union{GridLayout, GridPosition}, ax::Axis, outcomes::NamedDimsArray, - scen_groups::Dict{Symbol,BitVector}; + scen_groups::Dict{Symbol, BitVector}; opts::Dict=Dict(), axis_opts::Dict=Dict(), series_opts::Dict=Dict(), -)::Union{GridLayout,GridPosition} +)::Union{GridLayout, GridPosition} if get(opts, :summarize, true) scenarios_confint!(ax, outcomes, scen_groups) else @@ -149,7 +149,7 @@ function ADRIA.viz.scenarios!( end function _confints( - outcomes::NamedDimsArray, scen_groups::Dict{Symbol,BitVector} + outcomes::NamedDimsArray, scen_groups::Dict{Symbol, BitVector} )::Array{Float64} groups::Vector{Symbol} = _sort_keys(scen_groups, outcomes) n_timesteps::Int64 = size(outcomes, 1) @@ -171,10 +171,9 @@ function scenarios_confint!( ax::Axis, confints::AbstractArray, ordered_groups::Vector{Symbol}, - _colors::Dict{Symbol,Union{Symbol,RGBA{Float32}}}; - x_vals::Union{Vector{Int64},Vector{Float64}}=collect(1:size(confints, 1)), + _colors::Dict{Symbol, Union{Symbol, RGBA{Float32}}}; + x_vals::Union{Vector{Int64}, Vector{Float64}}=collect(1:size(confints, 1)), )::Nothing - for idx in eachindex(ordered_groups) band_color = (_colors[ordered_groups[idx]], 0.4) y_lower, y_upper = confints[:, idx, 1], confints[:, idx, 3] @@ -187,9 +186,9 @@ function scenarios_confint!( return nothing end function scenarios_confint!( - ax::Axis, outcomes::NamedDimsArray, scen_groups::Dict{Symbol,BitVector} + ax::Axis, outcomes::NamedDimsArray, scen_groups::Dict{Symbol, BitVector} )::Nothing - _colors::Dict{Symbol,Union{Symbol,RGBA{Float32}}} = colors(scen_groups) + _colors::Dict{Symbol, Union{Symbol, RGBA{Float32}}} = colors(scen_groups) ordered_groups = _sort_keys(scen_groups, outcomes) confints = _confints(outcomes, scen_groups) return scenarios_confint!( @@ -204,13 +203,13 @@ end function scenarios_series!( ax::Axis, outcomes::NamedDimsArray, - scen_groups::Dict{Symbol,BitVector}; + scen_groups::Dict{Symbol, BitVector}; series_opts::Dict=Dict(), - x_vals::Union{Vector{Int64},Vector{Float64}}=collect(1:size(outcomes, 1)), + x_vals::Union{Vector{Int64}, Vector{Float64}}=collect(1:size(outcomes, 1)), sort_by=:size, )::Nothing - _colors::Dict{Symbol,Union{Symbol,RGBA{Float32}}} = colors(scen_groups) - _alphas::Dict{Symbol,Float64} = alphas(scen_groups) + _colors::Dict{Symbol, Union{Symbol, RGBA{Float32}}} = colors(scen_groups) + _alphas::Dict{Symbol, Float64} = alphas(scen_groups) for group in _sort_keys(scen_groups, outcomes; by=sort_by) color = (_colors[group], _alphas[group]) @@ -222,9 +221,9 @@ function scenarios_series!( end function scenarios_hist( - g::Union{GridLayout,GridPosition}, + g::Union{GridLayout, GridPosition}, outcomes::NamedDimsArray, - scen_groups::Dict{<:Any,BitVector}, + scen_groups::Dict{<:Any, BitVector}, )::Nothing scen_dist = dropdims(mean(outcomes; dims=:timesteps); dims=:timesteps) ax_hist = Axis(g[1, 2]; width=100) @@ -248,9 +247,9 @@ function scenarios_hist( end function _render_legend( - g::Union{GridLayout,GridPosition}, - scen_groups::Dict{<:Any,BitVector}, - legend_position::Tuple{Int64,Int64}, + g::Union{GridLayout, GridPosition}, + scen_groups::Dict{<:Any, BitVector}, + legend_position::Tuple{Int64, Int64}, )::Nothing group_names::Vector{Symbol} = sort(collect(keys(scen_groups))) _colors = colors(scen_groups) @@ -274,7 +273,7 @@ Sort types by variance in reverse order. - :counterfactual """ function _sort_keys( - scenario_types::Dict{Symbol,BitVector}, + scenario_types::Dict{Symbol, BitVector}, outcomes::AbstractArray; by=:variance, )::Vector{Symbol} diff --git a/ext/AvizExt/viz/spatial.jl b/ext/AvizExt/viz/spatial.jl index 1b0feb0cd..0440bfd53 100644 --- a/ext/AvizExt/viz/spatial.jl +++ b/ext/AvizExt/viz/spatial.jl @@ -34,12 +34,12 @@ function create_map!( data::Observable, highlight::Union{Vector, Tuple, Nothing}, centroids::Vector, - show_colorbar::Bool = true, - colorbar_label::String = "", - colorbar_limits::Tuple{Float64, Float64} = (0.0, maximum(data)), - color_map::Union{Symbol, Vector{Symbol}, RGBA{Float32}, Vector{RGBA{Float32}}} = :grayC, - legend_params::Union{Tuple, Nothing} = nothing, - axis_opts::Dict = Dict(), + show_colorbar::Bool=true, + colorbar_label::String="", + colorbar_limits::Tuple{Float64, Float64}=(0.0, maximum(data)), + color_map::Union{Symbol, Vector{Symbol}, RGBA{Float32}, Vector{RGBA{Float32}}}=:grayC, + legend_params::Union{Tuple, Nothing}=nothing, + axis_opts::Dict=Dict(), ) axis_opts[:title] = get(axis_opts, :title, "Study Area") axis_opts[:xlabel] = get(axis_opts, :xlabel, "Longitude") @@ -47,7 +47,7 @@ function create_map!( spatial = GeoAxis( f[1, 1]; - dest = "+proj=latlong +datum=WGS84", + dest="+proj=latlong +datum=WGS84", axis_opts..., ) # lon = first.(centroids) @@ -62,23 +62,22 @@ function create_map!( spatial.yticklabelpad = 50 spatial.ytickalign = 10 - poly!( spatial, geodata; - color = data, - colormap = color_map, - strokecolor = (:black, 0.05), - strokewidth = 1.0, + color=data, + colormap=color_map, + strokecolor=(:black, 0.05), + strokewidth=1.0, ) if show_colorbar Colorbar( f[1, 2]; - colormap = color_map, - label = colorbar_label, - height = Relative(0.65), - limits = colorbar_limits, + colormap=color_map, + label=colorbar_label, + height=Relative(0.65), + limits=colorbar_limits, ) end @@ -90,34 +89,34 @@ function create_map!( poly!( spatial, geodata; - color = "transparent", - strokecolor = highlight, - strokewidth = 0.5, - linestyle = :solid, - overdraw = true, + color="transparent", + strokecolor=highlight, + strokewidth=0.5, + linestyle=:solid, + overdraw=true, ) else hl_groups = unique(highlight) for color in hl_groups m = findall(highlight .== [color]) - subset_feat = FC(; features = geodata[m]) + subset_feat = FC(; features=geodata[m]) poly!( spatial, subset_feat; - color = "transparent", - strokecolor = color, - strokewidth = 0.5, - linestyle = :solid, - overdraw = true, + color="transparent", + strokecolor=color, + strokewidth=0.5, + linestyle=:solid, + overdraw=true, ) end end if !isnothing(legend_params) # Plot Legend only if highlight colors are present - Legend(f[1, 3], legend_params...; framevisible = false) + Legend(f[1, 3], legend_params...; framevisible=false) end end @@ -229,15 +228,15 @@ function ADRIA.viz.map( rs::ResultSet, S::NamedDimsArray, scores::Vector{Float64}; - criteria::Vector{Symbol} = S.criteria, - opts::Dict = Dict(), - axis_opts::Dict = Dict(), - fig_opts::Dict = Dict(), + criteria::Vector{Symbol}=S.criteria, + opts::Dict=Dict(), + axis_opts::Dict=Dict(), + fig_opts::Dict=Dict(), ) f = Figure(; fig_opts...) g = f[1, 1] = GridLayout() ADRIA.viz.map!( - g, rs, S, scores; criteria = criteria, opts = opts, axis_opts = axis_opts + g, rs, S, scores; criteria=criteria, opts=opts, axis_opts=axis_opts ) return f end @@ -246,9 +245,9 @@ function ADRIA.viz.map!( rs::ResultSet, S::NamedDimsArray, scores::Vector{Float64}; - criteria::Vector{Symbol} = S.criteria, - opts::Dict = Dict(), - axis_opts::Dict = Dict(), + criteria::Vector{Symbol}=S.criteria, + opts::Dict=Dict(), + axis_opts::Dict=Dict(), ) if length(rs.site_data.site_id) != size(S, 1) error("Only unfiltered decision matrices can be plotted.") @@ -261,9 +260,9 @@ function ADRIA.viz.map!( criteria_names::Vector{String} = m_spec[ dropdims( any( - reshape(criteria, 1, length(criteria)) .== m_spec[:, "fieldname"]; dims = 2 + reshape(criteria, 1, length(criteria)) .== m_spec[:, "fieldname"]; dims=2 ); - dims = 2, + dims=2, ), "name"] n_criteria::Int64 = length(criteria) n_rows, n_cols = _calc_gridsize(n_criteria + 1) @@ -275,8 +274,8 @@ function ADRIA.viz.map!( g[row, col], rs, vec(scores); - opts = opts, - axis_opts = Dict(:title => "Aggregate criteria score"; axis_opts...), + opts=opts, + axis_opts=Dict(:title => "Aggregate criteria score"; axis_opts...), ) break end @@ -285,8 +284,8 @@ function ADRIA.viz.map!( g[row, col], rs, vec(S(criteria[step])); - opts = opts, - axis_opts = axis_opts_temp + opts=opts, + axis_opts=axis_opts_temp, ) step += 1 diff --git a/src/ADRIA.jl b/src/ADRIA.jl index a5e1c9ec6..6027708a4 100644 --- a/src/ADRIA.jl +++ b/src/ADRIA.jl @@ -109,12 +109,89 @@ const COMPAT_DPKG = ["0.3.1", "0.4.0-rc", "0.4.0"] # This adds ~30 seconds to package load times if ccall(:jl_generating_output, Cint, ()) == 1 - Base.precompile(Tuple{typeof(load_domain),String}) # time: 19.120537 - Base.precompile(Tuple{typeof(load_domain),String,String}) - Base.precompile(Tuple{typeof(setup_result_store!),Domain,DataFrame}) # time: 4.6720815 - Base.precompile(Tuple{typeof(combine_results),Vector{String}}) # time: 4.0178256 - Base.precompile(Tuple{typeof(growthODE),Matrix{Float64},Matrix{Float64},NamedTuple{(:r, :k, :mb, :comp, :sm_comp, :small_massives, :small, :mid, :large, :acr_5_11, :acr_6_12, :rec, :sigma, :M_sm, :sXr, :X_mb, :cover),Tuple{Matrix{Float64},Vector{Float64},Matrix{Float64},Float64,Matrix{Float64},SVector{3,Int64},SVector{6,Int64},SVector{19,Int64},SVector{4,Int64},SVector{2,Int64},SVector{2,Int64},Matrix{Float64},Matrix{Float64},Matrix{Float64},Matrix{Float64},Matrix{Float64},Vector{Float64}}},Float64}) # time: 1.4354926 - Base.precompile(Tuple{typeof(combine_results),ResultSet{String,Vector{Any},Vector{Any},Vector{Float64},NamedDimsArray{(:timesteps, :sites, :intervention, :scenarios),Float32,4,ZArray{Float32,4,Zarr.BloscCompressor,DirectoryStore}},NamedDimsArray{(:timesteps, :coral_id, :sites, :scenarios),Float32,4,ZArray{Float32,4,Zarr.BloscCompressor,DirectoryStore}},NamedDimsArray{(:timesteps, :sites, :scenarios),Float32,3,ZArray{Float32,3,Zarr.BloscCompressor,DirectoryStore}},Dict{String,AbstractArray},DataFrame}}) # time: 0.9439985 + Base.precompile(Tuple{typeof(load_domain), String}) # time: 19.120537 + Base.precompile(Tuple{typeof(load_domain), String, String}) + Base.precompile(Tuple{typeof(setup_result_store!), Domain, DataFrame}) # time: 4.6720815 + Base.precompile(Tuple{typeof(combine_results), Vector{String}}) # time: 4.0178256 + Base.precompile( + Tuple{ + typeof(growthODE), + Matrix{Float64}, + Matrix{Float64}, + NamedTuple{ + ( + :r, + :k, + :mb, + :comp, + :sm_comp, + :small_massives, + :small, + :mid, + :large, + :acr_5_11, + :acr_6_12, + :rec, + :sigma, + :M_sm, + :sXr, + :X_mb, + :cover, + ), + Tuple{ + Matrix{Float64}, + Vector{Float64}, + Matrix{Float64}, + Float64, + Matrix{Float64}, + SVector{3, Int64}, + SVector{6, Int64}, + SVector{19, Int64}, + SVector{4, Int64}, + SVector{2, Int64}, + SVector{2, Int64}, + Matrix{Float64}, + Matrix{Float64}, + Matrix{Float64}, + Matrix{Float64}, + Matrix{Float64}, + Vector{Float64}, + }, + }, + Float64, + }, + ) # time: 1.4354926 + Base.precompile( + Tuple{ + typeof(combine_results), + ResultSet{ + String, + Vector{Any}, + Vector{Any}, + Vector{Float64}, + NamedDimsArray{ + (:timesteps, :sites, :intervention, :scenarios), + Float32, + 4, + ZArray{Float32, 4, Zarr.BloscCompressor, DirectoryStore}, + }, + NamedDimsArray{ + (:timesteps, :coral_id, :sites, :scenarios), + Float32, + 4, + ZArray{Float32, 4, Zarr.BloscCompressor, DirectoryStore}, + }, + NamedDimsArray{ + (:timesteps, :sites, :scenarios), + Float32, + 3, + ZArray{Float32, 3, Zarr.BloscCompressor, DirectoryStore}, + }, + Dict{String, AbstractArray}, + DataFrame, + }, + }, + ) # time: 0.9439985 Base.precompile( Tuple{ typeof(decision.rank_sites!), @@ -137,9 +214,36 @@ if ccall(:jl_generating_output, Cint, ()) == 1 Int64, }, ) # time: 0.3170264 - Base.precompile(Tuple{typeof(scenario_attributes),String,String,Vector{String},String,EnvLayer{String,Vector{Int64}},SimConstants,Vector{String},Vector{Float64},Vector{Float64},Vector{Tuple{Float64,Float64}}}) # time: 0.2140636 - Base.precompile(Tuple{typeof(model_spec),Model}) # time: 0.1997914 - Base.precompile(Tuple{typeof(bleaching_mortality!),Matrix{Float64},Matrix{Float64},Vector{Float64},Int64,Vector{Float64},Vector{Float64},Vector{Float64},Vector{Float64},Float64}) # time: 0.1940948 + Base.precompile( + Tuple{ + typeof(scenario_attributes), + String, + String, + Vector{String}, + String, + EnvLayer{String, Vector{Int64}}, + SimConstants, + Vector{String}, + Vector{Float64}, + Vector{Float64}, + Vector{Tuple{Float64, Float64}}, + }, + ) # time: 0.2140636 + Base.precompile(Tuple{typeof(model_spec), Model}) # time: 0.1997914 + Base.precompile( + Tuple{ + typeof(bleaching_mortality!), + Matrix{Float64}, + Matrix{Float64}, + Vector{Float64}, + Int64, + Vector{Float64}, + Vector{Float64}, + Vector{Float64}, + Vector{Float64}, + Float64, + }, + ) # time: 0.1940948 Base.precompile( Tuple{ typeof(decision.create_decision_matrix), @@ -155,21 +259,53 @@ if ccall(:jl_generating_output, Cint, ()) == 1 Matrix{Float64}, Matrix{Float64}, Float64, - }, + } ) # time: 0.1929096 - Base.precompile(Tuple{typeof(scenario_attributes),String,String,Vector{String},String,EnvLayer{String,Vector{Any}},Dict{String,Any},Vector{Any},Vector{Float64},Vector{Float64},Vector{Any}}) # time: 0.1755622 - Base.precompile(Tuple{typeof(proportional_adjustment!),Matrix{Float64},Vector{Float64}}) # time: 0.1680073 + Base.precompile( + Tuple{ + typeof(scenario_attributes), + String, + String, + Vector{String}, + String, + EnvLayer{String, Vector{Any}}, + Dict{String, Any}, + Vector{Any}, + Vector{Float64}, + Vector{Float64}, + Vector{Any}, + }, + ) # time: 0.1755622 + Base.precompile( + Tuple{typeof(proportional_adjustment!), Matrix{Float64}, Vector{Float64}} + ) # time: 0.1680073 Base.precompile(Tuple{typeof(_remove_workers)}) # time: 0.1593244 Base.precompile(Tuple{typeof(_setup_workers)}) # time: 0.1571776 - Base.precompile(Tuple{typeof(switch_RCPs!),Domain,String}) # time: 0.1284853 - Base.precompile(Tuple{typeof(component_params),DataFrame,Type{CriteriaWeights}}) # time: 0.1223987 - Base.precompile(Tuple{Type{Domain},String,String,String,Vector{Int64},String,String,String,String,String,String,String}) # time: 0.1113899 - Base.precompile(Tuple{typeof(setup_cache),Domain}) # time: 0.1060752 - Base.precompile(EnvLayer, (String, String, String, String, String, String, String, String, Any)) + Base.precompile(Tuple{typeof(switch_RCPs!), Domain, String}) # time: 0.1284853 + Base.precompile(Tuple{typeof(component_params), DataFrame, Type{CriteriaWeights}}) # time: 0.1223987 + Base.precompile( + Tuple{ + Type{Domain}, + String, + String, + String, + Vector{Int64}, + String, + String, + String, + String, + String, + String, + String, + }, + ) # time: 0.1113899 + Base.precompile(Tuple{typeof(setup_cache), Domain}) # time: 0.1060752 + Base.precompile( + EnvLayer, (String, String, String, String, String, String, String, String, Any) + ) Base.precompile(load_results, (String,)) end - # @setup_workload begin # # Putting some things in `setup` can reduce the size of the # # precompile file and potentially make loading faster. diff --git a/src/analysis/analysis.jl b/src/analysis/analysis.jl index 7d3980d4e..7ddedcee3 100644 --- a/src/analysis/analysis.jl +++ b/src/analysis/analysis.jl @@ -8,65 +8,65 @@ using NamedDims, AxisKeys using Statistics, DataFrames """ - col_normalize(data::AbstractArray)::AbstractArray + col_normalize(data::AbstractArray)::AbstractArray Normalize a matrix on a per-column basis (∈ [0, 1]). """ function col_normalize( - data::AbstractMatrix{T} + data::AbstractMatrix{T} )::AbstractMatrix{T} where {T <: Union{Missing, Real}} - d = copy(data) - Threads.@threads for ax in axes(d, 2) - @inbounds d[:, ax] .= normalize!(d[:, ax]) - end + d = copy(data) + Threads.@threads for ax in axes(d, 2) + @inbounds d[:, ax] .= normalize!(d[:, ax]) + end - return d + return d end function col_normalize( - data::AbstractVector{T} + data::AbstractVector{T} )::AbstractVector{T} where {T <: Union{Missing, Real}} - return normalize(data) + return normalize(data) end """ - normalize(data::AbstractArray{T})::AbstractArray{T} where {T<:Real} + normalize(data::AbstractArray{T})::AbstractArray{T} where {T<:Real} Normalize a matrix or vector (∈ [0, 1]). """ function normalize( - data::AbstractArray{T} + data::AbstractArray{T} )::AbstractArray{T} where {T <: Union{Missing, Real}} - d = copy(data) - normalize!(d) + d = copy(data) + normalize!(d) - return d + return d end """ - normalize!(data::AbstractArray{T})::AbstractArray{T} where {T<:Real} + normalize!(data::AbstractArray{T})::AbstractArray{T} where {T<:Real} Normalize a matrix or vector (∈ [0, 1]) in place. """ function normalize!( - data::AbstractArray{T} + data::AbstractArray{T} )::AbstractArray{T} where {T <: Union{Missing, Real}} - if count(!ismissing, data) == 0 - data .= zeros(size(data)...) - return data - end - - (mi, ma) = extrema(skipmissing(data)) - if mi == ma - pos = findall(!ismissing, data) - data[pos] .= zeros(typeof(data[pos][1]), size(data[pos])...) - return data - end - - return data .= (data .- mi) ./ (ma - mi) + if count(!ismissing, data) == 0 + data .= zeros(size(data)...) + return data + end + + (mi, ma) = extrema(skipmissing(data)) + if mi == ma + pos = findall(!ismissing, data) + data[pos] .= zeros(typeof(data[pos][1]), size(data[pos])...) + return data + end + + return data .= (data .- mi) ./ (ma - mi) end """ - discretize_outcomes(y; S=20) + discretize_outcomes(y; S=20) Normalize outcomes (column wise) and discretize them into \$S\$ bins. @@ -75,22 +75,22 @@ S := 1.0 - 0.9 S-1 := 0.9 - 0.8 etc """ -function discretize_outcomes(y; S = 20) - steps = 0.0:(1 / S):1.0 - - y_s_hat = col_normalize(y) - y_disc = zeros(size(y)...) - for i in axes(steps, 1)[2:end] - Threads.@threads for j in size(y_s_hat, 2) - y_disc[steps[i - 1] .< y_s_hat[:, j] .<= steps[i], j] .= steps[i - j] - end - end - - return y_disc +function discretize_outcomes(y; S=20) + steps = 0.0:(1 / S):1.0 + + y_s_hat = col_normalize(y) + y_disc = zeros(size(y)...) + for i in axes(steps, 1)[2:end] + Threads.@threads for j in size(y_s_hat, 2) + y_disc[steps[i - 1] .< y_s_hat[:, j] .<= steps[i], j] .= steps[i - j] + end + end + + return y_disc end """ - series_confint(data::AbstractMatrix; agg_dim::Symbol=:scenarios)::Matrix{Float64} + series_confint(data::AbstractMatrix; agg_dim::Symbol=:scenarios)::Matrix{Float64} Computes confidence interval for series of data. @@ -101,9 +101,9 @@ Computes confidence interval for series of data. # Returns Confidence interval (lower bound, median and higher bound) for each series step """ -function series_confint(data::AbstractMatrix; agg_dim::Symbol = :scenarios)::Matrix{Float64} - slice_dim = data isa NamedDimsArray ? NamedDims.dim(data, agg_dim) : 2 - return quantile.(Slices(data, slice_dim), [0.025 0.5 0.975]) +function series_confint(data::AbstractMatrix; agg_dim::Symbol=:scenarios)::Matrix{Float64} + slice_dim = data isa NamedDimsArray ? NamedDims.dim(data, agg_dim) : 2 + return quantile.(Slices(data, slice_dim), [0.025 0.5 0.975]) end include("pareto.jl") diff --git a/src/analysis/scenario.jl b/src/analysis/scenario.jl index 944a711d5..b5950a6a6 100644 --- a/src/analysis/scenario.jl +++ b/src/analysis/scenario.jl @@ -1,18 +1,18 @@ const SCENARIO_TYPES = [:counterfactual, :unguided, :guided] -function scenario_clusters(clusters::BitVector)::Dict{Symbol,BitVector} +function scenario_clusters(clusters::BitVector)::Dict{Symbol, BitVector} return Dict(:target => clusters, :non_target => .!clusters) end -function scenario_clusters(clusters::Vector{Int64})::Dict{Symbol,BitVector} +function scenario_clusters(clusters::Vector{Int64})::Dict{Symbol, BitVector} return Dict(Symbol("Cluster_$(c)") => clusters .== c for c in unique(clusters)) end -function scenario_rcps(scenarios::DataFrame)::Dict{Symbol,BitVector} +function scenario_rcps(scenarios::DataFrame)::Dict{Symbol, BitVector} rcps::Vector{Symbol} = Symbol.(:RCP, Int64.(scenarios[:, :RCP])) return Dict(rcp => rcps .== rcp for rcp in unique(rcps)) end -function scenario_types(scenarios::DataFrame)::Dict{Symbol,BitVector} +function scenario_types(scenarios::DataFrame)::Dict{Symbol, BitVector} return Dict( type => eval(type)(scenarios) for type in SCENARIO_TYPES if count(eval(type)(scenarios)) != 0 diff --git a/src/decision/CriteriaWeights.jl b/src/decision/CriteriaWeights.jl index b2b58c94e..9804dff69 100644 --- a/src/decision/CriteriaWeights.jl +++ b/src/decision/CriteriaWeights.jl @@ -1,66 +1,66 @@ -Base.@kwdef struct CriteriaWeights{U2,U3,DO} <: EcoModel - seed_wave_stress::U2 = Factor( +Base.@kwdef struct CriteriaWeights{U2, U3, DO} <: EcoModel + seed_in_connectivity::U2 = Factor( 1.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), criteria_keywords=(:seed, :weight), - name="Seed Wave Stress", - description="Importance of avoiding wave stress when seeding. Higher values places more weight on areas with low wave stress.", + name="Incoming Connectivity (Seed)", + description="Higher values give preference to locations with high incoming connectivity (i.e., receives larvae from other sites) for enhanced coral deployments.", ) - seed_heat_stress::U2 = Factor( + seed_out_connectivity::U2 = Factor( 1.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), criteria_keywords=(:seed, :weight), - name="Seed Heat Stress", - description="Importance of avoiding heat stress when seeding. Higher values places more weight on areas with low heat stress.", + name="Outgoing Connectivity (Seed)", + description="Higher values give preference to locations with high outgoing connectivity (i.e., provides larvae to other sites) for enhanced coral deployments.", ) - fog_wave_stress::U2 = Factor( + seed_wave_stress::U2 = Factor( 1.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), - criteria_keywords=(:fog, :weight), - name="Shade Wave Stress", - description="Importance of avoiding wave stress when fogging. Higher values places more weight on areas with low wave stress.", + criteria_keywords=(:seed, :weight), + name="Seed Wave Stress", + description="Importance of avoiding wave stress when seeding. Higher values places more weight on areas with low wave stress.", ) - fog_heat_stress::U2 = Factor( + seed_heat_stress::U2 = Factor( 1.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), - criteria_keywords=(:fog, :weight), - name="Shade Heat Stress", - description="Importance of avoiding heat stress when fogging. Higher values places more weight on areas with low heat stress.", + criteria_keywords=(:seed, :weight), + name="Seed Heat Stress", + description="Importance of avoiding heat stress when seeding. Higher values places more weight on areas with low heat stress.", ) - fog_connectivity::U2 = Factor( - 0.0; + seed_priority::U2 = Factor( + 1.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), - criteria_keywords=(:fog, :weight), - name="Shade Connectivity", - description="Higher values give preference to locations with high connectivity for shading deployments.", + criteria_keywords=(:seed, :weight), + name="Predecessor Priority (Seed)", + description="Importance of seeding sites that provide larvae to priority reefs.", ) - seed_in_connectivity::U2 = Factor( - 1.0; + seed_zone::U2 = Factor( + 0.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), criteria_keywords=(:seed, :weight), - name="Incoming Connectivity (Seed)", - description="Higher values give preference to locations with high incoming connectivity (i.e., receives larvae from other sites) for enhanced coral deployments.", + name="Zone Predecessor (Seed)", + description="Importance of seeding sites that provide larvae to priority (target) zones.", ) - seed_out_connectivity::U2 = Factor( - 1.0; + seed_coral_cover_low::U2 = Factor( + 0.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), criteria_keywords=(:seed, :weight), - name="Outgoing Connectivity (Seed)", - description="Higher values give preference to locations with high outgoing connectivity (i.e., provides larvae to other sites) for enhanced coral deployments.", + name="Low Coral Cover", + description="Higher values give greater preference to sites with low coral cover for seeding deployments." ) seed_depth::U2 = Factor( 1.0; @@ -71,32 +71,41 @@ Base.@kwdef struct CriteriaWeights{U2,U3,DO} <: EcoModel name="Depth (Seed)", description="Higher values give preference to deeper locations for enhanced coral deployments.", ) - coral_cover_low::U2 = Factor( + fog_in_connectivity::U2 = Factor( 0.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), - criteria_keywords=(:seed, :weight), - name="Low Coral Cover", - description="Higher values give greater preference to sites with low coral cover for seeding deployments.", + criteria_keywords=(:fog, :weight), + name="Outgoing Connectivity (Fog)", + description="Higher values give preference to locations with high incoming connectivity for foggining deployments.", ) - coral_cover_high::U2 = Factor( + fog_out_connectivity::U2 = Factor( 0.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), criteria_keywords=(:fog, :weight), - name="High Coral Cover", - description="Higher values give preference to sites with high coral cover for shading deployments.", + name="Incoming Connectivity (Fog)", + description="Higher values give preference to locations with high outgoing connectivity for fogging deployments." ) - seed_priority::U2 = Factor( + fog_wave_stress::U2 = Factor( 1.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), - criteria_keywords=(:seed, :weight), - name="Predecessor Priority (Seed)", - description="Importance of seeding sites that provide larvae to priority reefs.", + criteria_keywords=(:fog, :weight), + name="Shade Wave Stress", + description="Importance of avoiding wave stress when fogging. Higher values places more weight on areas with low wave stress.", + ) + fog_heat_stress::U2 = Factor( + 1.0; + ptype="continuous", + dist=Uniform, + dist_params=(0.0, 1.0), + criteria_keywords=(:fog, :weight), + name="Shade Heat Stress", + description="Importance of avoiding heat stress when fogging. Higher values places more weight on areas with low heat stress.", ) fog_priority::U2 = Factor( 0.0; @@ -107,23 +116,23 @@ Base.@kwdef struct CriteriaWeights{U2,U3,DO} <: EcoModel name="Predecessor Priority (Shade)", description="Importance of shading sites that provide larvae to priority reefs.", ) - seed_zone::U2 = Factor( + fog_zone::U2 = Factor( 0.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), - criteria_keywords=(:seed, :weight), - name="Zone Predecessor (Seed)", - description="Importance of seeding sites that provide larvae to priority (target) zones.", + criteria_keywords=(:fog, :weight), + name="Zone Predecessor (Shade)", + description="Importance of shading sites that provide larvae to priority (target) zones.", ) - fog_zone::U2 = Factor( + fog_coral_cover_high::U2 = Factor( 0.0; ptype="continuous", dist=Uniform, dist_params=(0.0, 1.0), criteria_keywords=(:fog, :weight), - name="Zone Predecessor (Shade)", - description="Importance of shading sites that provide larvae to priority (target) zones.", + name="High Coral Cover", + description="Higher values give preference to sites with high coral cover for shading deployments." ) deployed_coral_risk_tol::U3 = Factor( 1.0; @@ -165,12 +174,12 @@ Retrieve relevant criteria by associated keywords. """ function criteria_params( crit::DataFrame, - criteria_keywords::Union{Tuple{Symbol,Symbol},Tuple{Symbol,Symbol,Symbol}}, + criteria_keywords::Union{Tuple{Symbol, Symbol}, Tuple{Symbol, Symbol, Symbol}, String}, )::DataFrame sel_crit = vec( all( hcat([in.(c_k, crit.criteria_keywords) for c_k in criteria_keywords]...); - dims = 2, + dims=2, ); ) return crit[sel_crit, :] diff --git a/src/decision/dMCDA.jl b/src/decision/dMCDA.jl index 07478be21..61e34267c 100644 --- a/src/decision/dMCDA.jl +++ b/src/decision/dMCDA.jl @@ -46,59 +46,59 @@ include("mcda_methods.jl") include("location_selection.jl") function supported_jmcdm_methods() - return [ - JMcDM.ARAS.ArasMethod, - JMcDM.COCOSO.CocosoMethod, - JMcDM.CODAS.CodasMethod, - JMcDM.EDAS.EdasMethod, - JMcDM.GREY.GreyMethod, - JMcDM.MABAC.MabacMethod, - JMcDM.MAIRCA.MaircaMethod, - JMcDM.MARCOS.MarcosMethod, - JMcDM.MOORA.MooraMethod, - JMcDM.PIV.PIVMethod, - JMcDM.PSI.PSIMethod, - JMcDM.SAW.SawMethod, - JMcDM.WASPAS.WaspasMethod, - JMcDM.WPM.WPMMethod, - ] + return [ + JMcDM.ARAS.ArasMethod, + JMcDM.COCOSO.CocosoMethod, + JMcDM.CODAS.CodasMethod, + JMcDM.EDAS.EdasMethod, + JMcDM.GREY.GreyMethod, + JMcDM.MABAC.MabacMethod, + JMcDM.MAIRCA.MaircaMethod, + JMcDM.MARCOS.MarcosMethod, + JMcDM.MOORA.MooraMethod, + JMcDM.PIV.PIVMethod, + JMcDM.PSI.PSIMethod, + JMcDM.SAW.SawMethod, + JMcDM.WASPAS.WaspasMethod, + JMcDM.WPM.WPMMethod, + ] end function mcda_methods() - return [ - order_ranking, - adria_vikor, - adria_topsis, - supported_jmcdm_methods()..., - ] + return [ + order_ranking, + adria_vikor, + adria_topsis, + supported_jmcdm_methods()..., + ] end """ - DMCDA_vars(domain::Domain, criteria::NamedDimsArray, - site_ids::AbstractArray, leftover_space::AbstractArray, area_to_seed::Float64, - waves::AbstractArray, dhws::AbstractArray)::DMCDA_vars - DMCDA_vars(domain::Domain, criteria::NamedDimsArray, site_ids::AbstractArray, - leftover_space::AbstractArray, area_to_seed::Float64)::DMCDA_vars - DMCDA_vars(domain::Domain, criteria::DataFrameRow, site_ids::AbstractArray, - leftover_space::AbstractArray, area_to_seed::Float64)::DMCDA_vars - DMCDA_vars(domain::Domain, criteria::DataFrameRow, site_ids::AbstractArray, - leftover_space::AbstractArray, area_to_seed::Float64, - waves::AbstractArray, dhw::AbstractArray)::DMCDA_vars + DMCDA_vars(domain::Domain, criteria::NamedDimsArray, + site_ids::AbstractArray, leftover_space::AbstractArray, area_to_seed::Float64, + waves::AbstractArray, dhws::AbstractArray)::DMCDA_vars + DMCDA_vars(domain::Domain, criteria::NamedDimsArray, site_ids::AbstractArray, + leftover_space::AbstractArray, area_to_seed::Float64)::DMCDA_vars + DMCDA_vars(domain::Domain, criteria::DataFrameRow, site_ids::AbstractArray, + leftover_space::AbstractArray, area_to_seed::Float64)::DMCDA_vars + DMCDA_vars(domain::Domain, criteria::DataFrameRow, site_ids::AbstractArray, + leftover_space::AbstractArray, area_to_seed::Float64, + waves::AbstractArray, dhw::AbstractArray)::DMCDA_vars Constuctors for DMCDA variables. """ function DMCDA_vars( - domain::Domain, - criteria::NamedDimsArray, - site_ids::AbstractArray, - leftover_space::AbstractArray, - area_to_seed::Float64, - waves::AbstractArray, - dhws::AbstractArray, + domain::Domain, + criteria::NamedDimsArray, + site_ids::AbstractArray, + leftover_space::AbstractArray, + area_to_seed::Float64, + waves::AbstractArray, + dhws::AbstractArray, )::DMCDA_vars - # Site Data - site_d = domain.site_data + # Site Data + site_d = domain.site_data mcda_vars = DMCDA_vars( site_ids, @@ -134,86 +134,86 @@ function DMCDA_vars( criteria("fog_zone"), ) - return mcda_vars + return mcda_vars end function DMCDA_vars( - domain::Domain, - criteria::NamedDimsArray, - site_ids::AbstractArray, - leftover_space::AbstractArray, - area_to_seed::Float64, + domain::Domain, + criteria::NamedDimsArray, + site_ids::AbstractArray, + leftover_space::AbstractArray, + area_to_seed::Float64, )::DMCDA_vars - num_sites = n_locations(domain) - return DMCDA_vars( - domain, - criteria, - site_ids, - leftover_space, - area_to_seed, - zeros(num_sites, 1), - zeros(num_sites, 1), - ) + num_sites = n_locations(domain) + return DMCDA_vars( + domain, + criteria, + site_ids, + leftover_space, + area_to_seed, + zeros(num_sites, 1), + zeros(num_sites, 1), + ) end function DMCDA_vars( - domain::Domain, - criteria::DataFrameRow, - site_ids::AbstractArray, - leftover_space::AbstractArray, - area_to_seed::Float64, - waves::AbstractArray, - dhw::AbstractArray, + domain::Domain, + criteria::DataFrameRow, + site_ids::AbstractArray, + leftover_space::AbstractArray, + area_to_seed::Float64, + waves::AbstractArray, + dhw::AbstractArray, )::DMCDA_vars - criteria_vec::NamedDimsArray = NamedDimsArray(collect(criteria); rows = names(criteria)) - return DMCDA_vars( - domain, criteria_vec, site_ids, leftover_space, area_to_seed, waves, dhw - ) + criteria_vec::NamedDimsArray = NamedDimsArray(collect(criteria); rows=names(criteria)) + return DMCDA_vars( + domain, criteria_vec, site_ids, leftover_space, area_to_seed, waves, dhw + ) end function DMCDA_vars( - domain::Domain, - criteria::DataFrameRow, - site_ids::AbstractArray, - leftover_space::AbstractArray, - area_to_seed::Float64, + domain::Domain, + criteria::DataFrameRow, + site_ids::AbstractArray, + leftover_space::AbstractArray, + area_to_seed::Float64, )::DMCDA_vars - criteria_vec::NamedDimsArray = NamedDimsArray(collect(criteria); rows = names(criteria)) - return DMCDA_vars(domain, criteria_vec, site_ids, leftover_space, area_to_seed) + criteria_vec::NamedDimsArray = NamedDimsArray(collect(criteria); rows=names(criteria)) + return DMCDA_vars(domain, criteria_vec, site_ids, leftover_space, area_to_seed) end """ - mcda_normalize(x::Vector)::Vector + mcda_normalize(x::Vector)::Vector Normalize a Vector (wse/wsh) for MCDA. """ function mcda_normalize(x::Vector)::Vector - return x ./ sum(x) + return x ./ sum(x) end """ - mcda_normalize(x::Matrix)::Matrix + mcda_normalize(x::Matrix)::Matrix Normalize a Matrix (SE/SH) for MCDA. """ function mcda_normalize(x::Matrix)::Matrix - return x ./ sqrt.(sum(x .^ 2; dims = 1)) + return x ./ sqrt.(sum(x .^ 2; dims=1)) end """ - mcda_normalize(x::DataFrame)::DataFrame + mcda_normalize(x::DataFrame)::DataFrame Normalize weights for a set of scenarios (wse/wsh) for MCDA. """ function mcda_normalize(x::DataFrame)::DataFrame - return x ./ sum(Matrix(x); dims = 2) + return x ./ sum(Matrix(x); dims=2) end """ - _filter_preferred(x::Union{Matrix,NamedDimsArray}) +align_rankings!(rankings::Array, s_order::Matrix, col::Int64)::Nothing Filter all criteria which are zero for all sites from the decision matrix x. """ function _filter_preferred(x::Union{Matrix, NamedDimsArray})::BitVector # weights in order of: in_conn, out_conn, wave, heat, predecessors, low cover - return vec(.!all(x .== 0; dims = 1)) + return vec(.!all(x .== 0; dims=1)) end """ @@ -222,16 +222,16 @@ end Align a vector of site rankings to match the indicated order in `s_order`. """ function align_rankings!(rankings::Array, s_order::Matrix, col::Int64)::Nothing - # Fill target ranking column - for (i, site_id) in enumerate(s_order[:, 1]) - rankings[rankings[:, 1] .== site_id, col] .= i - end + # Fill target ranking column + for (i, site_id) in enumerate(s_order[:, 1]) + rankings[rankings[:, 1] .== site_id, col] .= i + end - return nothing + return nothing end """ - rank_sites!(S, weights, rankings, n_site_int, mcda_func, rank_col) + rank_sites!(S, weights, rankings, n_site_int, mcda_func, rank_col) # Arguments - `S` : Matrix, Site preference values @@ -252,24 +252,29 @@ function rank_sites!( mcda_func::Union{Function, Type{<:MCDMMethod}}, rank_col)::Tuple{Vector{Int64}, Matrix{Union{Float64, Int64}}} # Filter out all non-preferred sites - selector = _filter_preferred(S) - S = S[:, selector] - weights = weights[selector[2:end]] + selector = vec(.!all(S[:, 2:end] .== 0; dims=1)) + + # weights in order of: in_conn, out_conn, wave, heat, predecessors, low cover + weights = weights[selector] + S = S[:, Bool[1, selector...]] + s_order = retrieve_ranks(S[:, 2:end], S[:, 1], weights, mcda_func) - last_idx = min(n_site_int, size(s_order, 1)) - prefsites = Int64.(s_order[1:last_idx, 1]) + last_idx = min(n_site_int, size(s_order, 1)) + prefsites = Int64.(s_order[1:last_idx, 1]) - # Match by site_id and assign rankings to log - align_rankings!(rankings, s_order, rank_col) + # Match by site_id and assign rankings to log + align_rankings!(rankings, s_order, rank_col) - return prefsites, s_order + return prefsites, s_order end """ - retrieve_ranks(S::Matrix, site_ids::Vector, weights::Vector{Float64}, mcda_func::Function)::Matrix{Union{Float64,Int64}} - retrieve_ranks(S::Matrix, site_ids::Vector, weights::Vector{Float64}, mcda_func::Type{<:MCDMMethod})::Matrix{Union{Float64,Int64}} - retrieve_ranks(site_ids::Vector, scores::Vector, maximize::Bool)::Matrix{Union{Float64,Int64}} + retrieve_ranks(S::Matrix, site_ids::Vector, weights::Vector{Float64}, mcda_func::Function) + ::Matrix{Union{Float64,Int64}} + retrieve_ranks(S::Matrix, site_ids::Vector, weights::Vector{Float64}, mcda_func::Type{<:MCDMMethod}) + ::Matrix{Union{Float64,Int64}} + retrieve_ranks(site_ids::Vector, scores::Vector, maximize::Bool)::Matrix{Union{Float64,Int64}} Get location ranks using mcda technique specified in mcda_func, weights and a decision matrix S. @@ -285,38 +290,39 @@ Get location ranks using mcda technique specified in mcda_func, weights and a de Matrix, containing site_ids, criteria values, ranks """ function retrieve_ranks( - S::Matrix{Float64}, - site_ids::Vector{Float64}, - weights::Vector{Float64}, - mcda_func::Function)::Matrix{Union{Float64, Int64}} - S = mcda_normalize(S) .* weights' - scores = mcda_func(S) - - return retrieve_ranks(site_ids, vec(scores), true) + S::Matrix{Float64}, + site_ids::Vector{Float64}, + weights::Vector{Float64}, + mcda_func::Function)::Matrix{Union{Float64, Int64}} + S = mcda_normalize(S) .* weights' + scores = mcda_func(S) + + return retrieve_ranks(site_ids, vec(scores), true) end function retrieve_ranks( - S::Matrix{Float64}, - site_ids::Vector{Float64}, - weights::Vector{Float64}, - mcda_func::Type{<:MCDMMethod}, + S::Matrix{Float64}, + site_ids::Vector{Float64}, + weights::Vector{Float64}, + mcda_func::Type{<:MCDMMethod}, )::Matrix{Union{Float64, Int64}} - fns = fill(maximum, length(weights)) - results = mcdm(MCDMSetting(S, weights, fns), mcda_func()) - maximize = results.bestIndex == argmax(results.scores) + fns = fill(maximum, length(weights)) + results = mcdm(MCDMSetting(S, weights, fns), mcda_func()) + maximize = results.bestIndex == argmax(results.scores) - return retrieve_ranks(site_ids, results.scores, maximize) + return retrieve_ranks(site_ids, results.scores, maximize) end function retrieve_ranks( - site_ids::Vector{Float64}, - scores::Vector, - maximize::Bool + site_ids::Vector{Float64}, + scores::Vector, + maximize::Bool, )::Matrix{Union{Float64, Int64}} - s_order::Vector{Int64} = sortperm(scores; rev = maximize) - return Union{Float64, Int64}[Int64.(site_ids[s_order]) scores[s_order]] + s_order::Vector{Int64} = sortperm(scores; rev=maximize) + return Union{Float64, Int64}[Int64.(site_ids[s_order]) scores[s_order]] end """ - create_decision_matrix(site_ids, in_conn, out_conn, leftover_space, wave_stress, heat_stress, predec, risk_tol) + create_decision_matrix(site_ids, in_conn, out_conn, leftover_space, wave_stress, heat_stress, + predec, risk_tol) Creates criteria matrix `A`, where each column is a selection criterium and each row is a site. Sites are then filtered based on heat and wave stress risk. @@ -345,62 +351,62 @@ Columns indicate: - `risk_tol` : Tolerance for wave and heat risk (∈ [0,1]). Sites with heat or wave risk> risk_tol are filtered out. """ function create_decision_matrix( - site_ids::Vector{Int64}, - in_conn::T, - out_conn::T, - leftover_space::Union{NamedDimsArray, T}, - wave_stress::T, - heat_stress::T, - site_depth::T, - predec::Matrix{Float64}, - zones_criteria::T, - risk_tol::Float64, + site_ids::Vector{Int64}, + in_conn::T, + out_conn::T, + leftover_space::Union{NamedDimsArray, T}, + wave_stress::T, + heat_stress::T, + site_depth::T, + predec::Matrix{Float64}, + zones_criteria::T, + risk_tol::Float64 )::Tuple{Matrix{Float64}, BitVector} where {T <: Vector{Float64}} - A = zeros(length(site_ids), 9) - A[:, 1] .= site_ids # Column of site ids + A = zeros(length(site_ids), 9) + A[:, 1] .= site_ids # Column of site ids - # node connectivity centrality, need to instead work out strongest predecessors to priority sites - A[:, 2] .= maximum(in_conn) != 0.0 ? in_conn / maximum(in_conn) : 0.0 - A[:, 3] .= maximum(out_conn) != 0.0 ? out_conn / maximum(out_conn) : 0.0 + # node connectivity centrality, need to instead work out strongest predecessors to priority sites + A[:, 2] .= maximum(in_conn) != 0.0 ? in_conn / maximum(in_conn) : 0.0 + A[:, 3] .= maximum(out_conn) != 0.0 ? out_conn / maximum(out_conn) : 0.0 - # Wave damage, account for cases where no chance of damage or heat stress - # if max > 0 then use damage probability from wave exposure - max_ws = maximum(wave_stress) - min_ws = minimum(wave_stress) - A[:, 4] .= max_ws == 0.0 ? 0.0 : (wave_stress .- min_ws) ./ (max_ws - min_ws) + # Wave damage, account for cases where no chance of damage or heat stress + # if max > 0 then use damage probability from wave exposure + max_ws = maximum(wave_stress) + min_ws = minimum(wave_stress) + A[:, 4] .= max_ws == 0.0 ? 0.0 : (wave_stress .- min_ws) ./ (max_ws - min_ws) - # risk from heat exposure - max_hs = maximum(heat_stress) - min_hs = minimum(heat_stress) - A[:, 5] .= max_hs == 0.0 ? 0.0 : (heat_stress .- min_hs) ./ (max_hs - min_hs) + # risk from heat exposure + max_hs = maximum(heat_stress) + min_hs = minimum(heat_stress) + A[:, 5] .= max_hs == 0.0 ? 0.0 : (heat_stress .- min_hs) ./ (max_hs - min_hs) - # priority predecessors - A[:, 6] .= predec[:, 3] + # priority predecessors + A[:, 6] .= predec[:, 3] - # priority zone predecessors and sites - A[:, 7] .= zones_criteria + # priority zone predecessors and sites + A[:, 7] .= zones_criteria - # Area of space for coral cover in m² - A[:, 8] = leftover_space + # Area of space for coral cover in m² + A[:, 8] = leftover_space - A[:, 9] = site_depth + A[:, 9] = site_depth - # Filter out sites that have high risk of wave damage, specifically - # exceeding the risk tolerance - A[A[:, 4] .> risk_tol, 4] .= NaN - rule = (A[:, 4] .<= risk_tol) .& (A[:, 5] .> risk_tol) - A[rule, 5] .= NaN + # Filter out sites that have high risk of wave damage, specifically + # exceeding the risk tolerance + A[A[:, 4] .> risk_tol, 4] .= NaN + rule = (A[:, 4] .<= risk_tol) .& (A[:, 5] .> risk_tol) + A[rule, 5] .= NaN - filtered = vec(.!any(isnan.(A); dims = 2)) + filtered = vec(.!any(isnan.(A); dims=2)) - # Remove rows with NaNs - A = A[filtered, :] + # Remove rows with NaNs + A = A[filtered, :] - return A, filtered + return A, filtered end """ - create_seed_matrix(A, in_conn_seed, out_conn_seed, waves, heat, predec, low_cover) + create_seed_matrix(A, in_conn_seed, out_conn_seed, waves, heat, predec, low_cover) Create seeding specific decision matrix from criteria matrix. The weight criteria and filter. @@ -418,25 +424,25 @@ Create seeding specific decision matrix from criteria matrix. The weight criteri # Returns Tuple (SE, wse) - `SE` : Matrix of shape [n sites considered, 7] - 1. Site index ID - 2. Incoming centrality - 3. Outgoing centrality - 4. Wave risk (higher values = less risk) - 5. Damage risk (higher values = less risk) - 6. Priority predecessors - 7. GBRMPA zoning criteria - 8. Available space - 9. Location depth + 1. Site index ID + 2. Incoming centrality + 3. Outgoing centrality + 4. Wave risk (higher values = less risk) + 5. Damage risk (higher values = less risk) + 6. Priority predecessors + 7. GBRMPA zoning criteria + 8. Available space + 9. Location depth - `wse` : 8-element vector of criteria weights - 1. incoming connectivity - 2. outgoing connectivity - 3. wave - 4. heat - 5. seed predecessors (weights importance of sites highly connected to priority sites for seeding) - 6. seed zones (weights importance of sites highly connected to or within priority zones for seeding) - 7. low cover (weights importance of sites with low cover/high available real estate to plant corals) - 8. depth + 1. incoming connectivity + 2. outgoing connectivity + 3. wave + 4. heat + 5. seed predecessors (weights importance of sites highly connected to priority sites for seeding) + 6. seed zones (weights importance of sites highly connected to or within priority zones for seeding) + 7. low cover (weights importance of sites with low cover/high available real estate to plant corals) + 8. depth """ function create_seed_matrix( A::Matrix{Float64}, @@ -448,42 +454,43 @@ function create_seed_matrix( wt_predec_zones_seed::T, wt_low_cover::T, wt_depth_seed::T; - filter_space::T = 0.0, + filter_space::T=0.0 )::Tuple{Matrix{Float64}, Vector{Float64}} where {T <: Float64} - # Define seeding decision matrix, based on copy of A - SE = copy(A) - - wse = [ - wt_in_conn_seed, - wt_out_conn_seed, - wt_waves_seed, - wt_heat_seed, - wt_predec_seed, - wt_predec_zones_seed, - wt_low_cover, - wt_depth_seed, - ] + # Define seeding decision matrix, based on copy of A + SE = copy(A) + + wse = [ + wt_in_conn_seed, + wt_out_conn_seed, + wt_waves_seed, + wt_heat_seed, + wt_predec_seed, + wt_predec_zones_seed, + wt_low_cover, + wt_depth_seed, + ] - SE[:, 4] = (1 .- SE[:, 4]) # compliment of wave risk - SE[:, 5] = (1 .- SE[:, 5]) # compliment of heat risk + SE[:, 4] = (1 .- SE[:, 4]) # compliment of wave risk + SE[:, 5] = (1 .- SE[:, 5]) # compliment of heat risk - SE[SE[:, 8] .<= filter_space, 8] .= NaN # Filter out sites with no space + SE[SE[:, 8] .<= 0.0, 8] .= NaN # Filter out sites with no space - # Filter out identified locations - SE = SE[vec(.!any(isnan.(SE); dims = 2)), :] + # Filter out identified locations + SE = SE[vec(.!any(isnan.(SE); dims=2)), :] - return SE, wse + return SE, wse end """ - create_fog_matrix(A, wt_conn_fog , wt_waves_fog, wt_heat_fog, wt_predec_fog, wt_hi_cover) + create_fog_matrix(A, wt_in_conn_fog , wt_out_conn_fog, wt_waves_fog, wt_heat_fog, wt_predec_fog, wt_hi_cover) Create shading specific decision matrix and apply weightings. # Arguments - `A` : Criteria matrix - `k_area`: Carrying capacity (m²) for coral. -- `wt_conn_fog` : Shading connectivity weight +- `wt_in_conn_fog` : Shading connectivity weight +- `wt_out_conn_fog` : Shading connectivity weight - `wt_waves_fog` : Wave stress weight - `wt_heat_fog` : Heat stress weight - `wt_predec_zones_fog` : Priority zones weight for fogging @@ -493,20 +500,21 @@ Create shading specific decision matrix and apply weightings. # Returns Tuple (SH, wsh) - `SH` : Matrix of shape [n sites considered, 7] - 1. Site index ID - 2. Incoming Centrality - 3. Outgoing Centrality - 4. Wave risk (higher values = less risk) - 5. Damage risk (higher values = less risk) - 6. Priority predecessors relating to coral real estate relative to max capacity - 7. Available space -- `wsh` : 5-element vector of criteria weights - 1. fog connectivity - 2. wave - 3. heat - 4. fog predecessors (weights importance of sites highly connected to priority sites for fogging) - 4. fog zones (weights importance of sites highly connected to or within priority zones) - 5. high cover (weights importance of sites with high cover of coral to fog) + 1. Site index ID + 2. Incoming Centrality + 3. Outgoing Centrality + 4. Wave risk (higher values = less risk) + 5. Damage risk (higher values = less risk) + 6. Priority predecessors relating to coral real estate relative to max capacity + 7. Available space +- `wsh` : 7-element vector of criteria weights + 1. incoming fog connectivity + 2. incoming fog connectivity + 3. wave + 4. heat + 5. fog predecessors (weights importance of sites highly connected to priority sites for fogging) + 6. fog zones (weights importance of sites highly connected to or within priority zones) + 7. high cover (weights importance of sites with high cover of coral to fog) """ function create_fog_matrix( A::Matrix{Float64}, @@ -531,23 +539,23 @@ function create_fog_matrix( wt_hi_cover, ] - # Set up decision matrix to be same size as A - SH = copy(A) + # Set up decision matrix to be same size as A + SH = copy(A) - # Remove consideration of site depth as shading not accounted for in bleaching model yet - SH = SH[:, 1:(end - 1)] + # Remove consideration of site depth as shading not accounted for in bleaching model yet + SH = SH[:, 1:(end - 1)] - # Get area of coral cover (m²) by subtracting leftover space from total area for coral. - SH[:, 8] = k_area .- SH[:, 8] + # Get area of coral cover (m²) by subtracting leftover space from total area for coral. + SH[:, 8] = k_area .- SH[:, 8] - SH[:, 4] = (1.0 .- SH[:, 4]) # complimentary of wave damage risk + SH[:, 4] = (1.0 .- SH[:, 4]) # complimentary of wave damage risk - SH[SH[:, 8] .< 0, 8] .= 0 # if any negative, scale back to zero - return SH, wsh + SH[SH[:, 8] .< 0, 8] .= 0 # if any negative, scale back to zero + return SH, wsh end """ - guided_site_selection(d_vars::DMCDA_vars, alg_ind::Int64, log_seed::Bool, log_fog::Bool, pref_seed_locs::AbstractArray{Int64}, pref_fog_locs::AbstractArray{Int64}, rankings_in::Matrix{Int64}) + guided_site_selection(d_vars::DMCDA_vars, alg_ind::Int64, log_seed::Bool, log_fog::Bool, pref_seed_locs::AbstractArray{Int64}, pref_fog_locs::AbstractArray{Int64}, rankings_in::Matrix{Int64}) # Arguments - `d_vars` : DMCDA_vars type struct containing weightings and criteria values for site selection. @@ -563,96 +571,96 @@ end # Returns Tuple : - - `pref_seed_locs` : Vector, Indices of preferred seeding locations - - `pref_fog_locs` : Vector, Indices of preferred shading locations - - `rankings` : Matrix[n_sites ⋅ 3] where columns are site_id, seeding_rank, shading_rank - Values of 0 indicate sites that were not considered +- `pref_seed_locs` : Vector, Indices of preferred seeding locations +- `pref_fog_locs` : Vector, Indices of preferred shading locations +- `rankings` : Matrix[n_sites ⋅ 3] where columns are site_id, seeding_rank, shading_rank +Values of 0 indicate sites that were not considered """ function guided_site_selection( - d_vars::DMCDA_vars, - alg_ind::T, - log_seed::B, - log_fog::B, - pref_seed_locs::IA, - pref_fog_locs::IB, - rankings_in::Matrix{T}, - in_conn::Vector{Float64}, - out_conn::Vector{Float64}, - strong_pred::Vector{Int64}; - methods_mcda = mcda_methods(), + d_vars::DMCDA_vars, + alg_ind::T, + log_seed::B, + log_fog::B, + pref_seed_locs::IA, + pref_fog_locs::IB, + rankings_in::Matrix{T}, + in_conn::Vector{Float64}, + out_conn::Vector{Float64}, + strong_pred::Vector{Int64}; + methods_mcda=mcda_methods() )::Tuple{ - Vector{T}, Vector{T}, Matrix{T} + Vector{T}, Vector{T}, Matrix{T} } where { - T <: Int64, IA <: AbstractArray{<:Int64}, IB <: AbstractArray{<:Int64}, B <: Bool + T <: Int64, IA <: AbstractArray{<:Int64}, IB <: AbstractArray{<:Int64}, B <: Bool } - site_ids = copy(d_vars.site_ids) - n_sites::Int64 = length(site_ids) - - # if no sites are available, abort - if n_sites == 0 - return ( - zeros(Int64, length(pref_seed_sites)), - zeros(Int64, length(pref_fog_sites)), - rankings_in, - ) - end - - n_iv_locs::Int64 = d_vars.n_site_int - priority_sites::Array{Int64} = d_vars.priority_sites[in.( - d_vars.priority_sites, [site_ids] - )] - priority_zones::Array{String} = d_vars.priority_zones - - zones = d_vars.zones[site_ids] - - # site_id, seeding rank, shading rank - rankings = Int64[site_ids zeros(Int64, n_sites) zeros(Int64, n_sites)] - - # calculate priority predecessor and zones criteria - predec = priority_predecessor_criteria(strong_pred, priority_sites, n_sites) - zones_crit = zones_criteria(priority_zones, zones, strong_pred, site_ids) - - mcda_func = methods_mcda[alg_ind] - leftover_space = vec(d_vars.leftover_space) - - A, filtered_sites = create_decision_matrix( - site_ids, - in_conn, - out_conn, - leftover_space[site_ids], - d_vars.dam_prob[site_ids], - d_vars.heat_stress_prob[site_ids], - d_vars.site_depth[site_ids], - predec, - zones_crit, - d_vars.risk_tol, - ) - if isempty(A) - # if all rows have nans and A is empty, abort mission - return ( - zeros(Int64, length(pref_seed_locs)), - zeros(Int64, length(pref_fog_locs)), - rankings_in, - ) - end - - # cap to number of sites left after risk filtration - n_iv_locs = min(n_iv_locs, length(A[:, 1])) - - # if seeding, create seeding specific decision matrix - if log_seed - SE, wse = create_seed_matrix( - A, - d_vars.wt_in_conn_seed, - d_vars.wt_out_conn_seed, - d_vars.wt_waves_seed, - d_vars.wt_heat_seed, - d_vars.wt_predec_seed, - d_vars.wt_zones_seed, - d_vars.wt_lo_cover, - d_vars.wt_depth_seed, - ) - end + site_ids = copy(d_vars.site_ids) + n_sites::Int64 = length(site_ids) + + # if no sites are available, abort + if n_sites == 0 + return ( + zeros(Int64, length(pref_seed_sites)), + zeros(Int64, length(pref_fog_sites)), + rankings_in, + ) + end + + n_iv_locs::Int64 = d_vars.n_site_int + priority_sites::Array{Int64} = d_vars.priority_sites[in.( + d_vars.priority_sites, [site_ids] + )] + priority_zones::Array{String} = d_vars.priority_zones + + zones = d_vars.zones[site_ids] + + # site_id, seeding rank, shading rank + rankings = Int64[site_ids zeros(Int64, n_sites) zeros(Int64, n_sites)] + + # calculate priority predecessor and zones criteria + predec = priority_predecessor_criteria(strong_pred, priority_sites, n_sites) + zones_crit = zones_criteria(priority_zones, zones, strong_pred, site_ids) + + mcda_func = methods_mcda[alg_ind] + leftover_space = vec(d_vars.leftover_space) + + A, filtered_sites = create_decision_matrix( + site_ids, + in_conn, + out_conn, + leftover_space[site_ids], + d_vars.dam_prob[site_ids], + d_vars.heat_stress_prob[site_ids], + d_vars.site_depth[site_ids], + predec, + zones_crit, + d_vars.risk_tol, + ) + if isempty(A) + # if all rows have nans and A is empty, abort mission + return ( + zeros(Int64, length(pref_seed_locs)), + zeros(Int64, length(pref_fog_locs)), + rankings_in, + ) + end + + # cap to number of sites left after risk filtration + n_iv_locs = min(n_iv_locs, length(A[:, 1])) + + # if seeding, create seeding specific decision matrix + if log_seed + SE, wse = create_seed_matrix( + A, + d_vars.wt_in_conn_seed, + d_vars.wt_out_conn_seed, + d_vars.wt_waves_seed, + d_vars.wt_heat_seed, + d_vars.wt_predec_seed, + d_vars.wt_zones_seed, + d_vars.wt_lo_cover, + d_vars.wt_depth_seed, + ) + end # if shading, create fogging specific decision matrix if log_fog @@ -669,90 +677,90 @@ function guided_site_selection( ) end - if log_seed && isempty(SE) - pref_seed_locs = zeros(Int64, n_iv_locs) - elseif log_seed - pref_seed_locs, s_order_seed = rank_sites!( - SE, wse, rankings, size(SE, 1), mcda_func, 2 - ) - - pref_seed_locs, rankings = constrain_reef_cluster( - d_vars.spatial_groups, - s_order_seed, - rankings, - d_vars.area_to_seed, - leftover_space, - n_iv_locs, - d_vars.max_members, - ) - end - - if log_fog && isempty(SH) - pref_fog_locs = zeros(Int64, n_iv_locs) - elseif log_fog - pref_fog_locs, s_order_fog = rank_sites!(SH, wsh, rankings, n_iv_locs, mcda_func, 3) - end - - # Replace with input rankings if seeding or shading rankings have not been filled - if sum(pref_seed_locs) == 0 - rankings[:, 2] .= rankings_in[:, 2] - end - - if sum(pref_fog_locs) == 0 - rankings[:, 3] .= rankings_in[:, 3] - end - - return pref_seed_locs, pref_fog_locs, rankings + if log_seed && isempty(SE) + pref_seed_locs = zeros(Int64, n_iv_locs) + elseif log_seed + pref_seed_locs, s_order_seed = rank_sites!( + SE, wse, rankings, size(SE, 1), mcda_func, 2 + ) + + pref_seed_locs, rankings = constrain_reef_cluster( + d_vars.spatial_groups, + s_order_seed, + rankings, + d_vars.area_to_seed, + leftover_space, + n_iv_locs, + d_vars.max_members, + ) + end + + if log_fog && isempty(SH) + pref_fog_locs = zeros(Int64, n_iv_locs) + elseif log_fog + pref_fog_locs, s_order_fog = rank_sites!(SH, wsh, rankings, n_iv_locs, mcda_func, 3) + end + + # Replace with input rankings if seeding or shading rankings have not been filled + if sum(pref_seed_locs) == 0 + rankings[:, 2] .= rankings_in[:, 2] + end + + if sum(pref_fog_locs) == 0 + rankings[:, 3] .= rankings_in[:, 3] + end + + return pref_seed_locs, pref_fog_locs, rankings end function priority_predecessor_criteria( - strong_pred::Vector{Int64}, priority_sites::Vector{<:Union{Int64, Any}}, n_sites::Int64 + strong_pred::Vector{Int64}, priority_sites::Vector{<:Union{Int64, Any}}, n_sites::Int64 ) - predec::Matrix{Float64} = zeros(n_sites, 3) - predec[:, 1:2] .= strong_pred - predprior = predec[in.(predec[:, 1], [priority_sites']), 2] - predprior = Int64[x for x in predprior if !isnan(x)] + predec::Matrix{Float64} = zeros(n_sites, 3) + predec[:, 1:2] .= strong_pred + predprior = predec[in.(predec[:, 1], [priority_sites']), 2] + predprior = Int64[x for x in predprior if !isnan(x)] - predec[predprior, 3] .= 1.0 + predec[predprior, 3] .= 1.0 - return predec + return predec end function zones_criteria( - priority_zones::Vector{<:Union{String, Any}}, - zones::Vector{String}, - strong_pred::Vector{Int64}, - site_ids::Vector{Int64}, + priority_zones::Vector{<:Union{String, Any}}, + zones::Vector{String}, + strong_pred::Vector{Int64}, + site_ids::Vector{Int64}, ) - n_sites = length(site_ids) - # for zones, find sites which are zones and strongest predecessors of sites in zones - zone_ids = intersect(priority_zones, unique(zones)) - zone_weights = mcda_normalize(collect(length(zone_ids):-1:1)) - zone_preds = zeros(n_sites) - zone_sites = zeros(n_sites) - - for (k::Int64, z_name::String) in enumerate(zone_ids) - # find sites which are strongest predecessors of sites in the zone - zone_preds_temp::Vector{Int64} = strong_pred[zones .== z_name] - for s::Int64 in unique(zone_preds_temp) - # for each predecessor site, add zone_weights * (no. of zone sites the site is a strongest predecessor for) - zone_preds[site_ids .== s] .= - zone_preds[site_ids .== s] .+ - (zone_weights[k] .* sum(zone_preds_temp .== s)) - end - # add zone_weights for sites in the zone (whether a strongest predecessor of a zone or not) - zone_sites[zones .== z_name] .= zone_weights[k] - end - - # add weights for strongest predecessors and zones to get zone criteria - return zone_preds .+ zone_sites + n_sites = length(site_ids) + # for zones, find sites which are zones and strongest predecessors of sites in zones + zone_ids = intersect(priority_zones, unique(zones)) + zone_weights = mcda_normalize(collect(length(zone_ids):-1:1)) + zone_preds = zeros(n_sites) + zone_sites = zeros(n_sites) + + for (k::Int64, z_name::String) in enumerate(zone_ids) + # find sites which are strongest predecessors of sites in the zone + zone_preds_temp::Vector{Int64} = strong_pred[zones .== z_name] + for s::Int64 in unique(zone_preds_temp) + # for each predecessor site, add zone_weights * (no. of zone sites the site is a strongest predecessor for) + zone_preds[site_ids .== s] .= + zone_preds[site_ids .== s] .+ + (zone_weights[k] .* sum(zone_preds_temp .== s)) + end + # add zone_weights for sites in the zone (whether a strongest predecessor of a zone or not) + zone_sites[zones .== z_name] .= zone_weights[k] + end + + # add weights for strongest predecessors and zones to get zone criteria + return zone_preds .+ zone_sites end """ - constrain_reef_cluster(reefs::Union{Vector{String}, Vector{Float64}}, - s_order::Matrix{Union{Float64, Int64}}, rankings::Matrix{Int64}, - area_to_seed::Float64, available_space::Vector{Float64}, n_iv_locs::Int64, - max_members::Int64)::Tuple{Vector{Int64}, Matrix{Int64}} + constrain_reef_cluster(reefs::Union{Vector{String}, Vector{Float64}}, + s_order::Matrix{Union{Float64, Int64}}, rankings::Matrix{Int64}, + area_to_seed::Float64, available_space::Vector{Float64}, n_iv_locs::Int64, + max_members::Int64)::Tuple{Vector{Int64}, Matrix{Int64}} # Arguments - `reefs` : List of the the reefs each location sits within @@ -767,109 +775,109 @@ end Tuple : - `pref_locs` : Vector, Indices of preferred intervention locations - `rankings` : Matrix[n_sites ⋅ 3] where columns are site_id, seeding_rank, shading_rank - Values of 0 indicate sites that were not considered +Values of 0 indicate sites that were not considered """ function constrain_reef_cluster( - reefs::Union{Vector{String}, Vector{Float64}}, - s_order::Matrix{Union{Float64, Int64}}, - rankings::Matrix{Int64}, - area_to_seed::Float64, - available_space::Vector{Float64}, - n_iv_locs::Int64, - max_members::Int64, + reefs::Union{Vector{String}, Vector{Float64}}, + s_order::Matrix{Union{Float64, Int64}}, + rankings::Matrix{Int64}, + area_to_seed::Float64, + available_space::Vector{Float64}, + n_iv_locs::Int64, + max_members::Int64 )::Tuple{Vector{Int64}, Matrix{Int64}} - # Get ordering of locations by their preferred ranks - loc_ordered_ids = s_order[:, 1] - - unique_reefs = reshape(unique(reefs), 1, length(unique(reefs))) - max_iters = length(loc_ordered_ids) - - local pref_locs::Vector{Int64} - local num_locs::Int64 - for _ in 1:max_iters - # If enough space for seeding corals, keep n_site_int, else expand as needed - num_locs = max( - findfirst(>=(area_to_seed), cumsum(available_space[loc_ordered_ids])), n_iv_locs - ) - - pref_locs = loc_ordered_ids[1:num_locs] - - # If the number of locations to select is larger than the minimum, don't use spatial - # clusters to constrain the selection - if num_locs .!= n_iv_locs - break - end - - pref_reefs = reefs[pref_locs] # Reefs that selected locations sit within - - # Number of times a reef appears within each location - reef_occurances = vec(sum(pref_reefs .== unique_reefs; dims = 1)) - - # If more than n_reefs locations in a reef, swap out the worst locations - reefs_swap = unique_reefs[(reef_occurances .> max_members)] - - if isempty(reefs_swap) - break - end - - replace_start = (max_members + 1) # starting id for locations to replace - - # Find locations in reefs which need replacement, and find the ids of lowest - # ranked locations in this set - locs_to_replace = vcat( - [ - pref_locs[pref_reefs .== reef][replace_start:end] for reef in reefs_swap - ]... - ) - - # Acceptable reefs to switch out for - reef_switch_ids = unique_reefs[(reef_occurances .+ 1) .<= max_members] - - # Remove locations to be replaced from preferred locations - pref_locs = setdiff(pref_locs, locs_to_replace) - - # Remove locations to be replaced from location order - loc_ordered_ids = setdiff(loc_ordered_ids, locs_to_replace) - - # Locations which can be added in place - alternate_loc_ids = setdiff(loc_ordered_ids, pref_locs) - - # Indices of the subset of locations which can be added which also sit within an - # allowed reef - add_locs_ind = findall( - dropdims( - any( - reshape(reefs[alternate_loc_ids], 1, length(reefs[alternate_loc_ids])) - .== - reef_switch_ids; dims = 1); dims = 1), - ) - - # New preferred location set - locs_to_add_inds = add_locs_ind[1:length(locs_to_replace)] - pref_locs = [pref_locs...; alternate_loc_ids[locs_to_add_inds]...] - - # Rearrange ranked location list into new preferred order - loc_ordered_ids = setdiff(loc_ordered_ids, pref_locs) - loc_ordered_ids = [pref_locs...; loc_ordered_ids...] - end - - # Reorder locations, placing any that were swapped out towards the bottom of the list. - removed_sites = setdiff(s_order[:, 1], loc_ordered_ids) - s_order[:, 1] .= [ - loc_ordered_ids[1:num_locs]..., - removed_sites..., - loc_ordered_ids[(num_locs + 1):end]..., - ] - - # Match by site_id and assign rankings to log - align_rankings!(rankings, s_order, 2) - return pref_locs, rankings + # Get ordering of locations by their preferred ranks + loc_ordered_ids = s_order[:, 1] + + unique_reefs = reshape(unique(reefs), 1, length(unique(reefs))) + max_iters = length(loc_ordered_ids) + + local pref_locs::Vector{Int64} + local num_locs::Int64 + for _ in 1:max_iters + # If enough space for seeding corals, keep n_site_int, else expand as needed + num_locs = max( + findfirst(>=(area_to_seed), cumsum(available_space[loc_ordered_ids])), n_iv_locs + ) + + pref_locs = loc_ordered_ids[1:num_locs] + + # If the number of locations to select is larger than the minimum, don't use spatial + # clusters to constrain the selection + if num_locs .!= n_iv_locs + break + end + + pref_reefs = reefs[pref_locs] # Reefs that selected locations sit within + + # Number of times a reef appears within each location + reef_occurances = vec(sum(pref_reefs .== unique_reefs; dims=1)) + + # If more than n_reefs locations in a reef, swap out the worst locations + reefs_swap = unique_reefs[(reef_occurances .> max_members)] + + if isempty(reefs_swap) + break + end + + replace_start = (max_members + 1) # starting id for locations to replace + + # Find locations in reefs which need replacement, and find the ids of lowest + # ranked locations in this set + locs_to_replace = vcat( + [ + pref_locs[pref_reefs .== reef][replace_start:end] for reef in reefs_swap + ]..., + ) + + # Acceptable reefs to switch out for + reef_switch_ids = unique_reefs[(reef_occurances .+ 1) .<= max_members] + + # Remove locations to be replaced from preferred locations + pref_locs = setdiff(pref_locs, locs_to_replace) + + # Remove locations to be replaced from location order + loc_ordered_ids = setdiff(loc_ordered_ids, locs_to_replace) + + # Locations which can be added in place + alternate_loc_ids = setdiff(loc_ordered_ids, pref_locs) + + # Indices of the subset of locations which can be added which also sit within an + # allowed reef + add_locs_ind = findall( + dropdims( + any( + reshape(reefs[alternate_loc_ids], 1, length(reefs[alternate_loc_ids])) + .== + reef_switch_ids; dims=1); dims=1), + ) + + # New preferred location set + locs_to_add_inds = add_locs_ind[1:length(locs_to_replace)] + pref_locs = [pref_locs...; alternate_loc_ids[locs_to_add_inds]...] + + # Rearrange ranked location list into new preferred order + loc_ordered_ids = setdiff(loc_ordered_ids, pref_locs) + loc_ordered_ids = [pref_locs...; loc_ordered_ids...] + end + + # Reorder locations, placing any that were swapped out towards the bottom of the list. + removed_sites = setdiff(s_order[:, 1], loc_ordered_ids) + s_order[:, 1] .= [ + loc_ordered_ids[1:num_locs]..., + removed_sites..., + loc_ordered_ids[(num_locs + 1):end]..., + ] + + # Match by site_id and assign rankings to log + align_rankings!(rankings, s_order, 2) + return pref_locs, rankings end """ - unguided_site_selection(pref_seed_locs::T, pref_fog_locs::T, seed_years::Bool, - fog_years::Bool, n_site_int::Int64, available_space::Vector{Float64}, depth::T) - ::Tuple{Vector,Vector} where {T<:Vector{Int64}} + unguided_site_selection(pref_seed_locs::T, pref_fog_locs::T, seed_years::Bool, + fog_years::Bool, n_site_int::Int64, available_space::Vector{Float64}, depth::T) + ::Tuple{Vector,Vector} where {T<:Vector{Int64}} Randomly select seed/fog site locations for the given year, constraining to sites with max. carrying capacity > 0. @@ -887,42 +895,42 @@ carrying capacity > 0. Tuple, of vectors indicating preferred seeding and shading locations by location index """ function unguided_site_selection( - pref_seed_locs::T, - pref_fog_locs::T, - seed_years::Bool, - fog_years::Bool, - n_site_int::Int64, - available_space::Vector{Float64}, - depth::T, + pref_seed_locs::T, + pref_fog_locs::T, + seed_years::Bool, + fog_years::Bool, + n_site_int::Int64, + available_space::Vector{Float64}, + depth::T, )::Tuple{Vector, Vector} where {T <: Vector{Int64}} - # Unguided deployment, seed/fog corals anywhere so long as available_space > 0.0 - # Only sites that have available space are considered, otherwise a zero-division error - # may occur later on. - - # Select sites (without replacement to avoid duplicate sites) - candidate_sites = depth[(available_space .> 0.0)[depth]] # Filter down to site ids to be considered - num_sites = length(candidate_sites) - s_n_site_int = num_sites < n_site_int ? num_sites : n_site_int - - if seed_years - pref_seed_locs = zeros(Int64, n_site_int) - pref_seed_locs[1:s_n_site_int] .= StatsBase.sample( - candidate_sites, s_n_site_int; replace = false - ) - end - - if fog_years - pref_fog_locs = zeros(Int64, n_site_int) - pref_fog_locs[1:s_n_site_int] .= StatsBase.sample( - candidate_sites, s_n_site_int; replace = false - ) - end - - return pref_seed_locs[pref_seed_locs .> 0], pref_fog_locs[pref_fog_locs .> 0] + # Unguided deployment, seed/fog corals anywhere so long as available_space > 0.0 + # Only sites that have available space are considered, otherwise a zero-division error + # may occur later on. + + # Select sites (without replacement to avoid duplicate sites) + candidate_sites = depth[(available_space .> 0.0)[depth]] # Filter down to site ids to be considered + num_sites = length(candidate_sites) + s_n_site_int = num_sites < n_site_int ? num_sites : n_site_int + + if seed_years + pref_seed_locs = zeros(Int64, n_site_int) + pref_seed_locs[1:s_n_site_int] .= StatsBase.sample( + candidate_sites, s_n_site_int; replace=false + ) + end + + if fog_years + pref_fog_locs = zeros(Int64, n_site_int) + pref_fog_locs[1:s_n_site_int] .= StatsBase.sample( + candidate_sites, s_n_site_int; replace=false + ) + end + + return pref_seed_locs[pref_seed_locs .> 0], pref_fog_locs[pref_fog_locs .> 0] end """ - summary_stat_env(env_layer::NamedDimsArray dims::Union{Symbol,Tuple{Symbol,Symbol}}; w=0.5)::Vector{Float64} + summary_stat_env(env_layer::NamedDimsArray dims::Union{Symbol,Tuple{Symbol,Symbol}}; w=0.5)::Vector{Float64} Calculates mean over specified dimensions plus half the standard deviation. @@ -934,20 +942,20 @@ Calculates mean over specified dimensions plus half the standard deviation. # Returns Weighted combination of mean and standard deviation of the projected environmental conditions (e.g., DHWs, wave stress, etc): - (μ * w) + (σ * (1 - w)) +(μ * w) + (σ * (1 - w)) """ function summary_stat_env( - env_layer::AbstractArray, - dims::Union{Int64, Symbol, Tuple{Symbol, Symbol}}; - w = 0.5 + env_layer::AbstractArray, + dims::Union{Int64, Symbol, Tuple{Symbol, Symbol}}; + w=0.5, )::Vector{Float64} - return vec( - (mean(env_layer; dims = dims) .* w) .+ (std(env_layer; dims = dims) .* (1.0 - w)) - ) + return vec( + (mean(env_layer; dims=dims) .* w) .+ (std(env_layer; dims=dims) .* (1.0 - w)) + ) end """ - within_depth_bounds(loc_depth::Vector{T}, depth_max::T, depth_min::T)::BitVector{T} where {T<:Float64} + within_depth_bounds(loc_depth::Vector{T}, depth_max::T, depth_min::T)::BitVector{T} where {T<:Float64} Determines whether a location is within the min/max depth bounds. Used to filter locations based on their depth for location selection. @@ -961,9 +969,9 @@ Used to filter locations based on their depth for location selection. BitVector, of logical indices indicating locations which satisfy the depth criteria. """ function within_depth_bounds( - loc_depth::Vector{T}, depth_max::T, depth_min::T + loc_depth::Vector{T}, depth_max::T, depth_min::T )::BitVector where {T <: Float64} - return (loc_depth .<= depth_max) .& (loc_depth .>= depth_min) + return (loc_depth .<= depth_max) .& (loc_depth .>= depth_min) end end diff --git a/src/decision/location_selection.jl b/src/decision/location_selection.jl index e8176aacb..e352b6367 100644 --- a/src/decision/location_selection.jl +++ b/src/decision/location_selection.jl @@ -6,7 +6,8 @@ using ADRIA: ResultSet, CriteriaWeights, connectivity_strength, relative_leftove component_params """ - _location_selection(domain::Domain, sum_cover::AbstractArray, mcda_vars::DMCDA_vars, guided::Int64)::Matrix + _location_selection(domain::Domain, sum_cover::AbstractArray, mcda_vars::DMCDA_vars, + guided::Int64)::Matrix Select locations for a given domain and criteria/weightings/thresholds, using a chosen MCDA method. @@ -21,48 +22,51 @@ MCDA method. Matrix[n_sites ⋅ 2], where columns hold seeding and shading ranks for each location. """ function _location_selection( - domain::Domain, sum_cover::AbstractArray, mcda_vars::DMCDA_vars, guided::Int64 + domain::Domain, sum_cover::AbstractArray, mcda_vars::DMCDA_vars, guided::Int64 )::Matrix - site_ids = mcda_vars.site_ids - n_sites = length(site_ids) - - # site_id, seeding rank, shading rank - rankingsin = [mcda_vars.site_ids zeros(Int64, n_sites) zeros(Int64, n_sites)] - - pref_seed_sites::Vector{Int64} = zeros(Int64, mcda_vars.n_site_int) - pref_fog_sites::Vector{Int64} = zeros(Int64, mcda_vars.n_site_int) - - # Determine connectivity strength - # Account for cases where no coral cover - in_conn, out_conn, strong_pred = connectivity_strength( - domain.TP_data .* site_k_area(domain), - vec(sum_cover), - similar(domain.TP_data) # tmp cache matrix - ) - - # Perform location selection for seeding and shading. - seed_true, fog_true = true, true - - (_, _, ranks) = guided_site_selection( - mcda_vars, - guided, - seed_true, - fog_true, - pref_seed_sites, - pref_fog_sites, - rankingsin, - in_conn[site_ids], - out_conn[site_ids], - strong_pred[site_ids], - ) - - return ranks[:, 2:3] + site_ids = mcda_vars.site_ids + n_sites = length(site_ids) + + # site_id, seeding rank, shading rank + rankingsin = [mcda_vars.site_ids zeros(Int64, n_sites) zeros(Int64, n_sites)] + + pref_seed_sites::Vector{Int64} = zeros(Int64, mcda_vars.n_site_int) + pref_fog_sites::Vector{Int64} = zeros(Int64, mcda_vars.n_site_int) + + # Determine connectivity strength + # Account for cases where no coral cover + in_conn, out_conn, strong_pred = connectivity_strength( + domain.TP_data .* site_k_area(domain), + vec(sum_cover), + similar(domain.TP_data), # tmp cache matrix + ) + + # Perform location selection for seeding and shading. + seed_true, fog_true = true, true + + (_, _, ranks) = guided_site_selection( + mcda_vars, + guided, + seed_true, + fog_true, + pref_seed_sites, + pref_fog_sites, + rankingsin, + in_conn[site_ids], + out_conn[site_ids], + strong_pred[site_ids], + ) + + return ranks[:, 2:3] end """ - rank_locations(domain::Domain, scenarios::DataFrame, sum_cover::NamedDimsArray, area_to_seed::Float64; target_seed_sites=nothing, target_fog_sites=nothing)::NamedDimsArray - rank_locations(domain::Domain,scenarios::DataFrame, sum_cover::NamedDimsArray, area_to_seed::Float64, agg_func::Function, - iv_type::Union{String,Int64}; target_seed_sites=nothing, target_fog_sites=nothing)::AbstractArray + rank_locations(domain::Domain, scenarios::DataFrame, sum_cover::NamedDimsArray, + area_to_seed::Float64; target_seed_sites=nothing, target_fog_sites=nothing) + ::NamedDimsArray + rank_locations(domain::Domain,scenarios::DataFrame, sum_cover::NamedDimsArray, + area_to_seed::Float64, agg_func::Function, iv_type::Union{String,Int64}; + target_seed_sites=nothing, target_fog_sites=nothing)::AbstractArray Return location ranks for a given domain and scenarios. @@ -70,10 +74,10 @@ Return location ranks for a given domain and scenarios. - `domain` : The geospatial domain locations were selected from - `scenarios` : Scenario specification - `sum_cover` : Matrix[n_scenarios ⋅ n_sites] containing the total relative coral cover at each - location, for each scenario +location, for each scenario - `area_to_seed` : Area of coral to be seeded at each time step in km² - `agg_func` : Aggregation function to apply, e.g `ranks_to_frequencies` or - `ranks_to_location_order` +`ranks_to_location_order` - `iv_type` : ID of intervention (1 = seeding, 2 = fogging) - `target_seed_sites` : list of candidate locations for seeding (indices) - `target_fog_sites` : list of candidate location to fog (indices) @@ -82,113 +86,115 @@ Return location ranks for a given domain and scenarios. Array[n_locations ⋅ 2 ⋅ n_scenarios], where columns hold seeding and shading ranks. """ function rank_locations( - domain::Domain, - scenarios::DataFrame, - sum_cover::NamedDimsArray, - area_to_seed::Float64; - target_seed_sites = nothing, - target_fog_sites = nothing, + domain::Domain, + scenarios::DataFrame, + sum_cover::NamedDimsArray, + area_to_seed::Float64; + target_seed_sites=nothing, + target_fog_sites=nothing, )::NamedDimsArray - n_locs = n_locations(domain) - k_area_locs = site_k_area(domain) - - ranks_store = NamedDimsArray( - zeros(n_locs, 2, nrow(scenarios)); - sites = 1:n_locs, - intervention = ["seed", "fog"], - scenarios = 1:nrow(scenarios), - ) - - dhw_scens = domain.dhw_scens - wave_scens = domain.wave_scens - - # Pre-calculate maximum depth to consider - target_dhw_scens = unique(scenarios[:, "dhw_scenario"]) - target_wave_scens = unique(scenarios[:, "wave_scenario"]) - - target_site_ids = Int64[] - if !isnothing(target_seed_sites) - append!(target_site_ids, target_seed_sites) - end - - if !isnothing(target_fog_sites) - append!(target_site_ids, target_fog_sites) - end - - if isnothing(target_seed_sites) && isnothing(target_fog_sites) - target_site_ids = collect(1:length(domain.site_ids)) - end - - leftover_space_scens = relative_leftover_space(sum_cover.data) .* k_area_locs' - - for (scen_idx, scen) in enumerate(eachrow(scenarios)) - depth_criteria = within_depth_bounds( - domain.site_data.depth_med, - scen.depth_min .+ scen.depth_offset, - scen.depth_min - ) - depth_priority = findall(depth_criteria) - - considered_sites = target_site_ids[findall(in(depth_priority), target_site_ids)] - mcda_vars_temp = DMCDA_vars( - domain, - scen, - considered_sites, - leftover_space_scens[scen_idx, :], - area_to_seed, - summary_stat_env(wave_scens[:, :, target_wave_scens], (:timesteps, :scenarios)), - summary_stat_env(dhw_scens[:, :, target_dhw_scens], (:timesteps, :scenarios)), - ) - - ranks_store(; scenarios = scen_idx, sites = considered_sites) .= _location_selection( - domain, - collect(sum_cover[scen_idx, :]), - mcda_vars_temp, - scen.guided - ) - end - - # Set filtered locations as n_locs+1 for consistency with time dependent ranks - ranks_store[ranks_store .== 0.0] .= length(domain.site_ids) + 1 - - return ranks_store + n_locs = n_locations(domain) + k_area_locs = site_k_area(domain) + + ranks_store = NamedDimsArray( + zeros(n_locs, 2, nrow(scenarios)); + sites=1:n_locs, + intervention=["seed", "fog"], + scenarios=1:nrow(scenarios), + ) + + dhw_scens = domain.dhw_scens + wave_scens = domain.wave_scens + + # Pre-calculate maximum depth to consider + target_dhw_scens = unique(scenarios[:, "dhw_scenario"]) + target_wave_scens = unique(scenarios[:, "wave_scenario"]) + + target_site_ids = Int64[] + if !isnothing(target_seed_sites) + append!(target_site_ids, target_seed_sites) + end + + if !isnothing(target_fog_sites) + append!(target_site_ids, target_fog_sites) + end + + if isnothing(target_seed_sites) && isnothing(target_fog_sites) + target_site_ids = collect(1:length(domain.site_ids)) + end + + leftover_space_scens = relative_leftover_space(sum_cover.data) .* k_area_locs' + + for (scen_idx, scen) in enumerate(eachrow(scenarios)) + depth_criteria = within_depth_bounds( + domain.site_data.depth_med, + scen.depth_min .+ scen.depth_offset, + scen.depth_min, + ) + depth_priority = findall(depth_criteria) + + considered_sites = target_site_ids[findall(in(depth_priority), target_site_ids)] + mcda_vars_temp = DMCDA_vars( + domain, + scen, + considered_sites, + leftover_space_scens[scen_idx, :], + area_to_seed, + summary_stat_env(wave_scens[:, :, target_wave_scens], (:timesteps, :scenarios)), + summary_stat_env(dhw_scens[:, :, target_dhw_scens], (:timesteps, :scenarios)) + ) + + ranks_store(; scenarios=scen_idx, sites=considered_sites) .= _location_selection( + domain, + collect(sum_cover[scen_idx, :]), + mcda_vars_temp, + scen.guided, + ) + end + + # Set filtered locations as n_locs+1 for consistency with time dependent ranks + ranks_store[ranks_store .== 0.0] .= length(domain.site_ids) + 1 + + return ranks_store end function rank_locations( - domain::Domain, - scenarios::DataFrame, - sum_cover::NamedDimsArray, - area_to_seed::Float64, - agg_func::Function, - iv_type::Union{Int64, Symbol, String}; - target_seed_sites = nothing, - target_fog_sites = nothing, + domain::Domain, + scenarios::DataFrame, + sum_cover::NamedDimsArray, + area_to_seed::Float64, + agg_func::Function, + iv_type::Union{Int64, Symbol, String}; + target_seed_sites=nothing, + target_fog_sites=nothing, )::AbstractArray - ranks = rank_locations( - domain, - scenarios, - sum_cover, - area_to_seed; - target_seed_sites = target_seed_sites, - target_fog_sites = target_fog_sites, - ) - local iv_id - try - iv_id = axiskeys(ranks, :intervention)[iv_type] - catch err - if !(err isa ArgumentError) - rethrow(err) - end - - iv_id = iv_type - end - - return agg_func(ranks(; intervention = iv_id)) + ranks = rank_locations( + domain, + scenarios, + sum_cover, + area_to_seed; + target_seed_sites=target_seed_sites, + target_fog_sites=target_fog_sites, + ) + local iv_id + try + iv_id = axiskeys(ranks, :intervention)[iv_type] + catch err + if !(err isa ArgumentError) + rethrow(err) + end + + iv_id = iv_type + end + + return agg_func(ranks(; intervention=iv_id)) end """ - ranks_to_frequencies(ranks::NamedDimsArray, n_ranks::Int64) - ranks_to_frequencies(ranks::NamedDimsArray{D,T,3,A}; n_ranks=length(ranks.sites), agg_func=x -> dropdims(sum(x; dims=:timesteps); dims=:timesteps),) where {D,T,A} - ranks_to_frequencies(ranks::NamedDimsArray{D,T,2,A}; n_ranks=length(ranks.sites), agg_func=nothing) where {D,T,A} + ranks_to_frequencies(ranks::NamedDimsArray, n_ranks::Int64) + ranks_to_frequencies(ranks::NamedDimsArray{D,T,3,A}; n_ranks=length(ranks.sites), + agg_func=x -> dropdims(sum(x; dims=:timesteps); dims=:timesteps),) where {D,T,A} + ranks_to_frequencies(ranks::NamedDimsArray{D,T,2,A}; n_ranks=length(ranks.sites), + agg_func=nothing) where {D,T,A} Returns the frequency with which each location was ranked across scenarios. Uses the results from `rank_locations()`. @@ -204,49 +210,50 @@ Note: By default, ranks are aggregated over time where `ranks` is a 3-dimensiona Frequency with which each location was selected for each rank. """ function ranks_to_frequencies(ranks::NamedDimsArray, n_ranks::Int64)::NamedDimsArray - dn = NamedDims.dimnames(ranks) - freq_dims = [n for n in dn if n != :scenarios] - dn_subset = vcat(freq_dims, [:ranks]) - freq_elements = vcat( - [1:size(ranks, n) for n in dn if n != :scenarios], - [1:size(ranks, :sites)] - ) - mn = ([size(ranks, k) for k in freq_dims]..., size(ranks, :sites)) - - rank_frequencies = NamedDimsArray(zeros(mn...); zip(dn_subset, freq_elements)...) - - for rank in 1:n_ranks - rank_frequencies[ranks = Int64(rank)] .= sum(ranks .== rank; dims = :scenarios)[scenarios = 1] - end - - return rank_frequencies + dn = NamedDims.dimnames(ranks) + freq_dims = [n for n in dn if n != :scenarios] + dn_subset = vcat(freq_dims, [:ranks]) + freq_elements = vcat( + [1:size(ranks, n) for n in dn if n != :scenarios], + [1:size(ranks, :sites)], + ) + mn = ([size(ranks, k) for k in freq_dims]..., size(ranks, :sites)) + + rank_frequencies = NamedDimsArray(zeros(mn...); zip(dn_subset, freq_elements)...) + + for rank in 1:n_ranks + rank_frequencies[ranks=Int64(rank)] .= sum(ranks .== rank; dims=:scenarios)[scenarios=1] + end + + return rank_frequencies end function ranks_to_frequencies( - ranks::NamedDimsArray{D, T, 3, A}; - n_ranks::Int64 = length(ranks.sites), - agg_func = nothing, + ranks::NamedDimsArray{D, T, 3, A}; + n_ranks::Int64=length(ranks.sites), + agg_func=nothing, )::NamedDimsArray where {D, T, A} - if !isnothing(agg_func) - return agg_func(ranks_to_frequencies(ranks, n_ranks)) - end + if !isnothing(agg_func) + return agg_func(ranks_to_frequencies(ranks, n_ranks)) + end - return ranks_to_frequencies(ranks, n_ranks) + return ranks_to_frequencies(ranks, n_ranks) end function ranks_to_frequencies( - ranks::NamedDimsArray{D, T, 2, A}; - n_ranks::Int64 = length(ranks.sites), - agg_func = nothing, + ranks::NamedDimsArray{D, T, 2, A}; + n_ranks::Int64=length(ranks.sites), + agg_func=nothing, )::NamedDimsArray where {D, T, A} - if !isnothing(agg_func) - return agg_func(ranks_to_frequencies(ranks, n_ranks)) - end + if !isnothing(agg_func) + return agg_func(ranks_to_frequencies(ranks, n_ranks)) + end - return ranks_to_frequencies(ranks, n_ranks) + return ranks_to_frequencies(ranks, n_ranks) end """ - location_selection_frequencies(ranks::NamedDimsArray; n_iv_locs::Int64=5) - location_selection_frequencies(iv_log::NamedDimsArray{D,T,4,A}; dims::Union{Symbol,Vector{Symbol}}=:coral_id) where {D,T,A} + location_selection_frequencies(ranks::NamedDimsArray; n_iv_locs::Int64=5) + location_selection_frequencies(iv_log::NamedDimsArray{D,T,4,A}; + dims::Union{Symbol,Vector{Symbol}}=:coral_id) where {D,T,A} Determines the count of times each location was selected for a specific intervention over a set of scenarios. @@ -261,32 +268,33 @@ set of scenarios. Number of times each location was selected for an intervention. """ function location_selection_frequencies( - ranks::NamedDimsArray; - n_iv_locs::Int64 = 5 + ranks::NamedDimsArray; + n_iv_locs::Int64=5, )::NamedDimsArray - ranks_frequencies = ranks_to_frequencies(ranks; n_ranks = n_iv_locs) - loc_count = sum(ranks_frequencies[ranks = 1:n_iv_locs]; dims = :ranks)[ranks = 1] + ranks_frequencies = ranks_to_frequencies(ranks; n_ranks=n_iv_locs) + loc_count = sum(ranks_frequencies[ranks=1:n_iv_locs]; dims=:ranks)[ranks=1] - return loc_count + return loc_count end function location_selection_frequencies( - iv_log::NamedDimsArray{D, T, 4, A}; - dims::Union{Symbol, Vector{Symbol}} = :coral_id + iv_log::NamedDimsArray{D, T, 4, A}; + dims::Union{Symbol, Vector{Symbol}}=:coral_id, )::NamedDimsArray where {D, T, A} - loc_count = dropdims( - sum(dropdims(sum(iv_log; dims = dims); dims = dims) .> 0; dims = :scenarios); - dims = :scenarios, - ) - return loc_count + loc_count = dropdims( + sum(dropdims(sum(iv_log; dims=dims); dims=dims) .> 0; dims=:scenarios); + dims=:scenarios, + ) + return loc_count end """Drop single dimensions.""" -_drop_single(x::AbstractMatrix) = dropdims(x; dims = (findall(size(x) .== 1)...,)) +_drop_single(x::AbstractMatrix) = dropdims(x; dims=(findall(size(x) .== 1)...,)) """ - selection_score(ranks::NamedDimsArray{D,T,3,A}; dims::Vector{Symbol}=[:scenarios, :timesteps]) where {D,T,A} - selection_score(ranks::NamedDimsArray{D,T,2,A}) where {D,T,A} - selection_score(ranks::NamedDimsArray, dims::Vector{Symbol}) + selection_score(ranks::NamedDimsArray{D,T,3,A}; + dims::Vector{Symbol}=[:scenarios, :timesteps]) where {D,T,A} + selection_score(ranks::NamedDimsArray{D,T,2,A}) where {D,T,A} + selection_score(ranks::NamedDimsArray, dims::Vector{Symbol}) Calculates score ∈ [0, 1], where 1 is the highest score possible, indicative of the relative desirability of each location. @@ -301,22 +309,22 @@ The score reflects the location ranking and frequency of attaining a high rank. Selection score """ function selection_score( - ranks::NamedDimsArray{D, T, 3, A}; - dims::Vector{Symbol} = [:scenarios, :timesteps] + ranks::NamedDimsArray{D, T, 3, A}; + dims::Vector{Symbol}=[:scenarios, :timesteps], )::NamedDimsArray where {D, T, A} - return _drop_single(selection_score(ranks, dims)) + return _drop_single(selection_score(ranks, dims)) end function selection_score( - ranks::NamedDimsArray{D, T, 2, A}; - dims::Vector{Symbol} = [:scenarios] + ranks::NamedDimsArray{D, T, 2, A}; + dims::Vector{Symbol}=[:scenarios], )::NamedDimsArray where {D, T, A} - return selection_score(ranks, dims) + return selection_score(ranks, dims) end function selection_score( - ranks::NamedDimsArray, - dims::Vector{Symbol}, + ranks::NamedDimsArray, + dims::Vector{Symbol}, )::NamedDimsArray - lowest_rank = maximum(ranks) # 1 is best rank, n_sites + 1 is worst rank + lowest_rank = maximum(ranks) # 1 is best rank, n_sites + 1 is worst rank selection_score = dropdims(sum(lowest_rank .- ranks; dims=dims); dims=dims[1]) return selection_score ./ ((lowest_rank - 1) * prod([size(ranks, d) for d in dims])) end @@ -342,9 +350,9 @@ function decision_matrices( rs::ResultSet, criteria_row::DataFrameRow, mcda_func::Function; - loc_coral_cover = rs.site_max_coral_cover::Vector{Float64}, - RCP::String = "45", - env_aggregation::Function = summary_stat_env, + loc_coral_cover=rs.site_max_coral_cover::Vector{Float64}, + RCP::String="45", + env_aggregation::Function=summary_stat_env, )::Dict site_ids = collect(1:length(rs.site_data.site_id)) site_names = rs.site_data.site_id @@ -352,10 +360,10 @@ function decision_matrices( leftover_space = relative_leftover_space(loc_coral_cover) .* site_k_area(rs) wave_stress = env_aggregation( - rs.wave_stats[RCP](; stat = "mean"), (:wave_scenario) + rs.wave_stats[RCP](; stat="mean"), (:wave_scenario) ) heat_stress = env_aggregation( - rs.dhw_stats[RCP](; stat = "mean"), (:dhw_scenario) + rs.dhw_stats[RCP](; stat="mean"), (:dhw_scenario) ) conn_data = rs.connectivity_data[RCP] # connectivity matrix @@ -403,14 +411,14 @@ function decision_matrices( criteria_row.seed_zone, criteria_row.seed_coral_cover_low, criteria_row.seed_depth; - filter_space = -1.0, + filter_space=-1.0, ) # Remove any criteria which are zeros for all sites selector = _filter_preferred(S) SE = NamedDimsArray( zeros(n_locs, length(wse[selector[2:end]])); - locations = site_names, - criteria = weights_seed_crit.fieldname[selector[2:end]], + locations=site_names, + criteria=weights_seed_crit.fieldname[selector[2:end]], ) # Only add entries for locations which were not filtered (the filtered locations will have zeros) @@ -431,8 +439,8 @@ function decision_matrices( selector = _filter_preferred(S) SH = NamedDimsArray( zeros(n_locs, length(wsh[selector[2:end]])); - locations = site_names, - criteria = weights_fog_crit.fieldname[selector[2:end]], + locations=site_names, + criteria=weights_fog_crit.fieldname[selector[2:end]], ) SH(site_names[Int.(S[:, 1])]) .= mcda_normalize(wsh[selector[2:end]])' .* mcda_normalize(S[:, selector][:, 2:end]) diff --git a/src/ecosystem/connectivity.jl b/src/ecosystem/connectivity.jl index 991449e15..b8abde1e4 100644 --- a/src/ecosystem/connectivity.jl +++ b/src/ecosystem/connectivity.jl @@ -1,26 +1,26 @@ """ -site_connectivity(file_loc::String, unique_site_ids::Vector{String}; - con_cutoff::Float64=1e-6, agg_func::Function=mean, swap::Bool=false)::NamedTuple + site_connectivity(file_loc::String, unique_site_ids::Vector{String}; + con_cutoff::Float64=1e-6, agg_func::Function=mean, swap::Bool=false)::NamedTuple Create transitional probability matrix indicating connectivity between sites, level of centrality, and the strongest predecessor for each site. NOTE: Transposes transitional probability matrix if `swap == true` - If multiple files are read in, this assumes all file rows/cols - follow the same order as the first file read in. + If multiple files are read in, this assumes all file rows/cols + follow the same order as the first file read in. # Examples ```julia - site_connectivity("MooreTPmean.csv", site_order) - site_connectivity("MooreTPmean.csv", site_order; con_cutoff=0.02, agg_func=mean, swap=true) + site_connectivity("MooreTPmean.csv", site_order) + site_connectivity("MooreTPmean.csv", site_order; con_cutoff=0.02, agg_func=mean, swap=true) ``` # Arguments - `file_loc` : Path to data file (or datasets) to load - If a folder, searches subfolders as well + If a folder, searches subfolders as well - `unique_site_ids` : Unique site ids in their expected order - `con_cutoff` : Percent thresholds of max for weak connections in - network (defined by user or defaults in `SimConstants`) + network (defined by user or defaults in `SimConstants`) - `agg_func` : Summary statistic to take (defaults to `mean`) - `swap` : Whether to transpose data (defaults to `false`) @@ -31,139 +31,139 @@ NamedTuple: - `site_ids` : ID of sites kept """ function site_connectivity( - file_loc::String, - unique_site_ids::Vector{String}; - con_cutoff::Float64 = 1e-6, - agg_func::Function = mean, - swap::Bool = false, + file_loc::String, + unique_site_ids::Vector{String}; + con_cutoff::Float64=1e-6, + agg_func::Function=mean, + swap::Bool=false, )::NamedTuple - if !isdir(file_loc) && !isfile(file_loc) - error("Could not find location: $(file_loc)") - end - - local extracted_TP::Matrix{Float64} - if isfile(file_loc) - con_files::Vector{String} = String[file_loc] - elseif isdir(file_loc) - # Get connectivity years available in data store - years::Vector{String} = getindex(first(walkdir(file_loc)), 2) - year_conn_fns = NamedTuple{Tuple(Symbol.(years))}([ - [joinpath.(first(fl), last(fl)) for fl in walkdir(joinpath(file_loc, yr))][1] - for yr in years - ]) - - con_files = vcat([x for x in values(year_conn_fns)]...) - - # Pre-allocate store - tmp_store::Vector{Matrix{Float64}} = Matrix{Float64}[] - - # Get average connectivity for each represented year - for yr in Symbol.(years) - if length(year_conn_fns[yr]) == 0 - # Skip empty directories - continue - end - - conn_data::Vector{Matrix{Float64}} = Matrix{Float64}[ - Matrix( - CSV.read( - fn, - DataFrame; - comment = "#", - missingstring = "NA", - transpose = swap, - types = Float64, - drop = [1], - ), - ) for fn in year_conn_fns[yr] - ] - - push!(tmp_store, agg_func(conn_data)) - end - - # Mean across all years - extracted_TP = agg_func(tmp_store) - end - - # Get site ids from first file - con_file1::DataFrame = CSV.read( - con_files[1], - DataFrame; - comment = "#", - missingstring = "NA", - transpose = swap, - types = Float64, - drop = [1], - ) - con_site_ids::Vector{String} = String[ - x[1] for x in split.(names(con_file1), "_v"; limit = 2) - ] - - if isfile(file_loc) - extracted_TP = Matrix{Float64}(con_file1) - end - - # Get IDs missing in con_site_ids - invalid_ids::Vector{String} = setdiff(con_site_ids, unique_site_ids) - - # Get IDs missing in site_order - append!(invalid_ids, setdiff(unique_site_ids, con_site_ids)) - - # Identify IDs that do not appear in `invalid_ids` - valid_ids::Vector{String} = [x ∉ invalid_ids ? x : missing for x in unique_site_ids] - valid_idx = .!ismissing.(valid_ids) - - # Align IDs - unique_site_ids::Vector{String} = coalesce(unique_site_ids[valid_idx]) - site_order = [findfirst(c_id .== con_site_ids) for c_id in unique_site_ids] - - if length(invalid_ids) > 0 - if length(invalid_ids) >= length(con_site_ids) - error("All sites appear to be missing from data set. Aborting.") - end - - @warn "The following sites (n=$(length(invalid_ids))) were not found in site_ids and were removed:\n$(invalid_ids)" - end - - # Reorder all data into expected form - extracted_TP = extracted_TP[site_order, site_order] - - if con_cutoff > 0.0 - extracted_TP[extracted_TP .< con_cutoff] .= 0.0 - end - - TP_base = NamedDimsArray( - extracted_TP; Source = unique_site_ids, Receiving = unique_site_ids - ) - @assert all(0.0 .<= TP_base .<= 1.0) "Connectivity data not scaled between 0 - 1" - - return (TP_base = TP_base, truncated = invalid_ids, site_ids = unique_site_ids) + if !isdir(file_loc) && !isfile(file_loc) + error("Could not find location: $(file_loc)") + end + + local extracted_TP::Matrix{Float64} + if isfile(file_loc) + con_files::Vector{String} = String[file_loc] + elseif isdir(file_loc) + # Get connectivity years available in data store + years::Vector{String} = getindex(first(walkdir(file_loc)), 2) + year_conn_fns = NamedTuple{Tuple(Symbol.(years))}([ + [joinpath.(first(fl), last(fl)) for fl in walkdir(joinpath(file_loc, yr))][1] + for yr in years + ]) + + con_files = vcat([x for x in values(year_conn_fns)]...) + + # Pre-allocate store + tmp_store::Vector{Matrix{Float64}} = Matrix{Float64}[] + + # Get average connectivity for each represented year + for yr in Symbol.(years) + if length(year_conn_fns[yr]) == 0 + # Skip empty directories + continue + end + + conn_data::Vector{Matrix{Float64}} = Matrix{Float64}[ + Matrix( + CSV.read( + fn, + DataFrame; + comment="#", + missingstring="NA", + transpose=swap, + types=Float64, + drop=[1], + ), + ) for fn in year_conn_fns[yr] + ] + + push!(tmp_store, agg_func(conn_data)) + end + + # Mean across all years + extracted_TP = agg_func(tmp_store) + end + + # Get site ids from first file + con_file1::DataFrame = CSV.read( + con_files[1], + DataFrame; + comment="#", + missingstring="NA", + transpose=swap, + types=Float64, + drop=[1], + ) + con_site_ids::Vector{String} = String[ + x[1] for x in split.(names(con_file1), "_v"; limit=2) + ] + + if isfile(file_loc) + extracted_TP = Matrix{Float64}(con_file1) + end + + # Get IDs missing in con_site_ids + invalid_ids::Vector{String} = setdiff(con_site_ids, unique_site_ids) + + # Get IDs missing in site_order + append!(invalid_ids, setdiff(unique_site_ids, con_site_ids)) + + # Identify IDs that do not appear in `invalid_ids` + valid_ids::Vector{String} = [x ∉ invalid_ids ? x : missing for x in unique_site_ids] + valid_idx = .!ismissing.(valid_ids) + + # Align IDs + unique_site_ids::Vector{String} = coalesce(unique_site_ids[valid_idx]) + site_order = [findfirst(c_id .== con_site_ids) for c_id in unique_site_ids] + + if length(invalid_ids) > 0 + if length(invalid_ids) >= length(con_site_ids) + error("All sites appear to be missing from data set. Aborting.") + end + + @warn "The following sites (n=$(length(invalid_ids))) were not found in site_ids and were removed:\n$(invalid_ids)" + end + + # Reorder all data into expected form + extracted_TP = extracted_TP[site_order, site_order] + + if con_cutoff > 0.0 + extracted_TP[extracted_TP .< con_cutoff] .= 0.0 + end + + TP_base = NamedDimsArray( + extracted_TP; Source=unique_site_ids, Receiving=unique_site_ids + ) + @assert all(0.0 .<= TP_base .<= 1.0) "Connectivity data not scaled between 0 - 1" + + return (TP_base=TP_base, truncated=invalid_ids, site_ids=unique_site_ids) end function site_connectivity( - file_loc::String, - unique_site_ids::Vector{Union{Missing, String}}; - con_cutoff::Float64 = 1e-6, - agg_func::Function = mean, - swap::Bool = false, + file_loc::String, + unique_site_ids::Vector{Union{Missing, String}}; + con_cutoff::Float64=1e-6, + agg_func::Function=mean, + swap::Bool=false, )::NamedTuple - # Remove any row marked as missing - if any(ismissing.(unique_site_ids)) - @warn "Removing entries marked as `missing` from provided list of sites." - unique_site_ids::Vector{String} = - String.(unique_site_ids[.!ismissing.(unique_site_ids)]) - else - unique_site_ids = String.(unique_site_ids) - end - - return site_connectivity( - file_loc, unique_site_ids; con_cutoff = con_cutoff, agg_func = agg_func, swap = swap - ) + # Remove any row marked as missing + if any(ismissing.(unique_site_ids)) + @warn "Removing entries marked as `missing` from provided list of sites." + unique_site_ids::Vector{String} = + String.(unique_site_ids[.!ismissing.(unique_site_ids)]) + else + unique_site_ids = String.(unique_site_ids) + end + + return site_connectivity( + file_loc, unique_site_ids; con_cutoff=con_cutoff, agg_func=agg_func, swap=swap + ) end """ - connectivity_strength(TP_base::AbstractArray)::NamedTuple - connectivity_strength(area_weighted_TP::AbstractMatrix{Float64}, cover::Vector{Float64}, TP_cache::AbstractMatrix{Float64})::NamedTuple + connectivity_strength(TP_base::AbstractArray)::NamedTuple + connectivity_strength(area_weighted_TP::AbstractMatrix{Float64}, cover::Vector{Float64}, TP_cache::AbstractMatrix{Float64})::NamedTuple Create in/out degree centralities for all nodes, and vector of their strongest predecessors. @@ -180,48 +180,48 @@ NamedTuple: - `strongest_predecessor` : strongest predecessor for each site """ function connectivity_strength( - TP_base::AbstractMatrix{<:Union{Float32, Float64}} + TP_base::AbstractMatrix{<:Union{Float32, Float64}} )::NamedTuple - g = SimpleDiGraph(TP_base) - - # Measure centrality based on number of incoming connections - C1 = indegree_centrality(g) - C2 = outdegree_centrality(g) - - # For each node, find strongly connected predecessor (by number of connections) - strong_pred = zeros(Int64, size(C1)...) - for v_id in vertices(g) - incoming = inneighbors(g, v_id) - - if length(incoming) > 0 - # For each incoming connection, find the one with most "in" - # connections themselves - in_conns = Int64[length(inneighbors(g, in_id)) for in_id in incoming] - - # Find index of predecessor with most connections - # (use `first` to get the first match in case of a tie) - most_conns = maximum(in_conns) - idx = first(findall(in_conns .== most_conns)) - strong_pred[v_id] = incoming[idx] - else - strong_pred[v_id] = 0 - end - end - - return (in_conn = C1, out_conn = C2, strongest_predecessor = strong_pred) + g = SimpleDiGraph(TP_base) + + # Measure centrality based on number of incoming connections + C1 = indegree_centrality(g) + C2 = outdegree_centrality(g) + + # For each node, find strongly connected predecessor (by number of connections) + strong_pred = zeros(Int64, size(C1)...) + for v_id in vertices(g) + incoming = inneighbors(g, v_id) + + if length(incoming) > 0 + # For each incoming connection, find the one with most "in" + # connections themselves + in_conns = Int64[length(inneighbors(g, in_id)) for in_id in incoming] + + # Find index of predecessor with most connections + # (use `first` to get the first match in case of a tie) + most_conns = maximum(in_conns) + idx = first(findall(in_conns .== most_conns)) + strong_pred[v_id] = incoming[idx] + else + strong_pred[v_id] = 0 + end + end + + return (in_conn=C1, out_conn=C2, strongest_predecessor=strong_pred) end function connectivity_strength( - area_weighted_TP::AbstractMatrix{Float64}, - cover::Vector{<:Union{Float32, Float64}}, - TP_cache::AbstractMatrix{<:Union{Float32, Float64}}, + area_weighted_TP::AbstractMatrix{Float64}, + cover::Vector{<:Union{Float32, Float64}}, + TP_cache::AbstractMatrix{<:Union{Float32, Float64}}, )::NamedTuple - # Accounts for cases where there is no coral cover - TP_cache .= (area_weighted_TP .* cover) - max_TP = maximum(TP_cache) - if max_TP > 0.0 - TP_cache .= TP_cache ./ max_TP - end + # Accounts for cases where there is no coral cover + TP_cache .= (area_weighted_TP .* cover) + max_TP = maximum(TP_cache) + if max_TP > 0.0 + TP_cache .= TP_cache ./ max_TP + end - return connectivity_strength(TP_cache) + return connectivity_strength(TP_cache) end diff --git a/src/io/ResultSet.jl b/src/io/ResultSet.jl index b0bfcb044..46a85ee41 100644 --- a/src/io/ResultSet.jl +++ b/src/io/ResultSet.jl @@ -29,13 +29,17 @@ struct ResultSet{T1, T2, A, B, C, D, G, D1, D2, D3, DF} connectivity_data::D site_data::G - # raw::AbstractArray - outcomes::D2 - ranks::A - seed_log::B # Values stored in m^2 - fog_log::C # Reduction in bleaching mortality (0.0 - 1.0) - shade_log::C # Reduction in bleaching mortality (0.0 - 1.0) - coral_dhw_tol_log::D3 + inputs::G + sim_constants::D1 + model_spec::DF + + # raw::AbstractArray + outcomes::D2 + ranks::A + seed_log::B # Values stored in m^2 + fog_log::C # Reduction in bleaching mortality (0.0 - 1.0) + shade_log::C # Reduction in bleaching mortality (0.0 - 1.0) + coral_dhw_tol_log::D3 end function ResultSet( diff --git a/src/io/result_io.jl b/src/io/result_io.jl index 9f296223d..1f0c0654e 100644 --- a/src/io/result_io.jl +++ b/src/io/result_io.jl @@ -1,17 +1,17 @@ -const COMPRESSOR = Zarr.BloscCompressor(; cname = "zstd", clevel = 2, shuffle = true) +const COMPRESSOR = Zarr.BloscCompressor(; cname="zstd", clevel=2, shuffle=true) function get_geometry(df::DataFrame) - if columnindex(df, :geometry) > 0 - return df.geometry - elseif columnindex(df, :geom) > 0 - return df.geom - end + if columnindex(df, :geometry) > 0 + return df.geometry + elseif columnindex(df, :geom) > 0 + return df.geom + end return error("No geometry data found") end """ - centroids(df::DataFrame) + centroids(df::DataFrame) Extract and return long/lat from a GeoDataFrame. @@ -30,7 +30,7 @@ function centroids(ds::Union{Domain, ResultSet})::Vector{Tuple{Float64, Float64} end """ - summarize_env_data(data_cube::AbstractArray) + summarize_env_data(data_cube::AbstractArray) Summarize environmental data layers (mean and standard deviation). @@ -40,13 +40,13 @@ Matrix{Float64, 2}, of mean and standard deviation for each environmental scenar function summarize_env_data(data::AbstractArray)::Array{Float64} # TODO: Update once stats_store::Array{Float64} = zeros(2, size(data, 3), size(data, 2)) - stats_store[1, :, :] .= dropdims(mean(data; dims = 1); dims = 1)' - stats_store[2, :, :] .= dropdims(std(data; dims = 1); dims = 1)' + stats_store[1, :, :] .= dropdims(mean(data; dims=1); dims=1)' + stats_store[2, :, :] .= dropdims(std(data; dims=1); dims=1)' return stats_store end """ - store_env_summary(data_cube::AbstractArray, type::String, file_loc::String, compressor::Zarr.Compressor) + store_env_summary(data_cube::AbstractArray, type::String, file_loc::String, compressor::Zarr.Compressor) Retrieve summary statistics matrices from DataFrames of dhws and waves. Produce summary statistics (mean/std) for given data cube saved to a Zarr data store. @@ -76,19 +76,19 @@ function store_env_summary( stats_store = zcreate( Float32, (2, size(stats, 2), size(stats, 3))...; - fill_value = nothing, fill_as_missing = false, - path = joinpath(file_loc, rcp), - attrs = Dict( + fill_value=nothing, fill_as_missing=false, + path=joinpath(file_loc, rcp), + attrs=Dict( :structure => ("stat", type, "locations"), :stats => ["mean", "std"], :scenarios => string.(1:size(stats, 2)), :locations => string.(1:size(stats, 3)), :rcp => rcp), - compressor = compressor) + compressor=compressor) - stats_store[:, :, :] .= stats + stats_store[:, :, :] .= stats - return stats_store + return stats_store end """ @@ -111,19 +111,19 @@ function store_conn( conn_data::NamedDimsArray, file_loc::String, rcp::String, - compressor::Zarr.Compressor + compressor::Zarr.Compressor, )::ZArray conn_store = zcreate( Float32, size(conn_data)...; - fill_value = nothing, fill_as_missing = false, - path = joinpath(file_loc, rcp), - attrs = Dict( + fill_value=nothing, fill_as_missing=false, + path=joinpath(file_loc, rcp), + attrs=Dict( :structure => ("Source", "Receiving"), :Source => conn_data.Source, :Receiving => conn_data.Receiving, :rcp => rcp), - compressor = compressor) + compressor=compressor) conn_store[:, :] .= Matrix(conn_data) return conn_store @@ -168,7 +168,7 @@ function scenario_attributes( :site_centroids => centroids, ) - return attrs + return attrs end function scenario_attributes(domain::Domain, param_df::DataFrame) return scenario_attributes(domain.name, domain.RCP, names(param_df), @@ -179,7 +179,7 @@ function scenario_attributes(domain::Domain, param_df::DataFrame) end """ - setup_logs(z_store, unique_sites, n_scens, tf, n_sites) + setup_logs(z_store, unique_sites, n_scens, tf, n_sites) - `z_store` : ZArray - `unique_sites` : Unique site ids @@ -190,9 +190,9 @@ end Note: This setup relies on hardcoded values for number of species represented and seeded. """ function setup_logs(z_store, unique_sites, n_scens, tf, n_sites) - # Set up logs for site ranks, seed/fog log - zgroup(z_store, LOG_GRP) - log_fn::String = joinpath(z_store.folder, LOG_GRP) + # Set up logs for site ranks, seed/fog log + zgroup(z_store, LOG_GRP) + log_fn::String = joinpath(z_store.folder, LOG_GRP) # Store ranked sites rank_dims::Tuple{Int64, Int64, Int64, Int64} = (tf, n_sites, 2, n_scens) # sites, site id and rank, no. scenarios @@ -209,12 +209,12 @@ function setup_logs(z_store, unique_sites, n_scens, tf, n_sites) ranks = zcreate( Float32, rank_dims...; - name = "rankings", - fill_value = nothing, - fill_as_missing = false, - path = log_fn, - chunks = (rank_dims[1:3]..., 1), - attrs = attrs, + name="rankings", + fill_value=nothing, + fill_as_missing=false, + path=log_fn, + chunks=(rank_dims[1:3]..., 1), + attrs=attrs, ) attrs = Dict( @@ -224,51 +224,51 @@ function setup_logs(z_store, unique_sites, n_scens, tf, n_sites) seed_log = zcreate( Float32, seed_dims...; - name = "seed", - fill_value = nothing, - fill_as_missing = false, - path = log_fn, - chunks = (seed_dims[1:3]..., 1), - attrs = attrs, + name="seed", + fill_value=nothing, + fill_as_missing=false, + path=log_fn, + chunks=(seed_dims[1:3]..., 1), + attrs=attrs, ) attrs = Dict( :structure => ("timesteps", "sites", "scenarios"), - :unique_site_ids => unique_sites + :unique_site_ids => unique_sites, ) fog_log = zcreate( Float32, fog_dims...; - name = "fog", - fill_value = nothing, - fill_as_missing = false, - path = log_fn, - chunks = (fog_dims[1:2]..., 1), - attrs = attrs, + name="fog", + fill_value=nothing, + fill_as_missing=false, + path=log_fn, + chunks=(fog_dims[1:2]..., 1), + attrs=attrs, ) shade_log = zcreate( Float32, fog_dims...; - name = "shade", - fill_value = nothing, - fill_as_missing = false, - path = log_fn, - chunks = (fog_dims[1:2]..., 1), - attrs = attrs, + name="shade", + fill_value=nothing, + fill_as_missing=false, + path=log_fn, + chunks=(fog_dims[1:2]..., 1), + attrs=attrs, ) - # TODO: Could log bleaching mortality - # attrs = Dict( - # :structure => ("timesteps", "sites", "scenarios"), - # :unique_site_ids => unique_sites, - # ) - # bleach_log = zcreate(Float32, fog_dims...; name="bleaching_mortality", fill_value=nothing, fill_as_missing=false, path=log_fn, chunks=(fog_dims[1:2]..., 1), attrs=attrs) + # TODO: Could log bleaching mortality + # attrs = Dict( + # :structure => ("timesteps", "sites", "scenarios"), + # :unique_site_ids => unique_sites, + # ) + # bleach_log = zcreate(Float32, fog_dims...; name="bleaching_mortality", fill_value=nothing, fill_as_missing=false, path=log_fn, chunks=(fog_dims[1:2]..., 1), attrs=attrs) - # Log for coral DHW thresholds - attrs = Dict( - :structure => ("timesteps", "species", "sites", "scenarios"), - :unique_site_ids => unique_sites, - ) + # Log for coral DHW thresholds + attrs = Dict( + :structure => ("timesteps", "species", "sites", "scenarios"), + :unique_site_ids => unique_sites, + ) # 36 is the number of species/groups represented local coral_dhw_log @@ -279,12 +279,12 @@ function setup_logs(z_store, unique_sites, n_scens, tf, n_sites) 36, n_sites, n_scens; - name = "coral_dhw_log", - fill_value = nothing, - fill_as_missing = false, - path = log_fn, - chunks = (tf, 36, n_sites, 1), - attrs = attrs, + name="coral_dhw_log", + fill_value=nothing, + fill_as_missing=false, + path=log_fn, + chunks=(tf, 36, n_sites, 1), + attrs=attrs, ) else coral_dhw_log = zcreate( @@ -293,20 +293,20 @@ function setup_logs(z_store, unique_sites, n_scens, tf, n_sites) 36, 1, n_scens; - name = "coral_dhw_log", - fill_value = 0.0, - fill_as_missing = false, - path = log_fn, - chunks = (tf, 36, 1, 1), - attrs = attrs, + name="coral_dhw_log", + fill_value=0.0, + fill_as_missing=false, + path=log_fn, + chunks=(tf, 36, 1, 1), + attrs=attrs, ) end - return ranks, seed_log, fog_log, shade_log, coral_dhw_log + return ranks, seed_log, fog_log, shade_log, coral_dhw_log end """ - setup_result_store!(domain::Domain, param_df::DataFrame) + setup_result_store!(domain::Domain, param_df::DataFrame) Sets up an on-disk result store. @@ -351,11 +351,11 @@ function setup_result_store!(domain::Domain, scen_spec::DataFrame)::Tuple string(now()), "T" => "_", ":" => "_", "." => "_" ) - # Collect defined RCPs - rcps = string.(unique(scen_spec, "RCP")[!, "RCP"]) - log_location::String = _result_location(domain, rcps) + # Collect defined RCPs + rcps = string.(unique(scen_spec, "RCP")[!, "RCP"]) + log_location::String = _result_location(domain, rcps) - z_store = DirectoryStore(log_location) + z_store = DirectoryStore(log_location) # Store copy of inputs input_loc::String = joinpath(z_store.folder, INPUTS) @@ -366,28 +366,28 @@ function setup_result_store!(domain::Domain, scen_spec::DataFrame)::Tuple mkdir(joinpath(log_location, "site_data")) geo_fn = joinpath(log_location, "site_data", basename(attrs[:name]) * ".gpkg") try - GDF.write(geo_fn, domain.site_data; driver = "geojson") + GDF.write(geo_fn, domain.site_data; driver="geojson") catch err if !isa(err, ArgumentError) rethrow(err) end - GDF.write(geo_fn, domain.site_data; geom_columns = (:geom,), driver = "geojson") + GDF.write(geo_fn, domain.site_data; geom_columns=(:geom,), driver="geojson") end - # Store copy of model specification as CSV - mkdir(joinpath(log_location, "model_spec")) - model_spec(domain, joinpath(log_location, "model_spec", "model_spec.csv")) + # Store copy of model specification as CSV + mkdir(joinpath(log_location, "model_spec")) + model_spec(domain, joinpath(log_location, "model_spec", "model_spec.csv")) # Create store for scenario spec inputs = zcreate( Float64, input_dims...; - fill_value = -9999.0, - fill_as_missing = false, - path = input_loc, - chunks = input_dims, - attrs = attrs, + fill_value=-9999.0, + fill_as_missing=false, + path=input_loc, + chunks=input_dims, + attrs=attrs, ) # Store table of factor values @@ -395,23 +395,23 @@ function setup_result_store!(domain::Domain, scen_spec::DataFrame)::Tuple tf, n_sites, _ = size(domain.dhw_scens) - # Set up stores for each metric - function dim_lengths(metric_structure) - dl = [] - for d in metric_structure - if d == "timesteps" - append!(dl, tf) - elseif d == "species" - append!(dl, domain.coral_growth.n_species) - elseif d == "sites" - append!(dl, n_sites) - elseif d == "scenarios" - append!(dl, nrow(scen_spec)) - end - end - - return (dl...,) - end + # Set up stores for each metric + function dim_lengths(metric_structure) + dl = [] + for d in metric_structure + if d == "timesteps" + append!(dl, tf) + elseif d == "species" + append!(dl, domain.coral_growth.n_species) + elseif d == "sites" + append!(dl, n_sites) + elseif d == "scenarios" + append!(dl, nrow(scen_spec)) + end + end + + return (dl...,) + end met_names = [:relative_cover, :relative_shelter_volume, :absolute_shelter_volume, :relative_juveniles, :juvenile_indicator, :coral_evenness, @@ -426,11 +426,11 @@ function setup_result_store!(domain::Domain, scen_spec::DataFrame)::Tuple # Create stores for each metric stores = [ zcreate(Float32, result_dims...; - fill_value = nothing, fill_as_missing = false, - path = joinpath(z_store.folder, RESULTS, string(m_name)), - chunks = (result_dims[1:(end - 1)]..., 1), - attrs = dim_struct, - compressor = COMPRESSOR) + fill_value=nothing, fill_as_missing=false, + path=joinpath(z_store.folder, RESULTS, string(m_name)), + chunks=(result_dims[1:(end - 1)]..., 1), + attrs=dim_struct, + compressor=COMPRESSOR) for m_name in met_names ] @@ -438,13 +438,13 @@ function setup_result_store!(domain::Domain, scen_spec::DataFrame)::Tuple push!( stores, zcreate(Float32, (result_dims[1], 6, result_dims[3])...; - fill_value = nothing, fill_as_missing = false, - path = joinpath(z_store.folder, RESULTS, "relative_taxa_cover"), - chunks = ((result_dims[1], 6)..., 1), - attrs = Dict( + fill_value=nothing, fill_as_missing=false, + path=joinpath(z_store.folder, RESULTS, "relative_taxa_cover"), + chunks=((result_dims[1], 6)..., 1), + attrs=Dict( :structure => string.(ADRIA.metrics.relative_taxa_cover.dims) ), - compressor = COMPRESSOR)) + compressor=COMPRESSOR)) push!(met_names, :relative_taxa_cover) # dhw and wave zarrays @@ -481,7 +481,7 @@ function setup_result_store!(domain::Domain, scen_spec::DataFrame)::Tuple domain.TP_data, joinpath(z_store.folder, "connectivity"), rcp, - COMPRESSOR + COMPRESSOR, ), ) @@ -519,7 +519,7 @@ function setup_result_store!(domain::Domain, scen_spec::DataFrame)::Tuple end """ - _recreate_stats_from_store(zarr_store_path::String)::Dict{String, AbstractArray} + _recreate_stats_from_store(zarr_store_path::String)::Dict{String, AbstractArray} Recreate data structure holding RCP summary statistics from Zarr store. """ @@ -529,7 +529,7 @@ function _recreate_stats_from_store(zarr_store_path::String)::Dict{String, Abstr stat_d = Dict{String, AbstractArray}() for (i, sd) in enumerate(rcp_stat_dirs) - store = zopen(sd; fill_as_missing = false) + store = zopen(sd; fill_as_missing=false) dim_names = Symbol.(store.attrs["structure"]) stats = string.(store.attrs["stats"]) @@ -537,13 +537,13 @@ function _recreate_stats_from_store(zarr_store_path::String)::Dict{String, Abstr loc_ids = string.(store.attrs["locations"]) stat_set = NamedDimsArray( store[:, :, :]; - zip(dim_names, [stats, scenario_ids, loc_ids])... + zip(dim_names, [stats, scenario_ids, loc_ids])..., ) - stat_d[rcp_dirs[i]] = stat_set - end + stat_d[rcp_dirs[i]] = stat_set + end - return stat_d + return stat_d end """ @@ -557,14 +557,14 @@ function _recreate_conn_from_store(zarr_store_path::String)::Dict{String, Abstra conn_d = Dict{String, AbstractArray}() for (i, sd) in enumerate(rcp_stat_dirs) - store = zopen(sd; fill_as_missing = false) + store = zopen(sd; fill_as_missing=false) dim_names = Symbol.(store.attrs["structure"]) source_ids = string.(store.attrs["Source"]) recieving_ids = string.(store.attrs["Receiving"]) conn_set = NamedDimsArray( store[:, :]; - zip(dim_names, [source_ids, recieving_ids])... + zip(dim_names, [source_ids, recieving_ids])..., ) conn_d[rcp_dirs[i]] = conn_set @@ -574,18 +574,18 @@ function _recreate_conn_from_store(zarr_store_path::String)::Dict{String, Abstra end """ - load_results(result_loc::String)::ResultSet - load_results(domain::Domain)::ResultSet + load_results(result_loc::String)::ResultSet + load_results(domain::Domain)::ResultSet Create interface to a given Zarr result set. """ function load_results(result_loc::String)::ResultSet - !isdir(result_loc) ? error("Not a directory: $(result_loc)") : nothing + !isdir(result_loc) ? error("Not a directory: $(result_loc)") : nothing # Read in results local raw_set try - raw_set = zopen(joinpath(result_loc, RESULTS); fill_as_missing = false) + raw_set = zopen(joinpath(result_loc, RESULTS); fill_as_missing=false) catch err if !occursin("ArgumentError", sprint(showerror, err)) rethrow(err) @@ -593,8 +593,8 @@ function load_results(result_loc::String)::ResultSet end # Read in logs - log_set = zopen(joinpath(result_loc, LOG_GRP); fill_as_missing = false) - input_set = zopen(joinpath(result_loc, INPUTS); fill_as_missing = false) + log_set = zopen(joinpath(result_loc, LOG_GRP); fill_as_missing=false) + input_set = zopen(joinpath(result_loc, INPUTS); fill_as_missing=false) dhw_stat_set = _recreate_stats_from_store(joinpath(result_loc, ENV_STATS, "dhw")) wave_stat_set = _recreate_stats_from_store(joinpath(result_loc, ENV_STATS, "wave")) @@ -605,21 +605,21 @@ function load_results(result_loc::String)::ResultSet result_loc = result_loc[1:(end - 1)] end - # Spatial data - site_data = GDF.read(joinpath(result_loc, SITE_DATA, input_set.attrs["name"] * ".gpkg")) - sort!(site_data, [Symbol(input_set.attrs["unique_site_id_col"])]) + # Spatial data + site_data = GDF.read(joinpath(result_loc, SITE_DATA, input_set.attrs["name"] * ".gpkg")) + sort!(site_data, [Symbol(input_set.attrs["unique_site_id_col"])]) # Model specification model_spec = CSV.read( - joinpath(result_loc, MODEL_SPEC, "model_spec.csv"), DataFrame; comment = "#" + joinpath(result_loc, MODEL_SPEC, "model_spec.csv"), DataFrame; comment="#" ) - # Standardize fieldnames to Symbol - # TODO: Match all other column data types with original model spec - model_spec.fieldname .= Symbol.(model_spec.fieldname) + # Standardize fieldnames to Symbol + # TODO: Match all other column data types with original model spec + model_spec.fieldname .= Symbol.(model_spec.fieldname) - r_vers_id = input_set.attrs["ADRIA_VERSION"] - t_vers_id = "v" * string(PkgVersion.Version(@__MODULE__)) + r_vers_id = input_set.attrs["ADRIA_VERSION"] + t_vers_id = "v" * string(PkgVersion.Version(@__MODULE__)) if r_vers_id != t_vers_id msg = """Results were produced with a different version of ADRIA ($(r_vers_id)). @@ -630,12 +630,12 @@ function load_results(result_loc::String)::ResultSet stores results relative to available area. """ - @warn msg - end + @warn msg + end - # The inputs used - input_cols::Array{String} = input_set.attrs["columns"] - inputs_used::DataFrame = DataFrame(input_set[:, :], input_cols) + # The inputs used + input_cols::Array{String} = input_set.attrs["columns"] + inputs_used::DataFrame = DataFrame(input_set[:, :], input_cols) # Details of the environmental data layer used for the sims env_layer_md::EnvLayer = EnvLayer( @@ -651,23 +651,23 @@ function load_results(result_loc::String)::ResultSet ) outcomes = Dict{Symbol, NamedDimsArray}() - subdirs = filter(isdir, readdir(joinpath(result_loc, RESULTS); join = true)) + subdirs = filter(isdir, readdir(joinpath(result_loc, RESULTS); join=true)) for sd in subdirs if !(occursin(LOG_GRP, sd)) && !(occursin(INPUTS, sd)) - res = zopen(sd; fill_as_missing = false) + res = zopen(sd; fill_as_missing=false) sz = size(res) - # Construct dimension names and metadata - st = [] - for (i, s) in enumerate(res.attrs["structure"]) - if s == "timesteps" - push!(st, input_set.attrs["timeframe"]) - elseif s == "sites" - push!(st, res.attrs["unique_site_ids"]) - else - push!(st, 1:sz[i]) - end - end + # Construct dimension names and metadata + st = [] + for (i, s) in enumerate(res.attrs["structure"]) + if s == "timesteps" + push!(st, input_set.attrs["timeframe"]) + elseif s == "sites" + push!(st, res.attrs["unique_site_ids"]) + else + push!(st, 1:sz[i]) + end + end try outcomes[Symbol(basename(sd))] = NamedDimsArray( @@ -706,11 +706,11 @@ function load_results(result_loc::String)::ResultSet ) end function load_results(domain::Domain)::ResultSet - return load_results(result_location(domain)) + return load_results(result_location(domain)) end """ - result_location(d::Domain)::String + result_location(d::Domain)::String Generate path to the data store of results for the given Domain. """ @@ -721,7 +721,7 @@ function result_location(d::Domain)::String end """ - _result_location(d::Domain, rcps::Vector{String})::String + _result_location(d::Domain, rcps::Vector{String})::String Generate path to the data store of results for the given Domain and RCPs names. """ diff --git a/src/viz/viz.jl b/src/viz/viz.jl index 6209ffb1f..96198b597 100644 --- a/src/viz/viz.jl +++ b/src/viz/viz.jl @@ -49,8 +49,6 @@ function rules_scatter!() end # Location selection plots function ranks_to_frequencies() end function ranks_to_frequencies!() end -function decision_matrices() end -function decision_matrices!() end # Spatial function map() end