pyfvcom2.tide_reader module

class pyfvcom2.tide_reader.FVCOMHarmonicsNames(amplitude_var_name, phase_var_name, lon_var_name, lat_var_name, constituents_var_name, apply_transport_unit_conversion, bathy_var_name)

Bases: NamedTuple

amplitude_var_name: str

Alias for field number 0

apply_transport_unit_conversion: bool

Alias for field number 5

bathy_var_name: str | None

Alias for field number 6

constituents_var_name: str

Alias for field number 4

lat_var_name: str

Alias for field number 3

lon_var_name: str

Alias for field number 2

phase_var_name: str

Alias for field number 1

class pyfvcom2.tide_reader.FVCOMHarmonicsReader(file_path: str)[source]

Bases: HarmonicsReader

A class to read FVCOM harmonics data from a netCDF file.

read_harmonics(requested_constituents: List[str], var_names: FVCOMHarmonicsNames) HarmonicsData[source]

Read FVCOM harmonics data for the specified constituents and variable.

Args:

requested_constituents: List of tidal constituent names to read. var_names: NamedTuple containing variable names for FVCOM data.

Returns:

HarmonicsData: NamedTuple containing longitude, latitude, amplitudes, phases, and constituents

class pyfvcom2.tide_reader.HarmonicsData(longitude, latitude, amplitudes, phases, constituents)

Bases: NamedTuple

amplitudes: ndarray

Alias for field number 2

constituents: List[str]

Alias for field number 4

latitude: ndarray

Alias for field number 1

longitude: ndarray

Alias for field number 0

phases: ndarray

Alias for field number 3

class pyfvcom2.tide_reader.HarmonicsReader(file_path: str | Dict[str, str])[source]

Bases: ABC

Abstract base class for reading tidal harmonics data from netCDF files.

abstractmethod read_harmonics(requested_constituents: List[str], var_names: NamedTuple) HarmonicsData[source]

Read harmonics data for the specified constituents and variable.

Args:

requested_constituents: List of tidal constituent names to read. var_names: NamedTuple containing variable names for the specific data format (FVCOM, TPXO, etc.).

Returns:

HarmonicsData: NamedTuple containing longitude, latitude, amplitudes, phases, and constituents

class pyfvcom2.tide_reader.TPXOComplexHarmonicsNames(part1_var_name, part2_var_name, lon_var_name, lat_var_name, constituents_var_name, apply_transport_unit_conversion, bathy_var_name)

Bases: NamedTuple

apply_transport_unit_conversion: bool

Alias for field number 5

bathy_var_name: str | None

Alias for field number 6

constituents_var_name: str

Alias for field number 4

lat_var_name: str

Alias for field number 3

lon_var_name: str

Alias for field number 2

part1_var_name: str

Alias for field number 0

part2_var_name: str

Alias for field number 1

class pyfvcom2.tide_reader.TPXOComplexHarmonicsReader(file_path: str | Dict[str, str])[source]

Bases: HarmonicsReader

A class to read TPXO harmonics data stored as complex (real/imaginary) from a netCDF file.

read_harmonics(requested_constituents: List[str], var_names: TPXOComplexHarmonicsNames, fill_land: bool = True, bbox: Tuple[float, float, float, float] | None = None, bbox_margin: float = 1.0, bathy_file: ndarray | None = None) HarmonicsData[source]

Read TPXO complex harmonics data for the specified constituents.

Args:

requested_constituents: List of tidal constituent names to read. var_names: NamedTuple containing variable names for TPXO data. fill_land: Whether to fill land points (where amplitude == 0) by interpolation from ocean points. Defaults to True. bbox: Optional (lon_min, lon_max, lat_min, lat_max) bounding box

to spatially subset the data before loading. Uses the target coordinate system (e.g. -180 to 180). Dramatically reduces memory usage and processing time for high-resolution files.

bbox_margin: Extra margin in degrees around the bbox. Defaults to 1.0. bathy_file: Optional path to a netCDF file containing bathymetry data on the same grid, required if apply_transport_unit_conversion is True.

Returns:

HarmonicsData: NamedTuple containing longitude, latitude, amplitudes, phases, and constituents

class pyfvcom2.tide_reader.TPXOHarmonicsNames(amplitude_var_name, phase_var_name, lon_var_name, lat_var_name, constituents_var_name, apply_transport_unit_conversion, bathy_var_name)

Bases: NamedTuple

amplitude_var_name: str

Alias for field number 0

apply_transport_unit_conversion: bool

Alias for field number 5

bathy_var_name: str | None

Alias for field number 6

constituents_var_name: str

Alias for field number 4

lat_var_name: str

Alias for field number 3

lon_var_name: str

Alias for field number 2

phase_var_name: str

Alias for field number 1

class pyfvcom2.tide_reader.TPXOHarmonicsReader(file_path: str | Dict[str, str])[source]

Bases: HarmonicsReader

A class to read TPXO harmonics data stored as amplitude and phase from a netCDF file.

read_harmonics(requested_constituents: List[str], var_names: TPXOHarmonicsNames, fill_land: bool = True, bbox: Tuple[float, float, float, float] | None = None, bbox_margin: float = 1.0) HarmonicsData[source]

Read TPXO harmonics data for the specified constituents.

Args:

requested_constituents: List of tidal constituent names to read. var_names: NamedTuple containing variable names for TPXO data. fill_land: Whether to fill land points (where amplitude == 0) by interpolation from ocean points. Defaults to True. bbox: Optional (lon_min, lon_max, lat_min, lat_max) bounding box

to spatially subset the data before loading. Uses the target coordinate system (e.g. -180 to 180). Dramatically reduces memory usage and processing time for high-resolution files.

bbox_margin: Extra margin in degrees around the bbox. Defaults to 1.0.

Returns:

HarmonicsData: NamedTuple containing longitude, latitude, amplitudes, phases, and constituents