ARA Weather APIs
ARA offers APIs for collecting weather data from deployment sites. At present, we deployed weather stations and disdrometers at two locations, Wilson Hall and Agronomy Farm, for collecting fine-grained weather and rain related parameters. The technical specification of devices are as follows:
- Agronomy Farm
Davis VantagePro2 Weather Station
WS100 Radar Precipitation Sensor/Smart Disdrometer
- Wilson Hall
Davis VantagePro2
OTT Parsivel² Disdrometer
Davis Vantage Pro2 provides generic weather parameters such as temperature, pressure, humidity, wind speed, wind direction, and rain rate while the WS100 and OTT Parsivel disdrometers provide fine-grained weather related attributes such as rain intensity, rain drop-size distribution and weather code (indicating snow, haze, rain, etc.). Detailed description of weather parameters from each site are as follows:
Serial No. |
Parameter |
Unit |
---|---|---|
1 |
Temperature |
Degree Celsius |
2 |
Humidity |
Percentage |
3 |
Pressure |
Inches |
4 |
WindSpeed |
kilometer/hour |
5 |
WindDirection |
Angles |
6 |
RainRate |
Inches |
7 |
RainAbsolute |
mm |
8 |
RainAccumulated |
mm |
9 |
RainIntensity |
mm/hour |
10 |
SnowDepthIntensity |
mm/hour |
11 |
ParticlesDetected |
Integer count |
12 |
MORVisibility |
meters |
13 |
KineticEnergy |
Joules/m2 h |
14 |
RadarReflectivity |
dBz |
15 |
WeatherCode4677 |
|
16 |
WeatherCode4678 |
|
17 |
WeatherCode4680 |
Serial No. |
Parameter |
Unit |
---|---|---|
1 |
Temperature |
Degree Celsius |
2 |
Humidity |
Percentage |
3 |
Pressure |
Inches |
4 |
WindSpeed |
kilometer/hour |
5 |
WindDirection |
Angles |
6 |
RainRate |
Inches |
7 |
PrecipitationCumulative |
Inches |
8 |
PrecipitationDifferential |
Inches |
9 |
PrecipitationIntensityHr |
inches/hour |
10 |
PrecipitationIntensityMin |
inches/minute |
11 |
PrecipitationParticles |
Integer count |
12 |
PrecipitationType |
0: No precipitation, 60: Liquid precipitation (rain), 70: Solid precipitation (snow), 40: Unspecified, 67: Freezing rain, 69: Sleet, 90: Hail |
13 |
WeatherType |
|
14 |
TotalDrops |
Integer count |
15 |
SnowParticles |
Integer count |
16 |
HailParticles |
Integer count |
17 |
DrizzleParticles |
Integer count |
18 |
Drops<0.5mm |
Integer count |
19 |
Drops0.5-1.0mm |
Integer count |
20 |
Drops1.0-1.5mm |
Integer count |
21 |
Drops1.5-2.0mm |
Integer count |
22 |
Drops2.0-2.5mm |
Integer count |
23 |
Drops2.5-3.0mm |
Integer count |
24 |
Drops3.0-3.5mm |
Integer count |
25 |
Drops3.5-4.0mm |
Integer count |
26 |
Drops4.0-4.5mm |
Integer count |
27 |
Drops4.5-5.0mm |
Integer count |
28 |
Drops>5.5mm |
Integer count |
Using the ARA Weather Library
Launch a container of your choice, for example, as shown in the Hello World experiment.
Install dependencies and ARA Wireless Python library
Install the dependencies git and pip.
# apt update # apt install python3-pip git
Install the arawireless Python library:
# pip install git+https://gitlab.com/aralab/arasoft/arawireless.git
Use the following statements your Python shell or within your Python script. An example usage in the Python shell is shown below. Run the following commands in the container shell.
# python3 >>> from araweather import weather >>> weather_data = weather.get_current_weather(['WilsonHall']) >>> print(weather_data)
You can retrieve weather data from multiple sites using the same function as follows:
>>> weather_data = weather.get_current_weather(['WilsonHall', 'AgronomyFarm']) >>> print(weather_data)
The function
get_current_weather()
returns the weather parameters at the current time in a Python dictionary.