LinearTendency#
- class fridom.shallowwater.modules.linear_tendency.LinearTendency[source]#
Bases:
ModuleComputes the linear tendency of the shallow water model.
The linear tendency is given by:
\[\partial_t \boldsymbol{u} = f \underset{\neg}{\boldsymbol{v}} - \nabla p ~, \quad \partial_t p = -c^2 \nabla \cdot \boldsymbol{u}\]Methods
__init__()disable()Enabling the module means that it will be executed at each time step.
enable()Enabling the module means that it will be executed at each time step.
is_enabled()Return whether the module is enabled or not.
linear_tendency(z, dz)Compute the linear tendency term.
reset()Stop and start the module.
setup(mset)Start the module
start()Start the module
stop()Stop the module
update(mz)Update the module
Attributes
diff_moduleThe differentiation module to be used by this module.
gridThe grid of the model settings
infoReturn a dictionary with information about the time stepper.
interp_moduleThe interpolation module to be used by this module.
msetThe model settings
required_halo- name = 'Linear Tendency'#
- setup(mset: ModelSettings) None[source]#
Start the module
Description#
This method is called by the ModelSettings.setup() and sets the ModelSettings as well as the differentiation and interpolation modules.
- update(mz: ModelState) ModelState[source]#
Update the module
Description#
This method is called by the model at each time step. Child classes should overwrite this method to update the module. Make sure to decorate the method with the @module_method decorator.
Parameters#
- mzfr.ModelState
The model state at the current time step.
Returns#
- fr.ModelState
The updated model state.