Please refer to the OPERA Product Specification Document for details about the DSWx-HLS product.
A NASA Earthdata Login account is required to download the data used in this tutorial. You can create an account at the link provided.
%load_ext autoreload
%autoreload 2
import os
from netrc import netrc
from subprocess import Popen
from platform import system
from getpass import getpass
from pystac_client import Client
from pystac_client import ItemSearch
import json
import matplotlib.pyplot as plt
from matplotlib import cm
from datetime import datetime
from tqdm import tqdm
from shapely.geometry import box
from shapely.geometry import shape
from shapely.ops import transform
import numpy as np
import pandas as pd
import geopandas as gpd
from skimage import io
from osgeo import gdal
from rioxarray.merge import merge_arrays
import pyproj
from pyproj import Proj
import folium
from folium import plugins
import geoviews as gv
import hvplot.xarray
import holoviews as hv
hv.extension('bokeh')
gv.extension('bokeh', 'matplotlib')
import sys
sys.path.append('../../')
from src.dswx_utils import intersection_percent, colorize, getbasemaps, transform_data_for_folium
import warnings
warnings.filterwarnings('ignore')
Error. nthreads cannot be larger than environment variable "NUMEXPR_MAX_THREADS" (64)
inDir = os.getcwd()
os.chdir(inDir)
# Generates authentication token
# Asks for your Earthdata username and password for first time, if netrc does not exists in your home directory.
urs = 'urs.earthdata.nasa.gov' # Earthdata URL endpoint for authentication
prompts = ['Enter NASA Earthdata Login Username: ',
'Enter NASA Earthdata Login Password: ']
# Determine the OS (Windows machines usually use an '_netrc' file)
netrc_name = "_netrc" if system()=="Windows" else ".netrc"
# Determine if netrc file exists, and if so, if it includes NASA Earthdata Login Credentials
try:
netrcDir = os.path.expanduser(f"~/{netrc_name}")
netrc(netrcDir).authenticators(urs)[0]
# Below, create a netrc file and prompt user for NASA Earthdata Login Username and Password
except FileNotFoundError:
homeDir = os.path.expanduser("~")
Popen('touch {0}{2} | echo machine {1} >> {0}{2}'.format(homeDir + os.sep, urs, netrc_name), shell=True)
Popen('echo login {} >> {}{}'.format(getpass(prompt=prompts[0]), homeDir + os.sep, netrc_name), shell=True)
Popen('echo \'password {} \'>> {}{}'.format(getpass(prompt=prompts[1]), homeDir + os.sep, netrc_name), shell=True)
# Set restrictive permissions
Popen('chmod 0600 {0}{1}'.format(homeDir + os.sep, netrc_name), shell=True)
# Determine OS and edit netrc file if it exists but is not set up for NASA Earthdata Login
except TypeError:
homeDir = os.path.expanduser("~")
Popen('echo machine {1} >> {0}{2}'.format(homeDir + os.sep, urs, netrc_name), shell=True)
Popen('echo login {} >> {}{}'.format(getpass(prompt=prompts[0]), homeDir + os.sep, netrc_name), shell=True)
Popen('echo \'password {} \'>> {}{}'.format(getpass(prompt=prompts[1]), homeDir + os.sep, netrc_name), shell=True)
# GDAL configurations used to successfully access PODAAC Cloud Assets via vsicurl
gdal.SetConfigOption('GDAL_HTTP_COOKIEFILE','~/cookies.txt')
gdal.SetConfigOption('GDAL_HTTP_COOKIEJAR', '~/cookies.txt')
gdal.SetConfigOption('GDAL_DISABLE_READDIR_ON_OPEN','EMPTY_DIR')
gdal.SetConfigOption('CPL_VSIL_CURL_ALLOWED_EXTENSIONS','TIF, TIFF')
gdal.SetConfigOption('CPL_VSIL_CURL_USE_HEAD', 'YES')
# USER-DEFINED PARAMETERS
aoi = box(-84.51563, 27.82194, -82.10303, 30.48091) #box(67.4, 26.2, 68.0, 27.5)
start_date = datetime(2023, 8, 1) # in 2022-01-01 00:00:00 format
stop_date = f"{datetime.today().strftime('%Y-%m-%d')} 23:59:59" # in 2022-01-01 00:00:00 format
overlap_threshold = 10 # in percent
#cloud_cover_threshold = 20 # in percent
print(f"Search between {start_date} and {stop_date}")
print(f"With AOI: {aoi.__geo_interface__}")
Search between 2023-08-01 00:00:00 and 2023-09-13 23:59:59 With AOI: {'type': 'Polygon', 'coordinates': (((-82.10303, 27.82194), (-82.10303, 30.48091), (-84.51563, 30.48091), (-84.51563, 27.82194), (-82.10303, 27.82194)),)}
# Search data through CMR-STAC API
stac = 'https://cmr.earthdata.nasa.gov/cloudstac/' # CMR-STAC API Endpoint
api = Client.open(f'{stac}/POCLOUD/')
collections = ['OPERA_L3_DSWX-HLS_PROVISIONAL_V1']
search_params = {"collections": collections,
"intersects": aoi.__geo_interface__,
"datetime": [start_date, stop_date],
"max_items": 1000}
search_dswx = api.search(**search_params)
# Filter datasets based on spatial overlap
intersects_geometry = aoi.__geo_interface__
#Check percent overlap values
print("Percent overlap before filtering: ")
print([f"{intersection_percent(i, intersects_geometry):.2f}" for i in search_dswx.items()])
# Apply spatial overlap and cloud cover filter
dswx_filtered = (
i for i in search_dswx.items() if (intersection_percent(i, intersects_geometry) > overlap_threshold)
)
Percent overlap before filtering: ['10.27', '15.15', '18.20', '4.20', '8.08', '11.41', '11.41', '8.08', '10.27', '12.50', '8.08', '15.15', '18.20', '11.41', '14.85', '4.20', '18.20', '12.50', '10.27', '15.15', '4.20', '14.85', '10.27', '15.15', '18.20', '14.85', '4.20', '10.27', '12.50', '8.08', '15.15', '18.20', '11.41', '14.85', '4.20', '10.27', '15.15', '18.20', '14.85', '4.20', '11.41', '8.08', '18.20', '12.50', '10.27', '8.08', '11.41', '10.27', '15.15', '14.85', '4.20', '10.27', '12.50', '8.08', '15.15', '18.20', '11.41', '14.85', '10.27', '15.15', '18.20', '4.20', '11.41', '8.08', '10.27', '12.50', '8.08', '15.15', '18.20', '11.41', '14.85', '10.27', '8.08', '11.41', '10.27', '12.50', '8.08', '15.15', '18.20', '11.41', '14.85', '4.20', '10.27', '15.15', '18.20', '14.85', '4.20', '8.08', '11.41', '11.41', '12.50', '10.27', '8.08', '18.20', '10.27', '12.50', '8.08', '18.20', '14.85', '4.20', '14.85', '10.27', '15.15', '18.20', '14.85', '4.20', '10.27', '12.50', '8.08', '15.15', '18.20', '11.41', '14.85', '4.20', '11.41', '8.08', '10.27', '15.15', '18.20', '14.85', '4.20', '18.20', '10.27', '12.50', '15.15', '14.85', '4.20', '8.08', '11.41', '10.27', '12.50', '8.08', '18.20', '11.41', '14.85', '4.20', '10.27', '15.15', '18.20', '14.85', '4.20', '8.08', '11.41']
# Inspect the items inside the filtered query
dswx_data = list(dswx_filtered)
# Inspect one data
dswx_data[0].to_dict()
{'type': 'Feature', 'stac_version': '1.0.0', 'id': 'OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0', 'properties': {'datetime': '2023-08-01T16:15:08.497000Z', 'start_datetime': '2023-08-01T16:15:08.497Z', 'end_datetime': '2023-08-01T16:15:08.497Z'}, 'geometry': {'type': 'Polygon', 'coordinates': [[[-83.091, 29.814], [-81.934, 29.814], [-81.934, 30.818], [-83.091, 30.818], [-83.091, 29.814]]]}, 'links': [{'rel': 'self', 'href': 'https://cmr.earthdata.nasa.gov/cloudstac/POCLOUD/collections/OPERA_L3_DSWX-HLS_PROVISIONAL_V1.v1.0/items/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0'}, {'rel': 'parent', 'href': 'https://cmr.earthdata.nasa.gov/cloudstac/POCLOUD/collections/OPERA_L3_DSWX-HLS_PROVISIONAL_V1.v1.0'}, {'rel': 'collection', 'href': 'https://cmr.earthdata.nasa.gov/cloudstac/POCLOUD/collections/OPERA_L3_DSWX-HLS_PROVISIONAL_V1.v1.0'}, {'rel': <RelType.ROOT: 'root'>, 'href': 'https://cmr.earthdata.nasa.gov/cloudstac//POCLOUD/', 'type': <MediaType.JSON: 'application/json'>, 'title': 'POCLOUD'}, {'rel': 'provider', 'href': 'https://cmr.earthdata.nasa.gov/cloudstac/POCLOUD'}, {'rel': 'via', 'href': 'https://cmr.earthdata.nasa.gov/search/concepts/G2744130977-POCLOUD.json'}, {'rel': 'via', 'href': 'https://cmr.earthdata.nasa.gov/search/concepts/G2744130977-POCLOUD.umm_json'}], 'assets': {'0_B01_WTR': {'href': 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B01_WTR.tif', 'title': 'Download OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B01_WTR.tif'}, '0_B02_BWTR': {'href': 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B02_BWTR.tif', 'title': 'Download OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B02_BWTR.tif'}, '0_B03_CONF': {'href': 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B03_CONF.tif', 'title': 'Download OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B03_CONF.tif'}, '0_B04_DIAG': {'href': 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B04_DIAG.tif', 'title': 'Download OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B04_DIAG.tif'}, '0_B05_WTR-1': {'href': 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B05_WTR-1.tif', 'title': 'Download OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B05_WTR-1.tif'}, '0_B06_WTR-2': {'href': 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B06_WTR-2.tif', 'title': 'Download OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B06_WTR-2.tif'}, '0_B07_LAND': {'href': 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B07_LAND.tif', 'title': 'Download OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B07_LAND.tif'}, '0_B08_SHAD': {'href': 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B08_SHAD.tif', 'title': 'Download OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B08_SHAD.tif'}, '0_B09_CLOUD': {'href': 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B09_CLOUD.tif', 'title': 'Download OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B09_CLOUD.tif'}, '0_B10_DEM': {'href': 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B10_DEM.tif', 'title': 'Download OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_B10_DEM.tif'}, 'browse': {'href': 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-public/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_BROWSE.png', 'type': 'image/png', 'title': 'Download OPERA_L3_DSWx-HLS_T17RLP_20230801T155829Z_20230804T014434Z_S2B_30_v1.0_BROWSE.png'}, 'metadata': {'href': 'https://cmr.earthdata.nasa.gov/search/concepts/G2744130977-POCLOUD.xml', 'type': 'application/xml'}}, 'bbox': [-83.091, 29.814, -81.934, 30.818], 'stac_extensions': [], 'collection': 'OPERA_L3_DSWX-HLS_PROVISIONAL_V1.v1.0'}
## Print search information
# Tota granules
print(f"Total granules after search filter: {len(dswx_data)}")
#Check percent overlap values
print("Percent-overlap: ")
print([f"{intersection_percent(i, intersects_geometry):.2f}" for i in dswx_data])
# # Check percent cloud cover values
# print("\nPercent cloud cover before filtering: ")
# print([f"{i.properties['eo:cloud_cover']}" for i in search_dswx.items()])
Total granules after search filter: 107 Percent-overlap: ['10.27', '15.15', '18.20', '11.41', '11.41', '10.27', '12.50', '15.15', '18.20', '11.41', '14.85', '18.20', '12.50', '10.27', '15.15', '14.85', '10.27', '15.15', '18.20', '14.85', '10.27', '12.50', '15.15', '18.20', '11.41', '14.85', '10.27', '15.15', '18.20', '14.85', '11.41', '18.20', '12.50', '10.27', '11.41', '10.27', '15.15', '14.85', '10.27', '12.50', '15.15', '18.20', '11.41', '14.85', '10.27', '15.15', '18.20', '11.41', '10.27', '12.50', '15.15', '18.20', '11.41', '14.85', '10.27', '11.41', '10.27', '12.50', '15.15', '18.20', '11.41', '14.85', '10.27', '15.15', '18.20', '14.85', '11.41', '11.41', '12.50', '10.27', '18.20', '10.27', '12.50', '18.20', '14.85', '14.85', '10.27', '15.15', '18.20', '14.85', '10.27', '12.50', '15.15', '18.20', '11.41', '14.85', '11.41', '10.27', '15.15', '18.20', '14.85', '18.20', '10.27', '12.50', '15.15', '14.85', '11.41', '10.27', '12.50', '18.20', '11.41', '14.85', '10.27', '15.15', '18.20', '14.85', '11.41']
# Visualize the DSWx tile boundary and the user-defined bbox
geom_df = []
for d,_ in enumerate(dswx_data):
geom_df.append(shape(dswx_data[d].geometry))
geom_granules = gpd.GeoDataFrame({'geometry':geom_df})
granules_poly = gv.Polygons(geom_granules, label='DSWx tile boundary').opts(line_color='blue', color=None, show_legend=True)
# Use geoviews to combine a basemap with the shapely polygon of our Region of Interest (ROI)
base = gv.tile_sources.EsriImagery.opts(width=1000, height=1000)
# Get the user-specified aoi
geom_aoi = shape(intersects_geometry)
aoi_poly = gv.Polygons(geom_aoi, label='User-specified bbox').opts(line_color='yellow', color=None, show_legend=True)
# Plot using geoviews wrapper
granules_poly*base*aoi_poly
# Create table of search results
dswx_data_df = []
for item in dswx_data:
item.to_dict()
fn = item.id.split('_')
ID = fn[3]
sensor = fn[6]
dat = item.datetime.strftime('%Y-%m-%d')
spatial_overlap = intersection_percent(item, intersects_geometry)
geom = item.geometry
bbox = item.bbox
# Take all the band href information
band_links = [item.assets[links].href for links in item.assets.keys()]
#dswx_data_df.append([ID,sensor,dat,geom,bbox,spatial_overlap,cloud_cover,band_links])
dswx_data_df.append([ID,sensor,dat,geom,bbox,spatial_overlap,band_links])
dswx_data_df = pd.DataFrame(dswx_data_df, columns = ['TileID', 'Sensor', 'Date', 'Coords', 'bbox', 'SpatialOverlap', 'BandLinks'])
dswx_data_df
TileID | Sensor | Date | Coords | bbox | SpatialOverlap | BandLinks | |
---|---|---|---|---|---|---|---|
0 | T17RLP | S2B | 2023-08-01 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
1 | T17RLN | S2B | 2023-08-01 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
2 | T17RKN | S2B | 2023-08-01 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
3 | T16RGT | S2A | 2023-08-02 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
4 | T16RGT | L8 | 2023-08-03 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
... | ... | ... | ... | ... | ... | ... | ... |
102 | T17RLP | S2B | 2023-09-10 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
103 | T17RLN | S2B | 2023-09-10 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
104 | T17RKN | S2B | 2023-09-10 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
105 | T17RLM | S2B | 2023-09-10 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
106 | T16RGT | S2A | 2023-09-11 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
107 rows × 7 columns
pd.set_option("max_rows", None)
dswx_data_df
TileID | Sensor | Date | Coords | bbox | SpatialOverlap | BandLinks | |
---|---|---|---|---|---|---|---|
0 | T17RLP | S2B | 2023-08-01 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
1 | T17RLN | S2B | 2023-08-01 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
2 | T17RKN | S2B | 2023-08-01 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
3 | T16RGT | S2A | 2023-08-02 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
4 | T16RGT | L8 | 2023-08-03 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
5 | T17RLP | S2B | 2023-08-04 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
6 | T17RKP | S2B | 2023-08-04 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
7 | T17RLN | S2B | 2023-08-04 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
8 | T17RKN | S2B | 2023-08-04 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
9 | T16RGT | S2B | 2023-08-04 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
10 | T17RLM | S2B | 2023-08-04 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
11 | T17RKN | L8 | 2023-08-05 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
12 | T17RKP | L8 | 2023-08-05 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
13 | T17RLP | L8 | 2023-08-05 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
14 | T17RLN | L8 | 2023-08-05 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
15 | T17RLM | L8 | 2023-08-05 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
16 | T17RLP | S2A | 2023-08-06 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
17 | T17RLN | S2A | 2023-08-06 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
18 | T17RKN | S2A | 2023-08-06 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
19 | T17RLM | S2A | 2023-08-06 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
20 | T17RLP | S2A | 2023-08-09 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
21 | T17RKP | S2A | 2023-08-09 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
22 | T17RLN | S2A | 2023-08-09 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
23 | T17RKN | S2A | 2023-08-09 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
24 | T16RGT | S2A | 2023-08-09 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
25 | T17RLM | S2A | 2023-08-09 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
26 | T17RLP | S2B | 2023-08-11 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
27 | T17RLN | S2B | 2023-08-11 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
28 | T17RKN | S2B | 2023-08-11 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
29 | T17RLM | S2B | 2023-08-11 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
30 | T16RGT | L8 | 2023-08-12 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
31 | T17RKN | L8 | 2023-08-12 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
32 | T17RKP | L8 | 2023-08-12 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
33 | T17RLP | L8 | 2023-08-12 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
34 | T16RGT | S2A | 2023-08-12 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
35 | T17RLP | L8 | 2023-08-14 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
36 | T17RLN | L8 | 2023-08-14 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
37 | T17RLM | L8 | 2023-08-14 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
38 | T17RLP | S2B | 2023-08-14 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
39 | T17RKP | S2B | 2023-08-14 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
40 | T17RLN | S2B | 2023-08-14 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
41 | T17RKN | S2B | 2023-08-14 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
42 | T16RGT | S2B | 2023-08-14 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
43 | T17RLM | S2B | 2023-08-14 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
44 | T17RLP | S2A | 2023-08-16 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
45 | T17RLN | S2A | 2023-08-16 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
46 | T17RKN | S2A | 2023-08-16 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
47 | T16RGT | L8 | 2023-08-19 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
48 | T17RLP | S2A | 2023-08-19 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
49 | T17RKP | S2A | 2023-08-19 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
50 | T17RLN | S2A | 2023-08-19 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
51 | T17RKN | S2A | 2023-08-19 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
52 | T16RGT | S2A | 2023-08-19 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
53 | T17RLM | S2A | 2023-08-19 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
54 | T17RLP | S2B | 2023-08-21 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
55 | T16RGT | S2A | 2023-08-22 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
56 | T17RLP | S2B | 2023-08-24 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
57 | T17RKP | S2B | 2023-08-24 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
58 | T17RLN | S2B | 2023-08-24 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
59 | T17RKN | S2B | 2023-08-24 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
60 | T16RGT | S2B | 2023-08-24 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
61 | T17RLM | S2B | 2023-08-24 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
62 | T17RLP | S2A | 2023-08-26 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
63 | T17RLN | S2A | 2023-08-26 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
64 | T17RKN | S2A | 2023-08-26 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
65 | T17RLM | S2A | 2023-08-26 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
66 | T16RGT | S2B | 2023-08-27 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
67 | T16RGT | L8 | 2023-08-28 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
68 | T17RKP | L8 | 2023-08-28 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
69 | T17RLP | L8 | 2023-08-28 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
70 | T17RKN | L8 | 2023-08-28 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
71 | T17RLP | S2A | 2023-08-29 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
72 | T17RKP | S2A | 2023-08-29 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
73 | T17RKN | S2A | 2023-08-29 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
74 | T17RLM | S2A | 2023-08-29 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
75 | T17RLM | L8 | 2023-08-30 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
76 | T17RLP | S2B | 2023-08-31 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
77 | T17RLN | S2B | 2023-08-31 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
78 | T17RKN | S2B | 2023-08-31 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
79 | T17RLM | S2B | 2023-08-31 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
80 | T17RLP | S2B | 2023-09-03 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
81 | T17RKP | S2B | 2023-09-03 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
82 | T17RLN | S2B | 2023-09-03 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
83 | T17RKN | S2B | 2023-09-03 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
84 | T16RGT | S2B | 2023-09-03 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
85 | T17RLM | S2B | 2023-09-03 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
86 | T16RGT | L8 | 2023-09-04 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
87 | T17RLP | S2A | 2023-09-05 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
88 | T17RLN | S2A | 2023-09-05 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
89 | T17RKN | S2A | 2023-09-05 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
90 | T17RLM | S2A | 2023-09-05 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
91 | T17RKN | L8 | 2023-09-06 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
92 | T17RLP | L8 | 2023-09-06 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
93 | T17RKP | L8 | 2023-09-06 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
94 | T17RLN | L8 | 2023-09-06 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
95 | T17RLM | L8 | 2023-09-06 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
96 | T16RGT | S2B | 2023-09-06 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
97 | T17RLP | S2A | 2023-09-08 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
98 | T17RKP | S2A | 2023-09-08 | {'type': 'Polygon', 'coordinates': [[[-84.135,... | [-84.135, 29.794, -82.968, 30.806] | 12.496026 | [https://archive.podaac.earthdata.nasa.gov/pod... |
99 | T17RKN | S2A | 2023-09-08 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
100 | T16RGT | S2A | 2023-09-08 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
101 | T17RLM | S2A | 2023-09-08 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
102 | T17RLP | S2B | 2023-09-10 | {'type': 'Polygon', 'coordinates': [[[-83.091,... | [-83.091, 29.814, -81.934, 30.818] | 10.270988 | [https://archive.podaac.earthdata.nasa.gov/pod... |
103 | T17RLN | S2B | 2023-09-10 | {'type': 'Polygon', 'coordinates': [[[-83.071,... | [-83.071, 28.912, -81.925, 29.916] | 15.149449 | [https://archive.podaac.earthdata.nasa.gov/pod... |
104 | T17RKN | S2B | 2023-09-10 | {'type': 'Polygon', 'coordinates': [[[-84.106,... | [-84.106, 28.893, -82.951, 29.904] | 18.202640 | [https://archive.podaac.earthdata.nasa.gov/pod... |
105 | T17RLM | S2B | 2023-09-10 | {'type': 'Polygon', 'coordinates': [[[-83.053,... | [-83.053, 28.01, -81.918, 29.013] | 14.852928 | [https://archive.podaac.earthdata.nasa.gov/pod... |
106 | T16RGT | S2A | 2023-09-11 | {'type': 'Polygon', 'coordinates': [[[-84.949,... | [-84.949, 28.89, -83.793, 29.903] | 11.411078 | [https://archive.podaac.earthdata.nasa.gov/pod... |
# Take one of the flooded dataset and check what files are included.
dswx_data_df.iloc[-1].BandLinks
['https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T16RGT_20230911T161841Z_20230913T070556Z_S2A_30_v1.0_B01_WTR.tif', 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T16RGT_20230911T161841Z_20230913T070556Z_S2A_30_v1.0_B02_BWTR.tif', 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T16RGT_20230911T161841Z_20230913T070556Z_S2A_30_v1.0_B03_CONF.tif', 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T16RGT_20230911T161841Z_20230913T070556Z_S2A_30_v1.0_B04_DIAG.tif', 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T16RGT_20230911T161841Z_20230913T070556Z_S2A_30_v1.0_B05_WTR-1.tif', 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T16RGT_20230911T161841Z_20230913T070556Z_S2A_30_v1.0_B06_WTR-2.tif', 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T16RGT_20230911T161841Z_20230913T070556Z_S2A_30_v1.0_B07_LAND.tif', 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T16RGT_20230911T161841Z_20230913T070556Z_S2A_30_v1.0_B08_SHAD.tif', 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T16RGT_20230911T161841Z_20230913T070556Z_S2A_30_v1.0_B09_CLOUD.tif', 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T16RGT_20230911T161841Z_20230913T070556Z_S2A_30_v1.0_B10_DEM.tif', 'https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-public/OPERA_L3_DSWX-HLS_PROVISIONAL_V1/OPERA_L3_DSWx-HLS_T16RGT_20230911T161841Z_20230913T070556Z_S2A_30_v1.0_BROWSE.png', 'https://cmr.earthdata.nasa.gov/search/concepts/G2765726545-POCLOUD.xml']
# Get all B02's related to a certain date and merge them together
filter_date = '2023-08-14' #Change date to create the other tiff files
B02 = []; B02_cm = [];
for i in dswx_data_df.index:
if dswx_data_df.Date[i] == filter_date:
b02, b02_cm = transform_data_for_folium(dswx_data_df.iloc[i].BandLinks[1])
B02.append(b02)
B02_cm.append(b02_cm)
merged_B02 = merge_arrays(B02)
merged_B02.rio.to_raster(f'ARIA_OPERA_DSWx-HLS_B02_Florida_{filter_date}.tif')
# Get all B02's related to a certain date and merge them together
B03 = []; B03_cm = [];
for i in dswx_data_df.index:
if dswx_data_df.Date[i] == filter_date:
b03, b03_cm = transform_data_for_folium(dswx_data_df.iloc[i].BandLinks[2])
B03.append(b03)
B03_cm.append(b03_cm)
merged_B03 = merge_arrays(B03)
# Colorize the map using predefined colors from DSWx for Folium display
colored_B02,cmap_B02 = colorize(merged_B02[0], cmap=B02_cm[-1])
colored_B03,cmap_B03 = colorize(merged_B03[0], cmap=B02_cm[-1])
# Initialize Folium basemap
xmid =(merged_B02.x.values.min()+merged_B02.x.values.max())/2 ; ymid = (merged_B02.y.values.min()+merged_B02.y.values.max())/2
m = folium.Map(location=[ymid, xmid], zoom_start=9, tiles='CartoDB positron', show=True)
# Add custom basemaps
basemaps = getbasemaps()
for basemap in basemaps:
basemaps[basemap].add_to(m)
# Overlay B02 and B03 layers
folium.raster_layers.ImageOverlay(colored_B02,
opacity=0.6,
bounds=[[merged_B02.y.values.min(),merged_B02.x.values.min()],[merged_B02.y.values.max(),merged_B02.x.values.max()]],
name='Flooded Area',
show=True).add_to(m)
folium.raster_layers.ImageOverlay(colored_B03,
opacity=0.8,
bounds=[[merged_B03.y.values.min(),merged_B03.x.values.min()],[merged_B03.y.values.max(),merged_B03.x.values.max()]],
name='Confidence Layer',
show=False).add_to(m)
#layer Control
m.add_child(folium.LayerControl())
# Add fullscreen button
plugins.Fullscreen().add_to(m)
#Add inset minimap image
minimap = plugins.MiniMap(width=300, height=300)
m.add_child(minimap)
#Mouse Position
fmtr = "function(num) {return L.Util.formatNum(num, 3) + ' º ';};"
plugins.MousePosition(position='bottomright', separator=' | ', prefix="Lat/Lon:",
lat_formatter=fmtr, lng_formatter=fmtr).add_to(m)
#Display
m