Skip to content

Commit

Permalink
feat: Dataset type
Browse files Browse the repository at this point in the history
  • Loading branch information
Beforerr committed Feb 3, 2025
1 parent 92c6360 commit 0efb878
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/Speasy.jl
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ export speasy, SpeasyVariable
export get_data
export replace_fillval_by_nan, replace_fillval_by_nan!, sanitize, sanitize!
export speasyplot, speasyplot!
export DataSet

include("utils.jl")
include("methods.jl")
include("dataset.jl")

speasy() = @pyconst(pyimport("speasy"))

Expand Down
23 changes: 23 additions & 0 deletions src/dataset.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
abstract type AbstractDataSet end

@kwdef struct DataSet <: AbstractDataSet
name::String
parameters::Vector{String}
provider::Symbol = :cda
end

parameters(ds::DataSet) = ds.parameters
provider(ds::DataSet) = ds.provider

function products(ds::DataSet; provider=provider(ds))
name = ds.name
map(parameters(ds)) do p
"$provider/$name/$p"
end
end

function get_data(ds::AbstractDataSet, args...)
map(products(ds)) do p
replace_fillval_by_nan!(get_data(p, args...))
end
end

0 comments on commit 0efb878

Please sign in to comment.