-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
O2.3.5 Enable global runs (on GPU) #398
Comments
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 #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 #126)
BulkAlbedoSpatial
andBulkAlbedoTemporal
types)@kmdeck @braghiere
4. Handle file IO
prescribed atmos/forcings/parameters infrastructure
TimeVaryingInput
s #451GPU compatibility + performance
Add target run
The text was updated successfully, but these errors were encountered: