{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SURFRAD\n", "\n", "The [SURFRAD](https://gml.noaa.gov/grad/surfrad/sitepage.html) network was established in 1993 and is operated by the [National Oceanic and Atmospheric Administration (NOAA)](https://www.noaa.gov/). The network features six active and two inactive stations in the contiguous United States. The stations are all Tier 1 stations and measurements are generally of a very high quality due to rigorous maintenance procedures and frequent inspection of data.\n", "\n", "Measurements from the SURFRAD stations are stored in daily ASCII text files and can be freely downloaded from the [SURFRAD FTP server](https://gml.noaa.gov/aftp/data/radiation/surfrad/). Since January 1st 2009, data has been logged as 1-minute averages. Prior to this, the data was stored as 3-minute averages.\n", "\n", "The reader is referred to {cite:p}`augustine_noaa_2000` and {cite:p}`augustine_noaa_2005` for background information on the SURFRAD network.\n", "\n", "```{admonition} Instrument calibrations\n", ":class: dropdown\n", "A list all instruments that have been used and their respective calibration coefficients can be found [here](https://gml.noaa.gov/grad/surfrad/getcals.html).\n", "```" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [ "remove-input" ] }, "outputs": [ { "data": { "text/html": [ "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", "\n", "\n", "
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "
Station nameAbbreviationStateCountryLatitudeLongitudeElevationTime periodNetworkOwnerCommentData availabilityInstrumentation
\n", "\n", "
\n", "Loading ITables v2.2.2 from the init_notebook_mode cell...\n", "(need help?)
\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "from itables import init_notebook_mode, show\n", "init_notebook_mode(all_interactive=True)\n", "\n", "stations = pd.read_csv('../solarstations.csv').fillna('')\n", "stations = stations[stations['Network'].str.contains('SURFRAD')]\n", "del stations['URL'] # Remove the URL column to avoid cluttering the site\n", "\n", "show(stations, scrollCollapse=True, paging=False, classes=\"display\", order=[[0, \"asc\"]],\n", " showIndex=False, columnDefs=[{\"className\": \"dt-left\", \"targets\": \"_all\"}])" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "tags": [ "remove-input" ] }, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import folium\n", "from folium import plugins\n", "\n", "EsriImagery = \"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\"\n", "EsriAttribution = \"Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community\"\n", "\n", "# Create Folium map\n", "m = folium.Map(\n", " location=[40, -100],\n", " zoom_start=4, min_zoom=2, max_bounds=True,\n", " control_scale=True, # Adds distance scale in lower left corner\n", " tiles='openstreetmap',\n", ")\n", "\n", "# Add each station to the map\n", "# Consider using apply instead of for loop to add stations in case of many stations\n", "for index, row in stations.iterrows():\n", " color = 'blue'\n", " folium.CircleMarker(\n", " location=[row['Latitude'], row['Longitude']],\n", " popup=row['Station name'] + ' - ' + str(row['State']) + ' ' + row['Country'],\n", " tooltip=row['Abbreviation'],\n", " radius=5, # color=color, fill_color=color,\n", " fill=True).add_to(m)\n", "\n", "folium.raster_layers.TileLayer(EsriImagery, name='World imagery', attr=EsriAttribution, show=False).add_to(m)\n", "folium.LayerControl(position='topleft').add_to(m)\n", "\n", "# Additional options and plugins\n", "# Note it's not possible to change the position of the scale\n", "plugins.MiniMap(toggle_display=True, zoom_level_fixed=1, minimized=True, position='bottomright').add_to(m) # Add minimap to the map\n", "plugins.Fullscreen(position='topright').add_to(m) # Add full screen button to map\n", "folium.LatLngPopup().add_to(m) # Show latitude/longitude when clicking on the map\n", "\n", "# Show the map\n", "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# References\n", "```{bibliography}\n", ":filter: docname in docnames\n", "```" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.9" } }, "nbformat": 4, "nbformat_minor": 4 }