Skip to content
Snippets Groups Projects
Commit 3a8ef424 authored by Brian Groenke's avatar Brian Groenke
Browse files

Fix broken diagnostics functions

parent c03e099a
No related branches found
No related tags found
1 merge request!64Fix broken diagnostics functions
...@@ -27,8 +27,8 @@ function zero_annual_amplitude(T::AbstractDimArray{<:TempQuantity}; threshold=0. ...@@ -27,8 +27,8 @@ function zero_annual_amplitude(T::AbstractDimArray{<:TempQuantity}; threshold=0.
Tarr = TimeArray(dims(T, Ti).val, permutedims(T, (Ti,Z))) Tarr = TimeArray(dims(T, Ti).val, permutedims(T, (Ti,Z)))
annual_min = collapse(Tarr, year, first, minimum) annual_min = collapse(Tarr, year, first, minimum)
annual_max = collapse(Tarr, year, first, maximum) annual_max = collapse(Tarr, year, first, maximum)
z_inds = argmax(abs.(values(annual_max) .- values(annual_min)) .< threshold, dims=2) z_inds = vec(argmax(abs.(values(annual_max) .- values(annual_min)) .< threshold, dims=2))
rebuild(T, dims(T, Z)[[i[2] for i in z_inds]], (Ti(timestamp(annual_max)),))[:,1] rebuild(T, collect(dims(T, Z)[[i[2] for i in z_inds]]), (Ti(timestamp(annual_max)),))
end end
""" """
permafrosttable(T::AbstractDimArray{<:TempQuantity}) permafrosttable(T::AbstractDimArray{<:TempQuantity})
...@@ -42,8 +42,8 @@ function permafrosttable(T::AbstractDimArray{<:TempQuantity}) ...@@ -42,8 +42,8 @@ function permafrosttable(T::AbstractDimArray{<:TempQuantity})
Tarr = TimeArray(dims(T, Ti).val, permutedims(T, (Ti,Z))) Tarr = TimeArray(dims(T, Ti).val, permutedims(T, (Ti,Z)))
annual_max = collapse(Tarr, year, first, maximum) annual_max = collapse(Tarr, year, first, maximum)
# find argmax (first one/"true" bit) of annual_max < 0 # find argmax (first one/"true" bit) of annual_max < 0
z_inds = argmax(values(annual_max) .< 0u"°C", dims=2) z_inds = vec(argmax(values(annual_max) .< 0u"°C", dims=2))
rebuild(T, dims(T, Z)[[i[2] for i in z_inds]], (Ti(timestamp(annual_max)),))[:,1] rebuild(T, collect(dims(T, Z)[[i[2] for i in z_inds]]), (Ti(timestamp(annual_max)),))
end end
""" """
permafrostbase(T::AbstractDimArray{<:TempQuantity}) permafrostbase(T::AbstractDimArray{<:TempQuantity})
...@@ -57,8 +57,8 @@ function permafrostbase(T::AbstractDimArray{<:TempQuantity}) ...@@ -57,8 +57,8 @@ function permafrostbase(T::AbstractDimArray{<:TempQuantity})
Tarr = TimeArray(dims(T, Ti).val, permutedims(T, (Ti,Z))) Tarr = TimeArray(dims(T, Ti).val, permutedims(T, (Ti,Z)))
annual_max = collapse(Tarr, year, first, maximum) annual_max = collapse(Tarr, year, first, maximum)
# find argmax (first one/"true" bit) of annual_max < 0 # find argmax (first one/"true" bit) of annual_max < 0
z_inds = size(Tarr,2) .- [i[2] for i in argmax(reverse(values(annual_max) .< 0u"°C", dims=2), dims=2)] z_inds = vec(size(Tarr,2) .- [i[2] for i in argmax(reverse(values(annual_max) .< 0u"°C", dims=2), dims=2)])
rebuild(T, dims(T, Z)[[i for i in z_inds]], (Ti(timestamp(annual_max)),))[:,1] rebuild(T, collect(dims(T, Z)[[i for i in z_inds]]), (Ti(timestamp(annual_max)),))
end end
""" """
thawdepth(T::AbstractDimArray{<:TempQuantity}) thawdepth(T::AbstractDimArray{<:TempQuantity})
...@@ -69,8 +69,8 @@ and `Z` (depth) in any order. ...@@ -69,8 +69,8 @@ and `Z` (depth) in any order.
function thawdepth(T::AbstractDimArray{<:TempQuantity}) function thawdepth(T::AbstractDimArray{<:TempQuantity})
_check_arr_dims(T) _check_arr_dims(T)
T = permutedims(T, (Z,Ti)) T = permutedims(T, (Z,Ti))
z_inds = argmax((T .<= 0u"°C").data, dims=1) z_inds = vec(argmax((T .<= 0u"°C").data, dims=1))
rebuild(T, dims(T, Z)[[i[1] for i in z_inds]], (dims(T,Ti),))[1,:] rebuild(T, collect(dims(T, Z)[[i[1] for i in z_inds]]), (dims(T,Ti),))
end end
""" """
active_layer_thickness(T::AbstractDimArray{<:TempQuantity}) active_layer_thickness(T::AbstractDimArray{<:TempQuantity})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment