CrocoDash.forcing_configurations package

Contents

CrocoDash.forcing_configurations package#

Submodules#

CrocoDash.forcing_configurations.base module#

class CrocoDash.forcing_configurations.base.BaseConfigurator(**kwargs)#

Bases: ABC

Base class for all CrocoDash configurators.

allowed_compsets: List[str] = []#
classmethod check_input_params_synced()#

Make sure the init args exactly match the input param names. This check is only run in testing

classmethod check_output_params_exist()#
abstractmethod configure()#

Bind input values to parameters and files.

classmethod deserialize(data: Dict[str, Any])#
forbidden_compsets: List[str] = []#
get_input_param(name: str) OutputParam#
get_input_param_object(name: str) OutputParam#
get_output_param(name: str) OutputParam#
get_output_param_object(name: str) OutputParam#
input_params: List[Param]#
classmethod inspect(caseroot)#

Return an instance of the configurator with placeholder values for input and correct output params from case

classmethod is_required(compset: str) bool#
make_serializable(obj)#
name: str = ''#
output_params: List[OutputParam]#
required_for_compsets: List[str] = []#
serialize() Dict[str, Any]#
set_input_param(name: str, value)#
set_output_param(name: str, value, is_non_local=None)#
validate_args(**kwargs)#

Validate provided inputs against declared input_params.

classmethod validate_compset_compatibility(compset: str) bool#
class CrocoDash.forcing_configurations.base.ForcingConfigRegistry(compset, inputs: dict, case=None)#

Bases: object

classmethod deserialize(obj_dict)#
find_active_configurators(compset, inputs: dict)#
classmethod find_required_configurators(compset)#

Returns the required configurations based on the compset in a list

classmethod find_valid_configurators(compset)#

Returns the valid configurations based on the compset in a list

get_active_configurators()#
classmethod get_ctor_signature(configurator_cls)#
classmethod get_user_args(configurator_cls)#
classmethod instantiate_configurator(configurator_cls, inputs)#
is_active(name: str) bool#

Return True if a configurator with this name is active.

classmethod register(configurator_cls: type)#
registered_types: List[type] = [<class 'CrocoDash.forcing_configurations.configurations.TidesConfigurator'>, <class 'CrocoDash.forcing_configurations.configurations.BGCConfigurator'>, <class 'CrocoDash.forcing_configurations.configurations.CICEConfigurator'>, <class 'CrocoDash.forcing_configurations.configurations.BGCICConfigurator'>, <class 'CrocoDash.forcing_configurations.configurations.BGCIronForcingConfigurator'>, <class 'CrocoDash.forcing_configurations.configurations.BGCRiverNutrientsConfigurator'>, <class 'CrocoDash.forcing_configurations.configurations.RunoffConfigurator'>, <class 'CrocoDash.forcing_configurations.configurations.ChlConfigurator'>]#
classmethod return_missing_inputs(configurator_cls, inputs)#
run_configurators(config_path)#
class CrocoDash.forcing_configurations.base.InputFileParam(name: str, comment: str | None = None)#

Bases: InputParam

Base class for a single file parameter in our forcing configurations.

set_item(filepath: str)#

Bind a runtime value to this parameter.

class CrocoDash.forcing_configurations.base.InputParam(name: str, comment: str | None = None)#

Bases: Param

class CrocoDash.forcing_configurations.base.InputValueParam(name: str, comment: str | None = None)#

Bases: InputParam

Base class for a single value parameter in our forcing configurations.

set_item(item)#

Bind a runtime value to this parameter.

class CrocoDash.forcing_configurations.base.OutputParam(name: str, comment: str | None = None)#

Bases: Param

Base class for a single configuration parameter applied to a CESM/MOM6 case.

abstractmethod apply()#

Apply the configuration change.

abstractmethod inspect(caseroot)#

Inspect the current value of this parameter in the case located at caseroot.

set_item(value: Any)#

Bind a runtime value to this parameter.

class CrocoDash.forcing_configurations.base.Param(name: str, comment: str | None = None)#

Bases: ABC

Base class for a single parameter in our forcing configurations.

abstractmethod set_item(item: Any)#

Bind a runtime value to this parameter.

class CrocoDash.forcing_configurations.base.UserNLConfigParam(name: str, user_nl_name: str = 'mom', comment: str | None = None)#

Bases: OutputParam

Parameter written to a user_nl_<component> file (default: user_nl_mom).

apply()#

Apply the configuration change.

inspect(caseroot)#

Inspect the current value of this parameter in the case located at caseroot.

class CrocoDash.forcing_configurations.base.XMLConfigParam(name: str, is_non_local: bool = False, comment: str | None = None)#

Bases: OutputParam

Parameter applied via xmlchange.

XML changes are permanent and do not save previous state.

apply()#

Apply the configuration change.

inspect(caseroot)#

Inspect the current value of this parameter in the case located at caseroot.

CrocoDash.forcing_configurations.base.is_serializable(v)#

CrocoDash.forcing_configurations.configurations module#

class CrocoDash.forcing_configurations.configurations.BGCConfigurator#

Bases: BaseConfigurator

allowed_compsets: List[str] = ['MARBL']#
configure()#

Bind input values to parameters and files.

input_params: List[Param] = []#
name: str = 'BGC'#
output_params: List[OutputParam] = [UserNLConfigParam(name='MAX_FIELDS')]#
required_for_compsets: List[str] = ['MARBL']#
class CrocoDash.forcing_configurations.configurations.BGCICConfigurator(marbl_ic_filepath)#

Bases: BaseConfigurator

allowed_compsets: List[str] = ['MARBL']#
configure()#

Bind input values to parameters and files.

input_params: List[Param] = [InputFileParam(name='marbl_ic_filepath')]#
name: str = 'BGCIC'#
output_params: List[OutputParam] = [UserNLConfigParam(name='MARBL_TRACERS_IC_FILE')]#
required_for_compsets: List[str] = ['MARBL']#
class CrocoDash.forcing_configurations.configurations.BGCIronForcingConfigurator(case_session_id, case_grid_name)#

Bases: BaseConfigurator

allowed_compsets: List[str] = ['MARBL']#
configure()#

Bind input values to parameters and files.

input_params: List[Param] = [InputValueParam(name='case_session_id'), InputValueParam(name='case_grid_name')]#
name: str = 'BGCIronForcing'#
output_params: List[OutputParam] = [UserNLConfigParam(name='MARBL_FESEDFLUX_FILE'), UserNLConfigParam(name='MARBL_FEVENTFLUX_FILE')]#
required_for_compsets: List[str] = ['MARBL']#
class CrocoDash.forcing_configurations.configurations.BGCRiverNutrientsConfigurator(global_river_nutrients_filepath, case_session_id, case_grid_name)#

Bases: BaseConfigurator

allowed_compsets: List[str] = ['MARBL', 'DROF']#
configure()#

Bind input values to parameters and files.

input_params: List[Param] = [InputFileParam(name='global_river_nutrients_filepath'), InputValueParam(name='case_session_id'), InputValueParam(name='case_grid_name')]#
name: str = 'BGCRiverNutrients'#
output_params: List[OutputParam] = [UserNLConfigParam(name='READ_RIV_FLUXES'), UserNLConfigParam(name='RIV_FLUX_FILE')]#
validate_args(**kwargs)#

Validate provided inputs against declared input_params.

class CrocoDash.forcing_configurations.configurations.CICEConfigurator#

Bases: BaseConfigurator

allowed_compsets: List[str] = ['CICE']#
configure()#

Bind input values to parameters and files.

input_params: List[Param] = []#
name: str = 'CICE'#
output_params: List[OutputParam] = [UserNLConfigParam(name='ice_ic'), UserNLConfigParam(name='ns_boundary_type'), UserNLConfigParam(name='ew_boundary_type'), UserNLConfigParam(name='close_boundaries')]#
required_for_compsets: List[str] = ['CICE']#
class CrocoDash.forcing_configurations.configurations.ChlConfigurator(chl_processed_filepath, case_grid_name, case_session_id)#

Bases: BaseConfigurator

configure()#

Bind input values to parameters and files.

forbidden_compsets: List[str] = ['MARBL']#
input_params: List[Param] = [InputFileParam(name='chl_processed_filepath'), InputValueParam(name='case_grid_name'), InputValueParam(name='case_session_id')]#
name: str = 'Chl'#
output_params: List[OutputParam] = [UserNLConfigParam(name='CHL_FILE'), UserNLConfigParam(name='CHL_FROM_FILE'), UserNLConfigParam(name='VAR_PEN_SW'), UserNLConfigParam(name='PEN_SW_NBANDS')]#
validate_args(**kwargs)#

Validate provided inputs against declared input_params.

class CrocoDash.forcing_configurations.configurations.RunoffConfigurator(case_grid_name, case_session_id, case_compset_lname, case_inputdir, case_is_non_local, case_esmf_mesh_path, case_cime=None, rmax=None, fold=None, rof_grid_name=None, rof_esmf_mesh_filepath=None)#

Bases: BaseConfigurator

allowed_compsets: List[str] = {'DROF'}#
configure()#

Bind input values to parameters and files.

input_params: List[Param] = [InputValueParam(name='case_grid_name'), InputValueParam(name='case_session_id'), InputValueParam(name='case_compset_lname'), InputValueParam(name='case_inputdir'), InputValueParam(name='rmax'), InputValueParam(name='rof_grid_name'), InputValueParam(name='case_is_non_local'), InputValueParam(name='fold'), InputFileParam(name='rof_esmf_mesh_filepath'), InputFileParam(name='case_esmf_mesh_path')]#
name: str = 'Runoff'#
output_params: List[OutputParam] = [XMLConfigParam(name='ROF2OCN_LIQ_RMAPNAME'), XMLConfigParam(name='ROF2OCN_ICE_RMAPNAME')]#
required_for_compsets: List[str] = {'DROF'}#
validate_args(**kwargs)#

Validate provided inputs against declared input_params.

class CrocoDash.forcing_configurations.configurations.TidesConfigurator(tpxo_elevation_filepath, tpxo_velocity_filepath, tidal_constituents, boundaries, date_range=None, start_date=None)#

Bases: BaseConfigurator

configure()#

Bind input values to parameters and files.

input_params: List[Param] = [InputFileParam(name='tpxo_elevation_filepath'), InputFileParam(name='tpxo_velocity_filepath'), InputValueParam(name='tidal_constituents'), InputValueParam(name='start_date'), InputValueParam(name='boundaries')]#
name: str = 'tides'#
output_params: List[OutputParam] = [UserNLConfigParam(name='TIDES'), UserNLConfigParam(name='TIDE_M2'), UserNLConfigParam(name='CD_TIDES'), UserNLConfigParam(name='TIDE_USE_EQ_PHASE'), UserNLConfigParam(name='TIDE_REF_DATE'), UserNLConfigParam(name='OBC_TIDE_ADD_EQ_PHASE'), UserNLConfigParam(name='OBC_TIDE_N_CONSTITUENTS'), UserNLConfigParam(name='OBC_TIDE_CONSTITUENTS'), UserNLConfigParam(name='OBC_TIDE_REF_DATE')]#
tidal_data_str(seg_ix)#
CrocoDash.forcing_configurations.configurations.register(cls)#

Module contents#