models
variable.models
¤
Classes¤
PermissionsBase
¤
Bases: Model
Base model for models that require permissions.
Functions¤
set_model_permissions()
classmethod
¤
Set model-level add permissions.
Source code in management/models.py
74 75 76 77 |
|
set_object_permissions()
¤
Set object-level delete, change and view permissions.
Source code in management/models.py
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
|
Sensor
¤
Bases: PermissionsBase
Specific sensor details.
Attributes:
Name | Type | Description |
---|---|---|
sensor_id |
int
|
Primary key, sensor id. |
code |
(str) sensor code. |
|
sensor_type |
SensorType
|
sensor type. |
sensor_brand |
SensorBrand
|
sensor brand. |
model |
str
|
specific model of the sensor. |
serial |
str
|
serial number of the sensor. |
status |
bool
|
sensor status. |
Functions¤
__str__()
¤
Return the sensor code.
Source code in sensor/models.py
112 113 114 |
|
get_absolute_url()
¤
Return the absolute url of the sensor.
Source code in sensor/models.py
116 117 118 |
|
SensorInstallation
¤
Bases: PermissionsBase
Represents an installation of a Sensor at a Station, which measures a Variable.
It includes metadata for installation and finishing date, as well as state (active or not).
Attributes:
Name | Type | Description |
---|---|---|
sensorinstallation_id |
AutoField
|
Primary key. |
variable |
ForeignKey
|
Variable measured by the sensor. |
station |
ForeignKey
|
Station where the sensor is installed. |
sensor |
ForeignKey
|
Sensor used for the measurement. |
start_date |
DateField
|
Start date of the installation. |
end_date |
DateField
|
End date of the installation. |
state |
BooleanField
|
Is the sensor active? |
Station
¤
Bases: PermissionsBase
Main representation of a station, including several metadata.
Attributes:
Name | Type | Description |
---|---|---|
visibility |
str
|
Visibility level of the object, including an "internal" option. |
station_id |
int
|
Primary key. |
station_code |
str
|
Unique code for the station. |
station_name |
str
|
Brief description of the station. |
station_type |
StationType
|
Type of the station. |
country |
Country
|
Country where the station is located. |
region |
Region
|
Region within the Country where the station is located. |
ecosystem |
Ecosystem
|
Ecosystem associated with the station. |
institution |
Institution
|
Institutional partner responsible for the station. |
place_basin |
PlaceBasin
|
Place-Basin association. |
station_state |
bool
|
Is the station operational? |
timezone |
str
|
Timezone of the station. |
station_latitude |
Decimal
|
Latitude of the station, in degrees [-90 to 90]. |
station_longitude |
Decimal
|
Longitude of the station, in degrees [-180 to 180]. |
station_altitude |
int
|
Altitude of the station. |
influence_km |
Decimal
|
Area of influence in km2. |
station_file |
ImageField
|
Photography of the station. |
station_external |
bool
|
Is the station external? |
variables |
str
|
Comma-separated list of variables measured by the station. |
Attributes¤
variables_list: list[str]
property
¤
Return the list of variables measured by the station.
Only variables with data in the database are returned.
Returns:
Type | Description |
---|---|
list[str]
|
list[str]: List of variables measured by the station. |
Functions¤
__str__()
¤
Return the station code.
Source code in station/models.py
458 459 460 |
|
get_absolute_url()
¤
Return the absolute url of the station.
Source code in station/models.py
462 463 464 |
|
set_object_permissions()
¤
Set object-level permissions.
This method is called by the save method of the model to set the object-level permissions based on the visibility level of the object. In addition to the standard permissions for the station, the view_measurements permission is set which controls who can view the measurements associated to the station.
Source code in station/models.py
466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 |
|
Unit
¤
Bases: PermissionsBase
Unit of measurement with a name and a symbol.
Attributes:
Name | Type | Description |
---|---|---|
unit_id |
AutoField
|
Primary key. |
name |
CharField
|
Name of the unit, eg. meters per second. |
initials |
CharField
|
Symbol for the unit, eg. m/s. |
Functions¤
__str__()
¤
Return the string representation of the object.
Source code in variable/models.py
42 43 44 |
|
get_absolute_url()
¤
Get the absolute URL of the object.
Source code in variable/models.py
46 47 48 |
|
Variable
¤
Bases: PermissionsBase
A variable with a physical meaning.
Such as precipitation, wind speed, wind direction, soil moisture, including the associated unit. It also includes metadata to help identify what is a reasonable value for the data, to flag outliers and to help with the validation process.
The nature of the variable can be one of the following:
- sum: Cumulative value over a period of time.
- average: Average value over a period of time.
- value: One-off value.
Attributes:
Name | Type | Description |
---|---|---|
variable_id |
AutoField
|
Primary key. |
variable_code |
CharField
|
Code of the variable, eg. airtemperature. |
name |
CharField
|
Human-readable name of the variable, eg. Air temperature. |
unit |
ForeignKey
|
Unit of the variable. |
maximum |
DecimalField
|
Maximum value allowed for the variable. |
minimum |
DecimalField
|
Minimum value allowed for the variable. |
diff_error |
DecimalField
|
If two sequential values in the time-series data of this variable differ by more than this value, the validation process can mark this with an error flag. |
outlier_limit |
DecimalField
|
The statistical deviation for defining outliers, in times the standard deviation (sigma). |
null_limit |
DecimalField
|
The max % of null values (missing, caused by e.g. equipment malfunction) allowed for hourly, daily, monthly data. Cumulative values are not deemed trustworthy if the number of missing values in a given period is greater than the null_limit. |
nature |
CharField
|
Nature of the variable, eg. if it represents a one-off value, the average over a period of time or the cumulative value over a period |
Attributes¤
is_cumulative: bool
property
¤
Return True if the nature of the variable is sum.
Functions¤
__str__()
¤
Return the string representation of the object.
Source code in variable/models.py
165 166 167 |
|
clean()
¤
Validate the model fields.
Source code in variable/models.py
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
|
get_absolute_url()
¤
Get the absolute URL of the object.
Source code in variable/models.py
169 170 171 |
|