Open juliasloan25 opened 9 months ago
Hi Julia,
thanks for putting this together. Some small comments/questions:
more major question
SLIM is a model quite like our bucket model which can be run in standalone or coupled: https://github.com/marysa/SimpleLand
Can we add info about the ocean mask here? I.e., a way to save time in calculations by avoiding running the land model over the oceans. The advantage of the land models in comparison to atmos or oceans is that we can run the model in single grid cells.
I asked @simonbyrne about this, and he said there isn't yet a plan to add this in to ClimaCore, and that implementing this will depend on what type of grid ClimaLSM uses going forward
What do you mean by type of grid? It is usually regular grids, i.e., 0.25deg, 0.50 deg, 1.0deg, 2.0deg, lats and lons have same shape and the globe is divided into squares.
many details point 2 can be found here #370 (SDI)
Is your feature request related to a problem? Please describe. We want to be able to run ClimaLSM globally. To do this, there are a few structural changes we need to make first.
Main changes
1. unified interface for site and global prescribed atmosphere types (see #451)
PrescribedAtmosphere
type (src/shared_utilities/drivers.jl) which can be used at a point. This holds things like atmospheric CO2, wind speed, pressure, etcInterpolators
module implementing unified interface for all cases (analytic drivers, site-level drivers from data, global drivers from data, (prescribed atmos driver?)). This will isolate the differences between each case to the back-end internals, and avoids the need for a new PrescribedAtmos type2. forcings over the globe - store these in
p
and update via callback (see https://github.com/CliMA/ClimaLSM.jl/issues/370)PrescribedAtmosphere
p
. When we update these, we'll dispatch off of the PrescrAtmos type, to read in fields over the sphere when running global and just evaluate a function when running at a column.p.forcings
containingsw_in, lw_in, P, T, q
, etcupdate_forcings
to update these values. This will dispatch off of PrescrAtmos type (as described above)update_forcings
beforeupdate_aux
andupdate_interactions
to update in correct order3. spatially-varying parameters read in over time globally (See https://github.com/CliMA/ClimaLand.jl/issues/126)
BulkAlbedoSpatial
andBulkAlbedoTemporal
types)4. Handle file IO