Skip to content

Commit 8d7fd28

Browse files
committed
Make fill_g_ens_col! return a boolean
1 parent 16b42fc commit 8d7fd28

File tree

2 files changed

+12
-13
lines changed

2 files changed

+12
-13
lines changed

ext/ensemble_builder.jl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ end
120120
verbose = false)
121121
122122
Fill the `col_idx`th of the G ensemble matrix from the `OutputVar` `var` and
123-
`ekp`.
123+
`ekp`. If it was successful, return `true`, otherwise, return `false`.
124124
125125
It is assumed that the times or dates of a single `OutputVar` is a superset of
126126
the times or dates of one or more metadata in the minibatch.
@@ -170,7 +170,7 @@ function EnsembleBuilder.fill_g_ens_col!(
170170
use_var || @warn(
171171
"OutputVar with the short name $(ClimaAnalysis.short_name(var)) was passed as an input, but did not match with any of the metadata"
172172
)
173-
return nothing
173+
return use_var
174174
end
175175

176176
"""
@@ -180,6 +180,8 @@ end
180180
181181
Fill the `col_idx`th column of the G ensemble matrix with `val`.
182182
183+
This returns `true`.
184+
183185
This is useful if you want to completely fill a column of a G ensemble matrix
184186
with `NaN`s if a simulation crashed.
185187
"""
@@ -190,7 +192,7 @@ function EnsembleBuilder.fill_g_ens_col!(
190192
)
191193
g_ens_builder.g_ens[:, col_idx] .= val
192194
g_ens_builder.completed[:, col_idx] .= true
193-
return nothing
195+
return true
194196
end
195197

196198
"""

test/ensemble_builder.jl

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -355,12 +355,8 @@ end
355355
@test !EnsembleBuilder.is_complete(g_ens_builder)
356356
# Permute dimensions to test that the dimensions are permuted correctly
357357
# before flattening
358-
EnsembleBuilder.fill_g_ens_col!(
359-
g_ens_builder,
360-
i,
361-
time_var,
362-
)
363-
EnsembleBuilder.fill_g_ens_col!(
358+
@test EnsembleBuilder.fill_g_ens_col!(g_ens_builder, i, time_var)
359+
@test EnsembleBuilder.fill_g_ens_col!(
364360
g_ens_builder,
365361
i,
366362
permutedims(lon_var, ("time", "lon")),
@@ -387,8 +383,8 @@ end
387383
g_ens_builder = EnsembleBuilder.GEnsembleBuilder(eki)
388384
for i in 1:3
389385
@test !EnsembleBuilder.is_complete(g_ens_builder)
390-
EnsembleBuilder.fill_g_ens_col!(g_ens_builder, i, time_var)
391-
EnsembleBuilder.fill_g_ens_col!(g_ens_builder, i, lon_var)
386+
@test EnsembleBuilder.fill_g_ens_col!(g_ens_builder, i, time_var)
387+
@test EnsembleBuilder.fill_g_ens_col!(g_ens_builder, i, lon_var)
392388
end
393389
@test EnsembleBuilder.is_complete(g_ens_builder)
394390
flat_time_var = window_and_flatten(
@@ -411,7 +407,8 @@ end
411407
g_ens_builder = EnsembleBuilder.GEnsembleBuilder(eki)
412408
for i in 1:3
413409
@test !EnsembleBuilder.is_complete(g_ens_builder)
414-
EnsembleBuilder.fill_g_ens_col!(g_ens_builder, i, time_var)
410+
@test EnsembleBuilder.fill_g_ens_col!(g_ens_builder, i, time_var)
411+
@test !EnsembleBuilder.fill_g_ens_col!(g_ens_builder, i, lon_var)
415412
end
416413
@test EnsembleBuilder.is_complete(g_ens_builder)
417414
flat_time_var = window_and_flatten(
@@ -524,7 +521,7 @@ end
524521
@test EnsembleBuilder.missing_short_names(g_ens_builder, 1) ==
525522
Set{String}(["hey", "hi"])
526523

527-
EnsembleBuilder.fill_g_ens_col!(g_ens_builder, 1, NaN32)
524+
@test EnsembleBuilder.fill_g_ens_col!(g_ens_builder, 1, NaN32)
528525
@test all(isnan, g_ens_builder.g_ens[:, 1])
529526
@test all(g_ens_builder.completed[:, 1])
530527
end

0 commit comments

Comments
 (0)