@@ -275,14 +275,21 @@ end
275
275
# Construct a FieldVector containing the fields and a nested FieldVector
276
276
Y = Fields. FieldVector (var1 = var1, fieldvec = fieldvec)
277
277
278
- # Count and log the number of NaNs in the state
278
+ # Count and log the number of NaNs in the state (test verbose and non-verbose cases)
279
279
@test_logs (:info , " Checking NaNs in var1" ) (:info , " No NaNs found" ) (
280
280
:info ,
281
281
" Checking NaNs in fieldvec" ,
282
282
) (:info , " Checking NaNs in var2" ) (:info , " No NaNs found" ) (
283
283
:info ,
284
284
" Checking NaNs in var3" ,
285
- ) (:info , " No NaNs found" ) ClimaLand. count_nans_state (Y)
285
+ ) (:info , " No NaNs found" ) ClimaLand. count_nans_state (Y, verbose = true )
286
+
287
+ @test_logs (:info , " Checking NaNs in var1" ) (
288
+ :info ,
289
+ " Checking NaNs in fieldvec" ,
290
+ ) (:info , " Checking NaNs in var2" ) (:info , " Checking NaNs in var3" ) ClimaLand. count_nans_state (
291
+ Y,
292
+ )
286
293
287
294
# Add some NaNs to the fields without scalar indexing
288
295
ArrayType = ClimaComms. array_type (ClimaComms. device ())
@@ -294,14 +301,22 @@ end
294
301
var2_copy[2 ] = NaN
295
302
parent (var2) .= ArrayType (var2_copy)
296
303
297
- # Count and log the number of NaNs in the state
304
+ # Count and log the number of NaNs in the state (test verbose and non-verbose cases)
305
+ @test_logs (:info , " Checking NaNs in var1" ) (:warn , " 1 NaNs found" ) (
306
+ :info ,
307
+ " Checking NaNs in fieldvec" ,
308
+ ) (:info , " Checking NaNs in var2" ) (:warn , " 2 NaNs found" ) (
309
+ :info ,
310
+ " Checking NaNs in var3" ,
311
+ ) (:info , " No NaNs found" ) ClimaLand. count_nans_state (Y, verbose = true )
312
+
298
313
@test_logs (:info , " Checking NaNs in var1" ) (:warn , " 1 NaNs found" ) (
299
314
:info ,
300
315
" Checking NaNs in fieldvec" ,
301
316
) (:info , " Checking NaNs in var2" ) (:warn , " 2 NaNs found" ) (
302
317
:info ,
303
318
" Checking NaNs in var3" ,
304
- ) ( :info , " No NaNs found " ) ClimaLand. count_nans_state (Y)
319
+ ) ClimaLand. count_nans_state (Y)
305
320
306
321
# Test with a mask
307
322
mask_zeros = Fields. zeros (space)
311
326
) (:info , " Checking NaNs in var2" ) (:info , " No NaNs found" ) (
312
327
:info ,
313
328
" Checking NaNs in var3" ,
314
- ) (:info , " No NaNs found" ) ClimaLand. count_nans_state (Y, mask_zeros)
329
+ ) (:info , " No NaNs found" ) ClimaLand. count_nans_state (
330
+ Y,
331
+ mask = mask_zeros,
332
+ verbose = true ,
333
+ )
334
+ @test_logs (:info , " Checking NaNs in var1" ) (
335
+ :info ,
336
+ " Checking NaNs in fieldvec" ,
337
+ ) (:info , " Checking NaNs in var2" ) (:info , " Checking NaNs in var3" ) ClimaLand. count_nans_state (
338
+ Y,
339
+ mask = mask_zeros,
340
+ )
315
341
316
342
mask_ones = Fields. ones (space)
317
343
@test_logs (:info , " Checking NaNs in var1" ) (:warn , " 1 NaNs found" ) (
320
346
) (:info , " Checking NaNs in var2" ) (:warn , " 2 NaNs found" ) (
321
347
:info ,
322
348
" Checking NaNs in var3" ,
323
- ) (:info , " No NaNs found" ) ClimaLand. count_nans_state (Y, mask_ones)
349
+ ) (:info , " No NaNs found" ) ClimaLand. count_nans_state (
350
+ Y,
351
+ mask = mask_ones,
352
+ verbose = true ,
353
+ )
354
+
355
+ @test_logs (:info , " Checking NaNs in var1" ) (:warn , " 1 NaNs found" ) (
356
+ :info ,
357
+ " Checking NaNs in fieldvec" ,
358
+ ) (:info , " Checking NaNs in var2" ) (:warn , " 2 NaNs found" ) (
359
+ :info ,
360
+ " Checking NaNs in var3" ,
361
+ ) ClimaLand. count_nans_state (Y, mask = mask_ones)
324
362
end
0 commit comments