You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs/src/fluxcalculator.md
+4-3
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
This modules contains abstract types and functions to calculate surface fluxes in the coupler, or to call flux calculating functions from the component models.
4
4
5
5
Fluxes over a heterogeneous surface (e.g., from a gridpoint where atmospheric cell is overlying both land and ocean) can be handled in two different ways:
6
-
1.**Combined fluxes** (called with `CombinedStateFluxes()`)
6
+
1.**Combined fluxes** (called with `CombinedStateFluxesMOST()`)
7
7
- these are calculated by averaging the surface properties for each gridpoint (e.g., land and ocean temperatures, albedos and roughness lengths are averaged, based on their respective area fractions), so the flux is calculated only once per gridpoint of the grid where we calculate fluxes. This is computationally faster, but it makes the fluxes on surface boundaries more diffuse. Currently, we use this method for calculating radiative fluxes in the atmosphere, and turbulent fluxes in the coupler (on the atmospheric grid). The fluxes are calculated in the atmospheric (host) model's cache, which can be setup to avoid allocating coupler fields.
8
8
2.**Partitioned fluxes** (called with `PartitionedStateFluxes()`)
9
9
- these are calculated separately for each surface type. It is then the fluxes (rather than the surface states) that are combined and passed to the atmospheric model as a boundary condition. This method ensures that each surface model receives fluxes that correspond to its state properties, resulting in a more accurate model evolution. However, it is more computationally expensive, and requires more communication between the component models.
@@ -13,9 +13,10 @@ Fluxes over a heterogeneous surface (e.g., from a gridpoint where atmospheric ce
## exchange combined fields and (if specified) calculate fluxes using combined states
755
751
FieldExchanger.import_combined_surface_fields!(cs.fields, cs.model_sims, cs.turbulent_fluxes) # i.e. T_sfc, surface_albedo, z0, beta
756
-
if cs.turbulent_fluxes isa FluxCalculator.CombinedStateFluxes
752
+
if cs.turbulent_fluxes isa FluxCalculator.CombinedStateFluxesMOST
757
753
FluxCalculator.combined_turbulent_fluxes!(cs.model_sims, cs.fields, cs.turbulent_fluxes) # this updates the surface thermo state, sfc_ts, in ClimaAtmos (but also unnecessarily calculates fluxes)
758
754
elseif cs.turbulent_fluxes isa FluxCalculator.PartitionedStateFluxes
759
755
## calculate turbulent fluxes in surfaces and save the weighted average in coupler fields
0 commit comments