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)