Plot the SAIL and SPLASH Locations#
In this notebook, we take a look at the domain for the Surface Atmosphere Integrated (SAIL) and Study of Precipitation, the Lower Atmosphere and Surface for Hydrometeorology (SPLASH) observation sites!
Imports#
import geopandas as gpd
import fiona
import hvplot.pandas
import holoviews as hv
fiona.drvsupport.supported_drivers['libkml'] = 'rw' # enable KML support which is disabled by default
fiona.drvsupport.supported_drivers['LIBKML'] = 'rw' # enable KML support which is disabled by default
hv.extension('bokeh')
Read in the Data#
The datasets we are using include:
The East River Watershed, which is located near Crested Butte, Colorado
-
If you are interested in looking at recent plots, check out their website
Surface Atmosphere Integrated Field Laboratory Instruments
Various instrumention focused on precipitation, radiation, etc.
east_river = gpd.read_file('../../data/site-locations/East_River.kml')
splash_locations = gpd.read_file('../../data/site-locations/SPLASH_Instruments.kml')
arm_doe_locations = gpd.read_file('../../data/site-locations/doe-arm-assets.kml')[:2]
amf_sensor_locations = gpd.read_file('../../data/site-locations/SAIL_Instruments.kml')
Add Latitudes/Longitudes to the Dataframes#
The data come in as Point
data, but we want to extract the latitudes/longitudes from this - we can do this by calling:
.geometry.x
for longitude.geometry.y
for latitude
We do this for both the SPLASH/SAIL locations.
splash_locations['Longitude'] = splash_locations.geometry.x
splash_locations['Latitude'] = splash_locations.geometry.y
arm_doe_locations['Longitude'] = arm_doe_locations.geometry.x
arm_doe_locations['Latitude'] = arm_doe_locations.geometry.y
Visualize our Data#
We use both static/dynamic methods of visualizing our data. Let’s start with the interactive visualization using hvPlot
SPLASH Sensor Locations#
east_river_plot = east_river.hvplot.polygons(height=500,
label='East River Watershed',
color='None',
width=800,
hover=True,
tiles='EsriReference',
xlabel='Longitude',
ylabel='Latitude',
geo=True)
splash_location_plot = splash_locations.hvplot.points(by='Name',
color=hv.Cycle('Category20'),
hover=True,
title='SPLASH Instrument Locations',
geo=True)
splash_overlay = (east_river_plot * splash_location_plot)
splash_overlay
ARM Sensor Sites#
There are two main sites, including:
The ARM Mobile Facility (AMF) which includes a large number of sensors
The X-Band radar, provided by Colorado State University
east_river_plot = east_river.hvplot.polygons(height=500,
label='East River Watershed',
color='None',
width=800,
hover=True,
tiles='EsriReference',
xlabel='Longitude',
ylabel='Latitude',
geo=True)
arm_doe_plot = arm_doe_locations.hvplot.points(by='Name',
title='ARM-DOE Assets',
hover=True,
geo=True)
sail_overlay = (east_river_plot * arm_doe_plot)
sail_overlay
A Closer Look at the AMF Site#
We can take a closer look at the AMF siteamf_sensor_locations
amf_sensor_plot = amf_sensor_locations.hvplot.points(x='Lon',
y='Lat',
height=500,
width=800,
tiles='EsriReference',
hover_cols='Name',
geo=True,
color='black',
label='AMF Sensors',
title='AMF Sensor Locations'
)
arm_asset_plot = amf_sensor_plot * arm_doe_plot
Combine our Plots#
We can plot these two next to each other by adding them together and specifying we want a single column.
(splash_overlay + sail_overlay + arm_asset_plot).cols(1)