From 47a6bd8e986af3d157331b9ba4cf978043aa5323 Mon Sep 17 00:00:00 2001 From: ibarlet <104371002+ibarlet@users.noreply.github.com> Date: Mon, 3 Jun 2024 09:49:32 -0400 Subject: [PATCH 1/9] Add scan_angle vs lat_lon comparisons --- goes2go/tools.py | 108 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/goes2go/tools.py b/goes2go/tools.py index d2253a8..2ae04ef 100644 --- a/goes2go/tools.py +++ b/goes2go/tools.py @@ -190,3 +190,111 @@ def glm_crs(G, reference_variable="flash_lat"): dat = G.metpy.parse_cf("flash_lat") crs = dat.metpy.cartopy_crs return crs + + +def scan_angles_to_lat_lon(x, y, goes_imager_projection, decimal_degrees=True): + """ + Convert ABI scan angle coordinates to geodetic latitude and longitude. + + Scan angles are projected onto the GRS80 elliopsoid. + https://www.goes-r.gov/users/docs/PUG-L1b-vol3.pdf (section 5.1.2.8.1) + + Parameters + ---------- + x : float + A scan angle coordinate in the x direction. + y : float + A scan angle coordinate in the y direction. + goes_imager_projection : xarray.Dataset + An xarray.Dataset with the projection information in it's attributes. + decimal_degrees : bool + A boolean designating if latitude and longitude should be returned in decimal degrees (returns decimal radians if false). + + Returns + ------- + Two objects are returned + 1. latitude on the GSR80 ellipsoid + 2. longitude on the GSR80 ellipsoid + """ + r_pol = goes_imager_projection.semi_minor_axis + r_eq = goes_imager_projection.semi_major_axis + H = goes_imager_projection.perspective_point_height + r_eq + lambda_0 = np.radians( + goes_imager_projection.longitude_of_projection_origin + ) # Always in degrees from the GOES data + + a = np.sin(x) ** 2 + np.cos(x) ** 2 * ( + np.cos(y) ** 2 + r_eq**2 / r_pol**2 * np.sin(y) ** 2 + ) + b = -2 * H * np.cos(x) * np.cos(y) + c = H**2 - r_eq**2 + + r_s = (-b - np.sqrt(b**2 - 4 * a * c)) / ( + 2 * a + ) # Distance from the satellite to point P + + s_x = r_s * np.cos(x) * np.cos(y) + s_y = -r_s * np.sin(x) + s_z = r_s * np.cos(x) * np.sin(y) + + latitude = np.arctan( + (r_eq**2 / r_pol**2) * (s_z / np.sqrt((H - s_x) ** 2 + s_y**2)) + ) + longitude = lambda_0 - np.arctan(s_y / (H - s_x)) + + if decimal_degrees: + latitude = np.degrees(latitude) + longitude = np.degrees(longitude) + + return latitude, longitude + + +def lat_lon_to_scan_angles(latitude, longitude, goes_imager_projection, decimal_degrees=True): + """ + Convert geodetic latitude and longitude to ABI scan angle coordinates. + + Latitude and Longitude inputs are assumed to be located on the GRS80 elliopsoid. + https://www.goes-r.gov/users/docs/PUG-L1b-vol3.pdf (section 5.1.2.8.1) + + Parameters + ---------- + latitude : float + Latitude on the GSR80 ellipsoid. + longitude : float + Longitude on the GSR80 ellipsoid. + goes_imager_projection : xarray.Dataset + An xarray.Dataset with the projection information in it's attributes. + decimal_degrees : bool + A boolean designating if latitude and longitude inputs are in decimal degrees (returns decimal radians if false). + + Returns + ------- + Two objects are returned + 1. A scan angle coordinate in the x direction measured in radians + 2. A scan angle coordinate in the y direction measured in radians + """ + if decimal_degrees: + latitude = np.radians(latitude) + longitude = np.radians(longitude) + + r_pol = goes_imager_projection.semi_minor_axis + r_eq = goes_imager_projection.semi_major_axis + H = goes_imager_projection.perspective_point_height + r_eq + e = 0.0818191910435 # eccentricity of GRD 1980 ellipsoid + lambda_0 = np.radians(goes_imager_projection.longitude_of_projection_origin) # Always in degrees from the GOES data + + phi_c = np.arctan((r_pol**2/r_eq**2)*np.tan(latitude)) # Geocentric latitude + r_c = r_pol/(np.sqrt(1-(e**2*np.cos(phi_c)**2))) # Geocentric distance to the point on the ellipsoid + + s_x = H - r_c*np.cos(phi_c)*np.cos(longitude-lambda_0) + s_y = -r_c*np.cos(phi_c)*np.sin(longitude-lambda_0) + s_z = r_c*np.sin(phi_c) + + # Confirm location is visible from the satellite + if (H*(H-s_x) < (s_y**2 + (r_eq**2/r_pol**2)*s_z**2)).any(): + raise ValueError("One or more points not visible by satellite") + + y = np.arctan(s_z/s_x) + x = np.arcsin(-s_y / (np.sqrt(s_x**2+s_y**2+s_z**2))) + + return x, y \ No newline at end of file From 2974352db1e2031a792569cb5ca9406eb39240bb Mon Sep 17 00:00:00 2001 From: Isaac Barlet Date: Thu, 13 Jun 2024 15:30:05 -0400 Subject: [PATCH 2/9] Add pulling single time step --- goes2go/NEW.py | 30 ++++++++++ goes2go/data.py | 145 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 175 insertions(+) diff --git a/goes2go/NEW.py b/goes2go/NEW.py index a8c2554..ba00c7f 100644 --- a/goes2go/NEW.py +++ b/goes2go/NEW.py @@ -230,6 +230,36 @@ def timerange(self, start=None, end=None, recent=None, **kwargs): **kwargs, ) + def single_point_timerange(self, laitude, longitude, start=None, end=None, recent=None, decimal_coordinates=True, **kwargs): + """Get GOES data for a time range at the scan point nearest to a defined single latitude/longitude point. + + Parameters + ---------- + latitude, longitude : float + Location where you wish to extract the point values from + start, end : datetime + Required if recent is None. + recent : timedelta or pandas-parsable timedelta str + Required if start and end are None. If timedelta(hours=1), will + get the most recent files for the past hour. + decimal_coordinates: bool + If latitude/longitude are specified in decimal or radian coordinates. + """ + + return goes_single_point_timerange( + latitude, + longitude, + start, + end, + recent, + decimal_coordinates, + satellite=self.satellite, + product=self.product, + domain=self.domain, + bands=self.bands, + **kwargs, + ) + def df(self, start, end, refresh=True): """Get list of requested GOES files as pandas.DataFrame. diff --git a/goes2go/data.py b/goes2go/data.py index 407685c..308cd55 100644 --- a/goes2go/data.py +++ b/goes2go/data.py @@ -18,6 +18,7 @@ import multiprocessing from concurrent.futures import ThreadPoolExecutor, as_completed, wait from datetime import datetime, timedelta +from functools import partial from pathlib import Path import numpy as np @@ -25,6 +26,8 @@ import s3fs import xarray as xr +from tools import lat_lon_to_scan_angles + # NOTE: These config dict values are retrieved from __init__ and read # from the file ${HOME}/.config/goes2go/config.toml from . import config @@ -423,6 +426,148 @@ def goes_timerange( elif return_as == "xarray": return _as_xarray(df, **params) +def _preprocess_single_point(ds, target_lat, target_lon, decimal_degrees=True): + """ + Preprocessing function to select only the single relevant data subset + + Parameters + ---------- + ds: xarray Dataset + The dataset to look through and choose the particular location + target_lat, target_lon : float + Location where you wish to extract the point values from + decimal_coordinates: bool + If latitude/longitude are specified in decimal or radian coordinates. + """ + x_target, y_target = lat_lon_to_scan_angles(target_lat, target_lon, ds["goes_imager_projection"], decimal_degrees) + return ds.sel(x=x_target, y=y_target, method="nearest") + +def goes_single_point_timerange( + latitude, + longitude, + start=None, + end=None, + recent=None, + decimal_coordinates=True, + *, + satellite=config["timerange"].get("satellite"), + product=config["timerange"].get("product"), + domain=config["timerange"].get("domain"), + return_as=config["timerange"].get("return_as"), + download=config["timerange"].get("download"), + overwrite=config["timerange"].get("overwrite"), + save_dir=config["timerange"].get("save_dir"), + max_cpus=config["timerange"].get("max_cpus"), + bands=None, + s3_refresh=config["timerange"].get("s3_refresh"), + verbose=config["timerange"].get("verbose", True), +): + """ + Get GOES data for a time range at the scan point nearest to a defined single latitude/longitude point. + + Parameters + ---------- + latitude, longitude : float + Location where you wish to extract the point values from + start, end : datetime + Required if recent is None. + recent : timedelta or pandas-parsable timedelta str + Required if start and end are None. If timedelta(hours=1), will + get the most recent files for the past hour. + decimal_coordinates: bool + If latitude/longitude are specified in decimal or radian coordinates. + satellite : {'goes16', 'goes17', 'goes18'} + Specify which GOES satellite. + The following alias may also be used: + + - ``'goes16'``: 16, 'G16', or 'EAST' + - ``'goes17'``: 17, 'G17', or 'WEST' + - ``'goes18'``: 18, 'G18', or 'WEST' + + product : {'ABI', 'GLM', other GOES product} + Specify the product name. + + - 'ABI' is an alias for ABI-L2-MCMIP Multichannel Cloud and Moisture Imagery + - 'GLM' is an alias for GLM-L2-LCFA Geostationary Lightning Mapper + + Others may include ``'ABI-L1b-Rad'``, ``'ABI-L2-DMW'``, etc. + For more available products, look at this `README + `_ + domain : {'C', 'F', 'M'} + ABI scan region indicator. Only required for ABI products if the + given product does not end with C, F, or M. + + - C: Contiguous United States (alias 'CONUS') + - F: Full Disk (alias 'FULL') + - M: Mesoscale (alias 'MESOSCALE') + + return_as : {'xarray', 'filelist'} + Return the data as an xarray.Dataset or as a list of files + download : bool + - True: Download the data to disk to the location set by :guilabel:`save_dir` + - False: Just load the data into memory. + save_dir : pathlib.Path or str + Path to save the data. + overwrite : bool + - True: Download the file even if it exists. + - False Do not download the file if it already exists + max_cpus : int + bands : None, int, or list + ONLY FOR L1b-Rad products; specify the bands you want + s3_refresh : bool + Refresh the s3fs.S3FileSystem object when files are listed. + + """ + # If `start`, or `end` is a string, parse with Pandas + if isinstance(start, str): + start = pd.to_datetime(start) + if isinstance(end, str): + end = pd.to_datetime(end) + # If `recent` is a string (like recent='1H'), parse with Pandas + if isinstance(recent, str): + recent = pd.to_timedelta(recent) + + params = locals() + satellite, product, domain = _check_param_inputs(**params) + params["satellite"] = satellite + params["product"] = product + params["domain"] = domain + + check1 = start is not None and end is not None + check2 = recent is not None + assert check1 or check2, "🤔 `start` and `end` *or* `recent` is required" + + if check1: + assert hasattr(start, "second") and hasattr( + end, "second" + ), "`start` and `end` must be a datetime object" + elif check2: + assert hasattr(recent, "seconds"), "`recent` must be a timedelta object" + + # Parameter Setup + # --------------- + # Create a range of directories to check. The GOES S3 bucket is + # organized by hour of day. + if recent is not None: + start = datetime.utcnow() - recent + end = datetime.utcnow() + + df = _goes_file_df(satellite, product, start, end, bands=bands, refresh=s3_refresh) + + if download: + _download(df, save_dir=save_dir, overwrite=overwrite, verbose=verbose) + + if return_as == "filelist": + df.attrs["filePath"] = save_dir + return df + elif return_as == "xarray": + partial_func = partial(_preprocess_single_point, target_lat=latitude, target_lon=longitude, decimal_degrees=True) + preprocessed_ds = xr.open_mfdataset([str(config['timerange']['save_dir']) + "/" + f for f in df['file'].to_list()], + concat_dim='t', + combine='nested', + preprocess=partial_func) + return preprocessed_ds + def goes_latest( *, From a577314542f086543f63a1ea42725483da6b0958 Mon Sep 17 00:00:00 2001 From: Isaac Barlet Date: Thu, 13 Jun 2024 15:42:26 -0400 Subject: [PATCH 3/9] Adding to test Plus minor linting --- goes2go/NEW.py | 4 ++-- tests/test_GOES.py | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/goes2go/NEW.py b/goes2go/NEW.py index ba00c7f..09a3505 100644 --- a/goes2go/NEW.py +++ b/goes2go/NEW.py @@ -18,7 +18,7 @@ import toml from goes2go import config -from goes2go.data import _goes_file_df, goes_latest, goes_nearesttime, goes_timerange +from goes2go.data import _goes_file_df, goes_latest, goes_nearesttime, goes_timerange, goes_single_point_timerange log = logging.getLogger(__name__) @@ -230,7 +230,7 @@ def timerange(self, start=None, end=None, recent=None, **kwargs): **kwargs, ) - def single_point_timerange(self, laitude, longitude, start=None, end=None, recent=None, decimal_coordinates=True, **kwargs): + def single_point_timerange(self, latitude, longitude, start=None, end=None, recent=None, decimal_coordinates=True, **kwargs): """Get GOES data for a time range at the scan point nearest to a defined single latitude/longitude point. Parameters diff --git a/tests/test_GOES.py b/tests/test_GOES.py index 486e95c..2b5d02a 100644 --- a/tests/test_GOES.py +++ b/tests/test_GOES.py @@ -19,10 +19,12 @@ def test_GOES16_nearesttime(): ds = GOES(satellite=16).nearesttime("2022-01-01") +def test_GOES16_single_point_timerange(): + ds = GOES(satellite=16).single_point_timerange(38.897957, -77.036560, "2022-01-01 00:00", "2022-01-01 01:00") + def test_GOES16_timerange(): ds = GOES(satellite=16).timerange("2022-01-01 00:00", "2022-01-01 01:00") - def test_GOES16_df(): df = GOES(satellite=16).df("2022-01-01 00:00", "2022-01-01 01:00") From 68a8fd1b2636f4629c202a8ccc9ced440d91b83c Mon Sep 17 00:00:00 2001 From: Isaac Barlet Date: Fri, 14 Jun 2024 10:17:02 -0400 Subject: [PATCH 4/9] Starting DEMO Page --- ...download_goes_single_point_timerange.ipynb | 330 ++++++++++++++++++ 1 file changed, 330 insertions(+) create mode 100644 docs/_build/doctrees/nbsphinx/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb diff --git a/docs/_build/doctrees/nbsphinx/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb b/docs/_build/doctrees/nbsphinx/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb new file mode 100644 index 0000000..b1ec3e8 --- /dev/null +++ b/docs/_build/doctrees/nbsphinx/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb @@ -0,0 +1,330 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Isaac Barlet** \n", + "*June 13, 2024*\n", + "\n", + "# Download GOES Data: Single Point Timerange\n", + "For all options, refer to the GOES-2-go Reference Guide: [goes2go.data.goes_single_point_timerange](https://blaylockbk.github.io/goes2go/_build/html/reference_guide/index.html#goes2go.data.goes_single_point_timerange)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from goes2go.data import goes_single_point_timerange\n", + "\n", + "from datetime import datetime\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "### Example 1: \n", + "Download an ABI file from GOES-East for an hour period. Data is returned as a file list. This behaves the same as the normal timerange method" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " _______________________________\n", + " | Satellite: noaa-goes16 |\n", + " | Product: ABI-L2-MCMIPC |\n", + " | Domain: C |\n", + "📦 Finished downloading [12] files to [/p/home/blaylock/data/noaa-goes16/ABI-L2-MCMIPC]. \n" + ] + } + ], + "source": [ + "## Latitudes and \n", + "\n", + "## Dates may be specified as datetime, pandas datetimes, or string dates\n", + "## that pandas can interpret.\n", + "\n", + "## Specify start/end time with datetime object\n", + "#start = datetime(2021, 1, 1, 0, 30)\n", + "#end = datetime(2021, 1, 1, 1, 30)\n", + "\n", + "## Specify start/end time as a panda-parsable string\n", + "start = '2021-01-01 00:30'\n", + "end = '2021-01-01 01:30'\n", + "\n", + "g = goes_single_point_timerange(start, end,\n", + " satellite='goes16',\n", + " product='ABI',\n", + " return_as='filelist')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
filestartendcreation
0noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...2021-01-01 00:31:17.6002021-01-01 00:33:56.1002021-01-01 00:34:10.300
1noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...2021-01-01 00:36:17.6002021-01-01 00:38:55.5002021-01-01 00:39:09.900
2noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...2021-01-01 00:41:17.6002021-01-01 00:43:56.1002021-01-01 00:44:09.200
3noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...2021-01-01 00:46:17.6002021-01-01 00:48:56.1002021-01-01 00:49:09.600
4noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...2021-01-01 00:51:17.6002021-01-01 00:53:55.5002021-01-01 00:54:10.500
5noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...2021-01-01 00:56:17.6002021-01-01 00:58:55.5002021-01-01 00:59:09.000
6noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...2021-01-01 01:01:17.6002021-01-01 01:03:54.9002021-01-01 01:04:10.200
7noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...2021-01-01 01:06:17.6002021-01-01 01:08:56.1002021-01-01 01:09:09.400
8noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...2021-01-01 01:11:17.6002021-01-01 01:13:55.5002021-01-01 01:14:10.300
9noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...2021-01-01 01:16:17.6002021-01-01 01:18:56.1002021-01-01 01:19:09.600
10noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...2021-01-01 01:21:17.6002021-01-01 01:23:54.9002021-01-01 01:24:10.200
11noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...2021-01-01 01:26:17.6002021-01-01 01:28:55.5002021-01-01 01:29:09.000
\n", + "
" + ], + "text/plain": [ + " file start \\\n", + "0 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:31:17.600 \n", + "1 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:36:17.600 \n", + "2 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:41:17.600 \n", + "3 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:46:17.600 \n", + "4 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:51:17.600 \n", + "5 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:56:17.600 \n", + "6 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:01:17.600 \n", + "7 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:06:17.600 \n", + "8 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:11:17.600 \n", + "9 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:16:17.600 \n", + "10 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:21:17.600 \n", + "11 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:26:17.600 \n", + "\n", + " end creation \n", + "0 2021-01-01 00:33:56.100 2021-01-01 00:34:10.300 \n", + "1 2021-01-01 00:38:55.500 2021-01-01 00:39:09.900 \n", + "2 2021-01-01 00:43:56.100 2021-01-01 00:44:09.200 \n", + "3 2021-01-01 00:48:56.100 2021-01-01 00:49:09.600 \n", + "4 2021-01-01 00:53:55.500 2021-01-01 00:54:10.500 \n", + "5 2021-01-01 00:58:55.500 2021-01-01 00:59:09.000 \n", + "6 2021-01-01 01:03:54.900 2021-01-01 01:04:10.200 \n", + "7 2021-01-01 01:08:56.100 2021-01-01 01:09:09.400 \n", + "8 2021-01-01 01:13:55.500 2021-01-01 01:14:10.300 \n", + "9 2021-01-01 01:18:56.100 2021-01-01 01:19:09.600 \n", + "10 2021-01-01 01:23:54.900 2021-01-01 01:24:10.200 \n", + "11 2021-01-01 01:28:55.500 2021-01-01 01:29:09.000 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'satellite': 'noaa-goes16',\n", + " 'product': 'ABI-L2-MCMIPC',\n", + " 'start': Timestamp('2021-01-01 00:30:00'),\n", + " 'end': Timestamp('2021-01-01 01:30:00'),\n", + " 'filePath': PosixPath('/p/home/blaylock/data')}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g.attrs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Show the files on my home drive..." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/p/home/blaylock/data\n", + "└── noaa-goes16\n", + " └── ABI-L2-MCMIPC\n", + " └── 2021\n", + " └── 001\n", + " ├── 00\n", + " │   ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010031176_e20210010033561_c20210010034103.nc\n", + " │   ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010036176_e20210010038555_c20210010039099.nc\n", + " │   ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010041176_e20210010043561_c20210010044092.nc\n", + " │   ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010046176_e20210010048561_c20210010049096.nc\n", + " │   ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010051176_e20210010053555_c20210010054105.nc\n", + " │   └── OR_ABI-L2-MCMIPC-M6_G16_s20210010056176_e20210010058555_c20210010059090.nc\n", + " └── 01\n", + " ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010101176_e20210010103549_c20210010104102.nc\n", + " ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010106176_e20210010108561_c20210010109094.nc\n", + " ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010111176_e20210010113555_c20210010114103.nc\n", + " ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010116176_e20210010118561_c20210010119096.nc\n", + " ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010121176_e20210010123549_c20210010124102.nc\n", + " └── OR_ABI-L2-MCMIPC-M6_G16_s20210010126176_e20210010128555_c20210010129090.nc\n", + "\n", + "6 directories, 12 files\n" + ] + } + ], + "source": [ + "%%bash\n", + "tree ~/data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From 921f1b7218d7bcea710c16b264095bbda2f6e2b0 Mon Sep 17 00:00:00 2001 From: ibarlet <104371002+ibarlet@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:58:48 -0400 Subject: [PATCH 5/9] Move notebook --- .../notebooks/DEMO_download_goes_single_point_timerange.ipynb | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{_build/doctrees/nbsphinx => }/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb (100%) diff --git a/docs/_build/doctrees/nbsphinx/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb b/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb similarity index 100% rename from docs/_build/doctrees/nbsphinx/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb rename to docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb From 7ef497dd241902650fd2e31356924f8f012923cf Mon Sep 17 00:00:00 2001 From: ibarlet <104371002+ibarlet@users.noreply.github.com> Date: Fri, 21 Jun 2024 13:48:26 -0400 Subject: [PATCH 6/9] Formatting --- ...download_goes_single_point_timerange.ipynb | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb b/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb index b1ec3e8..f1e6fa1 100644 --- a/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb +++ b/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb @@ -15,7 +15,29 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\ibarlet_linevisionin\\anaconda3\\envs\\goes\\lib\\site-packages\\goes2go\\data.py:519: FutureWarning: 'H' is deprecated and will be removed in a future version. Please use 'h' instead of 'H'.\n", + " within=pd.to_timedelta(config[\"nearesttime\"].get(\"within\", \"1H\")),\n", + "c:\\Users\\ibarlet_linevisionin\\anaconda3\\envs\\goes\\lib\\site-packages\\goes2go\\NEW.py:188: FutureWarning: 'H' is deprecated and will be removed in a future version. Please use 'h' instead of 'H'.\n", + " within=pd.to_timedelta(config[\"nearesttime\"].get(\"within\", \"1H\")),\n" + ] + }, + { + "ename": "ImportError", + "evalue": "cannot import name 'goes_single_point_timerange' from 'goes2go.data' (c:\\Users\\ibarlet_linevisionin\\anaconda3\\envs\\goes\\lib\\site-packages\\goes2go\\data.py)", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[1], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mgoes2go\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m goes_single_point_timerange\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mdatetime\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m datetime\n\u001b[0;32m 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mpd\u001b[39;00m\n", + "\u001b[1;31mImportError\u001b[0m: cannot import name 'goes_single_point_timerange' from 'goes2go.data' (c:\\Users\\ibarlet_linevisionin\\anaconda3\\envs\\goes\\lib\\site-packages\\goes2go\\data.py)" + ] + } + ], "source": [ "from goes2go.data import goes_single_point_timerange\n", "\n", @@ -322,7 +344,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.9" + "version": "3.10.14" } }, "nbformat": 4, From 996c60915c4a206b45d847da44cf000a02d46a76 Mon Sep 17 00:00:00 2001 From: Isaac Barlet Date: Fri, 21 Jun 2024 14:36:46 -0400 Subject: [PATCH 7/9] Debugging --- ...download_goes_single_point_timerange.ipynb | 1876 +++++++++++++++-- goes2go/NEW.py | 2 +- goes2go/data.py | 11 +- goes2go/tools.py | 12 +- 4 files changed, 1759 insertions(+), 142 deletions(-) diff --git a/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb b/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb index f1e6fa1..6f3aa65 100644 --- a/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb +++ b/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb @@ -20,25 +20,16 @@ "name": "stderr", "output_type": "stream", "text": [ - "c:\\Users\\ibarlet_linevisionin\\anaconda3\\envs\\goes\\lib\\site-packages\\goes2go\\data.py:519: FutureWarning: 'H' is deprecated and will be removed in a future version. Please use 'h' instead of 'H'.\n", + "c:\\Users\\isaac\\Documents\\GitHub\\goes2go\\docs\\user_guide\\notebooks\\../../..\\goes2go\\data.py:665: FutureWarning: 'H' is deprecated and will be removed in a future version. Please use 'h' instead of 'H'.\n", " within=pd.to_timedelta(config[\"nearesttime\"].get(\"within\", \"1H\")),\n", - "c:\\Users\\ibarlet_linevisionin\\anaconda3\\envs\\goes\\lib\\site-packages\\goes2go\\NEW.py:188: FutureWarning: 'H' is deprecated and will be removed in a future version. Please use 'h' instead of 'H'.\n", + "c:\\Users\\isaac\\Documents\\GitHub\\goes2go\\docs\\user_guide\\notebooks\\../../..\\goes2go\\NEW.py:188: FutureWarning: 'H' is deprecated and will be removed in a future version. Please use 'h' instead of 'H'.\n", " within=pd.to_timedelta(config[\"nearesttime\"].get(\"within\", \"1H\")),\n" ] - }, - { - "ename": "ImportError", - "evalue": "cannot import name 'goes_single_point_timerange' from 'goes2go.data' (c:\\Users\\ibarlet_linevisionin\\anaconda3\\envs\\goes\\lib\\site-packages\\goes2go\\data.py)", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[1], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mgoes2go\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m goes_single_point_timerange\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mdatetime\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m datetime\n\u001b[0;32m 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mpd\u001b[39;00m\n", - "\u001b[1;31mImportError\u001b[0m: cannot import name 'goes_single_point_timerange' from 'goes2go.data' (c:\\Users\\ibarlet_linevisionin\\anaconda3\\envs\\goes\\lib\\site-packages\\goes2go\\data.py)" - ] } ], "source": [ + "import sys\n", + "sys.path.append(\"../../../\")\n", "from goes2go.data import goes_single_point_timerange\n", "\n", "from datetime import datetime\n", @@ -51,7 +42,7 @@ "source": [ "---\n", "### Example 1: \n", - "Download an ABI file from GOES-East for an hour period. Data is returned as a file list. This behaves the same as the normal timerange method" + "Download an ABI-L2-TWP file from GOES-East for an hour period. Data is returned as a file list. This behaves the same as the normal timerange method" ] }, { @@ -59,20 +50,28 @@ "execution_count": 2, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\isaac\\Documents\\GitHub\\goes2go\\docs\\user_guide\\notebooks\\../../..\\goes2go\\data.py:140: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.\n", + " DATES = pd.date_range(f\"{start:%Y-%m-%d %H:00}\", f\"{end:%Y-%m-%d %H:00}\", freq=\"1H\")\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - " _______________________________\n", - " | Satellite: noaa-goes16 |\n", - " | Product: ABI-L2-MCMIPC |\n", - " | Domain: C |\n", - "📦 Finished downloading [12] files to [/p/home/blaylock/data/noaa-goes16/ABI-L2-MCMIPC]. \n" + "📦 Finished downloading [12] files to [C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC].\n" ] } ], "source": [ - "## Latitudes and \n", + "## Latitudes and Longitudes may be specified as floats in degrees or radians\n", + "\n", + "## Specifiy Latitude and Lognitude in degrees\n", + "latitude = 38.897957\n", + "longitude = -77.036560\n", "\n", "## Dates may be specified as datetime, pandas datetimes, or string dates\n", "## that pandas can interpret.\n", @@ -82,13 +81,15 @@ "#end = datetime(2021, 1, 1, 1, 30)\n", "\n", "## Specify start/end time as a panda-parsable string\n", - "start = '2021-01-01 00:30'\n", - "end = '2021-01-01 01:30'\n", + "start = '2021-01-01 10:30'\n", + "end = '2021-01-01 20:30'\n", "\n", - "g = goes_single_point_timerange(start, end,\n", + "g = goes_single_point_timerange(latitude, longitude,\n", + " start, end,\n", " satellite='goes16',\n", - " product='ABI',\n", - " return_as='filelist')" + " product='ABI-L2-TPW',\n", + " return_as='filelist',\n", + " decimal_coordinates=True)" ] }, { @@ -118,128 +119,220 @@ " \n", " \n", " file\n", + " product_mode\n", + " satellite\n", " start\n", " end\n", " creation\n", + " product\n", + " mode_bands\n", + " mode\n", + " band\n", " \n", " \n", " \n", " \n", " 0\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...\n", - " 2021-01-01 00:31:17.600\n", - " 2021-01-01 00:33:56.100\n", - " 2021-01-01 00:34:10.300\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 06:31:17.600\n", + " 2021-01-01 06:33:54.900\n", + " 2021-01-01 06:35:44.100\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", " 1\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...\n", - " 2021-01-01 00:36:17.600\n", - " 2021-01-01 00:38:55.500\n", - " 2021-01-01 00:39:09.900\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 06:36:17.600\n", + " 2021-01-01 06:38:54.900\n", + " 2021-01-01 06:40:47.000\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", " 2\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...\n", - " 2021-01-01 00:41:17.600\n", - " 2021-01-01 00:43:56.100\n", - " 2021-01-01 00:44:09.200\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 06:41:17.600\n", + " 2021-01-01 06:43:54.900\n", + " 2021-01-01 06:45:45.200\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", " 3\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...\n", - " 2021-01-01 00:46:17.600\n", - " 2021-01-01 00:48:56.100\n", - " 2021-01-01 00:49:09.600\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 06:46:17.600\n", + " 2021-01-01 06:48:54.900\n", + " 2021-01-01 06:50:46.300\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", " 4\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...\n", - " 2021-01-01 00:51:17.600\n", - " 2021-01-01 00:53:55.500\n", - " 2021-01-01 00:54:10.500\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 06:51:17.600\n", + " 2021-01-01 06:53:54.900\n", + " 2021-01-01 06:55:45.700\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", " 5\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L...\n", - " 2021-01-01 00:56:17.600\n", - " 2021-01-01 00:58:55.500\n", - " 2021-01-01 00:59:09.000\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 06:56:17.600\n", + " 2021-01-01 06:58:54.900\n", + " 2021-01-01 07:00:44.700\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", " 6\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...\n", - " 2021-01-01 01:01:17.600\n", - " 2021-01-01 01:03:54.900\n", - " 2021-01-01 01:04:10.200\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 07:01:17.600\n", + " 2021-01-01 07:03:54.900\n", + " 2021-01-01 07:05:49.600\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", " 7\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...\n", - " 2021-01-01 01:06:17.600\n", - " 2021-01-01 01:08:56.100\n", - " 2021-01-01 01:09:09.400\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 07:06:17.600\n", + " 2021-01-01 07:08:54.900\n", + " 2021-01-01 07:10:37.300\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", " 8\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...\n", - " 2021-01-01 01:11:17.600\n", - " 2021-01-01 01:13:55.500\n", - " 2021-01-01 01:14:10.300\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 07:11:17.600\n", + " 2021-01-01 07:13:54.900\n", + " 2021-01-01 07:15:46.200\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", " 9\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...\n", - " 2021-01-01 01:16:17.600\n", - " 2021-01-01 01:18:56.100\n", - " 2021-01-01 01:19:09.600\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 07:16:17.600\n", + " 2021-01-01 07:18:54.900\n", + " 2021-01-01 07:20:47.700\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", " 10\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...\n", - " 2021-01-01 01:21:17.600\n", - " 2021-01-01 01:23:54.900\n", - " 2021-01-01 01:24:10.200\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 07:21:17.600\n", + " 2021-01-01 07:23:54.900\n", + " 2021-01-01 07:25:33.800\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", " 11\n", - " noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L...\n", - " 2021-01-01 01:26:17.600\n", - " 2021-01-01 01:28:55.500\n", - " 2021-01-01 01:29:09.000\n", + " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2021-01-01 07:26:17.600\n", + " 2021-01-01 07:28:54.900\n", + " 2021-01-01 07:30:46.300\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", "\n", "" ], "text/plain": [ - " file start \\\n", - "0 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:31:17.600 \n", - "1 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:36:17.600 \n", - "2 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:41:17.600 \n", - "3 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:46:17.600 \n", - "4 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:51:17.600 \n", - "5 noaa-goes16/ABI-L2-MCMIPC/2021/001/00/OR_ABI-L... 2021-01-01 00:56:17.600 \n", - "6 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:01:17.600 \n", - "7 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:06:17.600 \n", - "8 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:11:17.600 \n", - "9 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:16:17.600 \n", - "10 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:21:17.600 \n", - "11 noaa-goes16/ABI-L2-MCMIPC/2021/001/01/OR_ABI-L... 2021-01-01 01:26:17.600 \n", - "\n", - " end creation \n", - "0 2021-01-01 00:33:56.100 2021-01-01 00:34:10.300 \n", - "1 2021-01-01 00:38:55.500 2021-01-01 00:39:09.900 \n", - "2 2021-01-01 00:43:56.100 2021-01-01 00:44:09.200 \n", - "3 2021-01-01 00:48:56.100 2021-01-01 00:49:09.600 \n", - "4 2021-01-01 00:53:55.500 2021-01-01 00:54:10.500 \n", - "5 2021-01-01 00:58:55.500 2021-01-01 00:59:09.000 \n", - "6 2021-01-01 01:03:54.900 2021-01-01 01:04:10.200 \n", - "7 2021-01-01 01:08:56.100 2021-01-01 01:09:09.400 \n", - "8 2021-01-01 01:13:55.500 2021-01-01 01:14:10.300 \n", - "9 2021-01-01 01:18:56.100 2021-01-01 01:19:09.600 \n", - "10 2021-01-01 01:23:54.900 2021-01-01 01:24:10.200 \n", - "11 2021-01-01 01:28:55.500 2021-01-01 01:29:09.000 " + " file product_mode \\\n", + "0 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "1 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "2 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "3 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "4 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "5 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "6 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "7 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "8 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "9 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "10 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "11 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "\n", + " satellite start end \\\n", + "0 G16 2021-01-01 06:31:17.600 2021-01-01 06:33:54.900 \n", + "1 G16 2021-01-01 06:36:17.600 2021-01-01 06:38:54.900 \n", + "2 G16 2021-01-01 06:41:17.600 2021-01-01 06:43:54.900 \n", + "3 G16 2021-01-01 06:46:17.600 2021-01-01 06:48:54.900 \n", + "4 G16 2021-01-01 06:51:17.600 2021-01-01 06:53:54.900 \n", + "5 G16 2021-01-01 06:56:17.600 2021-01-01 06:58:54.900 \n", + "6 G16 2021-01-01 07:01:17.600 2021-01-01 07:03:54.900 \n", + "7 G16 2021-01-01 07:06:17.600 2021-01-01 07:08:54.900 \n", + "8 G16 2021-01-01 07:11:17.600 2021-01-01 07:13:54.900 \n", + "9 G16 2021-01-01 07:16:17.600 2021-01-01 07:18:54.900 \n", + "10 G16 2021-01-01 07:21:17.600 2021-01-01 07:23:54.900 \n", + "11 G16 2021-01-01 07:26:17.600 2021-01-01 07:28:54.900 \n", + "\n", + " creation product mode_bands mode band \n", + "0 2021-01-01 06:35:44.100 ABI-L2-TPWC M6 6 None \n", + "1 2021-01-01 06:40:47.000 ABI-L2-TPWC M6 6 None \n", + "2 2021-01-01 06:45:45.200 ABI-L2-TPWC M6 6 None \n", + "3 2021-01-01 06:50:46.300 ABI-L2-TPWC M6 6 None \n", + "4 2021-01-01 06:55:45.700 ABI-L2-TPWC M6 6 None \n", + "5 2021-01-01 07:00:44.700 ABI-L2-TPWC M6 6 None \n", + "6 2021-01-01 07:05:49.600 ABI-L2-TPWC M6 6 None \n", + "7 2021-01-01 07:10:37.300 ABI-L2-TPWC M6 6 None \n", + "8 2021-01-01 07:15:46.200 ABI-L2-TPWC M6 6 None \n", + "9 2021-01-01 07:20:47.700 ABI-L2-TPWC M6 6 None \n", + "10 2021-01-01 07:25:33.800 ABI-L2-TPWC M6 6 None \n", + "11 2021-01-01 07:30:46.300 ABI-L2-TPWC M6 6 None " ] }, "execution_count": 3, @@ -260,10 +353,12 @@ "data": { "text/plain": [ "{'satellite': 'noaa-goes16',\n", - " 'product': 'ABI-L2-MCMIPC',\n", - " 'start': Timestamp('2021-01-01 00:30:00'),\n", - " 'end': Timestamp('2021-01-01 01:30:00'),\n", - " 'filePath': PosixPath('/p/home/blaylock/data')}" + " 'product': 'ABI-L2-TPWC',\n", + " 'start': Timestamp('2021-01-01 06:30:00'),\n", + " 'end': Timestamp('2021-01-01 07:30:00'),\n", + " 'bands': None,\n", + " 'refresh': False,\n", + " 'filePath': WindowsPath('C:/Users/isaac/data')}" ] }, "execution_count": 4, @@ -279,7 +374,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Show the files on my home drive..." + "---\n", + "### Example 2: \n", + "Download an ABI file from GOES-East for an hour period. Data is returned as an xarray object containing only the single point spatial point and 12 time points." ] }, { @@ -291,41 +388,1560 @@ "name": "stdout", "output_type": "stream", "text": [ - "/p/home/blaylock/data\n", - "└── noaa-goes16\n", - " └── ABI-L2-MCMIPC\n", - " └── 2021\n", - " └── 001\n", - " ├── 00\n", - " │   ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010031176_e20210010033561_c20210010034103.nc\n", - " │   ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010036176_e20210010038555_c20210010039099.nc\n", - " │   ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010041176_e20210010043561_c20210010044092.nc\n", - " │   ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010046176_e20210010048561_c20210010049096.nc\n", - " │   ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010051176_e20210010053555_c20210010054105.nc\n", - " │   └── OR_ABI-L2-MCMIPC-M6_G16_s20210010056176_e20210010058555_c20210010059090.nc\n", - " └── 01\n", - " ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010101176_e20210010103549_c20210010104102.nc\n", - " ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010106176_e20210010108561_c20210010109094.nc\n", - " ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010111176_e20210010113555_c20210010114103.nc\n", - " ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010116176_e20210010118561_c20210010119096.nc\n", - " ├── OR_ABI-L2-MCMIPC-M6_G16_s20210010121176_e20210010123549_c20210010124102.nc\n", - " └── OR_ABI-L2-MCMIPC-M6_G16_s20210010126176_e20210010128555_c20210010129090.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010631176_e20210010633549_c20210010635441.nc" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\isaac\\Documents\\GitHub\\goes2go\\docs\\user_guide\\notebooks\\../../..\\goes2go\\data.py:140: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.\n", + " DATES = pd.date_range(f\"{start:%Y-%m-%d %H:00}\", f\"{end:%Y-%m-%d %H:00}\", freq=\"1H\")\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "\n", - "6 directories, 12 files\n" + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010636176_e20210010638549_c20210010640470.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010641176_e20210010643549_c20210010645452.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010646176_e20210010648549_c20210010650463.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010651176_e20210010653549_c20210010655457.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010656176_e20210010658549_c20210010700447.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010701176_e20210010703549_c20210010705496.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010716176_e20210010718549_c20210010720477.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010711176_e20210010713549_c20210010715462.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010706176_e20210010708549_c20210010710373.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010721176_e20210010723549_c20210010725338.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010726176_e20210010728549_c20210010730463.nc\n", + "📦 Finished downloading [12] files to [C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC].\n" ] } ], "source": [ - "%%bash\n", - "tree ~/data" + "g2 = goes_single_point_timerange(latitude, longitude,\n", + " start, end,\n", + " satellite='goes16',\n", + " product='ABI-L2-TPW',\n", + " return_as='xarray',\n", + " decimal_coordinates=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:                                           (t: 12,\n",
+       "                                                       number_of_time_bounds: 2,\n",
+       "                                                       number_of_image_bounds: 2,\n",
+       "                                                       number_of_LZA_bounds: 2,\n",
+       "                                                       number_of_SZA_bounds: 2,\n",
+       "                                                       number_of_lat_bounds: 2,\n",
+       "                                                       sounding_emissive_bands: 7)\n",
+       "Coordinates:\n",
+       "  * t                                                 (t) datetime64[ns] 2021...\n",
+       "    y                                                 float64 0.1068\n",
+       "    x                                                 float64 -0.00462\n",
+       "    y_image                                           float32 0.08624\n",
+       "    x_image                                           float32 -0.03136\n",
+       "    retrieval_local_zenith_angle                      float32 80.0\n",
+       "    quantitative_local_zenith_angle                   float32 70.0\n",
+       "    solar_zenith_angle                                float32 180.0\n",
+       "    latitude                                          float32 70.0\n",
+       "    sounding_emissive_wavelengths                     (sounding_emissive_bands) float32 dask.array<chunksize=(7,), meta=np.ndarray>\n",
+       "    sounding_emissive_band_ids                        (sounding_emissive_bands) int8 dask.array<chunksize=(7,), meta=np.ndarray>\n",
+       "Dimensions without coordinates: number_of_time_bounds, number_of_image_bounds,\n",
+       "                                number_of_LZA_bounds, number_of_SZA_bounds,\n",
+       "                                number_of_lat_bounds, sounding_emissive_bands\n",
+       "Data variables: (12/29)\n",
+       "    TPW                                               (t) float32 dask.array<chunksize=(1,), meta=np.ndarray>\n",
+       "    DQF_Overall                                       (t) float32 dask.array<chunksize=(1,), meta=np.ndarray>\n",
+       "    DQF_Retrieval                                     (t) float32 dask.array<chunksize=(1,), meta=np.ndarray>\n",
+       "    DQF_SkinTemp                                      (t) float32 dask.array<chunksize=(1,), meta=np.ndarray>\n",
+       "    time_bounds                                       (t, number_of_time_bounds) datetime64[ns] dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
+       "    goes_imager_projection                            (t) int32 -2147483647 ....\n",
+       "    ...                                                ...\n",
+       "    latitude_bounds                                   (t, number_of_lat_bounds) float32 dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
+       "    percent_uncorrectable_L0_errors                   (t) float32 0.0 ... 0.0\n",
+       "    percent_uncorrectable_GRB_errors                  (t) float32 0.0 ... 0.0\n",
+       "    total_attempted_retrievals                        (t) float64 8.878e+04 ....\n",
+       "    mean_obs_modeled_diff_sounding_emissive_bands     (t, sounding_emissive_bands) float32 dask.array<chunksize=(1, 7), meta=np.ndarray>\n",
+       "    std_dev_obs_modeled_diff_sounding_emissive_bands  (t, sounding_emissive_bands) float32 dask.array<chunksize=(1, 7), meta=np.ndarray>\n",
+       "Attributes: (12/29)\n",
+       "    naming_authority:          gov.nesdis.noaa\n",
+       "    Conventions:               CF-1.7\n",
+       "    Metadata_Conventions:      Unidata Dataset Discovery v1.0\n",
+       "    standard_name_vocabulary:  CF Standard Name Table (v35, 20 July 2016)\n",
+       "    institution:               DOC/NOAA/NESDIS > U.S. Department of Commerce,...\n",
+       "    project:                   GOES\n",
+       "    ...                        ...\n",
+       "    cdm_data_type:             Image\n",
+       "    time_coverage_start:       2021-01-01T06:31:17.6Z\n",
+       "    time_coverage_end:         2021-01-01T06:33:54.9Z\n",
+       "    timeline_id:               ABI Mode 6\n",
+       "    production_data_source:    Realtime\n",
+       "    id:                        8b633328-1f7e-4527-965f-79434ac4cb1d
" + ], + "text/plain": [ + "\n", + "Dimensions: (t: 12,\n", + " number_of_time_bounds: 2,\n", + " number_of_image_bounds: 2,\n", + " number_of_LZA_bounds: 2,\n", + " number_of_SZA_bounds: 2,\n", + " number_of_lat_bounds: 2,\n", + " sounding_emissive_bands: 7)\n", + "Coordinates:\n", + " * t (t) datetime64[ns] 2021...\n", + " y float64 0.1068\n", + " x float64 -0.00462\n", + " y_image float32 0.08624\n", + " x_image float32 -0.03136\n", + " retrieval_local_zenith_angle float32 80.0\n", + " quantitative_local_zenith_angle float32 70.0\n", + " solar_zenith_angle float32 180.0\n", + " latitude float32 70.0\n", + " sounding_emissive_wavelengths (sounding_emissive_bands) float32 dask.array\n", + " sounding_emissive_band_ids (sounding_emissive_bands) int8 dask.array\n", + "Dimensions without coordinates: number_of_time_bounds, number_of_image_bounds,\n", + " number_of_LZA_bounds, number_of_SZA_bounds,\n", + " number_of_lat_bounds, sounding_emissive_bands\n", + "Data variables: (12/29)\n", + " TPW (t) float32 dask.array\n", + " DQF_Overall (t) float32 dask.array\n", + " DQF_Retrieval (t) float32 dask.array\n", + " DQF_SkinTemp (t) float32 dask.array\n", + " time_bounds (t, number_of_time_bounds) datetime64[ns] dask.array\n", + " goes_imager_projection (t) int32 -2147483647 ....\n", + " ... ...\n", + " latitude_bounds (t, number_of_lat_bounds) float32 dask.array\n", + " percent_uncorrectable_L0_errors (t) float32 0.0 ... 0.0\n", + " percent_uncorrectable_GRB_errors (t) float32 0.0 ... 0.0\n", + " total_attempted_retrievals (t) float64 8.878e+04 ....\n", + " mean_obs_modeled_diff_sounding_emissive_bands (t, sounding_emissive_bands) float32 dask.array\n", + " std_dev_obs_modeled_diff_sounding_emissive_bands (t, sounding_emissive_bands) float32 dask.array\n", + "Attributes: (12/29)\n", + " naming_authority: gov.nesdis.noaa\n", + " Conventions: CF-1.7\n", + " Metadata_Conventions: Unidata Dataset Discovery v1.0\n", + " standard_name_vocabulary: CF Standard Name Table (v35, 20 July 2016)\n", + " institution: DOC/NOAA/NESDIS > U.S. Department of Commerce,...\n", + " project: GOES\n", + " ... ...\n", + " cdm_data_type: Image\n", + " time_coverage_start: 2021-01-01T06:31:17.6Z\n", + " time_coverage_end: 2021-01-01T06:33:54.9Z\n", + " timeline_id: ABI Mode 6\n", + " production_data_source: Realtime\n", + " id: 8b633328-1f7e-4527-965f-79434ac4cb1d" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g2" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "array([nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan],\n", + " dtype=float32)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g2.TPW.values" + ] } ], "metadata": { diff --git a/goes2go/NEW.py b/goes2go/NEW.py index 09a3505..ea00adc 100644 --- a/goes2go/NEW.py +++ b/goes2go/NEW.py @@ -185,7 +185,7 @@ def latest(self, **kwargs): def nearesttime( self, attime, - within=pd.to_timedelta(config["nearesttime"].get("within", "1H")), + within=pd.to_timedelta(config["nearesttime"].get("within", "1h")), **kwargs, ): """Get the GOES data nearest a specified time. diff --git a/goes2go/data.py b/goes2go/data.py index 308cd55..b8e767e 100644 --- a/goes2go/data.py +++ b/goes2go/data.py @@ -21,12 +21,13 @@ from functools import partial from pathlib import Path +import sys import numpy as np import pandas as pd import s3fs import xarray as xr -from tools import lat_lon_to_scan_angles +from goes2go.tools import lat_lon_to_scan_angles # NOTE: These config dict values are retrieved from __init__ and read # from the file ${HOME}/.config/goes2go/config.toml @@ -426,7 +427,7 @@ def goes_timerange( elif return_as == "xarray": return _as_xarray(df, **params) -def _preprocess_single_point(ds, target_lat, target_lon, decimal_degrees=True): +def _preprocess_single_point(ds, target_lat, target_lon, decimal_coordinates=True): """ Preprocessing function to select only the single relevant data subset @@ -439,7 +440,7 @@ def _preprocess_single_point(ds, target_lat, target_lon, decimal_degrees=True): decimal_coordinates: bool If latitude/longitude are specified in decimal or radian coordinates. """ - x_target, y_target = lat_lon_to_scan_angles(target_lat, target_lon, ds["goes_imager_projection"], decimal_degrees) + x_target, y_target = lat_lon_to_scan_angles(target_lat, target_lon, ds["goes_imager_projection"], decimal_coordinates) return ds.sel(x=x_target, y=y_target, method="nearest") def goes_single_point_timerange( @@ -561,7 +562,7 @@ def goes_single_point_timerange( df.attrs["filePath"] = save_dir return df elif return_as == "xarray": - partial_func = partial(_preprocess_single_point, target_lat=latitude, target_lon=longitude, decimal_degrees=True) + partial_func = partial(_preprocess_single_point, target_lat=latitude, target_lon=longitude, decimal_coordinates=decimal_coordinates) preprocessed_ds = xr.open_mfdataset([str(config['timerange']['save_dir']) + "/" + f for f in df['file'].to_list()], concat_dim='t', combine='nested', @@ -661,7 +662,7 @@ def goes_latest( def goes_nearesttime( attime, - within=pd.to_timedelta(config["nearesttime"].get("within", "1H")), + within=pd.to_timedelta(config["nearesttime"].get("within", "1h")), *, satellite=config["nearesttime"].get("satellite"), product=config["nearesttime"].get("product"), diff --git a/goes2go/tools.py b/goes2go/tools.py index 2ae04ef..3c7da07 100644 --- a/goes2go/tools.py +++ b/goes2go/tools.py @@ -192,7 +192,7 @@ def glm_crs(G, reference_variable="flash_lat"): return crs -def scan_angles_to_lat_lon(x, y, goes_imager_projection, decimal_degrees=True): +def scan_angles_to_lat_lon(x, y, goes_imager_projection, decimal_coordinates=True): """ Convert ABI scan angle coordinates to geodetic latitude and longitude. @@ -207,7 +207,7 @@ def scan_angles_to_lat_lon(x, y, goes_imager_projection, decimal_degrees=True): A scan angle coordinate in the y direction. goes_imager_projection : xarray.Dataset An xarray.Dataset with the projection information in it's attributes. - decimal_degrees : bool + decimal_coordinates : bool A boolean designating if latitude and longitude should be returned in decimal degrees (returns decimal radians if false). Returns @@ -242,14 +242,14 @@ def scan_angles_to_lat_lon(x, y, goes_imager_projection, decimal_degrees=True): ) longitude = lambda_0 - np.arctan(s_y / (H - s_x)) - if decimal_degrees: + if decimal_coordinates: latitude = np.degrees(latitude) longitude = np.degrees(longitude) return latitude, longitude -def lat_lon_to_scan_angles(latitude, longitude, goes_imager_projection, decimal_degrees=True): +def lat_lon_to_scan_angles(latitude, longitude, goes_imager_projection, decimal_coordinates=True): """ Convert geodetic latitude and longitude to ABI scan angle coordinates. @@ -264,7 +264,7 @@ def lat_lon_to_scan_angles(latitude, longitude, goes_imager_projection, decimal_ Longitude on the GSR80 ellipsoid. goes_imager_projection : xarray.Dataset An xarray.Dataset with the projection information in it's attributes. - decimal_degrees : bool + decimal_coordinates : bool A boolean designating if latitude and longitude inputs are in decimal degrees (returns decimal radians if false). Returns @@ -273,7 +273,7 @@ def lat_lon_to_scan_angles(latitude, longitude, goes_imager_projection, decimal_ 1. A scan angle coordinate in the x direction measured in radians 2. A scan angle coordinate in the y direction measured in radians """ - if decimal_degrees: + if decimal_coordinates: latitude = np.radians(latitude) longitude = np.radians(longitude) From d6d5469b1f508e34cf2f47daafb578a2dcc43b05 Mon Sep 17 00:00:00 2001 From: Isaac Barlet Date: Fri, 21 Jun 2024 14:50:07 -0400 Subject: [PATCH 8/9] Finalizing working test dates --- docs/user_guide/defaults.rst | 2 +- ...download_goes_single_point_timerange.ipynb | 1501 +++++++++++------ goes2go/data.py | 2 +- 3 files changed, 1006 insertions(+), 499 deletions(-) diff --git a/docs/user_guide/defaults.rst b/docs/user_guide/defaults.rst index fc5e2a8..fbf7b0e 100644 --- a/docs/user_guide/defaults.rst +++ b/docs/user_guide/defaults.rst @@ -33,7 +33,7 @@ The default is return_as = "xarray" [nearesttime] - within = "1H" + within = "1h" return_as = "xarray" The ``[default]`` section are global settings used by each download method. These can be overwritten for each method. For instance, *s3_refresh* is set to false for ``[timerange]`` because it's unlikely you will need to refresh the file listing. Also, ``[latest]`` and ``[nearesttime]`` are by default returned as an xarray object instead of a list of files downloaded. diff --git a/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb b/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb index 6f3aa65..d8d1aad 100644 --- a/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb +++ b/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb @@ -13,20 +13,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 8, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\isaac\\Documents\\GitHub\\goes2go\\docs\\user_guide\\notebooks\\../../..\\goes2go\\data.py:665: FutureWarning: 'H' is deprecated and will be removed in a future version. Please use 'h' instead of 'H'.\n", - " within=pd.to_timedelta(config[\"nearesttime\"].get(\"within\", \"1H\")),\n", - "c:\\Users\\isaac\\Documents\\GitHub\\goes2go\\docs\\user_guide\\notebooks\\../../..\\goes2go\\NEW.py:188: FutureWarning: 'H' is deprecated and will be removed in a future version. Please use 'h' instead of 'H'.\n", - " within=pd.to_timedelta(config[\"nearesttime\"].get(\"within\", \"1H\")),\n" - ] - } - ], + "outputs": [], "source": [ "import sys\n", "sys.path.append(\"../../../\")\n", @@ -47,7 +36,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -62,7 +51,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "📦 Finished downloading [12] files to [C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC].\n" + "📦 Finished downloading [120] files to [C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC].\n" ] } ], @@ -77,12 +66,12 @@ "## that pandas can interpret.\n", "\n", "## Specify start/end time with datetime object\n", - "#start = datetime(2021, 1, 1, 0, 30)\n", - "#end = datetime(2021, 1, 1, 1, 30)\n", + "#start = datetime(2024, 4, 8, 10, 0)\n", + "#end = datetime(2024, 4, 8, 11, 0)\n", "\n", "## Specify start/end time as a panda-parsable string\n", - "start = '2021-01-01 10:30'\n", - "end = '2021-01-01 20:30'\n", + "start = '2024-04-08 10:00'\n", + "end = '2024-04-08 11:00'\n", "\n", "g = goes_single_point_timerange(latitude, longitude,\n", " start, end,\n", @@ -94,7 +83,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -133,12 +122,12 @@ " \n", " \n", " 0\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2021-01-01 06:31:17.600\n", - " 2021-01-01 06:33:54.900\n", - " 2021-01-01 06:35:44.100\n", + " 2024-04-08 10:01:17.200\n", + " 2024-04-08 10:03:54.400\n", + " 2024-04-08 10:05:43.500\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", @@ -146,12 +135,12 @@ " \n", " \n", " 1\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2021-01-01 06:36:17.600\n", - " 2021-01-01 06:38:54.900\n", - " 2021-01-01 06:40:47.000\n", + " 2024-04-08 10:06:17.200\n", + " 2024-04-08 10:08:54.400\n", + " 2024-04-08 10:10:55.500\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", @@ -159,12 +148,12 @@ " \n", " \n", " 2\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2021-01-01 06:41:17.600\n", - " 2021-01-01 06:43:54.900\n", - " 2021-01-01 06:45:45.200\n", + " 2024-04-08 10:11:17.200\n", + " 2024-04-08 10:13:54.400\n", + " 2024-04-08 10:16:03.900\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", @@ -172,12 +161,12 @@ " \n", " \n", " 3\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2021-01-01 06:46:17.600\n", - " 2021-01-01 06:48:54.900\n", - " 2021-01-01 06:50:46.300\n", + " 2024-04-08 10:16:17.200\n", + " 2024-04-08 10:18:54.400\n", + " 2024-04-08 10:21:02.900\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", @@ -185,103 +174,90 @@ " \n", " \n", " 4\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2021-01-01 06:51:17.600\n", - " 2021-01-01 06:53:54.900\n", - " 2021-01-01 06:55:45.700\n", + " 2024-04-08 10:21:17.200\n", + " 2024-04-08 10:23:54.400\n", + " 2024-04-08 10:25:49.600\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", " None\n", " \n", " \n", - " 5\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-...\n", - " ABI-L2-TPWC-M6\n", - " G16\n", - " 2021-01-01 06:56:17.600\n", - " 2021-01-01 06:58:54.900\n", - " 2021-01-01 07:00:44.700\n", - " ABI-L2-TPWC\n", - " M6\n", - " 6\n", - " None\n", - " \n", - " \n", - " 6\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", - " ABI-L2-TPWC-M6\n", - " G16\n", - " 2021-01-01 07:01:17.600\n", - " 2021-01-01 07:03:54.900\n", - " 2021-01-01 07:05:49.600\n", - " ABI-L2-TPWC\n", - " M6\n", - " 6\n", - " None\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", " \n", " \n", - " 7\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", + " 115\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2021-01-01 07:06:17.600\n", - " 2021-01-01 07:08:54.900\n", - " 2021-01-01 07:10:37.300\n", + " 2024-04-08 19:36:17.200\n", + " 2024-04-08 19:38:54.500\n", + " 2024-04-08 19:41:01.400\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", " None\n", " \n", " \n", - " 8\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", + " 116\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2021-01-01 07:11:17.600\n", - " 2021-01-01 07:13:54.900\n", - " 2021-01-01 07:15:46.200\n", + " 2024-04-08 19:41:17.200\n", + " 2024-04-08 19:43:54.500\n", + " 2024-04-08 19:45:42.700\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", " None\n", " \n", " \n", - " 9\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", + " 117\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2021-01-01 07:16:17.600\n", - " 2021-01-01 07:18:54.900\n", - " 2021-01-01 07:20:47.700\n", + " 2024-04-08 19:46:17.200\n", + " 2024-04-08 19:48:54.500\n", + " 2024-04-08 19:50:42.500\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", " None\n", " \n", " \n", - " 10\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", + " 118\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2021-01-01 07:21:17.600\n", - " 2021-01-01 07:23:54.900\n", - " 2021-01-01 07:25:33.800\n", + " 2024-04-08 19:51:17.200\n", + " 2024-04-08 19:53:54.500\n", + " 2024-04-08 19:55:42.000\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", " None\n", " \n", " \n", - " 11\n", - " noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-...\n", + " 119\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2021-01-01 07:26:17.600\n", - " 2021-01-01 07:28:54.900\n", - " 2021-01-01 07:30:46.300\n", + " 2024-04-08 19:56:17.200\n", + " 2024-04-08 19:58:54.500\n", + " 2024-04-08 20:00:53.000\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", @@ -289,53 +265,53 @@ " \n", " \n", "\n", + "

120 rows × 10 columns

\n", "" ], "text/plain": [ - " file product_mode \\\n", - "0 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "1 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "2 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "3 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "4 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "5 noaa-goes16/ABI-L2-TPWC/2021/001/06/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "6 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "7 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "8 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "9 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "10 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "11 noaa-goes16/ABI-L2-TPWC/2021/001/07/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "\n", - " satellite start end \\\n", - "0 G16 2021-01-01 06:31:17.600 2021-01-01 06:33:54.900 \n", - "1 G16 2021-01-01 06:36:17.600 2021-01-01 06:38:54.900 \n", - "2 G16 2021-01-01 06:41:17.600 2021-01-01 06:43:54.900 \n", - "3 G16 2021-01-01 06:46:17.600 2021-01-01 06:48:54.900 \n", - "4 G16 2021-01-01 06:51:17.600 2021-01-01 06:53:54.900 \n", - "5 G16 2021-01-01 06:56:17.600 2021-01-01 06:58:54.900 \n", - "6 G16 2021-01-01 07:01:17.600 2021-01-01 07:03:54.900 \n", - "7 G16 2021-01-01 07:06:17.600 2021-01-01 07:08:54.900 \n", - "8 G16 2021-01-01 07:11:17.600 2021-01-01 07:13:54.900 \n", - "9 G16 2021-01-01 07:16:17.600 2021-01-01 07:18:54.900 \n", - "10 G16 2021-01-01 07:21:17.600 2021-01-01 07:23:54.900 \n", - "11 G16 2021-01-01 07:26:17.600 2021-01-01 07:28:54.900 \n", - "\n", - " creation product mode_bands mode band \n", - "0 2021-01-01 06:35:44.100 ABI-L2-TPWC M6 6 None \n", - "1 2021-01-01 06:40:47.000 ABI-L2-TPWC M6 6 None \n", - "2 2021-01-01 06:45:45.200 ABI-L2-TPWC M6 6 None \n", - "3 2021-01-01 06:50:46.300 ABI-L2-TPWC M6 6 None \n", - "4 2021-01-01 06:55:45.700 ABI-L2-TPWC M6 6 None \n", - "5 2021-01-01 07:00:44.700 ABI-L2-TPWC M6 6 None \n", - "6 2021-01-01 07:05:49.600 ABI-L2-TPWC M6 6 None \n", - "7 2021-01-01 07:10:37.300 ABI-L2-TPWC M6 6 None \n", - "8 2021-01-01 07:15:46.200 ABI-L2-TPWC M6 6 None \n", - "9 2021-01-01 07:20:47.700 ABI-L2-TPWC M6 6 None \n", - "10 2021-01-01 07:25:33.800 ABI-L2-TPWC M6 6 None \n", - "11 2021-01-01 07:30:46.300 ABI-L2-TPWC M6 6 None " + " file product_mode \\\n", + "0 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "1 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "2 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "3 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "4 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + ".. ... ... \n", + "115 noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "116 noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "117 noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "118 noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "119 noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "\n", + " satellite start end \\\n", + "0 G16 2024-04-08 10:01:17.200 2024-04-08 10:03:54.400 \n", + "1 G16 2024-04-08 10:06:17.200 2024-04-08 10:08:54.400 \n", + "2 G16 2024-04-08 10:11:17.200 2024-04-08 10:13:54.400 \n", + "3 G16 2024-04-08 10:16:17.200 2024-04-08 10:18:54.400 \n", + "4 G16 2024-04-08 10:21:17.200 2024-04-08 10:23:54.400 \n", + ".. ... ... ... \n", + "115 G16 2024-04-08 19:36:17.200 2024-04-08 19:38:54.500 \n", + "116 G16 2024-04-08 19:41:17.200 2024-04-08 19:43:54.500 \n", + "117 G16 2024-04-08 19:46:17.200 2024-04-08 19:48:54.500 \n", + "118 G16 2024-04-08 19:51:17.200 2024-04-08 19:53:54.500 \n", + "119 G16 2024-04-08 19:56:17.200 2024-04-08 19:58:54.500 \n", + "\n", + " creation product mode_bands mode band \n", + "0 2024-04-08 10:05:43.500 ABI-L2-TPWC M6 6 None \n", + "1 2024-04-08 10:10:55.500 ABI-L2-TPWC M6 6 None \n", + "2 2024-04-08 10:16:03.900 ABI-L2-TPWC M6 6 None \n", + "3 2024-04-08 10:21:02.900 ABI-L2-TPWC M6 6 None \n", + "4 2024-04-08 10:25:49.600 ABI-L2-TPWC M6 6 None \n", + ".. ... ... ... ... ... \n", + "115 2024-04-08 19:41:01.400 ABI-L2-TPWC M6 6 None \n", + "116 2024-04-08 19:45:42.700 ABI-L2-TPWC M6 6 None \n", + "117 2024-04-08 19:50:42.500 ABI-L2-TPWC M6 6 None \n", + "118 2024-04-08 19:55:42.000 ABI-L2-TPWC M6 6 None \n", + "119 2024-04-08 20:00:53.000 ABI-L2-TPWC M6 6 None \n", + "\n", + "[120 rows x 10 columns]" ] }, - "execution_count": 3, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -346,7 +322,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -354,14 +330,14 @@ "text/plain": [ "{'satellite': 'noaa-goes16',\n", " 'product': 'ABI-L2-TPWC',\n", - " 'start': Timestamp('2021-01-01 06:30:00'),\n", - " 'end': Timestamp('2021-01-01 07:30:00'),\n", + " 'start': Timestamp('2024-04-08 10:00:00'),\n", + " 'end': Timestamp('2024-04-08 20:00:00'),\n", " 'bands': None,\n", " 'refresh': False,\n", " 'filePath': WindowsPath('C:/Users/isaac/data')}" ] }, - "execution_count": 4, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -381,16 +357,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 12, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010631176_e20210010633549_c20210010635441.nc" - ] - }, { "name": "stderr", "output_type": "stream", @@ -403,19 +372,127 @@ "name": "stdout", "output_type": "stream", "text": [ - "\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010636176_e20210010638549_c20210010640470.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010641176_e20210010643549_c20210010645452.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010646176_e20210010648549_c20210010650463.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010651176_e20210010653549_c20210010655457.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\06\\OR_ABI-L2-TPWC-M6_G16_s20210010656176_e20210010658549_c20210010700447.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010701176_e20210010703549_c20210010705496.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010716176_e20210010718549_c20210010720477.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010711176_e20210010713549_c20210010715462.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010706176_e20210010708549_c20210010710373.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010721176_e20210010723549_c20210010725338.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2021\\001\\07\\OR_ABI-L2-TPWC-M6_G16_s20210010726176_e20210010728549_c20210010730463.nc\n", - "📦 Finished downloading [12] files to [C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC].\n" + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991001172_e20240991003544_c20240991005435.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991006172_e20240991008544_c20240991010555.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991011172_e20240991013544_c20240991016039.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991016172_e20240991018544_c20240991021029.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991021172_e20240991023544_c20240991025496.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991031172_e20240991033544_c20240991035361.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991036172_e20240991038544_c20240991040451.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991026172_e20240991028545_c20240991030485.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991041172_e20240991043544_c20240991045431.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991046172_e20240991048545_c20240991050462.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991051172_e20240991053545_c20240991055420.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991056172_e20240991058544_c20240991100530.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991106172_e20240991108545_c20240991110460.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991101172_e20240991103544_c20240991105480.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991116172_e20240991118545_c20240991120575.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991111172_e20240991113545_c20240991116072.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991121172_e20240991123544_c20240991125458.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991126172_e20240991128545_c20240991130456.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991131172_e20240991133544_c20240991135392.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991156172_e20240991158545_c20240991200496.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991146172_e20240991148545_c20240991150308.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991136172_e20240991138545_c20240991140517.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991141172_e20240991143544_c20240991145454.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991201172_e20240991203545_c20240991205416.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991206172_e20240991208545_c20240991210514.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991211172_e20240991213545_c20240991215595.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991216172_e20240991218544_c20240991221007.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991151172_e20240991153544_c20240991155403.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991221172_e20240991223545_c20240991225420.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991226172_e20240991228545_c20240991230448.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991231172_e20240991233545_c20240991235362.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991236172_e20240991238545_c20240991240533.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991251172_e20240991253545_c20240991255324.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991246172_e20240991248545_c20240991250356.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991301172_e20240991303545_c20240991305499.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991241172_e20240991243545_c20240991245458.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991256172_e20240991258544_c20240991302085.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991306172_e20240991308545_c20240991310515.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991311172_e20240991313545_c20240991315508.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991316172_e20240991318545_c20240991320469.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991321172_e20240991323545_c20240991325499.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991326172_e20240991328545_c20240991330482.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991346172_e20240991348545_c20240991350391.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991336172_e20240991338545_c20240991340348.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991341172_e20240991343545_c20240991345313.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991331172_e20240991333545_c20240991335424.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991351172_e20240991353545_c20240991355435.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991356172_e20240991358545_c20240991400456.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991401172_e20240991403545_c20240991405543.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991416172_e20240991418545_c20240991420455.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991406172_e20240991408545_c20240991410467.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991411172_e20240991413545_c20240991415578.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991441172_e20240991443545_c20240991445521.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991421172_e20240991423545_c20240991425350.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991426172_e20240991428545_c20240991431104.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991456172_e20240991458545_c20240991501110.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991436172_e20240991438545_c20240991440492.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991451172_e20240991453545_c20240991455408.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991431172_e20240991433545_c20240991435347.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991521172_e20240991523545_c20240991526017.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991531172_e20240991533545_c20240991535464.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991446172_e20240991448545_c20240991451029.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991516172_e20240991518545_c20240991520544.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991501172_e20240991503545_c20240991505569.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991541172_e20240991543545_c20240991545483.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991526172_e20240991528545_c20240991531102.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991546172_e20240991548545_c20240991551011.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991536172_e20240991538545_c20240991540502.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991506172_e20240991508545_c20240991511137.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991601172_e20240991603545_c20240991605525.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991511172_e20240991513545_c20240991516018.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991551172_e20240991553545_c20240991555387.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991556172_e20240991558545_c20240991601024.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991626172_e20240991628545_c20240991631036.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991606172_e20240991608545_c20240991610411.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991636172_e20240991638545_c20240991641004.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991706172_e20240991708545_c20240991711041.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991651172_e20240991653545_c20240991655417.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991656172_e20240991658545_c20240991701076.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991621172_e20240991623545_c20240991625315.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991631172_e20240991633545_c20240991635275.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991611172_e20240991613545_c20240991616087.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991616172_e20240991618545_c20240991620458.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991716172_e20240991718545_c20240991720471.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991701172_e20240991703545_c20240991705462.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991641172_e20240991643545_c20240991646028.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991646172_e20240991648545_c20240991651073.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991726172_e20240991728545_c20240991731089.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991806172_e20240991808545_c20240991810409.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991811172_e20240991813545_c20240991815536.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991721172_e20240991723545_c20240991725407.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991711172_e20240991713545_c20240991715448.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991801172_e20240991803545_c20240991806001.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991731172_e20240991733545_c20240991735456.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991746172_e20240991748545_c20240991750259.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991751172_e20240991753545_c20240991755393.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991741172_e20240991743545_c20240991746067.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991831172_e20240991833545_c20240991835436.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991736172_e20240991738545_c20240991741088.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991756172_e20240991758545_c20240991801146.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991816172_e20240991818545_c20240991820560.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991821172_e20240991823545_c20240991825444.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991826172_e20240991828545_c20240991831031.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991836172_e20240991838545_c20240991840477.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991841172_e20240991843545_c20240991845563.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991846172_e20240991848545_c20240991850471.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991851172_e20240991853545_c20240991855297.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991856172_e20240991858545_c20240991900507.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991901172_e20240991903545_c20240991905392.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991906172_e20240991908545_c20240991910541.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991916172_e20240991918545_c20240991920548.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991921172_e20240991923545_c20240991925295.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991911172_e20240991913545_c20240991916172.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991941172_e20240991943545_c20240991945427.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991926172_e20240991928545_c20240991930487.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991946172_e20240991948545_c20240991950425.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991936172_e20240991938545_c20240991941014.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991931172_e20240991933545_c20240991936280.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991951172_e20240991953545_c20240991955420.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991956172_e20240991958545_c20240992000530.nc\n", + "📦 Finished downloading [120] files to [C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC].\n" ] } ], @@ -430,7 +507,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -800,7 +877,7 @@ " fill: currentColor;\n", "}\n", "
<xarray.Dataset>\n",
-       "Dimensions:                                           (t: 12,\n",
+       "Dimensions:                                           (t: 120,\n",
        "                                                       number_of_time_bounds: 2,\n",
        "                                                       number_of_image_bounds: 2,\n",
        "                                                       number_of_LZA_bounds: 2,\n",
@@ -808,7 +885,7 @@
        "                                                       number_of_lat_bounds: 2,\n",
        "                                                       sounding_emissive_bands: 7)\n",
        "Coordinates:\n",
-       "  * t                                                 (t) datetime64[ns] 2021...\n",
+       "  * t                                                 (t) datetime64[ns] 2024...\n",
        "    y                                                 float64 0.1068\n",
        "    x                                                 float64 -0.00462\n",
        "    y_image                                           float32 0.08624\n",
@@ -833,7 +910,7 @@
        "    latitude_bounds                                   (t, number_of_lat_bounds) float32 dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
        "    percent_uncorrectable_L0_errors                   (t) float32 0.0 ... 0.0\n",
        "    percent_uncorrectable_GRB_errors                  (t) float32 0.0 ... 0.0\n",
-       "    total_attempted_retrievals                        (t) float64 8.878e+04 ....\n",
+       "    total_attempted_retrievals                        (t) float64 7.855e+04 ....\n",
        "    mean_obs_modeled_diff_sounding_emissive_bands     (t, sounding_emissive_bands) float32 dask.array<chunksize=(1, 7), meta=np.ndarray>\n",
        "    std_dev_obs_modeled_diff_sounding_emissive_bands  (t, sounding_emissive_bands) float32 dask.array<chunksize=(1, 7), meta=np.ndarray>\n",
        "Attributes: (12/29)\n",
@@ -845,17 +922,71 @@
        "    project:                   GOES\n",
        "    ...                        ...\n",
        "    cdm_data_type:             Image\n",
-       "    time_coverage_start:       2021-01-01T06:31:17.6Z\n",
-       "    time_coverage_end:         2021-01-01T06:33:54.9Z\n",
+       "    time_coverage_start:       2024-04-08T10:01:17.2Z\n",
+       "    time_coverage_end:         2024-04-08T10:03:54.4Z\n",
        "    timeline_id:               ABI Mode 6\n",
        "    production_data_source:    Realtime\n",
-       "    id:                        8b633328-1f7e-4527-965f-79434ac4cb1d
" + "
    • t
      PandasIndex
      PandasIndex(DatetimeIndex(['2024-04-08 10:02:35.849460992',\n",
      +       "               '2024-04-08 10:07:35.849773952',\n",
      +       "               '2024-04-08 10:12:35.851433984',\n",
      +       "               '2024-04-08 10:17:35.851068928',\n",
      +       "               '2024-04-08 10:22:35.852241024',\n",
      +       "               '2024-04-08 10:27:35.853579008',\n",
      +       "               '2024-04-08 10:32:35.850147072',\n",
      +       "               '2024-04-08 10:37:35.851340032',\n",
      +       "               '2024-04-08 10:42:35.849416064',\n",
      +       "               '2024-04-08 10:47:35.853981952',\n",
      +       "               ...\n",
      +       "               '2024-04-08 19:12:35.883928960',\n",
      +       "               '2024-04-08 19:17:35.879804928',\n",
      +       "               '2024-04-08 19:22:35.881484928',\n",
      +       "               '2024-04-08 19:27:35.881396992',\n",
      +       "               '2024-04-08 19:32:35.885261952',\n",
      +       "               '2024-04-08 19:37:35.882729984',\n",
      +       "               '2024-04-08 19:42:35.882169984',\n",
      +       "               '2024-04-08 19:47:35.880779008',\n",
      +       "               '2024-04-08 19:52:35.888339072',\n",
      +       "               '2024-04-08 19:57:35.882822016'],\n",
      +       "              dtype='datetime64[ns]', name='t', length=120, freq=None))
  • naming_authority :
    gov.nesdis.noaa
    Conventions :
    CF-1.7
    Metadata_Conventions :
    Unidata Dataset Discovery v1.0
    standard_name_vocabulary :
    CF Standard Name Table (v35, 20 July 2016)
    institution :
    DOC/NOAA/NESDIS > U.S. Department of Commerce, National Oceanic and Atmospheric Administration, National Environmental Satellite, Data, and Information Services
    project :
    GOES
    production_site :
    NSOF
    production_environment :
    OE
    spatial_resolution :
    10km at nadir
    orbital_slot :
    GOES-East
    platform_ID :
    G16
    instrument_type :
    GOES-R Series Advanced Baseline Imager (ABI)
    scene_id :
    CONUS
    instrument_ID :
    FM1
    dataset_name :
    OR_ABI-L2-TPWC-M6_G16_s20240991001172_e20240991003544_c20240991005435.nc
    iso_series_metadata_id :
    42511480-afef-11e1-afa6-0800200c9a66
    title :
    ABI L2 Total Precipitable Water
    summary :
    The Total Precipitable Water product consists of the water depth if it were condensed in the atmospheric column between approximately 300 hPa and the surface. The product is generated using a regression retrieval followed by an iterative physical retrieval that makes use of a radiative transfer model. Product data is generated both day and night.
    keywords :
    ATMOSPHERE > ATMOSPHERIC WATER VAPOR > PRECIPITABLE WATER
    keywords_vocabulary :
    NASA Global Change Master Directory (GCMD) Earth Science Keywords, Version 7.0.0.0.0
    license :
    Unclassified data. Access is restricted to approved users only.
    processing_level :
    National Aeronautics and Space Administration (NASA) L2
    date_created :
    2024-04-08T10:05:43.5Z
    cdm_data_type :
    Image
    time_coverage_start :
    2024-04-08T10:01:17.2Z
    time_coverage_end :
    2024-04-08T10:03:54.4Z
    timeline_id :
    ABI Mode 6
    production_data_source :
    Realtime
    id :
    58e3d05e-c48b-44b0-8171-c6641c4923c3
  • " ], "text/plain": [ "\n", - "Dimensions: (t: 12,\n", + "Dimensions: (t: 120,\n", " number_of_time_bounds: 2,\n", " number_of_image_bounds: 2,\n", " number_of_LZA_bounds: 2,\n", @@ -1869,7 +2353,7 @@ " number_of_lat_bounds: 2,\n", " sounding_emissive_bands: 7)\n", "Coordinates:\n", - " * t (t) datetime64[ns] 2021...\n", + " * t (t) datetime64[ns] 2024...\n", " y float64 0.1068\n", " x float64 -0.00462\n", " y_image float32 0.08624\n", @@ -1894,7 +2378,7 @@ " latitude_bounds (t, number_of_lat_bounds) float32 dask.array\n", " percent_uncorrectable_L0_errors (t) float32 0.0 ... 0.0\n", " percent_uncorrectable_GRB_errors (t) float32 0.0 ... 0.0\n", - " total_attempted_retrievals (t) float64 8.878e+04 ....\n", + " total_attempted_retrievals (t) float64 7.855e+04 ....\n", " mean_obs_modeled_diff_sounding_emissive_bands (t, sounding_emissive_bands) float32 dask.array\n", " std_dev_obs_modeled_diff_sounding_emissive_bands (t, sounding_emissive_bands) float32 dask.array\n", "Attributes: (12/29)\n", @@ -1906,14 +2390,14 @@ " project: GOES\n", " ... ...\n", " cdm_data_type: Image\n", - " time_coverage_start: 2021-01-01T06:31:17.6Z\n", - " time_coverage_end: 2021-01-01T06:33:54.9Z\n", + " time_coverage_start: 2024-04-08T10:01:17.2Z\n", + " time_coverage_end: 2024-04-08T10:03:54.4Z\n", " timeline_id: ABI Mode 6\n", " production_data_source: Realtime\n", - " id: 8b633328-1f7e-4527-965f-79434ac4cb1d" + " id: 58e3d05e-c48b-44b0-8171-c6641c4923c3" ] }, - "execution_count": 6, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1924,17 +2408,40 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan],\n", + "array([ 9.366711 , 9.349924 , 9.433856 , 9.395705 , 9.404861 ,\n", + " 9.508631 , 9.476584 , 9.494897 , 9.565093 , 9.546782 ,\n", + " 9.517787 , 9.667336 , 9.725326 , 9.809257 , 9.987801 ,\n", + " 10.082415 , 10.190762 , 10.276218 , 10.247224 , 10.267062 ,\n", + " 10.450185 , 10.427295 , nan, nan, nan,\n", + " nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan,\n", + " nan, 12.438589 , 12.415699 , 12.937597 , 12.913181 ,\n", + " 12.907077 , 13.290108 , 13.294686 , 13.367935 , 13.8059025,\n", + " 13.755545 , 13.688399 , nan, 13.903568 , 13.909673 ,\n", + " 14.297281 , 14.359848 , 14.419363 , nan, nan,\n", + " nan, nan, nan, nan, nan,\n", + " 15.243414 , 15.228153 , 15.516571 , 15.389912 , 15.362443 ,\n", + " 15.423484 , 15.289194 , 15.182373 , 15.423484 , 15.434166 ,\n", + " 15.411276 , 16.0461 , 16.073568 , 15.953013 , 16.278055 ,\n", + " 16.136135 , 15.977429 , 16.2689 , 16.14224 , 16.082726 ,\n", + " 16.404715 , 16.342148 , 16.18039 , 16.51459 , 16.423027 ,\n", + " 16.41082 , 16.787746 , 16.656507 , 16.647352 , 17.117367 ,\n", + " 17.128048 , 17.164673 , 17.547705 , 17.562963 , 17.576698 ,\n", + " 18.023823 , 18.226784 , 18.152008 , 18.313766 , 18.376333 ,\n", + " nan, 19.278212 , 18.823456 , 18.747156 , 18.959272 ,\n", + " 18.97911 , 19.406397 , 19.336199 , nan, nan,\n", + " nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan],\n", " dtype=float32)" ] }, - "execution_count": 7, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } diff --git a/goes2go/data.py b/goes2go/data.py index b8e767e..5cd228f 100644 --- a/goes2go/data.py +++ b/goes2go/data.py @@ -137,7 +137,7 @@ def _goes_file_df(satellite, product, start, end, bands=None, refresh=True): start = pd.to_datetime(start) end = pd.to_datetime(end) - DATES = pd.date_range(f"{start:%Y-%m-%d %H:00}", f"{end:%Y-%m-%d %H:00}", freq="1H") + DATES = pd.date_range(f"{start:%Y-%m-%d %H:00}", f"{end:%Y-%m-%d %H:00}", freq="1h") # List all files for each date # ---------------------------- From f1d1abca68ad254926a55d303219538497517772 Mon Sep 17 00:00:00 2001 From: Isaac Barlet Date: Fri, 21 Jun 2024 14:55:16 -0400 Subject: [PATCH 9/9] Save final update --- ...download_goes_single_point_timerange.ipynb | 1411 ++++++----------- 1 file changed, 447 insertions(+), 964 deletions(-) diff --git a/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb b/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb index d8d1aad..c37a019 100644 --- a/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb +++ b/docs/user_guide/notebooks/DEMO_download_goes_single_point_timerange.ipynb @@ -13,9 +13,20 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\isaac\\Documents\\GitHub\\goes2go\\docs\\user_guide\\notebooks\\../../..\\goes2go\\data.py:665: FutureWarning: 'H' is deprecated and will be removed in a future version. Please use 'h' instead of 'H'.\n", + " within=pd.to_timedelta(config[\"nearesttime\"].get(\"within\", \"1h\")),\n", + "c:\\Users\\isaac\\Documents\\GitHub\\goes2go\\docs\\user_guide\\notebooks\\../../..\\goes2go\\NEW.py:188: FutureWarning: 'H' is deprecated and will be removed in a future version. Please use 'h' instead of 'H'.\n", + " within=pd.to_timedelta(config[\"nearesttime\"].get(\"within\", \"1h\")),\n" + ] + } + ], "source": [ "import sys\n", "sys.path.append(\"../../../\")\n", @@ -36,22 +47,26 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 2, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\isaac\\Documents\\GitHub\\goes2go\\docs\\user_guide\\notebooks\\../../..\\goes2go\\data.py:140: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.\n", - " DATES = pd.date_range(f\"{start:%Y-%m-%d %H:00}\", f\"{end:%Y-%m-%d %H:00}\", freq=\"1H\")\n" - ] - }, { "name": "stdout", "output_type": "stream", "text": [ - "📦 Finished downloading [120] files to [C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC].\n" + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991001172_e20240991003544_c20240991005435.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991006172_e20240991008544_c20240991010555.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991011172_e20240991013544_c20240991016039.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991016172_e20240991018544_c20240991021029.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991026172_e20240991028545_c20240991030485.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991021172_e20240991023544_c20240991025496.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991031172_e20240991033544_c20240991035361.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991036172_e20240991038544_c20240991040451.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991041172_e20240991043544_c20240991045431.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991056172_e20240991058544_c20240991100530.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991046172_e20240991048545_c20240991050462.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991051172_e20240991053545_c20240991055420.nc\n", + "📦 Finished downloading [12] files to [C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC].\n" ] } ], @@ -83,7 +98,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -186,78 +201,91 @@ " None\n", " \n", " \n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", + " 5\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2024-04-08 10:26:17.200\n", + " 2024-04-08 10:28:54.500\n", + " 2024-04-08 10:30:48.500\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", " \n", " \n", - " 115\n", - " noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-...\n", + " 6\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2024-04-08 19:36:17.200\n", - " 2024-04-08 19:38:54.500\n", - " 2024-04-08 19:41:01.400\n", + " 2024-04-08 10:31:17.200\n", + " 2024-04-08 10:33:54.400\n", + " 2024-04-08 10:35:36.100\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", " None\n", " \n", " \n", - " 116\n", - " noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-...\n", + " 7\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2024-04-08 19:41:17.200\n", - " 2024-04-08 19:43:54.500\n", - " 2024-04-08 19:45:42.700\n", + " 2024-04-08 10:36:17.200\n", + " 2024-04-08 10:38:54.400\n", + " 2024-04-08 10:40:45.100\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", " None\n", " \n", " \n", - " 117\n", - " noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-...\n", + " 8\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2024-04-08 19:46:17.200\n", - " 2024-04-08 19:48:54.500\n", - " 2024-04-08 19:50:42.500\n", + " 2024-04-08 10:41:17.200\n", + " 2024-04-08 10:43:54.400\n", + " 2024-04-08 10:45:43.100\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", " None\n", " \n", " \n", - " 118\n", - " noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-...\n", + " 9\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2024-04-08 19:51:17.200\n", - " 2024-04-08 19:53:54.500\n", - " 2024-04-08 19:55:42.000\n", + " 2024-04-08 10:46:17.200\n", + " 2024-04-08 10:48:54.500\n", + " 2024-04-08 10:50:46.200\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", " None\n", " \n", " \n", - " 119\n", - " noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-...\n", + " 10\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", " ABI-L2-TPWC-M6\n", " G16\n", - " 2024-04-08 19:56:17.200\n", - " 2024-04-08 19:58:54.500\n", - " 2024-04-08 20:00:53.000\n", + " 2024-04-08 10:51:17.200\n", + " 2024-04-08 10:53:54.500\n", + " 2024-04-08 10:55:42.000\n", + " ABI-L2-TPWC\n", + " M6\n", + " 6\n", + " None\n", + " \n", + " \n", + " 11\n", + " noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-...\n", + " ABI-L2-TPWC-M6\n", + " G16\n", + " 2024-04-08 10:56:17.200\n", + " 2024-04-08 10:58:54.400\n", + " 2024-04-08 11:00:53.000\n", " ABI-L2-TPWC\n", " M6\n", " 6\n", @@ -265,53 +293,53 @@ " \n", " \n", "\n", - "

    120 rows × 10 columns

    \n", "" ], "text/plain": [ - " file product_mode \\\n", - "0 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "1 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "2 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "3 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "4 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - ".. ... ... \n", - "115 noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "116 noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "117 noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "118 noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "119 noaa-goes16/ABI-L2-TPWC/2024/099/19/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", - "\n", - " satellite start end \\\n", - "0 G16 2024-04-08 10:01:17.200 2024-04-08 10:03:54.400 \n", - "1 G16 2024-04-08 10:06:17.200 2024-04-08 10:08:54.400 \n", - "2 G16 2024-04-08 10:11:17.200 2024-04-08 10:13:54.400 \n", - "3 G16 2024-04-08 10:16:17.200 2024-04-08 10:18:54.400 \n", - "4 G16 2024-04-08 10:21:17.200 2024-04-08 10:23:54.400 \n", - ".. ... ... ... \n", - "115 G16 2024-04-08 19:36:17.200 2024-04-08 19:38:54.500 \n", - "116 G16 2024-04-08 19:41:17.200 2024-04-08 19:43:54.500 \n", - "117 G16 2024-04-08 19:46:17.200 2024-04-08 19:48:54.500 \n", - "118 G16 2024-04-08 19:51:17.200 2024-04-08 19:53:54.500 \n", - "119 G16 2024-04-08 19:56:17.200 2024-04-08 19:58:54.500 \n", - "\n", - " creation product mode_bands mode band \n", - "0 2024-04-08 10:05:43.500 ABI-L2-TPWC M6 6 None \n", - "1 2024-04-08 10:10:55.500 ABI-L2-TPWC M6 6 None \n", - "2 2024-04-08 10:16:03.900 ABI-L2-TPWC M6 6 None \n", - "3 2024-04-08 10:21:02.900 ABI-L2-TPWC M6 6 None \n", - "4 2024-04-08 10:25:49.600 ABI-L2-TPWC M6 6 None \n", - ".. ... ... ... ... ... \n", - "115 2024-04-08 19:41:01.400 ABI-L2-TPWC M6 6 None \n", - "116 2024-04-08 19:45:42.700 ABI-L2-TPWC M6 6 None \n", - "117 2024-04-08 19:50:42.500 ABI-L2-TPWC M6 6 None \n", - "118 2024-04-08 19:55:42.000 ABI-L2-TPWC M6 6 None \n", - "119 2024-04-08 20:00:53.000 ABI-L2-TPWC M6 6 None \n", - "\n", - "[120 rows x 10 columns]" + " file product_mode \\\n", + "0 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "1 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "2 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "3 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "4 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "5 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "6 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "7 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "8 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "9 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "10 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "11 noaa-goes16/ABI-L2-TPWC/2024/099/10/OR_ABI-L2-... ABI-L2-TPWC-M6 \n", + "\n", + " satellite start end \\\n", + "0 G16 2024-04-08 10:01:17.200 2024-04-08 10:03:54.400 \n", + "1 G16 2024-04-08 10:06:17.200 2024-04-08 10:08:54.400 \n", + "2 G16 2024-04-08 10:11:17.200 2024-04-08 10:13:54.400 \n", + "3 G16 2024-04-08 10:16:17.200 2024-04-08 10:18:54.400 \n", + "4 G16 2024-04-08 10:21:17.200 2024-04-08 10:23:54.400 \n", + "5 G16 2024-04-08 10:26:17.200 2024-04-08 10:28:54.500 \n", + "6 G16 2024-04-08 10:31:17.200 2024-04-08 10:33:54.400 \n", + "7 G16 2024-04-08 10:36:17.200 2024-04-08 10:38:54.400 \n", + "8 G16 2024-04-08 10:41:17.200 2024-04-08 10:43:54.400 \n", + "9 G16 2024-04-08 10:46:17.200 2024-04-08 10:48:54.500 \n", + "10 G16 2024-04-08 10:51:17.200 2024-04-08 10:53:54.500 \n", + "11 G16 2024-04-08 10:56:17.200 2024-04-08 10:58:54.400 \n", + "\n", + " creation product mode_bands mode band \n", + "0 2024-04-08 10:05:43.500 ABI-L2-TPWC M6 6 None \n", + "1 2024-04-08 10:10:55.500 ABI-L2-TPWC M6 6 None \n", + "2 2024-04-08 10:16:03.900 ABI-L2-TPWC M6 6 None \n", + "3 2024-04-08 10:21:02.900 ABI-L2-TPWC M6 6 None \n", + "4 2024-04-08 10:25:49.600 ABI-L2-TPWC M6 6 None \n", + "5 2024-04-08 10:30:48.500 ABI-L2-TPWC M6 6 None \n", + "6 2024-04-08 10:35:36.100 ABI-L2-TPWC M6 6 None \n", + "7 2024-04-08 10:40:45.100 ABI-L2-TPWC M6 6 None \n", + "8 2024-04-08 10:45:43.100 ABI-L2-TPWC M6 6 None \n", + "9 2024-04-08 10:50:46.200 ABI-L2-TPWC M6 6 None \n", + "10 2024-04-08 10:55:42.000 ABI-L2-TPWC M6 6 None \n", + "11 2024-04-08 11:00:53.000 ABI-L2-TPWC M6 6 None " ] }, - "execution_count": 10, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -322,7 +350,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -331,13 +359,13 @@ "{'satellite': 'noaa-goes16',\n", " 'product': 'ABI-L2-TPWC',\n", " 'start': Timestamp('2024-04-08 10:00:00'),\n", - " 'end': Timestamp('2024-04-08 20:00:00'),\n", + " 'end': Timestamp('2024-04-08 11:00:00'),\n", " 'bands': None,\n", " 'refresh': False,\n", " 'filePath': WindowsPath('C:/Users/isaac/data')}" ] }, - "execution_count": 11, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -357,142 +385,26 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 5, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\isaac\\Documents\\GitHub\\goes2go\\docs\\user_guide\\notebooks\\../../..\\goes2go\\data.py:140: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.\n", - " DATES = pd.date_range(f\"{start:%Y-%m-%d %H:00}\", f\"{end:%Y-%m-%d %H:00}\", freq=\"1H\")\n" - ] - }, { "name": "stdout", "output_type": "stream", "text": [ " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991001172_e20240991003544_c20240991005435.nc\n", " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991006172_e20240991008544_c20240991010555.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991011172_e20240991013544_c20240991016039.nc\n", " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991016172_e20240991018544_c20240991021029.nc\n", " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991021172_e20240991023544_c20240991025496.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991031172_e20240991033544_c20240991035361.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991036172_e20240991038544_c20240991040451.nc\n", " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991026172_e20240991028545_c20240991030485.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991011172_e20240991013544_c20240991016039.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991031172_e20240991033544_c20240991035361.nc\n", " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991041172_e20240991043544_c20240991045431.nc\n", + " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991036172_e20240991038544_c20240991040451.nc\n", " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991046172_e20240991048545_c20240991050462.nc\n", " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991051172_e20240991053545_c20240991055420.nc\n", " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\10\\OR_ABI-L2-TPWC-M6_G16_s20240991056172_e20240991058544_c20240991100530.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991106172_e20240991108545_c20240991110460.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991101172_e20240991103544_c20240991105480.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991116172_e20240991118545_c20240991120575.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991111172_e20240991113545_c20240991116072.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991121172_e20240991123544_c20240991125458.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991126172_e20240991128545_c20240991130456.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991131172_e20240991133544_c20240991135392.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991156172_e20240991158545_c20240991200496.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991146172_e20240991148545_c20240991150308.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991136172_e20240991138545_c20240991140517.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991141172_e20240991143544_c20240991145454.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991201172_e20240991203545_c20240991205416.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991206172_e20240991208545_c20240991210514.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991211172_e20240991213545_c20240991215595.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991216172_e20240991218544_c20240991221007.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\11\\OR_ABI-L2-TPWC-M6_G16_s20240991151172_e20240991153544_c20240991155403.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991221172_e20240991223545_c20240991225420.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991226172_e20240991228545_c20240991230448.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991231172_e20240991233545_c20240991235362.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991236172_e20240991238545_c20240991240533.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991251172_e20240991253545_c20240991255324.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991246172_e20240991248545_c20240991250356.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991301172_e20240991303545_c20240991305499.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991241172_e20240991243545_c20240991245458.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\12\\OR_ABI-L2-TPWC-M6_G16_s20240991256172_e20240991258544_c20240991302085.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991306172_e20240991308545_c20240991310515.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991311172_e20240991313545_c20240991315508.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991316172_e20240991318545_c20240991320469.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991321172_e20240991323545_c20240991325499.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991326172_e20240991328545_c20240991330482.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991346172_e20240991348545_c20240991350391.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991336172_e20240991338545_c20240991340348.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991341172_e20240991343545_c20240991345313.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991331172_e20240991333545_c20240991335424.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991351172_e20240991353545_c20240991355435.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\13\\OR_ABI-L2-TPWC-M6_G16_s20240991356172_e20240991358545_c20240991400456.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991401172_e20240991403545_c20240991405543.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991416172_e20240991418545_c20240991420455.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991406172_e20240991408545_c20240991410467.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991411172_e20240991413545_c20240991415578.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991441172_e20240991443545_c20240991445521.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991421172_e20240991423545_c20240991425350.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991426172_e20240991428545_c20240991431104.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991456172_e20240991458545_c20240991501110.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991436172_e20240991438545_c20240991440492.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991451172_e20240991453545_c20240991455408.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991431172_e20240991433545_c20240991435347.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991521172_e20240991523545_c20240991526017.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991531172_e20240991533545_c20240991535464.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\14\\OR_ABI-L2-TPWC-M6_G16_s20240991446172_e20240991448545_c20240991451029.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991516172_e20240991518545_c20240991520544.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991501172_e20240991503545_c20240991505569.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991541172_e20240991543545_c20240991545483.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991526172_e20240991528545_c20240991531102.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991546172_e20240991548545_c20240991551011.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991536172_e20240991538545_c20240991540502.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991506172_e20240991508545_c20240991511137.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991601172_e20240991603545_c20240991605525.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991511172_e20240991513545_c20240991516018.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991551172_e20240991553545_c20240991555387.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\15\\OR_ABI-L2-TPWC-M6_G16_s20240991556172_e20240991558545_c20240991601024.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991626172_e20240991628545_c20240991631036.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991606172_e20240991608545_c20240991610411.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991636172_e20240991638545_c20240991641004.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991706172_e20240991708545_c20240991711041.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991651172_e20240991653545_c20240991655417.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991656172_e20240991658545_c20240991701076.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991621172_e20240991623545_c20240991625315.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991631172_e20240991633545_c20240991635275.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991611172_e20240991613545_c20240991616087.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991616172_e20240991618545_c20240991620458.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991716172_e20240991718545_c20240991720471.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991701172_e20240991703545_c20240991705462.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991641172_e20240991643545_c20240991646028.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\16\\OR_ABI-L2-TPWC-M6_G16_s20240991646172_e20240991648545_c20240991651073.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991726172_e20240991728545_c20240991731089.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991806172_e20240991808545_c20240991810409.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991811172_e20240991813545_c20240991815536.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991721172_e20240991723545_c20240991725407.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991711172_e20240991713545_c20240991715448.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991801172_e20240991803545_c20240991806001.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991731172_e20240991733545_c20240991735456.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991746172_e20240991748545_c20240991750259.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991751172_e20240991753545_c20240991755393.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991741172_e20240991743545_c20240991746067.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991831172_e20240991833545_c20240991835436.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991736172_e20240991738545_c20240991741088.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\17\\OR_ABI-L2-TPWC-M6_G16_s20240991756172_e20240991758545_c20240991801146.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991816172_e20240991818545_c20240991820560.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991821172_e20240991823545_c20240991825444.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991826172_e20240991828545_c20240991831031.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991836172_e20240991838545_c20240991840477.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991841172_e20240991843545_c20240991845563.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991846172_e20240991848545_c20240991850471.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991851172_e20240991853545_c20240991855297.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\18\\OR_ABI-L2-TPWC-M6_G16_s20240991856172_e20240991858545_c20240991900507.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991901172_e20240991903545_c20240991905392.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991906172_e20240991908545_c20240991910541.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991916172_e20240991918545_c20240991920548.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991921172_e20240991923545_c20240991925295.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991911172_e20240991913545_c20240991916172.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991941172_e20240991943545_c20240991945427.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991926172_e20240991928545_c20240991930487.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991946172_e20240991948545_c20240991950425.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991936172_e20240991938545_c20240991941014.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991931172_e20240991933545_c20240991936280.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991951172_e20240991953545_c20240991955420.nc\n", - " 👮🏻‍♂️ File already exists. Do not overwrite: C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC\\2024\\099\\19\\OR_ABI-L2-TPWC-M6_G16_s20240991956172_e20240991958545_c20240992000530.nc\n", - "📦 Finished downloading [120] files to [C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC].\n" + "📦 Finished downloading [12] files to [C:\\Users\\isaac\\data\\noaa-goes16\\ABI-L2-TPWC].\n" ] } ], @@ -507,7 +419,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -877,7 +789,7 @@ " fill: currentColor;\n", "}\n", "
    <xarray.Dataset>\n",
    -       "Dimensions:                                           (t: 120,\n",
    +       "Dimensions:                                           (t: 12,\n",
            "                                                       number_of_time_bounds: 2,\n",
            "                                                       number_of_image_bounds: 2,\n",
            "                                                       number_of_LZA_bounds: 2,\n",
    @@ -926,67 +838,13 @@
            "    time_coverage_end:         2024-04-08T10:03:54.4Z\n",
            "    timeline_id:               ABI Mode 6\n",
            "    production_data_source:    Realtime\n",
    -       "    id:                        58e3d05e-c48b-44b0-8171-c6641c4923c3
  • naming_authority :
    gov.nesdis.noaa
    Conventions :
    CF-1.7
    Metadata_Conventions :
    Unidata Dataset Discovery v1.0
    standard_name_vocabulary :
    CF Standard Name Table (v35, 20 July 2016)
    institution :
    DOC/NOAA/NESDIS > U.S. Department of Commerce, National Oceanic and Atmospheric Administration, National Environmental Satellite, Data, and Information Services
    project :
    GOES
    production_site :
    NSOF
    production_environment :
    OE
    spatial_resolution :
    10km at nadir
    orbital_slot :
    GOES-East
    platform_ID :
    G16
    instrument_type :
    GOES-R Series Advanced Baseline Imager (ABI)
    scene_id :
    CONUS
    instrument_ID :
    FM1
    dataset_name :
    OR_ABI-L2-TPWC-M6_G16_s20240991001172_e20240991003544_c20240991005435.nc
    iso_series_metadata_id :
    42511480-afef-11e1-afa6-0800200c9a66
    title :
    ABI L2 Total Precipitable Water
    summary :
    The Total Precipitable Water product consists of the water depth if it were condensed in the atmospheric column between approximately 300 hPa and the surface. The product is generated using a regression retrieval followed by an iterative physical retrieval that makes use of a radiative transfer model. Product data is generated both day and night.
    keywords :
    ATMOSPHERE > ATMOSPHERIC WATER VAPOR > PRECIPITABLE WATER
    keywords_vocabulary :
    NASA Global Change Master Directory (GCMD) Earth Science Keywords, Version 7.0.0.0.0
    license :
    Unclassified data. Access is restricted to approved users only.
    processing_level :
    National Aeronautics and Space Administration (NASA) L2
    date_created :
    2024-04-08T10:05:43.5Z
    cdm_data_type :
    Image
    time_coverage_start :
    2024-04-08T10:01:17.2Z
    time_coverage_end :
    2024-04-08T10:03:54.4Z
    timeline_id :
    ABI Mode 6
    production_data_source :
    Realtime
    id :
    58e3d05e-c48b-44b0-8171-c6641c4923c3
  • " ], "text/plain": [ "\n", - "Dimensions: (t: 120,\n", + "Dimensions: (t: 12,\n", " number_of_time_bounds: 2,\n", " number_of_image_bounds: 2,\n", " number_of_LZA_bounds: 2,\n", @@ -2397,7 +1902,7 @@ " id: 58e3d05e-c48b-44b0-8171-c6641c4923c3" ] }, - "execution_count": 13, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -2408,40 +1913,18 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([ 9.366711 , 9.349924 , 9.433856 , 9.395705 , 9.404861 ,\n", - " 9.508631 , 9.476584 , 9.494897 , 9.565093 , 9.546782 ,\n", - " 9.517787 , 9.667336 , 9.725326 , 9.809257 , 9.987801 ,\n", - " 10.082415 , 10.190762 , 10.276218 , 10.247224 , 10.267062 ,\n", - " 10.450185 , 10.427295 , nan, nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " nan, 12.438589 , 12.415699 , 12.937597 , 12.913181 ,\n", - " 12.907077 , 13.290108 , 13.294686 , 13.367935 , 13.8059025,\n", - " 13.755545 , 13.688399 , nan, 13.903568 , 13.909673 ,\n", - " 14.297281 , 14.359848 , 14.419363 , nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " 15.243414 , 15.228153 , 15.516571 , 15.389912 , 15.362443 ,\n", - " 15.423484 , 15.289194 , 15.182373 , 15.423484 , 15.434166 ,\n", - " 15.411276 , 16.0461 , 16.073568 , 15.953013 , 16.278055 ,\n", - " 16.136135 , 15.977429 , 16.2689 , 16.14224 , 16.082726 ,\n", - " 16.404715 , 16.342148 , 16.18039 , 16.51459 , 16.423027 ,\n", - " 16.41082 , 16.787746 , 16.656507 , 16.647352 , 17.117367 ,\n", - " 17.128048 , 17.164673 , 17.547705 , 17.562963 , 17.576698 ,\n", - " 18.023823 , 18.226784 , 18.152008 , 18.313766 , 18.376333 ,\n", - " nan, 19.278212 , 18.823456 , 18.747156 , 18.959272 ,\n", - " 18.97911 , 19.406397 , 19.336199 , nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " nan, nan, nan, nan, nan],\n", + "array([9.366711, 9.349924, 9.433856, 9.395705, 9.404861, 9.508631,\n", + " 9.476584, 9.494897, 9.565093, 9.546782, 9.517787, 9.667336],\n", " dtype=float32)" ] }, - "execution_count": 17, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" }