SurfaceFluxes.jl
SurfaceFluxes.jl copied to clipboard
A package for computing surface fluxes between the atmosphere, ocean and land models.
🤖 Beep boop. I am GabrieleBOT. 🤖 Please, check the [release notes](https://github.com/CliMA/ClimaModules/blob/main/NEWS.md) before merging this PR. Modifications might be required.
Following [ClimaArtifacts](https://github.com/CliMA/ClimaArtifacts/). As far as I can see, it is used only for one file: PyCLES_output_dataset
This PR eliminates the duplicate `universal_func_type` by properly extending `UniversalFunctions.universal_func_type` within the `Parameters` submodule. It also generalizes the parameter extractor functions to make it easier to build user-defined `AbstractSurfaceFluxesParameters`. Closes...
We should add JET tests to CI. This will hopefully avoid the need to run upstream integration tests before every PR is merged.
I'm wondering if the code is more complicated than it needs to be. There are three types for each universal function, eg `BusingerParams`, `BusingerType`, and then `Businger`. The "*Type" is...
The COARE 3.0 algorithm for air-sea fluxes uses a state-dependent parameterization for gustiness ([Fairall et al 2003, equation 8](https://journals.ametsoc.org/view/journals/clim/16/4/1520-0442_2003_016_0571_bpoasf_2.0.co_2.xml?tab_body=abstract-display)): Here the magnitude of gusts are estimated using the boundary layer...
The COARE 3.0 algorithm for air-sea fluxes uses a state-dependent parameterization for the roughness length over open ocean ([Fairall et al 2003, equation 6](https://journals.ametsoc.org/view/journals/clim/16/4/1520-0442_2003_016_0571_bpoasf_2.0.co_2.xml?tab_body=abstract-display)): This can be thought of as...
There are two functions called `universal_func_type`. One is defined in `UniversalFunctions`: https://github.com/CliMA/SurfaceFluxes.jl/blob/f83dc8642b032184c3b31b2c444ed1a6f43168f1/src/UniversalFunctions.jl#L1113 and the other is defined in `Parameters`: https://github.com/CliMA/SurfaceFluxes.jl/blob/f83dc8642b032184c3b31b2c444ed1a6f43168f1/src/Parameters.jl#L25 The prefix `UF` in the second is what allows this...
There are many functions that take forms like https://github.com/CliMA/SurfaceFluxes.jl/blob/10c2840d6270913fe5b788d9e0b341526fa656d0/parameters/create_parameters.jl#L44 It seems these are more straightforwardly defined as constructors, eg: ```julia function ChengParams(toml_dict::Dict) ``` (If there is a better way to...