curryer.correction.io_config ============================ .. py:module:: curryer.correction.io_config .. autoapi-nested-parse:: NetCDF output configuration and standard attribute definitions. Separates I/O-specific configuration from the core correction config models. Attributes ---------- .. autoapisummary:: curryer.correction.io_config.logger curryer.correction.io_config.DEFAULT_NETCDF_ATTRIBUTES Classes ------- .. autoapisummary:: curryer.correction.io_config.NetCDFParameterMetadata curryer.correction.io_config.NetCDFConfig Module Contents --------------- .. py:data:: logger .. py:data:: DEFAULT_NETCDF_ATTRIBUTES .. py:class:: NetCDFParameterMetadata(/, **data: Any) Bases: :py:obj:`pydantic.BaseModel` NetCDF metadata for a single output parameter variable. .. py:attribute:: variable_name :type: str .. py:attribute:: units :type: str .. py:attribute:: long_name :type: str .. py:class:: NetCDFConfig(/, **data: Any) Bases: :py:obj:`pydantic.BaseModel` Configuration for NetCDF output structure and metadata. .. attribute:: performance_threshold_m Accuracy threshold in meters used to derive threshold-specific variable names (e.g. ``"percent_under_250m"``). .. attribute:: title Global title attribute for the output NetCDF file. .. attribute:: description Global description attribute for the output NetCDF file. .. attribute:: parameter_metadata Optional mapping of parameter key → :class:`NetCDFParameterMetadata`. Auto-generated from the sweep's ``parameters`` when ``None``. .. attribute:: standard_attributes Optional mission-specific attribute overrides. Falls back to the module-level :data:`DEFAULT_NETCDF_ATTRIBUTES` when ``None``. .. py:attribute:: performance_threshold_m :type: float .. py:attribute:: title :type: str :value: 'Correction Geolocation Analysis Results' .. py:attribute:: description :type: str :value: 'Parameter sensitivity analysis' .. py:attribute:: parameter_metadata :type: dict[str, NetCDFParameterMetadata] | None :value: None .. py:attribute:: standard_attributes :type: dict[str, dict[str, str]] | None :value: None .. py:property:: threshold_metric_name :type: str Threshold-derived metric variable name, e.g. ``"percent_under_250m"``. .. py:property:: standard_attributes_dict :type: dict[str, dict[str, str]] Standard variable attributes, with optional mission-specific overrides. Returns a shallow copy so callers may add derived entries (e.g. the threshold metric) without mutating the stored config. .. py:method:: get_parameter_netcdf_metadata(param_config: curryer.correction.config.ParameterConfig, angle_type: str | None = None) -> NetCDFParameterMetadata Get NetCDF metadata for a parameter. .. py:method:: _auto_generate_metadata(param_config: curryer.correction.config.ParameterConfig, angle_type: str | None, base_key: str) -> NetCDFParameterMetadata Auto-generate NetCDF metadata from parameter configuration.