CliMA / ClimateMachine.jl

Climate Machine: an Earth System Model that automatically learns from data
https://clima.github.io/ClimateMachine.jl/latest/
Other
452 stars 78 forks source link

Shallow atmosphere configuration #1270

Open simonbyrne opened 4 years ago

simonbyrne commented 4 years ago

Description

It would be useful to run the Atmosphere model using the Shallow Atmosphere assumption, especially for DCMIP comparisons (#1193)

Additional context

From what I can tell, the main changes we would need to make are:

  1. modify the Jacobians and metric terms used in the grid: currently these are computed via the computemetric! function which assumes a Cartesian layout, which would no longer be the case.
  2. change how the Coriolis and Gravity sources are computed.

Useful references:

For CLIMA Developers

tapios commented 4 years ago

The key thin-shell approximation is replacing the Coriolis force source.ρu -= SVector(0, 0, 2 * _Omega) × state.ρu by source.ρu -= f*vertical_unit_vector × state.ρu, with Coriolis parameter f=2\Omega sin(latitude) (\Omega being the scalar angular velocity of planetary rotation). Just making this one-line change will suffice for testing, e.g., gravity waves.

To get a consistent angular momentum balance, additional small changes are necessary. The thin-shell approximation comes from approximating, in the definition of angular momentum, the distance from any point in the atmosphere to the barycenter of the planet by a constant (Earth's mean radius). To recover a consistent (approximate) angular momentum balance from the momentum equations, it is additionally necessary to approximate what people call metric terms (these really arise from differentiating the definition of angular momentum with the moment arm, r cos(latitude), multiplying the velocity). One easy way to implement this consistently is to use u r cos(latitude) as a prognostic variable, and set r=a in the thin-shell approximation. We discussed this early on. We can come back to it (and one day probably should, to offer a consistent shallow-atmosphere approximation). But I don't think we need it right now.

Changing the prognostic variables has the additional advantage that it would guarantee discrete global conservation of angular momentum, which right now we do not have.