Skip to content

Commit 05045b7

Browse files
authored
new dd version (#105)
* new dd version * fix interpolation errors
1 parent 9d689f3 commit 05045b7

File tree

3 files changed

+9
-15
lines changed

3 files changed

+9
-15
lines changed

Project.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "ClimateBase"
22
uuid = "35604d93-0fb8-4872-9436-495b01d137e2"
33
authors = ["Datseris <[email protected]>", "Philippe Roy <[email protected]>"]
4-
version = "0.17.0"
4+
version = "0.17.1"
55

66
[deps]
77
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
@@ -20,7 +20,7 @@ GeoMakie = "db073c08-6b98-4ee5-b6a4-5efafb3259c6"
2020
ClimateBaseVisualizations = "GeoMakie"
2121

2222
[compat]
23-
DimensionalData = "0.20.1, 0.21, 0.22, 0.23, 0.24"
23+
DimensionalData = "0.27"
2424
GeoMakie = "0.6"
2525
Interpolations = "0.13.2, 0.14, 0.15"
2626
NCDatasets = "0.11, 0.12"

src/core/coredefs.jl

-6
Original file line numberDiff line numberDiff line change
@@ -187,12 +187,6 @@ DimensionalData.rebuild(
187187
data=gnv(A), dims=dims(A), refdims=refdims(A), name=name(A), metadata=metadata(A)
188188
) = ClimArray(data, format(dims, data), refdims, name, metadata)
189189

190-
191-
# The following basic methods allow indexing with tuples, (Time(5), Lon(3))
192-
Base.getindex(A::ClimArray, i::Tuple) = A[i...]
193-
Base.setindex!(A::ClimArray, x, i::Tuple) = setindex!(A, x, i...)
194-
Base.view(A::ClimArray, i::Tuple) = view(A, i...)
195-
196190
# Convenience
197191
Base.ones(A::AbDimArray) = basetypeof(A)(ones(eltype(A), size(A)), dims(A))
198192
Base.zeros(A::AbDimArray) = basetypeof(A)(zeros(eltype(A), size(A)), dims(A))

src/interpolations/height_interpolation.jl

+7-7
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,16 @@ function interpolation2pressure(A::ClimArray, pressure::ClimArray, pressure_leve
3939
# construct output Array:
4040
pre = Pre(pressure_levels; metadata = Dict())
4141
dims_no_height = otherdims(A, vertical_dim)
42-
out_dims = (dims_no_height...,pre)
42+
out_dims = (dims_no_height..., pre)
4343
dimension_lengths = length.(out_dims)
4444

4545
B = ClimArray(
4646
zeros(eltype(A), Tuple(dimension_lengths)), out_dims;
4747
name = A.name, attrib = A.attrib
4848
)
4949
for i in otheridxs(A, vertical_dim)
50-
itp = LinearInterpolation(pressure[i],A[i],extrapolation_bc=extrapolation_bc)
51-
B[i] = itp(pressure_levels)
50+
itp = LinearInterpolation(pressure[i], A[i...]; extrapolation_bc)
51+
B[i...] = itp(pressure_levels)
5252
end
5353
return B
5454
end
@@ -105,8 +105,8 @@ function interpolate_height2pressure(A::ClimArray,pressure_levels::Vector; extra
105105
int_array = ClimArray(zeros(eltype(A), Tuple(dimension_lengths)), out_dims; name = A.name, attrib = A.attrib)
106106

107107
for i in otheridxs(A, Hei())
108-
itp = LinearInterpolation(pressure,A[i],extrapolation_bc=extrapolation_bc)
109-
int_array[i] = itp(pressure_levels)
108+
itp = LinearInterpolation(pressure, A[i...]; extrapolation_bc)
109+
int_array[i...] = itp(pressure_levels)
110110
end
111111
return int_array
112112
end
@@ -136,8 +136,8 @@ function interpolate_pressure2height(A::ClimArray,heights::Vector; extrapolation
136136

137137
for i in otheridxs(A, Pre())
138138

139-
itp = LinearInterpolation(height,A[i],extrapolation_bc=extrapolation_bc)
140-
int_array[i] = itp(heights)
139+
itp = LinearInterpolation(height,A[i...]; extrapolation_bc)
140+
int_array[i...] = itp(heights)
141141

142142
end
143143
return int_array

0 commit comments

Comments
 (0)