models class#
- class pycif.utils.classes.models.Model(**kwargs)[source]#
Bases:
PluginPlugin type for atmospheric transport models.
Provides forward and adjoint run interfaces, input/output conversion methods between native model format and pyCIF data structures, and auxiliary utilities (compilation, mapper initialisation, perturbation).
Concrete implementations live in
pycif/plugins/models/.- initiate_template()[source]#
Initialise the Model plugin template.
Loads the registered model module and attaches all standard methods (
run,make_input,make_auxiliary,ini_periods,native2inputs,outputs2native,native2inputs_adj,outputs2native_adj,compile,ini_mapper,perturb_model) as bound methods. Also wrapsini_datato callini_periods()automatically after data initialisation.
- classmethod register_plugin(name, version, module, subtype='', **kwargs)[source]#
Register a module for a plugin and version with possibly options
- Parameters:
name (str) – name of the plugin
version (str) – version of the plugin
module (types.ModuleType) – module defining the interface between pyCIF and the plugin
plugin_type (str) – type of plugin
**kwargs (dictionary) – default options for module