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:

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)