CrocoDash.forcing_configurations package#
Submodules#
CrocoDash.forcing_configurations.base module#
- class CrocoDash.forcing_configurations.base.BaseConfigurator(**kwargs)#
Bases:
ABCBase 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#
- 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:
InputParamBase 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:
InputParamBase 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:
ParamBase 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:
ABCBase 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:
OutputParamParameter 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:
OutputParamParameter 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.
- 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.
- 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.
- 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)#