jcm.model.Model¶
- class jcm.model.Model(coords: CoordinateSystem, time_step=30.0, terrain: TerrainData = None, physics: Physics = None, diffusion: DiffusionFilter = None, spmd_mesh: tuple[int, ...] = None, start_date: Datetime = jax_datetime.Datetime(delta=jax_datetime.Timedelta(days=10957, seconds=0)), log_level=50)¶
Top level class for a JAX-GCM configuration using the Speedy physics on an aquaplanet.
- __init__(coords: CoordinateSystem, time_step=30.0, terrain: TerrainData = None, physics: Physics = None, diffusion: DiffusionFilter = None, spmd_mesh: tuple[int, ...] = None, start_date: Datetime = jax_datetime.Datetime(delta=jax_datetime.Timedelta(days=10957, seconds=0)), log_level=50) None¶
Initialize the model with the given time step, save interval, and total time.
- Args:
- coords:
CoordinateSystem object describing the model coordinates
- time_step:
Model time step in minutes
- terrain:
TerrainData object describing boundary conditions (orography, land-sea mask, etc.)
- physics:
Physics object describing the model physics
- diffusion:
DiffusionFilter object describing horizontal diffusion filter params
- spmd_mesh:
Optional tuple describing the SPMD mesh for parallelization
- start_date:
jax_datetime.Datetime object containing start date of the simulation (default January 1, 2000)
- log_level:
(int) indicates what level of messages will be output, use logging.INFO (20) for verbose (defaults logging.CRITICAL)
Methods
__init__(coords[, time_step, terrain, ...])Initialize the model with the given time step, save interval, and total time.
resume([forcing, save_interval, total_time, ...])Run the full simulation forward in time starting from end of previous call to model.run or model.resume.
run([initial_state, forcing, save_interval, ...])Set model.initial_nodal_state and model.start_date and run the full simulation forward in time.
run_from_state(initial_state, forcing[, ...])Run the full simulation forward in time starting from given initial state.