@@ -275,15 +275,22 @@ end
275275
276276function makegridmetrics (; areacello, volcello, lon, lat, lev, lon_vertices, lat_vertices)
277277
278+ # Differences in output "missing" data is commonplace,
279+ # so we remove these here and use NaNs instead.
280+ toreplace = Set {Any} ((missing , nothing , 0 )) # here we also replace 0 with NaN
281+ haskey (areacello. properties, " _FillValue" ) && push! (toreplace, areacello. properties[" _FillValue" ])
282+ haskey (volcello. properties, " _FillValue" ) && push! (toreplace, volcello. properties[" _FillValue" ])
283+ replacelist = (x => NaN for x in toreplace)
284+
278285 # volume (3D)
279286 FillValue = volcello. properties[" _FillValue" ]
280287 v3D = volcello |> Array{Union{Missing, Float64}}
281- v3D = replace (v3D, missing => NaN , 0 => NaN , FillValue => NaN )
288+ v3D = replace (v3D, replacelist ... )
282289
283290 # area (2D)
284291 FillValue = areacello. properties[" _FillValue" ]
285292 area2D = areacello |> Array{Union{Missing, Float64}}
286- area2D = replace (area2D, missing => NaN , 0 => NaN , FillValue => NaN )
293+ area2D = replace (area2D, replacelist ... )
287294
288295 # depth and cell height (3D)
289296 thkcello = v3D ./ area2D
0 commit comments