gnome.environment.water
The Water environment object. The Water object defines the Water conditions for the spill
Temperature, Salinity, etc.
NOTE: this is simple, constant water conditions – at some point, we will make it a proper Environment object
Classes
Base class for making an Environment object for a water property |
|
Base class for making an Environment object for a water property |
|
Base class for making an Environment object for a water property |
|
Base class for making an Environment object for a water property |
|
Base class for making an Environment object for a water property |
|
Define the environmental conditions for a spill, like water_temperature, |
Functions
|
Module Contents
- class gnome.environment.water.WaterProperty(water)
Bases:
gnome.environment.environment.Environment
Base class for making an Environment object for a water property
This one uses a Water object for the data itself
Needs to be wrapped with the make_water_property decorator to be functional
base class for environment objects
- Parameters:
name=None
- data_start
- data_stop
- water
- gnome.environment.water.make_water_property(property, default_unit)
- class gnome.environment.water.Temperature(water)
Bases:
WaterProperty
Base class for making an Environment object for a water property
This one uses a Water object for the data itself
Needs to be wrapped with the make_water_property decorator to be functional
base class for environment objects
- Parameters:
name=None
- class gnome.environment.water.Salinity(water)
Bases:
WaterProperty
Base class for making an Environment object for a water property
This one uses a Water object for the data itself
Needs to be wrapped with the make_water_property decorator to be functional
base class for environment objects
- Parameters:
name=None
- class gnome.environment.water.Sediment(water)
Bases:
WaterProperty
Base class for making an Environment object for a water property
This one uses a Water object for the data itself
Needs to be wrapped with the make_water_property decorator to be functional
base class for environment objects
- Parameters:
name=None
- class gnome.environment.water.WaveHeight(water)
Bases:
WaterProperty
Base class for making an Environment object for a water property
This one uses a Water object for the data itself
Needs to be wrapped with the make_water_property decorator to be functional
base class for environment objects
- Parameters:
name=None
- class gnome.environment.water.Water(temperature=300.0, salinity=35.0, sediment=0.005, wave_height=None, fetch=None, units=None, name='Water', **kwargs)
Bases:
gnome.environment.environment.Environment
Define the environmental conditions for a spill, like water_temperature,
Single values for all time and space
Defined in a Serializable class since user will need to set/get some of these properties through the client
Includes attributes with an Environment interface:
Temperature Salinity Sediment WaveHeight
Example: water.Temperature.at(points, time, unit)
Assume units are SI for all properties. ‘units’ attribute assumes SI by default. This can be changed, but initialization takes SI.
Units is dict, with some subset of these keys:
{ 'temperature': 'K', 'salinity': 'psu', 'sediment': 'kg/m^3', 'wave_height': 'm', 'fetch': 'm', }
So to set units of temperature to F:
units = {'temperature': 'F'}
- temperature = 300.0
- salinity = 35.0
- sediment = 0.005
- wave_height = None
- fetch = None
- kinematic_viscosity = 1e-06
- name = 'Water'
define as property in base class so all objects will have a name by default
- property units
- Temperature
- Salinity
- Sediment
- WaveHeight
- property data_start
The Water object doesn’t directly manage a time series of data, so it will not have a data range. We will just return an infinite range for Water.
- property data_stop
- get(attr, unit=None)
return value in desired unit. If None, then return the value in SI units. The user_units are given in ‘units’ attribute and each attribute carries the value as given in these user_units.
- set(attr, value, unit)
provide a corresponding set method that requires value and units. The attributes can be directly set. This function just sets the desired property and also updates the units dict
- property density
return the density based on water salinity and temperature. The salinity is in ‘psu’; it is not being converted to absolute salinity units - for our purposes, this is sufficient. Using gsw.rho() internally which expects salinity in absolute units.