@@ -334,7 +334,7 @@ function set_precipitation_surface_fluxes!(
334
334
)
335
335
(; surface_rain_flux, surface_snow_flux) = p. precomputed
336
336
(; col_integrated_precip_energy_tendency,) = p. conservation_check
337
- (; ᶜwᵣ, ᶜwₛ, ᶜspecific) = p. precomputed
337
+ (; ᶜwᵣ, ᶜwₛ, ᶜwₗ, ᶜwᵢ, ᶜspecific) = p. precomputed
338
338
ᶜJ = Fields. local_geometry_field (Y. c). J
339
339
ᶠJ = Fields. local_geometry_field (Y. f). J
340
340
sfc_J = Fields. level (ᶠJ, Fields. half)
@@ -355,10 +355,20 @@ function set_precipitation_surface_fluxes!(
355
355
Fields. field_values (Fields. level (ᶜspecific. q_sno, 1 )),
356
356
sfc_space,
357
357
)
358
+ sfc_qₗ = Fields. Field (
359
+ Fields. field_values (Fields. level (ᶜspecific. q_liq, 1 )),
360
+ sfc_space,
361
+ )
362
+ sfc_qᵢ = Fields. Field (
363
+ Fields. field_values (Fields. level (ᶜspecific. q_ice, 1 )),
364
+ sfc_space,
365
+ )
358
366
sfc_wᵣ = Fields. Field (Fields. field_values (Fields. level (ᶜwᵣ, 1 )), sfc_space)
359
367
sfc_wₛ = Fields. Field (Fields. field_values (Fields. level (ᶜwₛ, 1 )), sfc_space)
368
+ sfc_wₗ = Fields. Field (Fields. field_values (Fields. level (ᶜwₗ, 1 )), sfc_space)
369
+ sfc_wᵢ = Fields. Field (Fields. field_values (Fields. level (ᶜwᵢ, 1 )), sfc_space)
360
370
361
- @. surface_rain_flux = sfc_ρ * sfc_qᵣ * (- sfc_wᵣ)
362
- @. surface_snow_flux = sfc_ρ * sfc_qₛ * (- sfc_wₛ)
371
+ @. surface_rain_flux = sfc_ρ * ( sfc_qᵣ * (- sfc_wᵣ) + sfc_qₗ * ( - sfc_wₗ) )
372
+ @. surface_snow_flux = sfc_ρ * ( sfc_qₛ * (- sfc_wₛ) + sfc_qᵢ * ( - sfc_wᵢ) )
363
373
return nothing
364
374
end
0 commit comments