environmentaltools.processes.bulk_fluid_density
- environmentaltools.processes.bulk_fluid_density(T, S, C, rhos=2650)[source]
Compute bulk fluid density from suspended sediment concentration.
Calculates the density of water-sediment mixture accounting for temperature, salinity, and suspended sediment concentration (turbidity).
- Parameters:
T (pd.DataFrame or np.ndarray) – Water temperature (°C)
S (pd.DataFrame or np.ndarray) – Salinity (psu - practical salinity units)
C (pd.DataFrame or np.ndarray) – Turbidity, suspended sediment concentration (FNU - Formazin Nephelometric Units)
rhos (float, optional) – Sediment particle density (kg/m³). Default: 2650 (typical quartz sand)
- Returns:
rho (pd.DataFrame or np.ndarray) – Clear water density (kg/m³) from temperature and salinity
rho_bulk (pd.DataFrame or np.ndarray) – Bulk fluid density (kg/m³) including suspended sediment effects
Notes
Conversion factor: Multiply turbidity C by 1.6015e-3 to convert FNU to g/L.
The bulk density accounts for:
Base seawater density from EOS (temperature and salinity effects)
Volume displacement by sediment particles
Mass contribution from suspended sediment
Formula: ρ_bulk = ρ_water + (1 - ρ_water/ρ_sediment) * C * 1.6015e-3
Examples
>>> import pandas as pd >>> T = pd.Series([20, 20, 20]) >>> S = pd.Series([35, 35, 35]) >>> C = pd.Series([0, 100, 500]) # Turbidity in FNU >>> rho, rho_bulk = bulk_fluid_density(T, S, C) >>> print(f"Clear water: {rho[0]:.2f} kg/m³") >>> print(f"With sediment: {rho_bulk[2]:.2f} kg/m³")