SurfaceFluxes.jl
SurfaceFluxes.jl copied to clipboard
Add physical tests for surface fluxes
Purpose
Add physical tests for surface fluxes based on Monin-Obukhov similarity theory
Cost/Benefits/Risks
cost: Time of a few (2) atmos team members benefits: Surface fluxes needs some substantial refactoring, mostly for EDMF and also for the land. Having physical tests can ensure we don't break things (as we did a few times before!) risks: We are designing our own tests as there are not many existing tests that we can follow
People and Personnel
(@ the personnel required/requested to implement the software solution)
- Lead: @akshaysridhar
- Collaborators: @LenkaNovak
- Reviewers: @tapios @szy21
Components
see task breakdown
Inputs
N/A
Results and deliverables
Tests that are run in ci
Task Breakdown And Tentative Due Date
- [ ] Test
recover_profile
yields logarithmic velocity and thermodynamic profiles under neutral condition, or in the stable/unstable regime but close to the neutral condition - [x] Test the sign of surface fluxes
-
- [x]
obukhov_length
should be negative for unstable regime and positive for stable regime
- [x]
-
- [x]
compute_bstar
should be negative for unstable regime and positive for stable regime
- [x]
-
- [x] Momentum flux should be negative for positive velocity and positive for negative velocity
-
- [x] For dry case, sensible heat flux should be positive for unstable regime and negative for stable regime,
compute_buoyancy_flux
should be positive for unstable regime and negative for stable regime.
- [x] For dry case, sensible heat flux should be positive for unstable regime and negative for stable regime,
-
- [x] For moist case, evaporation should be positive if q_sfc > q_int and negative if q_sfc < q_int (Any other signs that we can check for moist case?)
- [ ] Compare the magnitude of surface fluxes with Figures 5 and 7 in Nashizawa and Kitamura 2018. The results won't be exactly the same as we don't have the input values, but the magnitude should be comparable.
Proposed Delivery Date
Nov 18, 2022 (We can prioritize it if needed by EDMF)