rompy.schism.data.SCHISMData#
- pydantic model rompy.schism.data.SCHISMData[source]#
This class is used to gather all required input forcing for SCHISM
Show JSON schema
{ "title": "SCHISMData", "description": "This class is used to gather all required input forcing for SCHISM", "type": "object", "properties": { "data_type": { "const": "schism", "default": "schism", "description": "Model type discriminator", "title": "Data Type", "type": "string" }, "atmos": { "anyOf": [ { "$ref": "#/$defs/SCHISMDataSflux" }, { "type": "null" } ], "default": null, "description": "atmospheric data" }, "ocean": { "anyOf": [ { "$ref": "#/$defs/SCHISMDataOcean" }, { "type": "null" } ], "default": null, "description": "ocean data" }, "wave": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SCHISMDataWave" }, { "type": "null" } ], "default": null, "description": "wave data", "title": "Wave" }, "tides": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SCHISMDataTides" }, { "type": "null" } ], "default": null, "description": "tidal data", "title": "Tides" } }, "$defs": { "DataBlob": { "additionalProperties": false, "description": "Data source for model ingestion.\n\nGeneric data source for files that either need to be copied to the model directory\nor linked if `link` is set to True.", "properties": { "model_type": { "default": "data_blob", "description": "Model type discriminator", "enum": [ "data_blob", "data_link" ], "title": "Model Type", "type": "string" }, "id": { "default": "data", "description": "Unique identifier for this data source", "title": "Id", "type": "string" }, "source": { "description": "URI of the data source, either a local file path or a remote uri", "title": "Source" }, "link": { "default": false, "description": "Whether to create a symbolic link instead of copying the file", "title": "Link", "type": "boolean" } }, "required": [ "source" ], "title": "DataBlob", "type": "object" }, "DatasetCoords": { "additionalProperties": false, "description": "Coordinates representation.", "properties": { "t": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "time", "description": "Name of the time coordinate", "title": "T" }, "x": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "longitude", "description": "Name of the x coordinate", "title": "X" }, "y": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "latitude", "description": "Name of the y coordinate", "title": "Y" }, "z": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "depth", "description": "Name of the z coordinate", "title": "Z" }, "s": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "site", "description": "Name of the site coordinate", "title": "S" } }, "title": "DatasetCoords", "type": "object" }, "Filter": { "additionalProperties": false, "properties": { "sort": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": {}, "title": "Sort" }, "subset": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": {}, "title": "Subset" }, "crop": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": {}, "title": "Crop" }, "timenorm": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": {}, "title": "Timenorm" }, "rename": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": {}, "title": "Rename" }, "derived": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": {}, "title": "Derived" } }, "title": "Filter", "type": "object" }, "SCHISMDataBoundary": { "additionalProperties": false, "description": "This class is used to extract ocean boundary data from a griddd dataset at all open\nboundary nodes.", "properties": { "model_type": { "const": "boundary", "default": "data_boundary", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "id": { "choices": [ "elev2D", "uv3D", "TEM_3D", "SAL_3D", "bnd" ], "default": "bnd", "description": "SCHISM th id of the source", "title": "Id", "type": "string" }, "source": { "description": "Source reader, must return an xarray gridded dataset in the open method", "discriminator": { "mapping": { "csv": "#/$defs/SourceTimeseriesCSV", "datamesh": "#/$defs/SourceDatamesh", "file": "#/$defs/SourceFile", "intake": "#/$defs/SourceIntake", "wavespectra": "#/$defs/SourceWavespectra" }, "propertyName": "model_type" }, "oneOf": [ { "$ref": "#/$defs/SourceTimeseriesCSV" }, { "$ref": "#/$defs/SourceDatamesh" }, { "$ref": "#/$defs/SourceFile" }, { "$ref": "#/$defs/SourceIntake" }, { "$ref": "#/$defs/SourceWavespectra" } ], "title": "Source" }, "link": { "default": false, "description": "Whether to create a symbolic link instead of copying the file", "title": "Link", "type": "boolean" }, "filter": { "anyOf": [ { "$ref": "#/$defs/Filter" }, { "type": "null" } ], "description": "Optional filter specification to apply to the dataset" }, "variables": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": [], "description": "Subset of variables to extract from the dataset", "title": "Variables" }, "coords": { "anyOf": [ { "$ref": "#/$defs/DatasetCoords" }, { "type": "null" } ], "default": { "t": "time", "x": "longitude", "y": "latitude", "z": "depth", "s": "site" }, "description": "Names of the coordinates in the dataset" }, "crop_data": { "default": true, "description": "Update crop filter from Time object if passed to get method", "title": "Crop Data", "type": "boolean" }, "buffer": { "default": 0.0, "description": "Space to buffer the grid bounding box if `filter_grid` is True", "title": "Buffer", "type": "number" }, "time_buffer": { "default": [ 0, 1 ], "description": "Number of source data timesteps to buffer the time range if `filter_time` is True", "items": { "type": "integer" }, "title": "Time Buffer", "type": "array" }, "spacing": { "anyOf": [ { "type": "number" }, { "const": "parent", "type": "string" }, { "type": "null" } ], "default": null, "description": "Spacing between points along the grid boundary to retrieve data for. If None (default), points are defined from the the actual grid object passed to the `get` method. If 'parent', the resolution of the parent dataset is used to define the spacing.", "title": "Spacing" }, "sel_method": { "default": "interp", "description": "Xarray method to use for selecting boundary points from the dataset", "enum": [ "sel", "interp" ], "title": "Sel Method", "type": "string" }, "sel_method_kwargs": { "additionalProperties": true, "default": {}, "description": "Keyword arguments for sel_method", "title": "Sel Method Kwargs", "type": "object" }, "data_type": { "const": "boundary", "default": "boundary", "description": "Model type discriminator", "title": "Data Type", "type": "string" }, "variable": { "description": "variable name in the dataset", "title": "Variable", "type": "string" }, "interpolate_missing_coastal": { "default": true, "description": "interpolate_missing coastal data points", "title": "Interpolate Missing Coastal", "type": "boolean" } }, "required": [ "source", "variable" ], "title": "SCHISMDataBoundary", "type": "object" }, "SCHISMDataOcean": { "additionalProperties": false, "description": "This class is used define all ocean boundary forcing", "properties": { "data_type": { "const": "ocean", "default": "ocean", "description": "Model type discriminator", "title": "Data Type", "type": "string" }, "elev2D": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SCHISMDataBoundary" }, { "type": "null" } ], "default": null, "description": "elev2D", "title": "Elev2D" }, "uv3D": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SCHISMDataBoundary" }, { "type": "null" } ], "default": null, "description": "uv3D", "title": "Uv3D" }, "TEM_3D": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SCHISMDataBoundary" }, { "type": "null" } ], "default": null, "description": "TEM_3D", "title": "Tem 3D" }, "SAL_3D": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SCHISMDataBoundary" }, { "type": "null" } ], "default": null, "description": "SAL_3D", "title": "Sal 3D" } }, "title": "SCHISMDataOcean", "type": "object" }, "SCHISMDataSflux": { "additionalProperties": false, "properties": { "data_type": { "const": "sflux", "default": "sflux", "description": "Model type discriminator", "title": "Data Type", "type": "string" }, "air_1": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SfluxAir" }, { "type": "null" } ], "default": null, "description": "sflux air source 1", "title": "Air 1" }, "air_2": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SfluxAir" }, { "type": "null" } ], "default": null, "description": "sflux air source 2", "title": "Air 2" }, "rad_1": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SfluxRad" }, { "type": "null" } ], "default": null, "description": "sflux rad source 1", "title": "Rad 1" }, "rad_2": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SfluxRad" }, { "type": "null" } ], "default": null, "description": "sflux rad source 2", "title": "Rad 2" }, "prc_1": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SfluxPrc" }, { "type": "null" } ], "default": null, "description": "sflux prc source 1", "title": "Prc 1" }, "prc_2": { "anyOf": [ { "$ref": "#/$defs/DataBlob" }, { "$ref": "#/$defs/SfluxPrc" }, { "type": "null" } ], "default": null, "description": "sflux prc source 2", "title": "Prc 2" } }, "title": "SCHISMDataSflux", "type": "object" }, "SCHISMDataTides": { "additionalProperties": false, "description": "This class is used to define the tidal forcing for SCHISM.", "properties": { "data_type": { "const": "tides", "default": "tide", "description": "Model type discriminator", "title": "Data Type", "type": "string" }, "tidal_data": { "$ref": "#/$defs/TidalDataset", "description": "tidal dataset" }, "cutoff_depth": { "default": 50.0, "description": "cutoff depth for tides", "title": "Cutoff Depth", "type": "number" }, "flags": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": [ [ 5, 3, 0, 0 ] ], "description": "nested list of bctypes", "title": "Flags" }, "constituents": { "anyOf": [ { "type": "string" }, { "items": {}, "type": "array" } ], "default": "major", "description": "constituents", "title": "Constituents" }, "database": { "choices": [ "tpxo", "fes2014" ], "default": "tpxo", "description": "database", "title": "Database", "type": "string" }, "add_earth_tidal": { "default": true, "description": "add_earth_tidal", "title": "Add Earth Tidal", "type": "boolean" }, "ethconst": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": [], "description": "constant elevation value for each open boundary", "title": "Ethconst" }, "vthconst": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": [], "description": "constant discharge value for each open boundary", "title": "Vthconst" }, "tthconst": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": [], "description": "constant temperature value for each open boundary", "title": "Tthconst" }, "sthconst": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": [], "description": "constant salinity value for each open boundary", "title": "Sthconst" }, "tobc": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, { "type": "null" } ], "default": [ 1 ], "description": "nuding factor of temperature for each open boundary", "title": "Tobc" }, "sobc": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, { "type": "null" } ], "default": [ 1 ], "description": "nuding factor of salinity for each open boundary", "title": "Sobc" }, "relax": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, { "type": "null" } ], "default": [], "description": "relaxation constants for inflow and outflow", "title": "Relax" } }, "required": [ "tidal_data" ], "title": "SCHISMDataTides", "type": "object" }, "SCHISMDataWave": { "additionalProperties": false, "description": "This class is used to write wave spectral boundary data. Spectral data is extracted\nfrom the nearest points along the grid boundary", "properties": { "model_type": { "const": "boundary", "default": "data_boundary", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "id": { "description": "Unique identifier for this data source", "title": "Id", "type": "string" }, "source": { "description": "Dataset source reader, must return a wavespectra-enabled xarray dataset in the open method", "discriminator": { "mapping": { "csv": "#/$defs/SourceTimeseriesCSV", "datamesh": "#/$defs/SourceDatamesh", "file": "#/$defs/SourceFile", "intake": "#/$defs/SourceIntake", "wavespectra": "#/$defs/SourceWavespectra" }, "propertyName": "model_type" }, "oneOf": [ { "$ref": "#/$defs/SourceTimeseriesCSV" }, { "$ref": "#/$defs/SourceDatamesh" }, { "$ref": "#/$defs/SourceFile" }, { "$ref": "#/$defs/SourceIntake" }, { "$ref": "#/$defs/SourceWavespectra" } ], "title": "Source" }, "link": { "default": false, "description": "Whether to create a symbolic link instead of copying the file", "title": "Link", "type": "boolean" }, "filter": { "anyOf": [ { "$ref": "#/$defs/Filter" }, { "type": "null" } ], "description": "Optional filter specification to apply to the dataset" }, "variables": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": [], "description": "Subset of variables to extract from the dataset", "title": "Variables" }, "coords": { "anyOf": [ { "$ref": "#/$defs/DatasetCoords" }, { "type": "null" } ], "default": { "t": "time", "x": "longitude", "y": "latitude", "z": "depth", "s": "site" }, "description": "Names of the coordinates in the dataset" }, "crop_data": { "default": true, "description": "Update crop filter from Time object if passed to get method", "title": "Crop Data", "type": "boolean" }, "buffer": { "default": 2.0, "description": "Space to buffer the grid bounding box if `filter_grid` is True", "title": "Buffer", "type": "number" }, "time_buffer": { "default": [ 0, 1 ], "description": "Number of source data timesteps to buffer the time range if `filter_time` is True", "items": { "type": "integer" }, "title": "Time Buffer", "type": "array" }, "spacing": { "anyOf": [ { "type": "number" }, { "const": "parent", "type": "string" }, { "type": "null" } ], "default": null, "description": "Spacing between points along the grid boundary to retrieve data for. If None (default), points are defined from the the actual grid object passed to the `get` method. If 'parent', the resolution of the parent dataset is used to define the spacing.", "title": "Spacing" }, "sel_method": { "additionalProperties": true, "default": "nearest", "description": "Keyword arguments for sel_method", "title": "Sel Method", "type": "object" }, "sel_method_kwargs": { "additionalProperties": true, "default": { "unique": true }, "description": "Keyword arguments for sel_method", "title": "Sel Method Kwargs", "type": "object" }, "grid_type": { "const": "boundary_wave_station", "default": "boundary_wave_station", "description": "Model type discriminator", "title": "Grid Type", "type": "string" }, "data_type": { "const": "wave", "default": "wave", "description": "Model type discriminator", "title": "Data Type", "type": "string" } }, "required": [ "id", "source" ], "title": "SCHISMDataWave", "type": "object" }, "SfluxAir": { "additionalProperties": false, "description": "This is a single variable source for and sflux input", "properties": { "model_type": { "const": "grid", "default": "grid", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "id": { "choices": [ "air", "rad", "prc" ], "default": null, "description": "id of the source", "title": "Id", "type": "string" }, "source": { "description": "Source reader, must return an xarray gridded dataset in the open method", "discriminator": { "mapping": { "csv": "#/$defs/SourceTimeseriesCSV", "datamesh": "#/$defs/SourceDatamesh", "file": "#/$defs/SourceFile", "intake": "#/$defs/SourceIntake", "wavespectra": "#/$defs/SourceWavespectra" }, "propertyName": "model_type" }, "oneOf": [ { "$ref": "#/$defs/SourceTimeseriesCSV" }, { "$ref": "#/$defs/SourceDatamesh" }, { "$ref": "#/$defs/SourceFile" }, { "$ref": "#/$defs/SourceIntake" }, { "$ref": "#/$defs/SourceWavespectra" } ], "title": "Source" }, "link": { "default": false, "description": "Whether to create a symbolic link instead of copying the file", "title": "Link", "type": "boolean" }, "filter": { "anyOf": [ { "$ref": "#/$defs/Filter" }, { "type": "null" } ], "description": "Optional filter specification to apply to the dataset" }, "variables": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": [], "description": "Subset of variables to extract from the dataset", "title": "Variables" }, "coords": { "anyOf": [ { "$ref": "#/$defs/DatasetCoords" }, { "type": "null" } ], "default": { "t": "time", "x": "longitude", "y": "latitude", "z": "depth", "s": "site" }, "description": "Names of the coordinates in the dataset" }, "crop_data": { "default": true, "description": "Update crop filters from Grid and Time objects if passed to get method", "title": "Crop Data", "type": "boolean" }, "buffer": { "default": 0.0, "description": "Space to buffer the grid bounding box if `filter_grid` is True", "title": "Buffer", "type": "number" }, "time_buffer": { "default": [ 0, 1 ], "description": "Number of source data timesteps to buffer the time range if `filter_time` is True", "items": { "type": "integer" }, "title": "Time Buffer", "type": "array" }, "data_type": { "const": "sflux_air", "default": "sflux_air", "description": "Model type discriminator", "title": "Data Type", "type": "string" }, "relative_weight": { "default": 1.0, "description": "relative weight of the source file if two files are provided", "title": "Relative Weight", "type": "number" }, "max_window_hours": { "default": 120.0, "description": "maximum number of hours (offset from start time in each file) in each file of set 1", "title": "Max Window Hours", "type": "number" }, "fail_if_missing": { "default": true, "description": "Fail if the source file is missing", "title": "Fail If Missing", "type": "boolean" }, "uwind_name": { "default": null, "description": "name of zonal wind variable in source", "title": "Uwind Name", "type": "string" }, "vwind_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "name of meridional wind variable in source", "title": "Vwind Name" }, "prmsl_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "name of mean sea level pressure variable in source", "title": "Prmsl Name" }, "stmp_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "name of surface air temperature variable in source", "title": "Stmp Name" }, "spfh_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "name of specific humidity variable in source", "title": "Spfh Name" } }, "required": [ "source" ], "title": "SfluxAir", "type": "object" }, "SfluxPrc": { "additionalProperties": false, "description": "This is a single variable source for and sflux input", "properties": { "model_type": { "const": "grid", "default": "grid", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "id": { "choices": [ "air", "rad", "prc" ], "default": null, "description": "id of the source", "title": "Id", "type": "string" }, "source": { "description": "Source reader, must return an xarray gridded dataset in the open method", "discriminator": { "mapping": { "csv": "#/$defs/SourceTimeseriesCSV", "datamesh": "#/$defs/SourceDatamesh", "file": "#/$defs/SourceFile", "intake": "#/$defs/SourceIntake", "wavespectra": "#/$defs/SourceWavespectra" }, "propertyName": "model_type" }, "oneOf": [ { "$ref": "#/$defs/SourceTimeseriesCSV" }, { "$ref": "#/$defs/SourceDatamesh" }, { "$ref": "#/$defs/SourceFile" }, { "$ref": "#/$defs/SourceIntake" }, { "$ref": "#/$defs/SourceWavespectra" } ], "title": "Source" }, "link": { "default": false, "description": "Whether to create a symbolic link instead of copying the file", "title": "Link", "type": "boolean" }, "filter": { "anyOf": [ { "$ref": "#/$defs/Filter" }, { "type": "null" } ], "description": "Optional filter specification to apply to the dataset" }, "variables": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": [], "description": "Subset of variables to extract from the dataset", "title": "Variables" }, "coords": { "anyOf": [ { "$ref": "#/$defs/DatasetCoords" }, { "type": "null" } ], "default": { "t": "time", "x": "longitude", "y": "latitude", "z": "depth", "s": "site" }, "description": "Names of the coordinates in the dataset" }, "crop_data": { "default": true, "description": "Update crop filters from Grid and Time objects if passed to get method", "title": "Crop Data", "type": "boolean" }, "buffer": { "default": 0.0, "description": "Space to buffer the grid bounding box if `filter_grid` is True", "title": "Buffer", "type": "number" }, "time_buffer": { "default": [ 0, 1 ], "description": "Number of source data timesteps to buffer the time range if `filter_time` is True", "items": { "type": "integer" }, "title": "Time Buffer", "type": "array" }, "data_type": { "const": "sflux_prc", "default": "sflux_rad", "description": "Model type discriminator", "title": "Data Type", "type": "string" }, "relative_weight": { "default": 1.0, "description": "relative weight of the source file if two files are provided", "title": "Relative Weight", "type": "number" }, "max_window_hours": { "default": 120.0, "description": "maximum number of hours (offset from start time in each file) in each file of set 1", "title": "Max Window Hours", "type": "number" }, "fail_if_missing": { "default": true, "description": "Fail if the source file is missing", "title": "Fail If Missing", "type": "boolean" }, "prate_name": { "default": null, "description": "name of precipitation rate variable in source", "title": "Prate Name", "type": "string" } }, "required": [ "source" ], "title": "SfluxPrc", "type": "object" }, "SfluxRad": { "additionalProperties": false, "description": "This is a single variable source for and sflux input", "properties": { "model_type": { "const": "grid", "default": "grid", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "id": { "choices": [ "air", "rad", "prc" ], "default": null, "description": "id of the source", "title": "Id", "type": "string" }, "source": { "description": "Source reader, must return an xarray gridded dataset in the open method", "discriminator": { "mapping": { "csv": "#/$defs/SourceTimeseriesCSV", "datamesh": "#/$defs/SourceDatamesh", "file": "#/$defs/SourceFile", "intake": "#/$defs/SourceIntake", "wavespectra": "#/$defs/SourceWavespectra" }, "propertyName": "model_type" }, "oneOf": [ { "$ref": "#/$defs/SourceTimeseriesCSV" }, { "$ref": "#/$defs/SourceDatamesh" }, { "$ref": "#/$defs/SourceFile" }, { "$ref": "#/$defs/SourceIntake" }, { "$ref": "#/$defs/SourceWavespectra" } ], "title": "Source" }, "link": { "default": false, "description": "Whether to create a symbolic link instead of copying the file", "title": "Link", "type": "boolean" }, "filter": { "anyOf": [ { "$ref": "#/$defs/Filter" }, { "type": "null" } ], "description": "Optional filter specification to apply to the dataset" }, "variables": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": [], "description": "Subset of variables to extract from the dataset", "title": "Variables" }, "coords": { "anyOf": [ { "$ref": "#/$defs/DatasetCoords" }, { "type": "null" } ], "default": { "t": "time", "x": "longitude", "y": "latitude", "z": "depth", "s": "site" }, "description": "Names of the coordinates in the dataset" }, "crop_data": { "default": true, "description": "Update crop filters from Grid and Time objects if passed to get method", "title": "Crop Data", "type": "boolean" }, "buffer": { "default": 0.0, "description": "Space to buffer the grid bounding box if `filter_grid` is True", "title": "Buffer", "type": "number" }, "time_buffer": { "default": [ 0, 1 ], "description": "Number of source data timesteps to buffer the time range if `filter_time` is True", "items": { "type": "integer" }, "title": "Time Buffer", "type": "array" }, "data_type": { "const": "sflux_rad", "default": "sflux_rad", "description": "Model type discriminator", "title": "Data Type", "type": "string" }, "relative_weight": { "default": 1.0, "description": "relative weight of the source file if two files are provided", "title": "Relative Weight", "type": "number" }, "max_window_hours": { "default": 120.0, "description": "maximum number of hours (offset from start time in each file) in each file of set 1", "title": "Max Window Hours", "type": "number" }, "fail_if_missing": { "default": true, "description": "Fail if the source file is missing", "title": "Fail If Missing", "type": "boolean" }, "dlwrf_name": { "default": null, "description": "name of downward long wave radiation variable in source", "title": "Dlwrf Name", "type": "string" }, "dswrf_name": { "default": null, "description": "name of downward short wave radiation variable in source", "title": "Dswrf Name", "type": "string" } }, "required": [ "source" ], "title": "SfluxRad", "type": "object" }, "SourceDatamesh": { "additionalProperties": false, "description": "Source dataset from Datamesh.\n\nDatamesh documentation: https://docs.oceanum.io/datamesh/index.html", "properties": { "model_type": { "const": "datamesh", "default": "datamesh", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "datasource": { "description": "The id of the datasource on Datamesh", "title": "Datasource", "type": "string" }, "token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Datamesh API token, taken from the environment if not provided", "title": "Token" }, "kwargs": { "additionalProperties": true, "default": {}, "description": "Keyword arguments to pass to `oceanum.datamesh.Connector`", "title": "Kwargs", "type": "object" } }, "required": [ "datasource", "token" ], "title": "SourceDatamesh", "type": "object" }, "SourceFile": { "additionalProperties": false, "description": "Source dataset from file to open with xarray.open_dataset.", "properties": { "model_type": { "const": "file", "default": "file", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "uri": { "anyOf": [ { "type": "string" }, { "format": "path", "type": "string" } ], "description": "Path to the dataset", "title": "Uri" }, "kwargs": { "additionalProperties": true, "default": {}, "description": "Keyword arguments to pass to xarray.open_dataset", "title": "Kwargs", "type": "object" } }, "required": [ "uri" ], "title": "SourceFile", "type": "object" }, "SourceIntake": { "additionalProperties": false, "description": "Source dataset from intake catalog.\n\nnote\n----\nThe intake catalog can be prescribed either by the URI of an existing catalog file\nor by a YAML string defining the catalog. The YAML string can be obtained from\ncalling the `yaml()` method on an intake dataset instance.", "properties": { "model_type": { "const": "intake", "default": "intake", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "dataset_id": { "description": "The id of the dataset to read in the catalog", "title": "Dataset Id", "type": "string" }, "catalog_uri": { "anyOf": [ { "type": "string" }, { "format": "path", "type": "string" }, { "type": "null" } ], "default": null, "description": "The URI of the catalog to read from", "title": "Catalog Uri" }, "catalog_yaml": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The YAML string of the catalog to read from", "title": "Catalog Yaml" }, "kwargs": { "additionalProperties": true, "default": {}, "description": "Keyword arguments to define intake dataset parameters", "title": "Kwargs", "type": "object" } }, "required": [ "dataset_id" ], "title": "SourceIntake", "type": "object" }, "SourceTimeseriesCSV": { "additionalProperties": false, "description": "Timeseries source class from CSV file.\n\nThis class should return a timeseries from a CSV file. The dataset variables are\ndefined from the column headers, therefore the appropriate read_csv kwargs must be\npassed to allow defining the columns. The time index is defined from column name\nidentified by the tcol field.", "properties": { "model_type": { "const": "csv", "default": "csv", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "filename": { "anyOf": [ { "type": "string" }, { "format": "path", "type": "string" } ], "description": "Path to the csv file", "title": "Filename" }, "tcol": { "default": "time", "description": "Name of the column containing the time data", "title": "Tcol", "type": "string" }, "read_csv_kwargs": { "additionalProperties": true, "default": {}, "description": "Keyword arguments to pass to pandas.read_csv", "title": "Read Csv Kwargs", "type": "object" } }, "required": [ "filename" ], "title": "SourceTimeseriesCSV", "type": "object" }, "SourceWavespectra": { "additionalProperties": false, "description": "Wavespectra dataset from wavespectra reader.", "properties": { "model_type": { "const": "wavespectra", "default": "wavespectra", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "uri": { "anyOf": [ { "type": "string" }, { "format": "path", "type": "string" } ], "description": "Path to the dataset", "title": "Uri" }, "reader": { "description": "Name of the wavespectra reader to use, e.g., read_swan", "title": "Reader", "type": "string" }, "kwargs": { "additionalProperties": true, "default": {}, "description": "Keyword arguments to pass to the wavespectra reader", "title": "Kwargs", "type": "object" } }, "required": [ "uri", "reader" ], "title": "SourceWavespectra", "type": "object" }, "TidalDataset": { "additionalProperties": false, "description": "This class is used to define the tidal dataset", "properties": { "data_type": { "const": "tidal_dataset", "default": "tidal_dataset", "description": "Model type discriminator", "title": "Data Type", "type": "string" }, "elevations": { "description": "Path to elevations file", "title": "Elevations" }, "velocities": { "description": "Path to currents file", "title": "Velocities" } }, "required": [ "elevations", "velocities" ], "title": "TidalDataset", "type": "object" } }, "additionalProperties": false }
- Fields:
- field atmos: SCHISMDataSflux | None = None#
atmospheric data
- field data_type: Literal['schism'] = 'schism'#
Model type discriminator
- field ocean: SCHISMDataOcean | None = None#
ocean data
- field tides: DataBlob | SCHISMDataTides | None = None#
tidal data
- field wave: DataBlob | SCHISMDataWave | None = None#
wave data
- get(destdir: str | Path, grid: SCHISMGrid | None = None, time: TimeRange | None = None) None [source]#