diff --git a/NEWS.md b/NEWS.md index 8840da13..a5f6d3ce 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,7 +2,10 @@ main ------- +## Bug fixes +- `scheduled_diagnostics` are now internally saved as vectors instead of tuples. + This has significant compile-time/inference benefits. v0.2.6 ------- diff --git a/src/clima_diagnostics.jl b/src/clima_diagnostics.jl index fa3483d1..16e2e9ac 100644 --- a/src/clima_diagnostics.jl +++ b/src/clima_diagnostics.jl @@ -14,7 +14,7 @@ A struct that contains the scheduled diagnostics, ancillary data and areas of me to store and accumulate results. """ struct DiagnosticsHandler{ - SD <: Tuple, + SD, STORAGE <: Dict, ACC <: Dict, COUNT <: Dict, @@ -61,7 +61,7 @@ function DiagnosticsHandler(scheduled_diagnostics, Y, p, t; dt = nothing) accumulators = Dict() counters = Dict() - unique_scheduled_diagnostics = Tuple(unique(scheduled_diagnostics)) + unique_scheduled_diagnostics = unique(scheduled_diagnostics) if length(unique_scheduled_diagnostics) != length(scheduled_diagnostics) @warn "Given list of diagnostics contains duplicates, removing them" end