From 83a6147c5eaa788136e933515cba041f84644102 Mon Sep 17 00:00:00 2001
From: Chao <30786839+ChaoEcohydroRS@users.noreply.github.com>
Date: Sun, 5 Jan 2025 20:40:05 -0500
Subject: [PATCH 1/5] Update README.md
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index 812d929..ae7206e 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,8 @@ ATLAS Ocean Kd (AOK) - calculating ocean Kd values using ICESat-2
> [!WARNING]
> This package is currently under active development to produce the most reliable calculations of Kd values.
> The code is therefore unstable, may have significant uncertainties, and should be used with caution.
+> This repository contains Python code developed in collaboration to replicate the functionality of the original MATLAB scripts (https://github.com/emilyeidam/icesat-2_kdph
+) by Dr. Emily Eidam (emily.eidam@oregonstate.edu). The code facilitates processing ICESat-2 data to calculate the diffuse attenuation coefficient (Kd) based on space-based lidar photon profiles, following methods described in the original MATLAB code. Please cite appropriately both Python and the MATLAB version under the GNU GPLv3 license if you use this code in your research.
[](#contributors)
From 0f695e05af49086ef99ceba0838a6487d8ed00e0 Mon Sep 17 00:00:00 2001
From: Chao <30786839+ChaoEcohydroRS@users.noreply.github.com>
Date: Sun, 5 Jan 2025 20:51:56 -0500
Subject: [PATCH 2/5] Update README.md
---
README.md | 37 ++++++++++++++++++++++++++++++++-----
1 file changed, 32 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index ae7206e..1ef0cc0 100644
--- a/README.md
+++ b/README.md
@@ -5,17 +5,35 @@ ATLAS Ocean Kd (AOK) - calculating ocean Kd values using ICESat-2
> This package is currently under active development to produce the most reliable calculations of Kd values.
> The code is therefore unstable, may have significant uncertainties, and should be used with caution.
> This repository contains Python code developed in collaboration to replicate the functionality of the original MATLAB scripts (https://github.com/emilyeidam/icesat-2_kdph
-) by Dr. Emily Eidam (emily.eidam@oregonstate.edu). The code facilitates processing ICESat-2 data to calculate the diffuse attenuation coefficient (Kd) based on space-based lidar photon profiles, following methods described in the original MATLAB code. Please cite appropriately both Python and the MATLAB version under the GNU GPLv3 license if you use this code in your research.
+) by Dr. Emily Eidam (emily.eidam@oregonstate.edu). The code facilitates processing ICESat-2 data to calculate the diffuse attenuation coefficient (Kd) based on space-based lidar photon profiles, following methods described in the original MATLAB code. Please cite appropriately both Python and the MATLAB version under the GNU GPLv3 license (can you check which one is better @Jessica) if you use this code in your research.
[](#contributors)
# Quickstart
-## Calculating Kd
-Coming soon...
+# Installation
-## Installation
-Coming soon...
+1. Clone the repository:
+
+ ```bash
+ git clone https://github.com/ChaoEcohydroRS/icesat-2_kdph_py.git
+ cd IS2_Kd_Proj
+
+
+2. Install the required packages:
+ ```
+ pip install -r requirements.txt
+ ```
+
+3. Ensure .h5 files are placed in the appropriate default folder structure.
+
+# Usage
+1. Edit the config.py file to set up file paths and any parameters.
+2. Run the entire workflow through main.py:
+
+ ```bash
+ python main.py
+ ```
# Contributing
@@ -41,3 +59,12 @@ Our full attribution guidelines are coming soon.
We use the [All Contributors Specification](https://allcontributors.org/docs/en/specification)
to recognize our incredible [contributor team](CONTRIBUTORS.md).
+# Citation
+If you use this code, please cite:
+
+Eidam, E.F., K. Bisson, C. Wang, C. Walker, and A. Gibbons (2024). ICESat-2 and ocean particulates: A roadmap for calculating Kd from space-based lidar photon profiles. Remote Sensing of Environment. Vol. 311. https://doi.org/10.1016/j.rse.2024.114222
+
+# License
+This project is licensed under the GNU GPLv3 license.
+
+
From dc4698317f0af8dce9d01ac5cdfc16835fc1023e Mon Sep 17 00:00:00 2001
From: Chao <30786839+ChaoEcohydroRS@users.noreply.github.com>
Date: Sun, 5 Jan 2025 21:04:22 -0500
Subject: [PATCH 3/5] Add files via upload
---
.../00_experiment_with_erddap.ipynb | 185 +
icesat2_kdph-main/01_find_all_stations.ipynb | 720 +
.../02_match_argo2granules_ipx.ipynb | 2130 ++
.../02_match_buoys2granules_ipx.ipynb | 7685 ++++++
.../02_match_ships2granules_ipx.ipynb | 1838 ++
.../02_match_turbidity2granules_ipx.ipynb | 22955 ++++++++++++++++
icesat2_kdph-main/03_calckd_buoys.ipynb | 1490 +
.../03_load_turbidity_data.ipynb | 191 +
icesat2_kdph-main/03_proc_icesat4matlab.ipynb | 618 +
.../04_plot_kd2kd_comparison.ipynb | 216 +
.../04_plot_kd2turb_comparison.ipynb | 242 +
icesat2_kdph-main/LICENSE | 21 +
icesat2_kdph-main/Main.ipynb | 363 +
.../__pycache__/config.cpython-311.pyc | Bin 0 -> 495 bytes
.../__pycache__/ioos_mod.cpython-39.pyc | Bin 0 -> 2734 bytes
icesat2_kdph-main/config.py | 112 +
.../data/Dataset_Kd_Paper_2018.csv | 11681 ++++++++
icesat2_kdph-main/data/erddaps.json | 374 +
.../GetIS2_Data_InSitu_Site_Date.ipynb | 2509 ++
.../atl06_ancillary.ipynb | 369 +
.../atl06_subsetting.ipynb | 289 +
.../experiment_with_erddap.ipynb | 798 +
.../kd_utils/Kd_analysis - Copy.py | 47 +
icesat2_kdph-main/kd_utils/Kd_analysis.py | 98 +
.../kd_utils/Kd_analysis_premeeting18Nov.py | 264 +
.../kd_utils/SeafloorFilterByGEBCO_Module.py | 108 +
icesat2_kdph-main/kd_utils/__init__.py | 8 +
.../__pycache__/Kd_analysis.cpython-311.pyc | Bin 0 -> 4693 bytes
.../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 792 bytes
.../bathy_processing.cpython-311.pyc | Bin 0 -> 7444 bytes
.../data_processing.cpython-311.pyc | Bin 0 -> 24126 bytes
.../__pycache__/interpolation.cpython-311.pyc | Bin 0 -> 1306 bytes
.../sea_photons_analysis.cpython-311.pyc | Bin 0 -> 10976 bytes
.../__pycache__/visualization.cpython-311.pyc | Bin 0 -> 13828 bytes
.../kd_utils/bathy_processing.py | 158 +
icesat2_kdph-main/kd_utils/data_processing.py | 586 +
icesat2_kdph-main/kd_utils/interpolation.py | 19 +
icesat2_kdph-main/kd_utils/kd_utils.py | 1181 +
.../kd_utils/sea_photons_analysis.py | 323 +
icesat2_kdph-main/kd_utils/visualization.py | 217 +
icesat2_kdph-main/load_icesatcsv.m | 10 +
.../results/all_relevant_stations.pkl | Bin 0 -> 923518 bytes
icesat2_kdph-main/results/glider_matches.pkl | Bin 0 -> 170527 bytes
.../results/labeled_relevant_stations.pkl | Bin 0 -> 941140 bytes
icesat2_kdph-main/troubleshoot_ipx.ipynb | 1115 +
45 files changed, 58920 insertions(+)
create mode 100644 icesat2_kdph-main/00_experiment_with_erddap.ipynb
create mode 100644 icesat2_kdph-main/01_find_all_stations.ipynb
create mode 100644 icesat2_kdph-main/02_match_argo2granules_ipx.ipynb
create mode 100644 icesat2_kdph-main/02_match_buoys2granules_ipx.ipynb
create mode 100644 icesat2_kdph-main/02_match_ships2granules_ipx.ipynb
create mode 100644 icesat2_kdph-main/02_match_turbidity2granules_ipx.ipynb
create mode 100644 icesat2_kdph-main/03_calckd_buoys.ipynb
create mode 100644 icesat2_kdph-main/03_load_turbidity_data.ipynb
create mode 100644 icesat2_kdph-main/03_proc_icesat4matlab.ipynb
create mode 100644 icesat2_kdph-main/04_plot_kd2kd_comparison.ipynb
create mode 100644 icesat2_kdph-main/04_plot_kd2turb_comparison.ipynb
create mode 100644 icesat2_kdph-main/LICENSE
create mode 100644 icesat2_kdph-main/Main.ipynb
create mode 100644 icesat2_kdph-main/__pycache__/config.cpython-311.pyc
create mode 100644 icesat2_kdph-main/__pycache__/ioos_mod.cpython-39.pyc
create mode 100644 icesat2_kdph-main/config.py
create mode 100644 icesat2_kdph-main/data/Dataset_Kd_Paper_2018.csv
create mode 100644 icesat2_kdph-main/data/erddaps.json
create mode 100644 icesat2_kdph-main/examples_from_others/GetIS2_Data_InSitu_Site_Date.ipynb
create mode 100644 icesat2_kdph-main/examples_from_others/atl06_ancillary.ipynb
create mode 100644 icesat2_kdph-main/examples_from_others/atl06_subsetting.ipynb
create mode 100644 icesat2_kdph-main/examples_from_others/experiment_with_erddap.ipynb
create mode 100644 icesat2_kdph-main/kd_utils/Kd_analysis - Copy.py
create mode 100644 icesat2_kdph-main/kd_utils/Kd_analysis.py
create mode 100644 icesat2_kdph-main/kd_utils/Kd_analysis_premeeting18Nov.py
create mode 100644 icesat2_kdph-main/kd_utils/SeafloorFilterByGEBCO_Module.py
create mode 100644 icesat2_kdph-main/kd_utils/__init__.py
create mode 100644 icesat2_kdph-main/kd_utils/__pycache__/Kd_analysis.cpython-311.pyc
create mode 100644 icesat2_kdph-main/kd_utils/__pycache__/__init__.cpython-311.pyc
create mode 100644 icesat2_kdph-main/kd_utils/__pycache__/bathy_processing.cpython-311.pyc
create mode 100644 icesat2_kdph-main/kd_utils/__pycache__/data_processing.cpython-311.pyc
create mode 100644 icesat2_kdph-main/kd_utils/__pycache__/interpolation.cpython-311.pyc
create mode 100644 icesat2_kdph-main/kd_utils/__pycache__/sea_photons_analysis.cpython-311.pyc
create mode 100644 icesat2_kdph-main/kd_utils/__pycache__/visualization.cpython-311.pyc
create mode 100644 icesat2_kdph-main/kd_utils/bathy_processing.py
create mode 100644 icesat2_kdph-main/kd_utils/data_processing.py
create mode 100644 icesat2_kdph-main/kd_utils/interpolation.py
create mode 100644 icesat2_kdph-main/kd_utils/kd_utils.py
create mode 100644 icesat2_kdph-main/kd_utils/sea_photons_analysis.py
create mode 100644 icesat2_kdph-main/kd_utils/visualization.py
create mode 100644 icesat2_kdph-main/load_icesatcsv.m
create mode 100644 icesat2_kdph-main/results/all_relevant_stations.pkl
create mode 100644 icesat2_kdph-main/results/glider_matches.pkl
create mode 100644 icesat2_kdph-main/results/labeled_relevant_stations.pkl
create mode 100644 icesat2_kdph-main/troubleshoot_ipx.ipynb
diff --git a/icesat2_kdph-main/00_experiment_with_erddap.ipynb b/icesat2_kdph-main/00_experiment_with_erddap.ipynb
new file mode 100644
index 0000000..17a29cf
--- /dev/null
+++ b/icesat2_kdph-main/00_experiment_with_erddap.ipynb
@@ -0,0 +1,185 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "7c61dc4e-92fc-456f-83cc-59ac2f81e80e",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from erddapy import ERDDAP\n",
+ "import pandas as pd\n",
+ "import json\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "184e085b-8ab3-4074-991e-13896f68ffe3",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array(['https://erddap.observations.voiceoftheocean.org/erddap/',\n",
+ " 'https://erddap.ogsl.ca/erddap/',\n",
+ " 'https://coastwatch.pfeg.noaa.gov/erddap/',\n",
+ " 'https://apdrc.soest.hawaii.edu/erddap/',\n",
+ " 'https://www.ncei.noaa.gov/erddap/',\n",
+ " 'https://erddap.bco-dmo.org/erddap/',\n",
+ " 'https://erddap.emodnet.eu/erddap/',\n",
+ " 'https://erddap.emodnet-physics.eu/erddap/',\n",
+ " 'https://erddap.marine.ie/erddap/',\n",
+ " 'https://cwcgom.aoml.noaa.gov/erddap/',\n",
+ " 'https://erddap.sensors.ioos.us/erddap/',\n",
+ " 'https://erddap.axiomdatascience.com/erddap/',\n",
+ " 'http://erddap.cencoos.org/erddap/',\n",
+ " 'http://www.neracoos.org/erddap/',\n",
+ " 'https://gliders.ioos.us/erddap/',\n",
+ " 'https://pae-paha.pacioos.hawaii.edu/erddap/',\n",
+ " 'https://sccoos.org/erddap/', 'http://erddap.secoora.org/erddap/',\n",
+ " 'http://osmc.noaa.gov/erddap/', 'http://dap.onc.uvic.ca/erddap/',\n",
+ " 'https://oceanwatch.pifsc.noaa.gov/erddap/',\n",
+ " 'https://erddap.dataexplorer.oceanobservatories.org/erddap/',\n",
+ " 'https://erddap-goldcopy.dataexplorer.oceanobservatories.org/erddap/',\n",
+ " 'https://members.oceantrack.org/erddap/',\n",
+ " 'http://www.myroms.org:8080/erddap/',\n",
+ " 'http://tds.marine.rutgers.edu/erddap/',\n",
+ " 'https://comet.nefsc.noaa.gov/erddap/',\n",
+ " 'https://opendap.co-ops.nos.noaa.gov/erddap/',\n",
+ " 'https://gcoos5.geos.tamu.edu/erddap/',\n",
+ " 'https://gcoos4.tamu.edu/erddap/',\n",
+ " 'https://coastwatch.glerl.noaa.gov/erddap/',\n",
+ " 'https://spraydata.ucsd.edu/erddap/',\n",
+ " 'https://salishsea.eos.ubc.ca/erddap/',\n",
+ " 'http://bmlsc.ucdavis.edu:8080/erddap/',\n",
+ " 'https://upwell.pfeg.noaa.gov/erddap/',\n",
+ " 'https://bluehub.jrc.ec.europa.eu/erddap/',\n",
+ " 'https://www.ifremer.fr/erddap/',\n",
+ " 'https://ferret.pmel.noaa.gov/pmel/erddap',\n",
+ " 'https://ferret.pmel.noaa.gov/alamo/erddap/',\n",
+ " 'https://ferret.pmel.noaa.gov/socat/erddap/',\n",
+ " 'https://catalogue.hakai.org/erddap/',\n",
+ " 'https://wilson.coas.oregonstate.edu/erddap/',\n",
+ " 'https://polarwatch.noaa.gov/erddap/',\n",
+ " 'http://nrm-erddap.nci.org.au/erddap/',\n",
+ " 'https://geoport.usgs.esipfed.org/erddap/',\n",
+ " 'https://erddap.incois.gov.in/erddap/',\n",
+ " 'https://erddap.ichec.ie/erddap/',\n",
+ " 'https://www.smartatlantic.ca/erddap/',\n",
+ " 'https://erddap.griidc.org/erddap/', 'https://atn.ioos.us/erddap/',\n",
+ " 'https://pub-data.diver.orr.noaa.gov/erddap/',\n",
+ " 'https://jeodpp.jrc.ec.europa.eu/services/erddap/',\n",
+ " 'https://erddap.gcoos.org/erddap/',\n",
+ " 'https://basin.ceoe.udel.edu/erddap/',\n",
+ " 'https://cioosatlantic.ca/erddap/',\n",
+ " 'https://data.cioospacific.ca/erddap/',\n",
+ " 'http://erddap.emso.eu:8080/erddap/',\n",
+ " 'http://erddap.sochic-h2020.eu/erddap/',\n",
+ " 'https://coastwatch.noaa.gov/erddap/',\n",
+ " 'https://canwinerddap.ad.umanitoba.ca/erddap/index.html',\n",
+ " 'https://oceanview.pfeg.noaa.gov/erddap/index.html',\n",
+ " 'https://erddap.oa.iode.org/erddap/'], dtype=object)"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# load a list of all the ERDDAPs and their urls.\n",
+ "# This is saved as a JSON with the code bc I cant get the direct link to the git site to work.\n",
+ "f = open('erddaps.json')\n",
+ "data_json = pd.read_json(f)\n",
+ "erddap_links = data_json['url'].unique()\n",
+ "\n",
+ "erddap_links=erddap_links\n",
+ "\n",
+ "erddap_links\n",
+ "# # load in all possible erddap servers straight from site (not working...why??):\n",
+ "# url = 'https://github.com/IrishMarineInstitute/awesome-erddap/blob/df70c66a0784a384f398492d356df46dae4281d4/erddaps.json'\n",
+ "# response = urllib.request.urlopen(url)\n",
+ "# data_json = json.loads(response.read())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "aae785f2-b5f0-4712-bb8d-5730e22537f2",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# set up for the ERDDAP API\n",
+ "e = ERDDAP(\n",
+ " server=\"https://erddap.bco-dmo.org/erddap\", # pick a specific ERDDAP server\n",
+ " protocol=\"tabledap\", # pick if you want grid(raster) or table data\n",
+ " response=\"csv\") # pick type of data output\n",
+ "e.dataset_id = \"bcodmo_dataset_817952\" # define the dataset on that ERDDAP server\n",
+ "\n",
+ "# define by space/time/variable\n",
+ "e.constraints = {\n",
+ " \"time>=\": \"2017-01-13T00:00:00Z\",\n",
+ " \"time<=\": \"2017-01-16T23:59:59Z\"}\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "4bdc3fd2-15ed-4794-bc84-0cec694410aa",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# look at the station metadata for this query:\n",
+ "info_url = e.get_info_url()\n",
+ "pd.read_csv(info_url)# make a dataframe for all the metadata for this station\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "1fe6099f-7dc1-468a-bfcd-3f2ea4729c79",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# define the variables you want to download (or leave blank and download all columns)\n",
+ "e.variables = [\n",
+ " \"longitude\",\n",
+ " \"latitude\",\n",
+ " \"time\",\n",
+ " \"Temperature\"]\n",
+ "\n",
+ "# or load the data into a dataframe\n",
+ "url = e.get_download_url()\n",
+ "df_bcodmo = e.to_pandas(parse_dates=True)\n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/01_find_all_stations.ipynb b/icesat2_kdph-main/01_find_all_stations.ipynb
new file mode 100644
index 0000000..0c76d9a
--- /dev/null
+++ b/icesat2_kdph-main/01_find_all_stations.ipynb
@@ -0,0 +1,720 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "842adedb",
+ "metadata": {},
+ "source": [
+ "Goal: find all stations with any relevant data in Oct 2018 - Dec 2023\n",
+ "\n",
+ "Order of operations:\n",
+ "- Find all active stations in this time frame\n",
+ "- get dataset info for each that could match \n",
+ "- check variable names for key words\n",
+ "- save that dataset location and active time range"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "3e8e3110-5c8f-47e5-b807-23e3bedb6604",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "# pip install --quiet erddapy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "141611e8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from erddapy import ERDDAP\n",
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import urllib.request\n",
+ "import json \n",
+ "import re\n",
+ "\n",
+ "pd.set_option('display.max_rows', None)\n",
+ "pd.set_option('display.max_columns', None)\n",
+ "\n",
+ "# help(ERDDAP.get_search_url) "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "4e6dbb59",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(62,)\n"
+ ]
+ }
+ ],
+ "source": [
+ "# load a list of all the ERDDAPs and their urls.\n",
+ "# This is saved as a JSON with the code bc I cant get the direct link to the git site to work.\n",
+ "f = open('erddaps.json')\n",
+ "data_json = pd.read_json(f)\n",
+ "erddap_links = data_json['url'].unique()\n",
+ "\n",
+ "erddap_links=erddap_links\n",
+ "\n",
+ "print(erddap_links)\n",
+ "# # load in all possible erddap servers straight from site (not working...why??):\n",
+ "# url = 'https://github.com/IrishMarineInstitute/awesome-erddap/blob/df70c66a0784a384f398492d356df46dae4281d4/erddaps.json'\n",
+ "# response = urllib.request.urlopen(url)\n",
+ "# data_json = json.loads(response.read())\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "606c95c1",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "----No matching sites exist\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "----No matching sites exist\n",
+ "----No matching sites exist\n",
+ "-Saving matching sites\n",
+ "32426\n"
+ ]
+ }
+ ],
+ "source": [
+ "# try searching for all possibly matching stations for this time (there will be a ton)\n",
+ "\n",
+ "\n",
+ "min_time = \"2018-10-01T00:00:00Z\"\n",
+ "max_time = \"2024-01-01T00:00:00Z\"\n",
+ "\n",
+ "kw = {\n",
+ " \"min_time\": min_time,\n",
+ " \"max_time\": max_time,\n",
+ "}\n",
+ "\n",
+ "# save a dataframe of every station that has data in the range\n",
+ "# this is a fast loop that makes the next (very slow) loop faster\n",
+ "\n",
+ "# initialize empty lists\n",
+ "allsites = list()\n",
+ "allurl = []\n",
+ "for orgs in erddap_links:\n",
+ " # print('Searching ' + orgs)\n",
+ " \n",
+ " # start making the erddap object for this erddap url \n",
+ " e = ERDDAP(\n",
+ " server=orgs, \n",
+ " protocol=\"tabledap\", # Want table data (not a grid map of data) \n",
+ " response=\"csv\") #in csv format for pandas\n",
+ "\n",
+ " url = e.get_search_url(search_for='', response=\"csv\", **kw)# search for a match to our time/location\n",
+ " try:\n",
+ " temp = pd.read_csv(url)[\"Dataset ID\"].unique() # try to save the data\n",
+ " except:\n",
+ " print(\"----No matching sites exist\") # ignore this entry if there is no data\n",
+ " else:\n",
+ " print(\"-Saving matching sites\")\n",
+ " allsites.extend(temp) # save the site name(s)\n",
+ " for _ in range(len(temp)): allurl.append(orgs) # save a url for each site\n",
+ "\n",
+ "# add blank columns for saving the time range and lat/lon range for each match\n",
+ "FF = pd.DataFrame(allsites,columns=['sites'])\n",
+ "FF = FF.assign(url=allurl)\n",
+ "FF[\"time_coverage_start\"] = np.nan\n",
+ "FF[\"time_coverage_end\"] = np.nan\n",
+ "FF[\"geospatial_lat_min\"] = np.nan\n",
+ "FF[\"geospatial_lat_max\"] = np.nan\n",
+ "FF[\"geospatial_lon_min\"] = np.nan\n",
+ "FF[\"geospatial_lon_max\"] = np.nan\n",
+ "FF[\"check_sum\"] = 1\n",
+ "# note: some sites have messy metadata (eg listing lat/lon everywhere) and will show up as a match even when there is no relevant data.\n",
+ "print(len(FF))\n",
+ "del e"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 109,
+ "id": "2f14c6ec",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0\n",
+ "100\n",
+ "200\n",
+ "300\n",
+ "400\n",
+ "500\n",
+ "600\n",
+ "700\n",
+ "800\n",
+ "900\n",
+ "1000\n",
+ "1100\n",
+ "1200\n",
+ "1300\n",
+ "1400\n",
+ "1500\n",
+ "1600\n",
+ "1700\n",
+ "1800\n",
+ "1900\n",
+ "2000\n",
+ "2100\n",
+ "2200\n",
+ "2300\n",
+ "2400\n",
+ "2500\n",
+ "2600\n",
+ "2700\n",
+ "2800\n",
+ "2900\n",
+ "3000\n",
+ "3100\n",
+ "3200\n",
+ "3300\n",
+ "3400\n",
+ "3500\n",
+ "3600\n",
+ "3700\n",
+ "3800\n",
+ "3900\n",
+ "4000\n",
+ "4100\n",
+ "4200\n",
+ "4300\n",
+ "4400\n",
+ "4500\n",
+ "4600\n",
+ "4700\n",
+ "4800\n",
+ "4900\n",
+ "5000\n",
+ "5100\n",
+ "5200\n",
+ "5300\n",
+ "5400\n",
+ "5500\n",
+ "5600\n",
+ "5700\n",
+ "5800\n",
+ "5900\n",
+ "6000\n",
+ "6100\n",
+ "6200\n",
+ "6300\n",
+ "6400\n",
+ "6500\n",
+ "6600\n",
+ "6700\n",
+ "6800\n",
+ "6900\n",
+ "7000\n",
+ "7100\n",
+ "7200\n",
+ "7300\n",
+ "7400\n",
+ "7500\n",
+ "7600\n",
+ "7700\n",
+ "7800\n",
+ "7900\n",
+ "8000\n",
+ "8100\n",
+ "8200\n",
+ "8300\n",
+ "8400\n",
+ "8500\n",
+ "8600\n",
+ "8700\n",
+ "8800\n",
+ "8900\n",
+ "9000\n",
+ "9100\n",
+ "9200\n",
+ "9300\n",
+ "9400\n",
+ "9500\n",
+ "9600\n",
+ "9700\n",
+ "9800\n",
+ "9900\n",
+ "10000\n",
+ "10100\n",
+ "10200\n",
+ "10300\n",
+ "10400\n",
+ "10500\n",
+ "10600\n",
+ "10700\n",
+ "10800\n",
+ "10900\n",
+ "11000\n",
+ "11100\n",
+ "11200\n",
+ "11300\n",
+ "11400\n",
+ "11500\n",
+ "11600\n",
+ "11700\n",
+ "11800\n",
+ "11900\n",
+ "12000\n",
+ "12100\n",
+ "12200\n",
+ "12300\n",
+ "12400\n",
+ "12500\n",
+ "12600\n",
+ "12700\n",
+ "12800\n",
+ "12900\n",
+ "13000\n",
+ "13100\n",
+ "13200\n",
+ "13300\n",
+ "13400\n",
+ "13500\n",
+ "13600\n",
+ "13700\n",
+ "13800\n",
+ "13900\n",
+ "14000\n",
+ "14100\n",
+ "14200\n",
+ "14300\n",
+ "14400\n",
+ "14500\n",
+ "14600\n",
+ "14700\n",
+ "14800\n",
+ "14900\n",
+ "15000\n",
+ "15100\n",
+ "15200\n",
+ "15300\n",
+ "15400\n",
+ "15500\n",
+ "15600\n",
+ "15700\n",
+ "15800\n",
+ "15900\n",
+ "16000\n",
+ "16100\n",
+ "16200\n",
+ "16300\n",
+ "16400\n",
+ "16500\n",
+ "16600\n",
+ "16700\n",
+ "16800\n",
+ "16900\n",
+ "17000\n",
+ "17100\n",
+ "17200\n",
+ "17300\n",
+ "17400\n",
+ "17500\n",
+ "17600\n",
+ "17700\n",
+ "17800\n",
+ "17900\n",
+ "18000\n",
+ "18100\n",
+ "18200\n",
+ "18300\n",
+ "18400\n",
+ "18500\n",
+ "18600\n",
+ "18700\n",
+ "18800\n",
+ "18900\n",
+ "19000\n",
+ "19100\n",
+ "19200\n",
+ "19300\n",
+ "19400\n",
+ "19500\n",
+ "19600\n",
+ "19700\n",
+ "19800\n",
+ "19900\n",
+ "20000\n",
+ "20100\n",
+ "20200\n",
+ "20300\n",
+ "20400\n",
+ "20500\n",
+ "20600\n",
+ "20700\n",
+ "20800\n",
+ "20900\n",
+ "21000\n",
+ "21100\n",
+ "21200\n",
+ "21300\n",
+ "21400\n",
+ "21500\n",
+ "21600\n",
+ "21700\n",
+ "21800\n",
+ "21900\n",
+ "22000\n",
+ "22100\n",
+ "22200\n",
+ "22300\n",
+ "22400\n",
+ "22500\n",
+ "22600\n",
+ "22700\n",
+ "22800\n",
+ "22900\n",
+ "23000\n",
+ "23100\n",
+ "23200\n",
+ "23300\n",
+ "23400\n",
+ "23500\n",
+ "23600\n",
+ "23700\n",
+ "23800\n",
+ "23900\n",
+ "24000\n",
+ "24100\n",
+ "24200\n",
+ "24300\n",
+ "24400\n",
+ "24500\n",
+ "24600\n",
+ "24700\n",
+ "24800\n",
+ "24900\n",
+ "25000\n",
+ "25100\n",
+ "25200\n",
+ "25300\n",
+ "25400\n",
+ "25500\n",
+ "25600\n",
+ "25700\n",
+ "25800\n",
+ "25900\n",
+ "26000\n",
+ "26100\n",
+ "26200\n",
+ "26300\n",
+ "26400\n",
+ "26500\n",
+ "26600\n",
+ "26700\n",
+ "26800\n",
+ "26900\n",
+ "27000\n",
+ "27100\n",
+ "27200\n",
+ "27300\n",
+ "27400\n",
+ "27500\n",
+ "27600\n",
+ "27700\n",
+ "27800\n",
+ "27900\n",
+ "28000\n",
+ "28100\n",
+ "28200\n",
+ "28300\n",
+ "28400\n",
+ "28500\n",
+ "28600\n",
+ "28700\n",
+ "28800\n",
+ "28900\n",
+ "29000\n",
+ "29100\n",
+ "29200\n",
+ "29300\n",
+ "29400\n",
+ "29500\n",
+ "29600\n",
+ "29700\n",
+ "29800\n",
+ "29900\n",
+ "30000\n",
+ "30100\n",
+ "30200\n",
+ "30300\n",
+ "30400\n",
+ "30500\n",
+ "30600\n",
+ "30700\n",
+ "30800\n",
+ "30900\n",
+ "31000\n",
+ "31100\n",
+ "31200\n",
+ "31300\n",
+ "31400\n",
+ "31500\n",
+ "31600\n",
+ "31700\n",
+ "31800\n",
+ "31900\n",
+ "32000\n",
+ "32100\n",
+ "32200\n",
+ "32300\n",
+ "32400\n"
+ ]
+ }
+ ],
+ "source": [
+ "# now search for matching keywords in each erddap site found above (~40k entries)\n",
+ "# I only pull in metadata from ERDDAP (no actual data)\n",
+ "# this cell takes a looooong time (2 h?)\n",
+ "searchterms = r\"chl|turb|sedi|par|phot|secchi|ssc\"\n",
+ "\n",
+ "for jj in range(len(FF)):\n",
+ " if jj % 100 ==0:\n",
+ " print(jj)# give a printout every 100 for my sanity\n",
+ " \n",
+ " # make the info URL for this site for the full icesat-2 time range\n",
+ " e = ERDDAP(server=FF['url'][jj], protocol=\"tabledap\", response=\"csv\")\n",
+ " e.dataset_id = FF['sites'][jj]\n",
+ " e.constraints = {\"time>=\": min_time, \"time<=\": max_time}\n",
+ " info_url = e.get_info_url()\n",
+ "# print(info_url)\n",
+ "\n",
+ " # make a dataframe for all the metadata for this station\n",
+ " # some of these urls are bogus - if fail then fill with NaNs\n",
+ " try:\n",
+ " df = pd.read_csv(info_url)# make a dataframe for all the metadata for this station\n",
+ " except:\n",
+ " FF.loc[jj,\"check_sum\"] = np.nan\n",
+ "# print(str(jj),' does not exist') \n",
+ " else:\n",
+ " # search the Variable Names for relevant measurements and minimum amount of metadata (lat/lon)\n",
+ " idx = df[\"Variable Name\"].str.contains(searchterms, flags = re.IGNORECASE)\n",
+ " if any(idx==True)==True:# if there IS a relevant variable \n",
+ " e.constraints = {}# find the entire time range for the station and its location\n",
+ " info_url = e.get_info_url() # just get metadata instead of downloading data(e.get_download_url)\n",
+ " try:\n",
+ " df = pd.read_csv(info_url)# make a dataframe for all the metadata for this station\n",
+ " except:\n",
+ " FF.loc[jj,\"check_sum\"] = np.nan\n",
+ "# print(str(jj),' does not exist')\n",
+ " else:\n",
+ "\n",
+ " # sometimes metadata is missing - leave blank if any is empty\n",
+ " try:\n",
+ " FF.loc[jj,\"time_coverage_start\"] = df.loc[df['Attribute Name']=='time_coverage_start', 'Value'].item()\n",
+ " except:\n",
+ " pass\n",
+ "\n",
+ " try:\n",
+ " FF.loc[jj,\"time_coverage_end\"] = df.loc[df['Attribute Name']=='time_coverage_end', 'Value'].item()\n",
+ " except:\n",
+ " pass\n",
+ "\n",
+ " try:\n",
+ " FF.loc[jj,\"geospatial_lat_min\"] = df.loc[df['Attribute Name']=='geospatial_lat_min', 'Value'].item()\n",
+ " except:\n",
+ " pass\n",
+ "\n",
+ " try:\n",
+ " FF.loc[jj,\"geospatial_lat_max\"] = df.loc[df['Attribute Name']=='geospatial_lat_max', 'Value'].item()\n",
+ " except:\n",
+ " pass\n",
+ "\n",
+ " try:\n",
+ " FF.loc[jj,\"geospatial_lon_min\"] = df.loc[df['Attribute Name']=='geospatial_lon_min', 'Value'].item()\n",
+ " except:\n",
+ " pass\n",
+ "\n",
+ " try:\n",
+ " FF.loc[jj,\"geospatial_lon_max\"] = df.loc[df['Attribute Name']=='geospatial_lon_max', 'Value'].item()\n",
+ " except:\n",
+ " pass\n",
+ "\n",
+ " else: # otherwise ignore this site\n",
+ "# print(str(jj),' has no relevant data')\n",
+ " FF.loc[jj,\"check_sum\"] = np.nan\n",
+ "\n",
+ "# remove any entries that failed\n",
+ "FF = FF.dropna(subset=\"check_sum\") \n",
+ "FF.reset_index(drop=True, inplace=True)\n",
+ "FF = FF.drop(columns=\"check_sum\")\n",
+ "# make any text entries into actual numbers\n",
+ "FF[\"geospatial_lat_min\"] = pd.to_numeric(FF[\"geospatial_lat_min\"])\n",
+ "FF[\"geospatial_lon_min\"] = pd.to_numeric(FF[\"geospatial_lon_min\"])\n",
+ "FF[\"geospatial_lat_max\"] = pd.to_numeric(FF[\"geospatial_lat_max\"])\n",
+ "FF[\"geospatial_lon_max\"] = pd.to_numeric(FF[\"geospatial_lon_max\"])\n",
+ "# save for future reference\n",
+ "FF.to_pickle(\"all_relevant_stations.pkl\")\n",
+ "\n",
+ "# also save a csv for curious viewers\n",
+ "FF_save.to_csv('erddap_station_search_results.csv',index=False)\n",
+ "print(len(FF_save))\n",
+ "FF_save"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "8d4d4d48",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# after running that slow code I realized that I didnt save enough information...\n",
+ "\n",
+ "\n",
+ "# add columns to identify which type of data is present in each dataset\n",
+ "lib = {'buoy','glider','ship','turbid','ssc','photo','chl','radiation'}\n",
+ "\n",
+ "FF[\"buoy\"] = False\n",
+ "FF[\"glider\"] = False\n",
+ "FF[\"ship\"] = False\n",
+ "FF[\"turbid\"] = False\n",
+ "FF[\"ssc\"] = False\n",
+ "FF[\"photo\"] = False\n",
+ "FF[\"chl\"] = False\n",
+ "FF['radiation'] = False\n",
+ "FF['bad'] = False\n",
+ "\n",
+ "for jj in range(len(FF)):\n",
+ " if jj % 100 ==0:\n",
+ " print(jj)# give a printout every 100 for my sanity\n",
+ "\n",
+ " # make the info URL for this site for this time range\n",
+ " e = ERDDAP(server=FF['url'][jj],\n",
+ " protocol=\"tabledap\",\n",
+ " response=\"csv\"\n",
+ " )\n",
+ " e.dataset_id = FF['sites'][jj]\n",
+ " # e.constraints = {\"time>=\": min_time, \"time<=\": max_time}\n",
+ " info_url = e.get_info_url()\n",
+ " try:\n",
+ " ds_info = pd.read_csv(info_url)# make a dataframe for all the metadata for this station\n",
+ " except:\n",
+ " FF.loc[jj,\"bad\"] = True\n",
+ " else:\n",
+ " for kwd in lib:\n",
+ " idx = ds_info[\"Value\"].str.contains(kwd, flags = re.IGNORECASE)\n",
+ " if any(idx==True)==True:\n",
+ " FF.loc[jj,kwd] = True\n",
+ "\n",
+ "FF = FF[FF.bad == False] \n",
+ "FF.reset_index(drop=True, inplace=True)\n",
+ "FF = FF.drop(columns=\"bad\")\n",
+ "FF.to_pickle(\"labeled_relevant_stations.pkl\")\n",
+ "\n",
+ "# now we can look at how many stations are available for each data type\n",
+ "print(len(FF[(FF.buoy == True) & (FF.radiation == True)]))\n",
+ "FF[(FF.ship == True) & (FF.radiation == True)]"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.19"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/02_match_argo2granules_ipx.ipynb b/icesat2_kdph-main/02_match_argo2granules_ipx.ipynb
new file mode 100644
index 0000000..87a661b
--- /dev/null
+++ b/icesat2_kdph-main/02_match_argo2granules_ipx.ipynb
@@ -0,0 +1,2130 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "aaeebceb-4eeb-4e6c-90f0-be6360b21969",
+ "metadata": {
+ "jp-MarkdownHeadingCollapsed": true
+ },
+ "source": [
+ "The goal is to find matching ICESat-2 ATL03 photon data matching the times and lat/lon of the published Kd values from BGC ARGO floats (10.5281/zenodo.8228242). \n",
+ "\n",
+ "The Kd CSV file was edited after download from Zenodo. Kd calculations were sorted by date. This pre-processing could jsut as easily be done in python but I already had the csv open to look at the contents. Edited version is called Dataset_Kd_Paper_2018. \n",
+ "\n",
+ "Actions:\n",
+ "- Load lat/lon and time for each Kd calculation\n",
+ "- Check if there is a matching pass for ICESat-2 within +- x hours and x km.\n",
+ "- The notebook saves pickle files of GeoDataFrames (pandas), appending the matching row of the spreadsheet of latlontimes. \n",
+ "- These GDFs are the output of the icesat2.atl03sp search function. The contents of each GDF can be found here: https://slideruleearth.io/web/rtd/user_guide/ICESat-2.html#photon-segments\n",
+ "- Also saves a new copy of Dataset_Kd_Paper_2018_dep with only the matching kd rows.\n",
+ " \n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "2256384a-86a8-43c0-801b-5953747525ba",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet rtree\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "26a80715-bdf2-45ce-afe9-9fa0f0bd7529",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet hdbscan"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "8f821b93-0ec9-41db-af0e-61e26934504d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import icepyx as ipx\n",
+ "from datetime import datetime, timedelta\n",
+ "import time\n",
+ "import os\n",
+ "import re\n",
+ "import glob\n",
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import logging\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "from config import workspace_path, atl03_path,\\\n",
+ " other_data_path ,shoreline_data ,gebco_path ,\\\n",
+ " horizontal_res ,vertical_res ,subsurface_thresh ,\\\n",
+ " ignore_subsurface_height_thres ,output_path \n",
+ "\n",
+ "\n",
+ " \n",
+ "from kd_utils.data_processing import load_data, \\\n",
+ " extract_file_params, \\\n",
+ " Extract_sea_photons, \\\n",
+ " filter_photon_dataset_by_hull_area\n",
+ " \n",
+ "from kd_utils.sea_photons_analysis import process_sea_photon_binning,\\\n",
+ " get_sea_surface_height\n",
+ " \n",
+ " \n",
+ "from kd_utils.bathy_processing import process_subsurface_photon_filtering\n",
+ "\n",
+ "from kd_utils.visualization import plot_photon_height, \\\n",
+ " plot_kd_photons, \\\n",
+ " plot_filtered_seafloor_photons\n",
+ " \n",
+ "from kd_utils.Kd_analysis import process_kd_calculation\n",
+ "\n",
+ "from kd_utils.interpolation import geoid_correction, \\\n",
+ " refraction_correction, \\\n",
+ " interpolate_labels, \\\n",
+ " apply_interpolation\n",
+ "\n",
+ "\n",
+ "\n",
+ "pd.set_option('display.max_columns', None)\n",
+ "# pd.set_option('display.max_rows', None)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "3ae97e48-47cb-461e-ac38-1f4ca6df96ec",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def buoy_bound_box(lat,lon,buffer_km):\n",
+ " # define a buffer distance around the buoy to search for icesat-2 data\n",
+ " lat_buff = buffer_km/111 # convert buffer distance to frac of 1 deg lat\n",
+ " lon_buff = buffer_km/(111*np.cos(lat*np.pi/180)) # convert buffer distance to frac of 1 deg lon\n",
+ " # define bounding box around the buoy (WSEN)\n",
+ " # example: bbox = [-108.3, 39.2, -107.8, 38.8]\n",
+ " # bbox = [lon-lon_buff,lat+lat_buff,lon+lon_buff,lat-lat_buff]\n",
+ " # region = sliderule.toregion(bbox)\n",
+ " minx = lon - lon_buff\n",
+ " miny = lat - lat_buff\n",
+ " maxx = lon + lon_buff\n",
+ " maxy = lat + lat_buff\n",
+ "\n",
+ " # polygon vertices: Given as longitude, latitude coordinate pairs of decimal degrees with the last entry a repeat of the first.\n",
+ " poly = [(minx, miny), (maxx, miny), (maxx, maxy), (minx, maxy), (minx, miny)]\n",
+ "\n",
+ " return poly\n",
+ "\n",
+ "def main():\n",
+ " try:\n",
+ " \n",
+ " # Load IS2 and extract sea photons\n",
+ " IS2_atl03_mds, IS2_atl03_attrs, IS2_atl03_beams = load_data(ATL03_h5_file_path) \n",
+ " \n",
+ " ## For debugging\n",
+ " #IS2_atl03_beams=['gt1r']\n",
+ " \n",
+ " # Check beam types and ensure we have what we want (e.g., strong beams)\n",
+ " target_beam_type=['gt1l', 'gt2l', 'gt3l'] \n",
+ " IS2_atl03_beams = [beam for beam in IS2_atl03_beams if beam in target_beam_type]\n",
+ " if not IS2_atl03_beams:\n",
+ " print('No Strong Beam')\n",
+ " # sys.exit() # Terminate the program\n",
+ " else:\n",
+ " print(f'Strong Beams Found: {IS2_atl03_beams}')\n",
+ " \n",
+ " # Extract sea photon by applying the land mask\n",
+ " sea_photon_dataset = Extract_sea_photons(IS2_atl03_mds, IS2_atl03_beams, shoreline_data_path)\n",
+ " \n",
+ " \n",
+ " # Main processing function to apply binning beam-by-beam \n",
+ " # to bin the photons data by vertical_res 25 cm and horizontal resolution 500m\n",
+ " binned_dataset_sea_surface = process_sea_photon_binning(sea_photon_dataset, horizontal_res=horizontal_res, vertical_res=vertical_res)\n",
+ " \n",
+ " \n",
+ " # filter to get subsurface photons\n",
+ " sea_surface_height, sea_surface_label, filtered_seafloor_subsurface_photon_dataset = \\\n",
+ " process_subsurface_photon_filtering(binned_dataset_sea_surface, subsurface_thresh, GEBCO_file_path_lists)\n",
+ " \n",
+ " \n",
+ " # Visualization of the filtered seafloor photons\n",
+ " # Uncomment the following lines to visualize if needed\n",
+ " # output_path = OutputPath+'/IS2_subsurface_RM_Seafloor.jpg'\n",
+ " # plot_filtered_seafloor_photons(filtered_seafloor_subsurface_dataset=filtered_seafloor_subsurface_photon_dataset, \n",
+ " # sea_photon_dataset=sea_photon_dataset, \n",
+ " # sea_surface_height=sea_surface_height, \n",
+ " # output_path=output_path)\n",
+ " \n",
+ " ########################\n",
+ " # Todo: move the filter to the begining\n",
+ " # Filter shallow photons that may have noises from wave, afterpulse, or others\n",
+ " # by setting Ignore_Subsurface_Height_Thres (i.e., -6)\n",
+ " # Masked out the deep water photons by applying (filtered_seafloor_subsurface_photon_dataset < Ignore_Subsurface_Height_Thres)\n",
+ " # Filter out points below the seafloor\n",
+ " Final_filtered_subsurface_photon_dataset = filtered_seafloor_subsurface_photon_dataset[\n",
+ " filtered_seafloor_subsurface_photon_dataset['photon_height'] < Ignore_Subsurface_Height_Thres\n",
+ " ]\n",
+ " \n",
+ " # Final_filtered_subsurface_photon_dataset = filtered_seafloor_subsurface_photon_dataset\n",
+ " \n",
+ " #Filter dataframe based on beam list\n",
+ " Final_filtered_subsurface_photon_dataset = Final_filtered_subsurface_photon_dataset[Final_filtered_subsurface_photon_dataset['beam_id'].isin(target_beam_type)]\n",
+ " \n",
+ " ###################################\n",
+ " ### Todo: move the filter to the begining\n",
+ " # Steps to standardize KD calculation by filtering out \n",
+ " # segments lacking sufficient subsurface photons.\n",
+ " # Approach: Use the ConvexHull of photons within \n",
+ " # each rectanglar area formed by each horizontal bin (here, it is lat_bins) and \n",
+ " # based on dataframe Final_filtered_subsurface_photon_dataset along the distance of the track\n",
+ " \n",
+ " # Apply filtering based on hull area if desired\n",
+ " Final_filtered_subsurface_photon_dataset, convex_hull_areas, convex_hulls = filter_photon_dataset_by_hull_area(\n",
+ " Final_filtered_subsurface_photon_dataset, hull_area_threshold=1500\n",
+ " )\n",
+ " \n",
+ " # Visualization\n",
+ " # Uncomment the following line to visualize if needed\n",
+ " \n",
+ " # plot_target_beam=['gt1l']\n",
+ " # plot_convex_hulls(Final_filtered_subsurface_photon_dataset, plot_target_beam, convex_hulls, convex_hull_areas)\n",
+ " \n",
+ " ########################################### \n",
+ " # calculate kd and save it to table\n",
+ " SubsurfacePhotonDFAddedKd = process_kd_calculation(Final_filtered_subsurface_photon_dataset)\n",
+ " \n",
+ " \n",
+ " ## Todo move this part into a function so that it will not looks too busy here\n",
+ " # Extract the timestamp using regex and use it to set the output file name\n",
+ " match = re.search(r\"_(\\d{14})_\", ATL03_h5_file_path)\n",
+ " timestamp = match.group(1) if match else \"unknown\"\n",
+ " \n",
+ " output_file_path = os.path.join(OutputPath, f\"{timestamp}_AddedKdDataset_strongBeams_Further.csv\")\n",
+ " SubsurfacePhotonDFAddedKd.to_csv(output_file_path, index=False)\n",
+ " \n",
+ " if 'relative_AT_dist' in filtered_seafloor_subsurface_photon_dataset.columns:\n",
+ " unique_photon_dataset = filtered_seafloor_subsurface_photon_dataset[['relative_AT_dist', 'lat_bins', 'photon_height']].drop_duplicates()\n",
+ " unique_photon_dataset['relative_AT_dist_center'] = unique_photon_dataset\\\n",
+ " .groupby('lat_bins', observed=False)['relative_AT_dist'].transform('mean')\n",
+ " def find_closest(group):\n",
+ " if not group.empty:\n",
+ " center = group['relative_AT_dist_center'].iloc[0]\n",
+ " group['dist_to_center'] = abs(group['relative_AT_dist'] - center)\n",
+ " closest_index = group['dist_to_center'].idxmin()\n",
+ " return group.loc[[closest_index]]\n",
+ " else:\n",
+ " return pd.DataFrame(columns=group.columns)\n",
+ " \n",
+ " # Filter out empty or all-NA entries\n",
+ " unique_photon_dataset_filtered = unique_photon_dataset.dropna(how='all', axis=1)\n",
+ " \n",
+ " # Group by 'lat_bins' and apply the find_closest function\n",
+ " closest_to_center = unique_photon_dataset_filtered\\\n",
+ " .groupby('lat_bins', observed=False)\\\n",
+ " .apply(find_closest, include_groups=True)\n",
+ " # .reset_index()\n",
+ " \n",
+ " # Remove the index without resetting it if 'lat_bins' already exists\n",
+ " closest_to_center.index = closest_to_center.index.droplevel(0)\n",
+ " \n",
+ " # Ensure relevant entries are excluded before concatenation\n",
+ " closest_to_center = closest_to_center.dropna(axis=1, how='all')\n",
+ " \n",
+ " Kd_DF_MergedDistance = closest_to_center.merge(SubsurfacePhotonDFAddedKd, on='lat_bins', how='left')\n",
+ " Kd_DF_MergedDistance = Kd_DF_MergedDistance.drop(columns=['relative_AT_dist_center', 'dist_to_center'])\n",
+ " \n",
+ " \n",
+ " # plot_kd_photons(OutputPath, timestamp, plot_target_beam, filtered_seafloor_subsurface_photon_dataset, Kd_DF_MergedDistance)\n",
+ " \n",
+ " logging.info(\"SUCCESS!\")\n",
+ " \n",
+ " except Exception as e:\n",
+ " logging.error(f\"An error occurred: {e}\")\n",
+ "\n",
+ "# if __name__ == '__main__':\n",
+ " \n",
+ "# # Get arguments function\n",
+ "# args = get_args() \n",
+ " \n",
+ "# ATL03_h5_file_path = os.path.join(args.workspace_path, args.atl03_path, args.atl03_file)\n",
+ " \n",
+ "# shoreline_data_path = os.path.join(args.workspace_path, args.other_data_path, args.shoreline_data)\n",
+ " \n",
+ "# GEBCO_full_path = os.path.join(args.workspace_path, args.other_data_path, args.gebco_path)\n",
+ " \n",
+ "# OutputPath = os.path.join(args.workspace_path, args.output_path)\n",
+ " \n",
+ "# #Get the gebco list\n",
+ "# #gebco_2024_n0.0_s-90.0_w0.0_e90.0.tif\n",
+ "# GEBCO_file_pattern = os.path.join(GEBCO_full_path, \"gebco_*.tif\")\n",
+ "\n",
+ "# #Initialize with an empty list\n",
+ "# GEBCO_file_path_lists = []\n",
+ "# for GEBCO_file_path_name in glob.glob(GEBCO_file_pattern):\n",
+ "# #put the find one into the list\n",
+ "# GEBCO_file_path_lists.append(GEBCO_file_path_name)\n",
+ "\n",
+ " \n",
+ "# # Get all other necessary parameters\n",
+ "# horizontal_res = args.horizontal_res\n",
+ " \n",
+ "# vertical_res = args.vertical_res\n",
+ " \n",
+ "# subsurface_thresh = args.subsurface_thresh\n",
+ " \n",
+ "# Ignore_Subsurface_Height_Thres = args.ignore_subsurface_height_thres\n",
+ " \n",
+ "# # When all paramters ready, call the main function\n",
+ "# main()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "1d72dbef-f954-499f-be76-c1de3233b325",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# load time, lat and lon\n",
+ "df = pd.read_csv(\"data/Dataset_Kd_Paper_2018.csv\")\n",
+ "# convert matlab time to datetime objects\n",
+ "df[\"dt_float\"] = pd.to_datetime(df[\"dt_float\"]-719529,unit='d',utc=True).round('s')\n",
+ "# remove all rows from before icesat2 launched\n",
+ "df = df[df[\"dt_float\"]>datetime.fromisoformat('2018-10-01T00:00:00Z')]\n",
+ "df.reset_index(drop=True, inplace=True)\n",
+ "# df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "81cbc4d3-802a-4e98-9220-8b847742bc3b",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "processing 100/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n"
+ ]
+ },
+ {
+ "name": "stdin",
+ "output_type": "stream",
+ "text": [
+ "Enter your Earthdata Login username: gloverha\n",
+ "Enter your Earthdata password: ········\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "order ID: 5000005875967\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875967 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875968\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875968 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875969\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875969 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 200/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875970\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875970 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 300/5129\n",
+ "processing 400/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875971\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875971 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875972\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875972 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 500/5129\n",
+ "processing 600/5129\n",
+ "processing 700/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875973\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875973 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875974\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875974 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875975\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875975 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875976\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875976 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875977\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875977 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 800/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875978\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875978 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 900/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875979\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875979 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875980\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875980 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 1000/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875981\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875981 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875982\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875982 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875983\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875983 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875984\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875984 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 1100/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875985\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875985 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875986\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875986 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875987\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875987 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875988\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875988 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 1200/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875989\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875989 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 1500/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875991\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875991 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875992\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875992 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 1600/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875993\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875993 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875994\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875994 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 1700/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875995\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875995 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875996\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875996 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 1800/5129\n",
+ "processing 1900/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875997\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875997 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875998\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875998 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005875999\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005875999 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 2000/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876000\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876000 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876001\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876001 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876002\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876002 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876003\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876003 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876004\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876004 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 2100/5129\n",
+ "processing 2200/5129\n",
+ "processing 2300/5129\n",
+ "processing 2400/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876005\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876005 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876006\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876006 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876007\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876007 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 2500/5129\n",
+ "processing 2600/5129\n",
+ "processing 2700/5129\n",
+ "processing 2800/5129\n",
+ "processing 2900/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876008\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876008 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876009\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876009 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876010\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876010 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876011\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876011 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 3000/5129\n",
+ "processing 3100/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876012\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876012 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876013\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876013 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 3200/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876014\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876014 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876015\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876015 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876016\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876016 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 3300/5129\n",
+ "processing 3400/5129\n",
+ "processing 3500/5129\n",
+ "processing 3600/5129\n",
+ "processing 3700/5129\n",
+ "processing 3800/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876018\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876018 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876019\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876019 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876021\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876021 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876022\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876022 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876023\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876023 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876024\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876024 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876025\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876025 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876026\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876026 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876027\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876027 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 3900/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876028\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876028 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876029\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876029 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 4000/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876030\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876030 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 4100/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876031\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876031 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876032\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876032 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876033\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876033 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876034\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876034 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 4200/5129\n",
+ "processing 4300/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876035\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876035 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876036\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876036 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 4400/5129\n",
+ "processing 4500/5129\n",
+ "processing 4600/5129\n",
+ "processing 4700/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876037\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876037 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876038\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876038 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876039\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876039 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876040\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876040 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876041\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876041 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876042\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876042 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876043\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876043 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 4800/5129\n",
+ "processing 4900/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876044\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876044 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876045\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876045 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876046\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876046 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876047\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876047 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876048\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876048 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876049\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876049 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 5000/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876050\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876050 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876051\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876051 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 2 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876052\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876052 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "Total number of data order requests is 1 for 2 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876053\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876053 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "processing 5100/5129\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876054\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876054 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "success\n",
+ "5129\n"
+ ]
+ }
+ ],
+ "source": [
+ "df[\"check_sum\"] = False\n",
+ "# these values can be adjusted to broaden/narrow the fit btwn icesat-2 and the ground truth\n",
+ "search_hrs = 12\n",
+ "search_km = 4\n",
+ "for jj in range(100,len(df)):\n",
+ " if jj % 100 ==0:\n",
+ " print('processing '+str(jj) +'/'+str(len(df)))# give a printout every 100 for my sanity\n",
+ " # define a search region around the buoy \n",
+ " lat = df['lat_float'][jj]\n",
+ " lon = df['lon_float'][jj]\n",
+ " \n",
+ " spatial_extent = buoy_bound_box(lat,lon,search_km)\n",
+ " t_start = (df['dt_float'][jj]-timedelta(hours=search_hrs))\n",
+ " t_end = (df['dt_float'][jj]+timedelta(hours=search_hrs))\n",
+ " short_name = 'ATL03'\n",
+ " date_range = [t_start,t_end]\n",
+ " region = ipx.Query(short_name, spatial_extent, date_range)\n",
+ " try:\n",
+ " region.download_granules('data/')\n",
+ " print('success')\n",
+ " df[\"check_sum\"] = True# if data exists and is downloaded - note in the argo csv \n",
+ " except:\n",
+ " continue\n",
+ " \n",
+ "\n",
+ "# df = pd.read_pickle('glider_matches.pkl')\n",
+ "df=df[df[\"check_sum\"]==True]\n",
+ "print(len(df))\n",
+ "# df.reset_index(drop=True, inplace=True)\n",
+ "df.to_csv('results/Dataset_Kd_Paper_2018_dep_4km12h.csv')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "id": "0e91ffef-8a80-4cbe-ac5b-3fd2c41e4842",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:36:01,671 - INFO - ./data/processed_ATL03_20221110022321_07691706_006_01.h5\n",
+ "2024-12-03 21:36:01,678 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:36:45,615 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:36:45,616 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:36:45,677 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:36:45,678 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:36:45,770 - INFO - SUCCESS!\n",
+ "2024-12-03 21:36:45,780 - INFO - ./data/processed_ATL03_20220228153332_10441406_006_01.h5\n",
+ "2024-12-03 21:36:45,786 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-03 21:36:46,193 - INFO - ./data/processed_ATL03_20181031050117_04970112_006_02.h5\n",
+ "2024-12-03 21:36:46,200 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:36:46,764 - INFO - ./data/processed_ATL03_20210918222329_13331206_006_02.h5\n",
+ "2024-12-03 21:36:46,770 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:36:47,193 - INFO - ./data/processed_ATL03_20190521030409_08070308_006_02.h5\n",
+ "2024-12-03 21:36:47,203 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:37:29,816 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:37:29,817 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:37:29,862 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:37:29,862 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:37:29,941 - INFO - SUCCESS!\n",
+ "2024-12-03 21:37:29,952 - INFO - ./data/processed_ATL03_20210220082739_08911006_006_01.h5\n",
+ "2024-12-03 21:37:29,958 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-03 21:37:30,599 - INFO - ./data/processed_ATL03_20190626024324_13570302_006_02.h5\n",
+ "2024-12-03 21:37:30,605 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:37:51,300 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:37:51,301 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:37:51,405 - INFO - SUCCESS!\n",
+ "2024-12-03 21:37:51,417 - INFO - ./data/processed_ATL03_20210101105852_01291006_006_01.h5\n",
+ "2024-12-03 21:37:51,423 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-03 21:37:51,893 - INFO - ./data/processed_ATL03_20200210023858_06930606_006_01.h5\n",
+ "2024-12-03 21:37:51,899 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:37:52,652 - INFO - ./data/processed_ATL03_20221130045019_10761706_006_02.h5\n",
+ "2024-12-03 21:37:52,658 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:38:13,287 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-03 21:38:13,330 - INFO - ./data/processed_ATL03_20220821205409_09311602_006_01.h5\n",
+ "2024-12-03 21:38:13,336 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:38:34,420 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:38:34,421 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:38:34,509 - INFO - SUCCESS!\n",
+ "2024-12-03 21:38:34,519 - INFO - ./data/processed_ATL03_20220903094331_11221608_006_01.h5\n",
+ "2024-12-03 21:38:34,526 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:39:16,009 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:39:16,009 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:39:16,048 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:39:16,048 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:39:16,139 - INFO - SUCCESS!\n",
+ "2024-12-03 21:39:16,148 - INFO - ./data/processed_ATL03_20210216000557_08241014_006_01.h5\n",
+ "2024-12-03 21:39:16,156 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:39:58,212 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:39:58,212 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:39:58,271 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:39:58,272 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:39:58,353 - INFO - SUCCESS!\n",
+ "2024-12-03 21:39:58,363 - INFO - ./data/processed_ATL03_20230131135652_06421801_006_02.h5\n",
+ "2024-12-03 21:39:58,371 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:41:00,434 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:41:00,434 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:41:00,491 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:41:00,492 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:41:00,549 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:41:00,549 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:41:00,640 - INFO - SUCCESS!\n",
+ "2024-12-03 21:41:00,652 - INFO - ./data/processed_ATL03_20230121145754_04891814_006_02.h5\n",
+ "2024-12-03 21:41:00,658 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:41:42,085 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:41:42,086 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:41:42,147 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:41:42,148 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:41:42,239 - INFO - SUCCESS!\n",
+ "2024-12-03 21:41:42,250 - INFO - ./data/processed_ATL03_20191107102440_06340507_006_01.h5\n",
+ "2024-12-03 21:41:42,256 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-03 21:41:42,787 - INFO - ./data/processed_ATL03_20200219140630_08380602_006_01.h5\n",
+ "2024-12-03 21:41:42,796 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:41:43,382 - INFO - ./data/processed_ATL03_20221205162609_11601702_006_02.h5\n",
+ "2024-12-03 21:41:43,388 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:42:04,851 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:42:04,852 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:42:04,949 - INFO - SUCCESS!\n",
+ "2024-12-03 21:42:04,963 - INFO - ./data/processed_ATL03_20190902114623_10140406_006_02.h5\n",
+ "2024-12-03 21:42:04,975 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-03 21:42:05,398 - INFO - ./data/processed_ATL03_20190329173700_00070306_006_02.h5\n",
+ "2024-12-03 21:42:05,404 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:42:46,983 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:42:46,984 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:42:47,005 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:42:47,005 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:42:47,090 - INFO - SUCCESS!\n",
+ "2024-12-03 21:42:47,100 - INFO - ./data/processed_ATL03_20211014091744_03351302_006_01.h5\n",
+ "2024-12-03 21:42:47,106 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:43:08,855 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:43:08,855 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:43:08,958 - INFO - SUCCESS!\n",
+ "2024-12-03 21:43:08,972 - INFO - ./data/processed_ATL03_20210804125607_06401202_006_01.h5\n",
+ "2024-12-03 21:43:08,979 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:43:50,667 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:43:50,668 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:43:50,728 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:43:50,728 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:43:50,821 - INFO - SUCCESS!\n",
+ "2024-12-03 21:43:50,833 - INFO - ./data/processed_ATL03_20190613015947_11580302_006_02.h5\n",
+ "2024-12-03 21:43:50,839 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:44:32,360 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:44:32,361 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:44:32,415 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:44:32,415 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:44:32,502 - INFO - SUCCESS!\n",
+ "2024-12-03 21:44:32,512 - INFO - ./data/processed_ATL03_20201020040408_03970902_006_01.h5\n",
+ "2024-12-03 21:44:32,518 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:45:13,542 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:45:13,542 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:45:13,561 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:45:13,561 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:45:13,648 - INFO - SUCCESS!\n",
+ "2024-12-03 21:45:13,661 - INFO - ./data/processed_ATL03_20230131140354_06421802_006_02.h5\n",
+ "2024-12-03 21:45:13,666 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-03 21:45:14,087 - INFO - ./data/processed_ATL03_20220126040658_05331402_006_01.h5\n",
+ "2024-12-03 21:45:14,093 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:46:17,054 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:46:17,055 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:46:17,088 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:46:17,088 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:46:17,124 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:46:17,125 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:46:17,166 - INFO - SUCCESS!\n",
+ "2024-12-03 21:46:17,177 - INFO - ./data/processed_ATL03_20210710170614_02601214_006_01.h5\n",
+ "2024-12-03 21:46:17,186 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:46:58,999 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:46:59,000 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:46:59,054 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:46:59,055 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:46:59,151 - INFO - SUCCESS!\n",
+ "2024-12-03 21:46:59,161 - INFO - ./data/processed_ATL03_20220821080545_09221614_006_01.h5\n",
+ "2024-12-03 21:46:59,167 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-03 21:46:59,592 - INFO - ./data/processed_ATL03_20210709162010_02451203_006_01.h5\n",
+ "2024-12-03 21:46:59,598 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:47:20,595 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:47:20,595 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:47:20,701 - INFO - SUCCESS!\n",
+ "2024-12-03 21:47:20,714 - INFO - ./data/processed_ATL03_20190211213415_06940206_006_02.h5\n",
+ "2024-12-03 21:47:20,723 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:47:41,862 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:47:41,863 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:47:41,958 - INFO - SUCCESS!\n",
+ "2024-12-03 21:47:41,970 - INFO - ./data/processed_ATL03_20210630030952_00991206_006_01.h5\n",
+ "2024-12-03 21:47:41,979 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:48:03,132 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:48:03,133 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:48:03,231 - INFO - SUCCESS!\n",
+ "2024-12-03 21:48:03,246 - INFO - ./data/processed_ATL03_20201116164551_08170908_006_01.h5\n",
+ "2024-12-03 21:48:03,252 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-03 21:48:03,649 - INFO - ./data/processed_ATL03_20200629212148_00690806_006_01.h5\n",
+ "2024-12-03 21:48:03,656 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:49:05,539 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:49:05,539 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:49:05,549 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:49:05,550 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:49:05,604 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:49:05,604 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:49:05,689 - INFO - SUCCESS!\n",
+ "2024-12-03 21:49:05,699 - INFO - ./data/processed_ATL03_20190506031153_05780308_006_02.h5\n",
+ "2024-12-03 21:49:05,709 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-03 21:49:06,125 - INFO - ./data/processed_ATL03_20181213181733_11620114_006_02.h5\n",
+ "2024-12-03 21:49:06,134 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:49:06,527 - INFO - ./data/processed_ATL03_20210703140243_01521202_006_01.h5\n",
+ "2024-12-03 21:49:06,534 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:50:09,315 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:50:09,315 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:50:09,371 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:50:09,372 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:50:09,427 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:50:09,427 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:50:09,471 - INFO - SUCCESS!\n",
+ "2024-12-03 21:50:09,482 - INFO - ./data/processed_ATL03_20191010201542_02130502_006_02.h5\n",
+ "2024-12-03 21:50:09,488 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:51:13,225 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 21:51:13,225 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:51:13,290 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:51:13,291 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:51:13,352 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:51:13,353 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:51:13,429 - INFO - SUCCESS!\n",
+ "2024-12-03 21:51:13,446 - INFO - ./data/processed_ATL03_20230305110600_11441803_006_02.h5\n",
+ "2024-12-03 21:51:13,452 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-03 21:51:13,876 - INFO - ./data/processed_ATL03_20200221023939_08610606_006_01.h5\n",
+ "2024-12-03 21:51:13,882 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:51:14,683 - INFO - ./data/processed_ATL03_20210211090957_07541006_006_01.h5\n",
+ "2024-12-03 21:51:14,693 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:51:15,355 - INFO - ./data/processed_ATL03_20190926024902_13750403_006_02.h5\n",
+ "2024-12-03 21:51:15,362 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 21:51:57,337 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 21:51:57,338 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:51:57,350 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 21:51:57,351 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 21:51:57,397 - INFO - SUCCESS!\n"
+ ]
+ }
+ ],
+ "source": [
+ "h5names = glob.glob('data/processed_*.h5')\n",
+ "\n",
+ "\n",
+ "for jj in range(len(h5names)):\n",
+ " # code from chao (in Main.ipynb)\n",
+ " atl03_file_inloop = h5names[jj]\n",
+ " ATL03_h5_file_path = os.path.join(workspace_path, atl03_file_inloop)\n",
+ " # print(ATL03_h5_file_path)\n",
+ " shoreline_data_path = os.path.join(workspace_path, other_data_path, shoreline_data)\n",
+ " # print(shoreline_data_path)\n",
+ " GEBCO_full_path = os.path.join(workspace_path, other_data_path, gebco_path)\n",
+ " # print(GEBCO_full_path)\n",
+ " OutputPath = os.path.join(workspace_path, output_path)\n",
+ " # print(OutputPath)\n",
+ " \n",
+ " \n",
+ " #Get the gebco list\n",
+ " GEBCO_file_pattern = os.path.join(GEBCO_full_path, \"gebco_*.tif\")\n",
+ " \n",
+ " #Initialize with an empty list\n",
+ " GEBCO_file_path_lists = []\n",
+ " for GEBCO_file_path_name in glob.glob(GEBCO_file_pattern):\n",
+ " #put the find one into the list\n",
+ " GEBCO_file_path_lists.append(GEBCO_file_path_name)\n",
+ " \n",
+ " # print(GEBCO_file_path_lists)\n",
+ " \n",
+ " # Get all other necessary parameters\n",
+ " horizontal_res = horizontal_res\n",
+ " vertical_res = vertical_res\n",
+ " subsurface_thresh = subsurface_thresh\n",
+ " Ignore_Subsurface_Height_Thres = ignore_subsurface_height_thres\n",
+ " \n",
+ " # Configure logging\n",
+ " logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')\n",
+ " \n",
+ " \n",
+ " # When all paramters ready, call the main function\n",
+ " main()\n",
+ " # delete the hefty h5 file once done with processing - only store calculated kd values\n",
+ " os.remove(ATL03_h5_file_path)\n",
+ "\n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.19"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/02_match_buoys2granules_ipx.ipynb b/icesat2_kdph-main/02_match_buoys2granules_ipx.ipynb
new file mode 100644
index 0000000..b7a05ae
--- /dev/null
+++ b/icesat2_kdph-main/02_match_buoys2granules_ipx.ipynb
@@ -0,0 +1,7685 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "fe17c663-98a1-4c47-b0b8-dbd94cf8a89e",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet \"sliderule @ git+https://github.com/SlideRuleEarth/sliderule#subdirectory=clients/python\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "2256384a-86a8-43c0-801b-5953747525ba",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet rtree\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "26a80715-bdf2-45ce-afe9-9fa0f0bd7529",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet hdbscan"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "8072f95f-1db6-4c31-8af8-293fd665bad4",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet erddapy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "8f821b93-0ec9-41db-af0e-61e26934504d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "True"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from erddapy import ERDDAP\n",
+ "from sliderule import sliderule, icesat2, earthdata\n",
+ "import icepyx as ipx\n",
+ "from datetime import datetime, timedelta,timezone\n",
+ "\n",
+ "import time\n",
+ "import os\n",
+ "import re\n",
+ "import glob\n",
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import logging\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "# from config import get_args\n",
+ "from config import workspace_path, atl03_path,\\\n",
+ " other_data_path ,shoreline_data ,gebco_path ,\\\n",
+ " horizontal_res ,vertical_res ,subsurface_thresh ,\\\n",
+ " ignore_subsurface_height_thres ,output_path \n",
+ "\n",
+ "\n",
+ " \n",
+ "from kd_utils.data_processing import load_data, \\\n",
+ " extract_file_params, \\\n",
+ " Extract_sea_photons, \\\n",
+ " filter_photon_dataset_by_hull_area\n",
+ " \n",
+ " \n",
+ "from kd_utils.sea_photons_analysis import process_sea_photon_binning,\\\n",
+ " get_sea_surface_height\n",
+ " \n",
+ " \n",
+ "from kd_utils.bathy_processing import process_subsurface_photon_filtering\n",
+ "\n",
+ "from kd_utils.visualization import plot_photon_height, \\\n",
+ " plot_kd_photons, \\\n",
+ " plot_filtered_seafloor_photons\n",
+ " \n",
+ "from kd_utils.Kd_analysis import process_kd_calculation\n",
+ "\n",
+ "from kd_utils.interpolation import geoid_correction, \\\n",
+ " refraction_correction, \\\n",
+ " interpolate_labels, \\\n",
+ " apply_interpolation\n",
+ "\n",
+ "\n",
+ "# Configure logging\n",
+ "# logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')\n",
+ "sliderule.init(verbose=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "3ae97e48-47cb-461e-ac38-1f4ca6df96ec",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def fname2datetime(fname):\n",
+ " y = int(fname[6:10])\n",
+ " m = int(fname[10:12])\n",
+ " d = int(fname[12:14])\n",
+ " H = int(fname[14:16])\n",
+ " M = int(fname[16:18])\n",
+ " S = int(fname[18:20])\n",
+ "\n",
+ " t = datetime(y,m,d,H,M,S, tzinfo=timezone.utc)\n",
+ " return t\n",
+ "\n",
+ "def buoy_bound_box(lat,lon,buffer_km):\n",
+ " # define a buffer distance around the buoy to search for icesat-2 data\n",
+ " lat_buff = buffer_km/111 # convert buffer distance to frac of 1 deg lat\n",
+ " lon_buff = buffer_km/(111*np.cos(lat*np.pi/180)) # convert buffer distance to frac of 1 deg lon\n",
+ " # define bounding box around the buoy (WSEN)\n",
+ " # example: bbox = [-108.3, 39.2, -107.8, 38.8]\n",
+ " # bbox = [lon-lon_buff,lat+lat_buff,lon+lon_buff,lat-lat_buff]\n",
+ " # region = sliderule.toregion(bbox)\n",
+ " minx = lon - lon_buff\n",
+ " miny = lat - lat_buff\n",
+ " maxx = lon + lon_buff\n",
+ " maxy = lat + lat_buff\n",
+ "\n",
+ " # polygon vertices: Given as longitude, latitude coordinate pairs of decimal degrees with the last entry a repeat of the first.\n",
+ " poly_ipx = [(minx, miny), (maxx, miny), (maxx, maxy), (minx, maxy), (minx, miny)]\n",
+ " poly_cmr = [{'lon': minx, 'lat': miny},\n",
+ " {'lon': maxx, 'lat': miny},\n",
+ " {'lon': maxx, 'lat': maxy},\n",
+ " {'lon': minx, 'lat': maxy},\n",
+ " {'lon': minx, 'lat': miny}] # Closing the loop by repeating the first point\n",
+ "\n",
+ " return poly_cmr, poly_ipx\n",
+ "\n",
+ "def main():\n",
+ " try:\n",
+ " \n",
+ " # Load IS2 and extract sea photons\n",
+ " IS2_atl03_mds, IS2_atl03_attrs, IS2_atl03_beams = load_data(ATL03_h5_file_path) \n",
+ " \n",
+ " ## For debugging\n",
+ " #IS2_atl03_beams=['gt1r']\n",
+ " \n",
+ " # Check beam types and ensure we have what we want (e.g., strong beams)\n",
+ " target_beam_type=['gt1l', 'gt2l', 'gt3l'] \n",
+ " IS2_atl03_beams = [beam for beam in IS2_atl03_beams if beam in target_beam_type]\n",
+ " if not IS2_atl03_beams:\n",
+ " print('No Strong Beam')\n",
+ " # sys.exit() # Terminate the program\n",
+ " else:\n",
+ " print(f'Strong Beams Found: {IS2_atl03_beams}')\n",
+ " \n",
+ " # Extract sea photon by applying the land mask\n",
+ " sea_photon_dataset = Extract_sea_photons(IS2_atl03_mds, IS2_atl03_beams, shoreline_data_path)\n",
+ " \n",
+ " \n",
+ " # Main processing function to apply binning beam-by-beam \n",
+ " # to bin the photons data by vertical_res 25 cm and horizontal resolution 500m\n",
+ " binned_dataset_sea_surface = process_sea_photon_binning(sea_photon_dataset, horizontal_res=horizontal_res, vertical_res=vertical_res)\n",
+ " \n",
+ " \n",
+ " # filter to get subsurface photons\n",
+ " sea_surface_height, sea_surface_label, filtered_seafloor_subsurface_photon_dataset = \\\n",
+ " process_subsurface_photon_filtering(binned_dataset_sea_surface, subsurface_thresh, GEBCO_file_path_lists)\n",
+ " \n",
+ " \n",
+ " # Visualization of the filtered seafloor photons\n",
+ " # Uncomment the following lines to visualize if needed\n",
+ " # output_path = OutputPath+'/IS2_subsurface_RM_Seafloor.jpg'\n",
+ " # plot_filtered_seafloor_photons(filtered_seafloor_subsurface_dataset=filtered_seafloor_subsurface_photon_dataset, \n",
+ " # sea_photon_dataset=sea_photon_dataset, \n",
+ " # sea_surface_height=sea_surface_height, \n",
+ " # output_path=output_path)\n",
+ " \n",
+ " ########################\n",
+ " # Todo: move the filter to the begining\n",
+ " # Filter shallow photons that may have noises from wave, afterpulse, or others\n",
+ " # by setting Ignore_Subsurface_Height_Thres (i.e., -6)\n",
+ " # Masked out the deep water photons by applying (filtered_seafloor_subsurface_photon_dataset < Ignore_Subsurface_Height_Thres)\n",
+ " # Filter out points below the seafloor\n",
+ " Final_filtered_subsurface_photon_dataset = filtered_seafloor_subsurface_photon_dataset[\n",
+ " filtered_seafloor_subsurface_photon_dataset['photon_height'] < Ignore_Subsurface_Height_Thres\n",
+ " ]\n",
+ " \n",
+ " # Final_filtered_subsurface_photon_dataset = filtered_seafloor_subsurface_photon_dataset\n",
+ " \n",
+ " #Filter dataframe based on beam list\n",
+ " Final_filtered_subsurface_photon_dataset = Final_filtered_subsurface_photon_dataset[Final_filtered_subsurface_photon_dataset['beam_id'].isin(target_beam_type)]\n",
+ " \n",
+ " ###################################\n",
+ " ### Todo: move the filter to the begining\n",
+ " # Steps to standardize KD calculation by filtering out \n",
+ " # segments lacking sufficient subsurface photons.\n",
+ " # Approach: Use the ConvexHull of photons within \n",
+ " # each rectanglar area formed by each horizontal bin (here, it is lat_bins) and \n",
+ " # based on dataframe Final_filtered_subsurface_photon_dataset along the distance of the track\n",
+ " \n",
+ " # Apply filtering based on hull area if desired\n",
+ " Final_filtered_subsurface_photon_dataset, convex_hull_areas, convex_hulls = filter_photon_dataset_by_hull_area(\n",
+ " Final_filtered_subsurface_photon_dataset, hull_area_threshold=1500\n",
+ " )\n",
+ " \n",
+ " # Visualization\n",
+ " # Uncomment the following line to visualize if needed\n",
+ " \n",
+ " # plot_target_beam=['gt1l']\n",
+ " # plot_convex_hulls(Final_filtered_subsurface_photon_dataset, plot_target_beam, convex_hulls, convex_hull_areas)\n",
+ " \n",
+ " ########################################### \n",
+ " # calculate kd and save it to table\n",
+ " SubsurfacePhotonDFAddedKd = process_kd_calculation(Final_filtered_subsurface_photon_dataset)\n",
+ " \n",
+ " \n",
+ " ## Todo move this part into a function so that it will not looks too busy here\n",
+ " # Extract the timestamp using regex and use it to set the output file name\n",
+ " match = re.search(r\"_(\\d{14})_\", ATL03_h5_file_path)\n",
+ " timestamp = match.group(1) if match else \"unknown\"\n",
+ " \n",
+ " output_file_path = os.path.join(OutputPath, f\"{timestamp}_AddedKdDataset_strongBeams_Further.csv\")\n",
+ " SubsurfacePhotonDFAddedKd.to_csv(output_file_path, index=False)\n",
+ " \n",
+ " if 'relative_AT_dist' in filtered_seafloor_subsurface_photon_dataset.columns:\n",
+ " unique_photon_dataset = filtered_seafloor_subsurface_photon_dataset[['relative_AT_dist', 'lat_bins', 'photon_height']].drop_duplicates()\n",
+ " unique_photon_dataset['relative_AT_dist_center'] = unique_photon_dataset\\\n",
+ " .groupby('lat_bins', observed=False)['relative_AT_dist'].transform('mean')\n",
+ " def find_closest(group):\n",
+ " if not group.empty:\n",
+ " center = group['relative_AT_dist_center'].iloc[0]\n",
+ " group['dist_to_center'] = abs(group['relative_AT_dist'] - center)\n",
+ " closest_index = group['dist_to_center'].idxmin()\n",
+ " return group.loc[[closest_index]]\n",
+ " else:\n",
+ " return pd.DataFrame(columns=group.columns)\n",
+ " \n",
+ " # Filter out empty or all-NA entries\n",
+ " unique_photon_dataset_filtered = unique_photon_dataset.dropna(how='all', axis=1)\n",
+ " \n",
+ " # Group by 'lat_bins' and apply the find_closest function\n",
+ " closest_to_center = unique_photon_dataset_filtered\\\n",
+ " .groupby('lat_bins', observed=False)\\\n",
+ " .apply(find_closest, include_groups=True)\n",
+ " # .reset_index()\n",
+ " \n",
+ " # Remove the index without resetting it if 'lat_bins' already exists\n",
+ " closest_to_center.index = closest_to_center.index.droplevel(0)\n",
+ " \n",
+ " # Ensure relevant entries are excluded before concatenation\n",
+ " closest_to_center = closest_to_center.dropna(axis=1, how='all')\n",
+ " \n",
+ " Kd_DF_MergedDistance = closest_to_center.merge(SubsurfacePhotonDFAddedKd, on='lat_bins', how='left')\n",
+ " Kd_DF_MergedDistance = Kd_DF_MergedDistance.drop(columns=['relative_AT_dist_center', 'dist_to_center'])\n",
+ " \n",
+ " \n",
+ " # plot_kd_photons(OutputPath, timestamp, plot_target_beam, filtered_seafloor_subsurface_photon_dataset, Kd_DF_MergedDistance)\n",
+ " \n",
+ " logging.info(\"SUCCESS!\")\n",
+ " \n",
+ " except Exception as e:\n",
+ " logging.error(f\"An error occurred: {e}\")\n",
+ "\n",
+ "# if __name__ == '__main__':\n",
+ " \n",
+ "# # Get arguments function\n",
+ "# args = get_args() \n",
+ " \n",
+ "# ATL03_h5_file_path = os.path.join(args.workspace_path, args.atl03_path, args.atl03_file)\n",
+ " \n",
+ "# shoreline_data_path = os.path.join(args.workspace_path, args.other_data_path, args.shoreline_data)\n",
+ " \n",
+ "# GEBCO_full_path = os.path.join(args.workspace_path, args.other_data_path, args.gebco_path)\n",
+ " \n",
+ "# OutputPath = os.path.join(args.workspace_path, args.output_path)\n",
+ " \n",
+ "# #Get the gebco list\n",
+ "# #gebco_2024_n0.0_s-90.0_w0.0_e90.0.tif\n",
+ "# GEBCO_file_pattern = os.path.join(GEBCO_full_path, \"gebco_*.tif\")\n",
+ "\n",
+ "# #Initialize with an empty list\n",
+ "# GEBCO_file_path_lists = []\n",
+ "# for GEBCO_file_path_name in glob.glob(GEBCO_file_pattern):\n",
+ "# #put the find one into the list\n",
+ "# GEBCO_file_path_lists.append(GEBCO_file_path_name)\n",
+ "\n",
+ " \n",
+ "# # Get all other necessary parameters\n",
+ "# horizontal_res = args.horizontal_res\n",
+ " \n",
+ "# vertical_res = args.vertical_res\n",
+ " \n",
+ "# subsurface_thresh = args.subsurface_thresh\n",
+ " \n",
+ "# Ignore_Subsurface_Height_Thres = args.ignore_subsurface_height_thres\n",
+ " \n",
+ "# # When all paramters ready, call the main function\n",
+ "# main()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "1d72dbef-f954-499f-be76-c1de3233b325",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
sites
\n",
+ "
url
\n",
+ "
time_coverage_start
\n",
+ "
time_coverage_end
\n",
+ "
geospatial_lat_min
\n",
+ "
geospatial_lat_max
\n",
+ "
geospatial_lon_min
\n",
+ "
geospatial_lon_max
\n",
+ "
geospatial_lat_units
\n",
+ "
geospatial_lon_units
\n",
+ "
...
\n",
+ "
glider
\n",
+ "
ship
\n",
+ "
turb
\n",
+ "
ssc
\n",
+ "
phot
\n",
+ "
chl
\n",
+ "
turbid
\n",
+ "
photo
\n",
+ "
radiation
\n",
+ "
photon_data
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
0
\n",
+ "
ooi-ce01issp-sp001-10-paradj000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2014-04-17T22:28:00Z
\n",
+ "
2023-09-22T08:00:00Z
\n",
+ "
44.660120
\n",
+ "
44.660120
\n",
+ "
-124.098120
\n",
+ "
-124.098120
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
1
\n",
+ "
ooi-ce04osps-sf01b-3c-parada102
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2015-08-03T15:10:00Z
\n",
+ "
2024-04-09T22:00:00Z
\n",
+ "
44.369353
\n",
+ "
44.369353
\n",
+ "
-124.954108
\n",
+ "
-124.954108
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
ooi-ce02shsp-sp001-09-paradj000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2015-03-18T19:36:00Z
\n",
+ "
2023-09-23T08:08:00Z
\n",
+ "
44.635550
\n",
+ "
44.635550
\n",
+ "
-124.301470
\n",
+ "
-124.301470
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
ooi-ce06issp-sp001-10-paradj000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2015-04-10T18:28:00Z
\n",
+ "
2023-09-23T08:02:00Z
\n",
+ "
47.135530
\n",
+ "
47.135530
\n",
+ "
-124.270170
\n",
+ "
-124.270170
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
ooi-ce09ospm-wfp01-05-paradk000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2014-04-19T01:02:00Z
\n",
+ "
2024-04-19T13:09:00Z
\n",
+ "
46.851630
\n",
+ "
46.851630
\n",
+ "
-124.974420
\n",
+ "
-124.974420
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
5
\n",
+ "
ooi-ce07shsp-sp001-09-paradj000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2015-04-09T23:25:00Z
\n",
+ "
2022-04-26T20:04:00Z
\n",
+ "
46.983580
\n",
+ "
46.983580
\n",
+ "
-124.552130
\n",
+ "
-124.552130
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
6
\n",
+ "
ooi-cp02pmci-wfp01-05-paradk000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2014-04-17T01:02:00Z
\n",
+ "
2022-11-18T18:36:00Z
\n",
+ "
40.226633
\n",
+ "
40.226633
\n",
+ "
-70.889067
\n",
+ "
-70.889067
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
7
\n",
+ "
ooi-cp02pmco-wfp01-05-paradk000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2014-04-13T18:02:00Z
\n",
+ "
2022-11-18T15:30:00Z
\n",
+ "
40.096817
\n",
+ "
40.096817
\n",
+ "
-70.879150
\n",
+ "
-70.879150
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
8
\n",
+ "
ooi-cp01cnpm-wfp01-05-paradk000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2017-11-06T19:02:00Z
\n",
+ "
2022-04-24T18:27:00Z
\n",
+ "
40.133907
\n",
+ "
40.133907
\n",
+ "
-70.770433
\n",
+ "
-70.770433
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
9
\n",
+ "
ooi-cp03ispm-wfp01-05-paradk000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2017-11-12T05:02:00Z
\n",
+ "
2022-04-25T18:24:00Z
\n",
+ "
40.362005
\n",
+ "
40.362005
\n",
+ "
-70.878502
\n",
+ "
-70.878502
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
10
\n",
+ "
ooi-cp04ospm-wfp01-05-paradk000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2014-04-15T20:02:00Z
\n",
+ "
2022-11-11T18:03:00Z
\n",
+ "
39.936000
\n",
+ "
39.936000
\n",
+ "
-70.879417
\n",
+ "
-70.879417
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
11
\n",
+ "
ooi-cp02pmui-wfp01-05-paradk000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2013-11-24T01:32:00Z
\n",
+ "
2022-11-19T09:24:00Z
\n",
+ "
40.364917
\n",
+ "
40.364917
\n",
+ "
-70.780483
\n",
+ "
-70.780483
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
12
\n",
+ "
ooi-cp02pmuo-wfp01-05-paradk000
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2013-11-23T16:02:00Z
\n",
+ "
2022-11-18T09:10:00Z
\n",
+ "
39.939333
\n",
+ "
39.939333
\n",
+ "
-70.770183
\n",
+ "
-70.770183
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
13
\n",
+ "
ooi-rs03axps-sf03a-3c-parada301
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2014-10-07T21:49:00Z
\n",
+ "
2024-07-01T08:03:00Z
\n",
+ "
45.816712
\n",
+ "
45.816712
\n",
+ "
-129.754055
\n",
+ "
-129.754055
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
14
\n",
+ "
ooi-rs01sbps-sf01a-3c-parada101
\n",
+ "
https://erddap.dataexplorer.oceanobservatories...
\n",
+ "
2014-10-07T20:47:00Z
\n",
+ "
2024-07-01T07:44:00Z
\n",
+ "
44.515161
\n",
+ "
44.515161
\n",
+ "
-125.389899
\n",
+ "
-125.389899
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
15 rows × 22 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " sites \\\n",
+ "0 ooi-ce01issp-sp001-10-paradj000 \n",
+ "1 ooi-ce04osps-sf01b-3c-parada102 \n",
+ "2 ooi-ce02shsp-sp001-09-paradj000 \n",
+ "3 ooi-ce06issp-sp001-10-paradj000 \n",
+ "4 ooi-ce09ospm-wfp01-05-paradk000 \n",
+ "5 ooi-ce07shsp-sp001-09-paradj000 \n",
+ "6 ooi-cp02pmci-wfp01-05-paradk000 \n",
+ "7 ooi-cp02pmco-wfp01-05-paradk000 \n",
+ "8 ooi-cp01cnpm-wfp01-05-paradk000 \n",
+ "9 ooi-cp03ispm-wfp01-05-paradk000 \n",
+ "10 ooi-cp04ospm-wfp01-05-paradk000 \n",
+ "11 ooi-cp02pmui-wfp01-05-paradk000 \n",
+ "12 ooi-cp02pmuo-wfp01-05-paradk000 \n",
+ "13 ooi-rs03axps-sf03a-3c-parada301 \n",
+ "14 ooi-rs01sbps-sf01a-3c-parada101 \n",
+ "\n",
+ " url time_coverage_start \\\n",
+ "0 https://erddap.dataexplorer.oceanobservatories... 2014-04-17T22:28:00Z \n",
+ "1 https://erddap.dataexplorer.oceanobservatories... 2015-08-03T15:10:00Z \n",
+ "2 https://erddap.dataexplorer.oceanobservatories... 2015-03-18T19:36:00Z \n",
+ "3 https://erddap.dataexplorer.oceanobservatories... 2015-04-10T18:28:00Z \n",
+ "4 https://erddap.dataexplorer.oceanobservatories... 2014-04-19T01:02:00Z \n",
+ "5 https://erddap.dataexplorer.oceanobservatories... 2015-04-09T23:25:00Z \n",
+ "6 https://erddap.dataexplorer.oceanobservatories... 2014-04-17T01:02:00Z \n",
+ "7 https://erddap.dataexplorer.oceanobservatories... 2014-04-13T18:02:00Z \n",
+ "8 https://erddap.dataexplorer.oceanobservatories... 2017-11-06T19:02:00Z \n",
+ "9 https://erddap.dataexplorer.oceanobservatories... 2017-11-12T05:02:00Z \n",
+ "10 https://erddap.dataexplorer.oceanobservatories... 2014-04-15T20:02:00Z \n",
+ "11 https://erddap.dataexplorer.oceanobservatories... 2013-11-24T01:32:00Z \n",
+ "12 https://erddap.dataexplorer.oceanobservatories... 2013-11-23T16:02:00Z \n",
+ "13 https://erddap.dataexplorer.oceanobservatories... 2014-10-07T21:49:00Z \n",
+ "14 https://erddap.dataexplorer.oceanobservatories... 2014-10-07T20:47:00Z \n",
+ "\n",
+ " time_coverage_end geospatial_lat_min geospatial_lat_max \\\n",
+ "0 2023-09-22T08:00:00Z 44.660120 44.660120 \n",
+ "1 2024-04-09T22:00:00Z 44.369353 44.369353 \n",
+ "2 2023-09-23T08:08:00Z 44.635550 44.635550 \n",
+ "3 2023-09-23T08:02:00Z 47.135530 47.135530 \n",
+ "4 2024-04-19T13:09:00Z 46.851630 46.851630 \n",
+ "5 2022-04-26T20:04:00Z 46.983580 46.983580 \n",
+ "6 2022-11-18T18:36:00Z 40.226633 40.226633 \n",
+ "7 2022-11-18T15:30:00Z 40.096817 40.096817 \n",
+ "8 2022-04-24T18:27:00Z 40.133907 40.133907 \n",
+ "9 2022-04-25T18:24:00Z 40.362005 40.362005 \n",
+ "10 2022-11-11T18:03:00Z 39.936000 39.936000 \n",
+ "11 2022-11-19T09:24:00Z 40.364917 40.364917 \n",
+ "12 2022-11-18T09:10:00Z 39.939333 39.939333 \n",
+ "13 2024-07-01T08:03:00Z 45.816712 45.816712 \n",
+ "14 2024-07-01T07:44:00Z 44.515161 44.515161 \n",
+ "\n",
+ " geospatial_lon_min geospatial_lon_max geospatial_lat_units \\\n",
+ "0 -124.098120 -124.098120 degrees_north \n",
+ "1 -124.954108 -124.954108 degrees_north \n",
+ "2 -124.301470 -124.301470 degrees_north \n",
+ "3 -124.270170 -124.270170 degrees_north \n",
+ "4 -124.974420 -124.974420 degrees_north \n",
+ "5 -124.552130 -124.552130 degrees_north \n",
+ "6 -70.889067 -70.889067 degrees_north \n",
+ "7 -70.879150 -70.879150 degrees_north \n",
+ "8 -70.770433 -70.770433 degrees_north \n",
+ "9 -70.878502 -70.878502 degrees_north \n",
+ "10 -70.879417 -70.879417 degrees_north \n",
+ "11 -70.780483 -70.780483 degrees_north \n",
+ "12 -70.770183 -70.770183 degrees_north \n",
+ "13 -129.754055 -129.754055 degrees_north \n",
+ "14 -125.389899 -125.389899 degrees_north \n",
+ "\n",
+ " geospatial_lon_units ... glider ship turb ssc phot chl \\\n",
+ "0 degrees_east ... False False False False True False \n",
+ "1 degrees_east ... False False False False True False \n",
+ "2 degrees_east ... False False False False True False \n",
+ "3 degrees_east ... False False False False True False \n",
+ "4 degrees_east ... False False False False True False \n",
+ "5 degrees_east ... False False False False True False \n",
+ "6 degrees_east ... False False False False True False \n",
+ "7 degrees_east ... False False False False True False \n",
+ "8 degrees_east ... False False False False True False \n",
+ "9 degrees_east ... False False False False True False \n",
+ "10 degrees_east ... False False False False True False \n",
+ "11 degrees_east ... False False False False True False \n",
+ "12 degrees_east ... False False False False True False \n",
+ "13 degrees_east ... False False False False True False \n",
+ "14 degrees_east ... False False False False True False \n",
+ "\n",
+ " turbid photo radiation photon_data \n",
+ "0 False True True False \n",
+ "1 False True True False \n",
+ "2 False True True False \n",
+ "3 False True True False \n",
+ "4 False True True False \n",
+ "5 False True True False \n",
+ "6 False True True False \n",
+ "7 False True True False \n",
+ "8 False True True False \n",
+ "9 False True True False \n",
+ "10 False True True False \n",
+ "11 False True True False \n",
+ "12 False True True False \n",
+ "13 False True True False \n",
+ "14 False True True False \n",
+ "\n",
+ "[15 rows x 22 columns]"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# load a list of all the relevant ERDDAPs and their urls\n",
+ "FF = pd.read_pickle(\"results/labeled_relevant_stations.pkl\")\n",
+ "FF = FF[(FF.buoy == True) & ((FF.phot==True) | (FF.photo==True) | (FF.radiation==True))]\n",
+ "FF.reset_index(drop=True, inplace=True)\n",
+ "# # remove stations with PAR data in air or just no good data\n",
+ "FF = FF[27:42]\n",
+ "# FF = FF.drop(index=[34,35,36,37,39,40])\n",
+ "FF.reset_index(drop=True, inplace=True)\n",
+ "\n",
+ "FF[\"geospatial_lat_min\"] = pd.to_numeric(FF[\"geospatial_lat_min\"])\n",
+ "FF[\"geospatial_lon_min\"] = pd.to_numeric(FF[\"geospatial_lon_min\"])\n",
+ "FF[\"geospatial_lat_max\"] = pd.to_numeric(FF[\"geospatial_lat_max\"])\n",
+ "FF[\"geospatial_lon_max\"] = pd.to_numeric(FF[\"geospatial_lon_max\"])\n",
+ "FF[\"photon_data\"] = False\n",
+ "\n",
+ "FF\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "81cbc4d3-802a-4e98-9220-8b847742bc3b",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "processing 0/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n"
+ ]
+ },
+ {
+ "name": "stdin",
+ "output_type": "stream",
+ "text": [
+ "Enter your Earthdata Login username: gloverha\n",
+ "Enter your Earthdata password: ········\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "order ID: 5000005876110\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876110 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876111\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876111 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876112\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876112 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876113\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876113 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876114\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876114 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876115\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876115 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876116\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876116 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876117\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876117 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876118\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876118 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876119\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876119 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876121\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876121 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876122\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876122 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 1/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876123\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876123 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876124\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876124 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876125\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876125 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876126\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876126 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876127\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876127 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876128\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876128 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876129\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876129 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876130\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876130 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876131\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876131 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876133\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876133 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876134\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876134 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876135\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876135 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876136\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876136 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876137\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876137 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876138\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876138 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876139\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876139 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876140\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876140 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876141\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876141 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876142\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876142 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876143\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876143 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876144\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876144 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876146\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876146 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876147\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876147 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876148\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876148 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876149\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876149 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 2/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876150\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876150 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876151\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876151 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876152\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876152 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876153\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876153 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876154\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876154 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876155\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876155 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876156\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876156 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876157\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876157 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876158\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876158 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876160\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876160 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 3/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876161\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876161 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876162\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876162 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876163\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876163 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876164\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876164 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876165\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876165 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876166\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876166 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876167\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876167 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876168\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876168 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876169\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876169 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876170\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876170 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 4/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876172\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876172 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876173\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876173 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876174\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876174 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876175\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876175 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876176\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876176 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876177\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876177 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876179\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876179 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876181\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876181 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876183\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876183 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876184\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876184 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876187\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876187 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876189\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876189 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876191\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876191 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876194\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876194 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876196\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876196 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876198\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876198 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876200\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876200 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876201\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876201 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876203\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876203 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876205\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876205 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876207\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876207 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876210\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876210 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876212\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876212 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876214\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876214 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876216\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876216 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876218\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876218 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876221\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876221 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876223\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876223 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876224\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876224 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876225\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876225 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876226\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876226 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876227\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876227 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876228\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876228 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876229\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876229 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876230\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876230 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876231\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876231 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876232\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876232 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876233\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876233 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876234\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876234 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876235\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876235 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876236\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876236 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 5/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876237\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876237 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876238\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876238 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876239\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876239 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876240\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876240 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876241\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876241 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876242\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876244 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876245\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876245 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876246\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876246 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876247\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876247 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876249\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876249 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876250\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876250 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876251\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876251 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876252\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876252 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876253\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876253 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876254\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876254 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876255\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876255 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876256\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876256 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876257\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876257 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876258\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876258 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876259\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876259 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876260\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876260 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876261\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876261 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876262\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876262 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876263\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876263 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876264\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876264 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876265\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876265 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876266\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876266 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876267\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876267 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876268\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876268 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876269\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876269 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 7/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876270\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876270 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876271\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876271 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876272\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876272 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876273\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876273 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876274\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876274 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876275\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876275 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876276\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876276 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876277\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876277 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876278\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876278 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876279\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876279 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876280\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876283 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876284\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876284 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876285\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876285 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876286\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876286 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876287\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876287 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876288\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876288 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876289\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876289 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876290\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876290 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876291\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876291 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876292\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876292 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876293\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876293 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876294\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876294 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876295\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876295 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 8/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876296\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876296 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876297\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876297 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876298\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876298 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876299\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876299 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876300\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876300 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876301\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876301 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876302\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876302 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876303\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876303 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876304\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876304 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876305\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876305 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 9/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876306\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876306 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876307\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876307 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876308\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876308 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876309\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876309 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876310\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876310 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876311\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876311 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876312\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876312 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876313\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876313 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876314\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876314 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876315\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876315 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876316\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876316 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876317\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876317 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 10/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876318\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876318 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876319\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876319 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876320\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876320 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876321\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876321 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876322\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876327 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876328\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876328 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876329\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876329 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876330\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876330 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876331\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876331 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876332\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876332 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876333\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876333 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876334\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876334 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876335\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876335 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876336\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876336 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876337\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876337 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876338\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876338 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876339\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876339 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876340\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876340 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876341\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876341 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876342\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876342 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876343\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876343 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876344\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876344 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876345\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876345 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876346\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876346 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 11/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876347\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876347 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876348\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876348 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876349\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876349 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876350\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876350 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876351\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876351 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876352\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876352 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876353\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876353 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876354\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876354 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876355\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876355 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876356\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876356 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876357\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876357 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876358\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876358 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876359\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876359 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876360\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876360 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876361\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876361 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876362\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876362 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876363\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876363 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876364\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876364 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876365\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876365 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876366\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876366 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876367\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876367 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876368\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876368 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876369\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876369 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876370\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876370 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876371\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876371 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 12/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876372\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876372 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876373\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876373 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876374\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876374 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876375\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876375 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876376\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876376 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876377\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876377 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876378\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876378 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876379\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876379 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876380\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876380 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876381\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876381 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876382\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876382 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876383\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876383 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876384\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876384 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876385\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876385 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876386\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876386 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876387\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876387 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876389\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876389 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876390\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876390 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876391\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876391 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876392\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876392 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876394\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876394 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876395\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876395 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876396\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876396 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876397\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876397 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876399\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876399 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876400\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876400 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 13/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876401\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876401 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876402\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876402 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876403\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876403 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876404\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876404 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876405\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876405 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876406\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876406 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876407\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876407 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876408\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876408 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876409\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876409 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876410\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876410 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876411\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876411 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876412\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876412 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876413\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876413 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876414\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876414 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876415\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876415 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876416\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876416 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876417\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876417 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876418\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876418 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876419\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876419 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876420\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876420 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876421\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876421 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876422\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876422 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876423\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876423 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876425\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876425 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876426\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876426 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876427\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876427 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876428\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876428 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 14/15\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876429\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876429 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876430\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876430 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876431\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876431 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876432\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876432 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876434\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876434 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876435\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876435 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876436\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876436 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876437\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876437 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876438\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876438 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876439\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876439 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876440\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876440 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876441\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876441 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876442\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876442 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876443\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876443 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876444\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876444 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876445\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876445 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876446\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876446 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876447\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876447 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876448\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876448 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876449\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876449 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876451\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876451 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876453\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876453 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876454\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876454 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876455\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876455 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876456\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876456 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876457\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876457 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876458\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876458 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876459\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876459 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876460\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876460 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876462\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876462 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876463\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876463 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876464\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876464 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876465\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876465 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876466\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876466 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876467\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876467 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876468\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876468 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876469\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876469 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876471\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876471 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876472\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876472 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876474\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876474 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876475\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876475 of 1 order(s) is downloaded.\n",
+ "Download complete\n"
+ ]
+ }
+ ],
+ "source": [
+ "# these values can be adjusted to broaden/narrow the fit btwn icesat-2 and the ground truth\n",
+ "search_hrs = 6\n",
+ "search_km = 4\n",
+ "for jj in range(len(FF)):\n",
+ " print('processing '+str(jj) +'/'+str(len(FF)))# give a printout every 100 for my sanity\n",
+ "\n",
+ " # define a search region around the buoy \n",
+ " lat = FF['geospatial_lat_min'][jj]\n",
+ " lon = FF['geospatial_lon_min'][jj]\n",
+ " poly_cmr,poly_ipx = buoy_bound_box(lat,lon,search_km)\n",
+ "\n",
+ " # search CMR for ATL03 granules in the bounding box\n",
+ " grns = earthdata.cmr(short_name=\"ATL03\",\n",
+ " polygon=poly_cmr,\n",
+ " version='006')\n",
+ " # save the times for each granule as a datetime object\n",
+ " icesat_times = [fname2datetime(fname) for fname in grns]\n",
+ "\n",
+ " # now check if buoy data exists for these granules,\n",
+ " e = ERDDAP(server=FF['url'][jj],\n",
+ " protocol=\"tabledap\",\n",
+ " response=\"csv\")\n",
+ " e.dataset_id = FF['sites'][jj]\n",
+ "\n",
+ " for t in icesat_times:\n",
+ " # add a time buffer to search for relevant buoy data for each granule,\n",
+ " t_start = (t-timedelta(hours=search_hrs)).strftime(\"%Y-%m-%dT%H:%M:%SZ\")\n",
+ " t_end = (t+timedelta(hours=search_hrs)).strftime(\"%Y-%m-%dT%H:%M:%SZ\")\n",
+ " e.constraints = {\"time>=\": t_start,\n",
+ " \"time<=\": t_end}\n",
+ " # try to download the associated buoy data\n",
+ " try:\n",
+ " buoy = e.to_pandas() \n",
+ " except:\n",
+ " continue\n",
+ " \n",
+ " # if buoy data exists, download the ATL03 photons in the bounding box at this time\n",
+ " short_name = 'ATL03'\n",
+ " t_start = (t-timedelta(hours=search_hrs))\n",
+ " t_end = (t+timedelta(hours=search_hrs))\n",
+ " date_range = [t_start,t_end]\n",
+ " region = ipx.Query(short_name, poly_ipx, date_range)\n",
+ " try:\n",
+ " region.download_granules('data/')\n",
+ " except:\n",
+ " continue\n",
+ " # buoy.to_csv('data/data_'+str(e.dataset_id)+'_'+str(t_start)+'.csv')\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "0e91ffef-8a80-4cbe-ac5b-3fd2c41e4842",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:21:33,727 - INFO - ./data/processed_ATL03_20220924031319_00521702_006_01.h5\n",
+ "2024-12-04 03:21:33,733 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:22:38,645 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:22:38,645 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:22:38,656 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:22:38,657 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:22:38,675 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:22:38,676 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:22:38,705 - INFO - SUCCESS!\n",
+ "2024-12-04 03:22:38,725 - INFO - ./data/processed_ATL03_20230104101806_02271806_006_02.h5\n",
+ "2024-12-04 03:22:38,736 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:23:14,867 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:23:14,868 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:23:14,945 - INFO - SUCCESS!\n",
+ "2024-12-04 03:23:14,963 - INFO - ./data/processed_ATL03_20190105194142_01280202_006_02.h5\n",
+ "2024-12-04 03:23:14,969 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:23:16,112 - ERROR - An error occurred: cannot convert float NaN to integer\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:23:16,132 - INFO - ./data/processed_ATL03_20190406152134_01280302_006_02.h5\n",
+ "2024-12-04 03:23:16,140 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:23:31,517 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:23:31,518 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:23:31,576 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:23:31,576 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:23:31,637 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:23:31,637 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:23:31,704 - INFO - SUCCESS!\n",
+ "2024-12-04 03:23:31,721 - INFO - ./data/processed_ATL03_20210628002806_00671202_006_01.h5\n",
+ "2024-12-04 03:23:31,728 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:23:42,456 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:23:42,457 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:23:42,515 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:23:42,515 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:23:42,606 - INFO - SUCCESS!\n",
+ "2024-12-04 03:23:42,625 - INFO - ./data/processed_ATL03_20221206204321_11781702_006_02.h5\n",
+ "2024-12-04 03:23:42,632 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:23:49,128 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:23:49,128 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:23:49,230 - INFO - SUCCESS!\n",
+ "2024-12-04 03:23:49,253 - INFO - ./data/processed_ATL03_20230329175841_01281902_006_02.h5\n",
+ "2024-12-04 03:23:49,261 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:24:20,547 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:24:20,548 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:24:20,608 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:24:20,608 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:24:20,700 - INFO - SUCCESS!\n",
+ "2024-12-04 03:24:20,719 - INFO - ./data/processed_ATL03_20211208050247_11721306_006_01.h5\n",
+ "2024-12-04 03:24:20,730 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:24:26,438 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:24:26,491 - INFO - ./data/processed_ATL03_20230623141210_00522002_006_02.h5\n",
+ "2024-12-04 03:24:26,497 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:24:42,318 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:24:42,318 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:24:42,370 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:24:42,371 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:24:42,429 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:24:42,429 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:24:42,523 - INFO - SUCCESS!\n",
+ "2024-12-04 03:24:42,543 - INFO - ./data/processed_ATL03_20231204182027_11722106_006_02.h5\n",
+ "2024-12-04 03:24:42,550 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:24:44,023 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:24:44,042 - INFO - ./data/processed_ATL03_20201101082201_05830902_006_01.h5\n",
+ "2024-12-04 03:24:44,048 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:24:44,488 - INFO - ./data/processed_ATL03_20201004015316_01510906_006_01.h5\n",
+ "2024-12-04 03:24:44,496 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:24:58,688 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:24:58,689 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:24:58,746 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:24:58,747 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:24:58,839 - INFO - SUCCESS!\n",
+ "2024-12-04 03:24:58,858 - INFO - ./data/processed_ATL03_20220331111930_01281502_006_01.h5\n",
+ "2024-12-04 03:24:58,865 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:25:25,147 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:25:25,148 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:25:25,198 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:25:25,199 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:25:25,257 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:25:25,258 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:25:25,328 - INFO - SUCCESS!\n",
+ "2024-12-04 03:25:25,348 - INFO - ./data/processed_ATL03_20210730073729_05601206_006_01.h5\n",
+ "2024-12-04 03:25:25,358 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:25:31,024 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:25:31,025 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:25:31,116 - INFO - SUCCESS!\n",
+ "2024-12-04 03:25:31,135 - INFO - ./data/processed_ATL03_20191202035308_10120502_006_01.h5\n",
+ "2024-12-04 03:25:31,140 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:25:31,818 - INFO - ./data/processed_ATL03_20220404111111_01891502_006_02.h5\n",
+ "2024-12-04 03:25:31,824 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:25:37,393 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:25:37,444 - INFO - ./data/processed_ATL03_20210408163907_02271106_006_02.h5\n",
+ "2024-12-04 03:25:37,450 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:25:38,176 - INFO - ./data/processed_ATL03_20181104071937_05600106_006_02.h5\n",
+ "2024-12-04 03:25:38,185 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:25:38,802 - INFO - ./data/processed_ATL03_20220730020120_05831602_006_02.h5\n",
+ "2024-12-04 03:25:38,808 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:25:39,598 - INFO - ./data/processed_ATL03_20240328130929_01512306_006_01.h5\n",
+ "2024-12-04 03:25:39,605 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:25:40,129 - INFO - ./data/processed_ATL03_20190308164535_10730202_006_02.h5\n",
+ "2024-12-04 03:25:40,140 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:25:54,231 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:25:54,232 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:25:54,257 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:25:54,258 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:25:54,306 - INFO - SUCCESS!\n",
+ "2024-12-04 03:25:54,331 - INFO - ./data/processed_ATL03_20181105190348_05830102_006_02.h5\n",
+ "2024-12-04 03:25:54,337 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:25:54,923 - INFO - ./data/processed_ATL03_20181214090444_11720106_006_02.h5\n",
+ "2024-12-04 03:25:54,935 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:25:55,366 - INFO - ./data/processed_ATL03_20240102165627_02272206_006_01.h5\n",
+ "2024-12-04 03:25:55,374 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:25:56,168 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:25:56,187 - INFO - ./data/processed_ATL03_20210605135114_11111106_006_01.h5\n",
+ "2024-12-04 03:25:56,195 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:26:05,105 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:26:05,106 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:26:05,133 - INFO - SUCCESS!\n",
+ "2024-12-04 03:26:05,149 - INFO - ./data/processed_ATL03_20181218055622_12310107_006_02.h5\n",
+ "2024-12-04 03:26:05,155 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:26:23,235 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:26:23,236 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:26:23,290 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:26:23,290 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:26:23,381 - INFO - SUCCESS!\n",
+ "2024-12-04 03:26:23,400 - INFO - ./data/processed_ATL03_20190903043904_10250402_006_02.h5\n",
+ "2024-12-04 03:26:23,409 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:26:23,839 - INFO - ./data/processed_ATL03_20210505030740_06311102_006_01.h5\n",
+ "2024-12-04 03:26:23,846 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:26:24,287 - INFO - ./data/processed_ATL03_20220330200106_01181506_006_01.h5\n",
+ "2024-12-04 03:26:24,296 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:26:29,753 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:26:29,753 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:26:29,781 - INFO - SUCCESS!\n",
+ "2024-12-04 03:26:29,797 - INFO - ./data/processed_ATL03_20231001090908_01892102_006_02.h5\n",
+ "2024-12-04 03:26:29,805 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:26:40,494 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:26:40,494 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:26:40,553 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:26:40,554 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:26:40,641 - INFO - SUCCESS!\n",
+ "2024-12-04 03:26:40,660 - INFO - ./data/processed_ATL03_20201006131149_01890902_006_01.h5\n",
+ "2024-12-04 03:26:40,667 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:26:49,005 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:26:49,008 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:26:49,111 - INFO - SUCCESS!\n",
+ "2024-12-04 03:26:49,126 - INFO - ./data/processed_ATL03_20201009101333_02330901_006_01.h5\n",
+ "2024-12-04 03:26:49,136 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:27:05,510 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:27:05,511 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:27:05,538 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:27:05,539 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:27:05,624 - INFO - SUCCESS!\n",
+ "2024-12-04 03:27:05,643 - INFO - ./data/processed_ATL03_20220828003726_10251602_006_01.h5\n",
+ "2024-12-04 03:27:05,652 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:27:12,336 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:27:12,337 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:27:12,387 - INFO - SUCCESS!\n",
+ "2024-12-04 03:27:12,404 - INFO - ./data/processed_ATL03_20211004195127_01891302_006_01.h5\n",
+ "2024-12-04 03:27:12,411 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:27:20,891 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:27:20,892 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:27:20,986 - INFO - SUCCESS!\n",
+ "2024-12-04 03:27:21,004 - INFO - ./data/processed_ATL03_20230922095129_00522102_006_02.h5\n",
+ "2024-12-04 03:27:21,011 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:27:31,828 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:27:31,882 - INFO - ./data/processed_ATL03_20191203001854_10250502_006_01.h5\n",
+ "2024-12-04 03:27:31,888 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:27:32,322 - INFO - ./data/processed_ATL03_20210901212338_10731202_006_02.h5\n",
+ "2024-12-04 03:27:32,327 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:27:40,670 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:27:40,671 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:27:40,768 - INFO - SUCCESS!\n",
+ "2024-12-04 03:27:40,787 - INFO - ./data/processed_ATL03_20200910024320_11720806_006_02.h5\n",
+ "2024-12-04 03:27:40,796 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:27:41,249 - INFO - ./data/processed_ATL03_20240322011031_00522302_006_01.h5\n",
+ "2024-12-04 03:27:41,255 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:28:04,497 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:28:04,498 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:28:04,552 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:28:04,553 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:28:04,609 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:28:04,609 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:28:04,697 - INFO - SUCCESS!\n",
+ "2024-12-04 03:28:04,714 - INFO - ./data/processed_ATL03_20190603123329_10120302_006_02.h5\n",
+ "2024-12-04 03:28:04,722 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:28:18,397 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:28:18,398 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:28:18,454 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:28:18,455 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:28:18,546 - INFO - SUCCESS!\n",
+ "2024-12-04 03:28:18,563 - INFO - ./data/processed_ATL03_20210101090005_01281002_006_01.h5\n",
+ "2024-12-04 03:28:18,572 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:28:19,115 - INFO - ./data/processed_ATL03_20230405055805_02271906_006_02.h5\n",
+ "2024-12-04 03:28:19,121 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:28:19,994 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:28:20,012 - INFO - ./data/processed_ATL03_20210706001126_01891202_006_01.h5\n",
+ "2024-12-04 03:28:20,019 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:28:21,172 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:28:21,190 - INFO - ./data/processed_ATL03_20230307072158_11721806_006_02.h5\n",
+ "2024-12-04 03:28:21,196 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:28:21,669 - INFO - ./data/processed_ATL03_20231228173021_01512206_006_01.h5\n",
+ "2024-12-04 03:28:21,678 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:28:27,904 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:28:27,955 - INFO - ./data/processed_ATL03_20201002132006_01280902_006_01.h5\n",
+ "2024-12-04 03:28:27,964 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:28:29,014 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:28:29,035 - INFO - ./data/processed_ATL03_20221228221901_01281802_006_02.h5\n",
+ "2024-12-04 03:28:29,044 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:28:59,208 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:28:59,208 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:28:59,293 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:28:59,294 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:28:59,367 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:28:59,368 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:28:59,485 - INFO - SUCCESS!\n",
+ "2024-12-04 03:28:59,504 - INFO - ./data/processed_ATL03_20240331002816_01892302_006_01.h5\n",
+ "2024-12-04 03:28:59,510 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:29:15,109 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:29:15,109 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:29:15,138 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:29:15,138 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:29:15,256 - INFO - SUCCESS!\n",
+ "2024-12-04 03:29:15,274 - INFO - ./data/processed_ATL03_20190214060841_07300206_006_02.h5\n",
+ "2024-12-04 03:29:15,280 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:29:15,717 - INFO - ./data/processed_ATL03_20191011184015_02270506_006_02.h5\n",
+ "2024-12-04 03:29:15,726 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:29:16,237 - INFO - ./data/processed_ATL03_20210401132132_01181106_006_02.h5\n",
+ "2024-12-04 03:29:16,246 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:29:16,980 - INFO - ./data/processed_ATL03_20210704122716_01661206_006_01.h5\n",
+ "2024-12-04 03:29:16,987 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:29:17,796 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:29:17,815 - INFO - ./data/processed_ATL03_20211230153937_01281402_006_01.h5\n",
+ "2024-12-04 03:29:17,825 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:29:18,383 - INFO - ./data/processed_ATL03_20230831224917_11112006_006_02.h5\n",
+ "2024-12-04 03:29:18,391 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:29:19,414 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:29:19,437 - INFO - ./data/processed_ATL03_20200927135412_00520902_006_02.h5\n",
+ "2024-12-04 03:29:19,452 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:29:39,495 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:29:39,496 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:29:39,517 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:29:39,518 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:29:39,551 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:29:39,551 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:29:39,634 - INFO - SUCCESS!\n",
+ "2024-12-04 03:29:39,663 - INFO - ./data/processed_ATL03_20190203025931_05600206_006_02.h5\n",
+ "2024-12-04 03:29:39,671 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:29:54,976 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:29:54,977 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:29:55,039 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:29:55,040 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:29:55,131 - INFO - SUCCESS!\n",
+ "2024-12-04 03:29:55,151 - INFO - ./data/processed_ATL03_20211007075856_02271306_006_01.h5\n",
+ "2024-12-04 03:29:55,159 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:30:02,795 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:30:02,796 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:30:02,931 - INFO - SUCCESS!\n",
+ "2024-12-04 03:30:02,949 - INFO - ./data/processed_ATL03_20190710105239_01890402_006_02.h5\n",
+ "2024-12-04 03:30:02,955 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:30:03,526 - INFO - ./data/processed_ATL03_20220603203049_11111506_006_01.h5\n",
+ "2024-12-04 03:30:03,533 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:30:04,094 - INFO - ./data/processed_ATL03_20210227145346_10021006_006_01.h5\n",
+ "2024-12-04 03:30:04,100 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:30:04,585 - INFO - ./data/processed_ATL03_20220626070745_00671602_006_01.h5\n",
+ "2024-12-04 03:30:04,592 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:30:17,339 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:30:17,340 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:30:17,421 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:30:17,422 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:30:17,526 - INFO - SUCCESS!\n",
+ "2024-12-04 03:30:17,544 - INFO - ./data/processed_ATL03_20220509214619_07301506_006_01.h5\n",
+ "2024-12-04 03:30:17,553 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:30:33,455 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:30:33,456 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:30:33,516 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:30:33,517 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:30:33,611 - INFO - SUCCESS!\n",
+ "2024-12-04 03:30:33,627 - INFO - ./data/processed_ATL03_20210511150652_07301106_006_01.h5\n",
+ "2024-12-04 03:30:33,638 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:30:34,672 - INFO - ./data/processed_ATL03_20230526151041_10121902_006_02.h5\n",
+ "2024-12-04 03:30:34,685 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:30:35,309 - INFO - ./data/processed_ATL03_20221013112140_03471707_006_01.h5\n",
+ "2024-12-04 03:30:35,325 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:30:45,985 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:30:46,052 - INFO - ./data/processed_ATL03_20230923092545_00672102_006_02.h5\n",
+ "2024-12-04 03:30:46,065 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:30:57,207 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:30:57,207 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:30:57,304 - INFO - SUCCESS!\n",
+ "2024-12-04 03:30:57,334 - INFO - ./data/processed_ATL03_20210627005345_00521202_006_01.h5\n",
+ "2024-12-04 03:30:57,345 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:31:19,908 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:31:19,909 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:31:19,969 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:31:19,970 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:31:20,027 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:31:20,028 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:31:20,118 - INFO - SUCCESS!\n",
+ "2024-12-04 03:31:20,139 - INFO - ./data/processed_ATL03_20190504223907_05600306_006_02.h5\n",
+ "2024-12-04 03:31:20,145 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:31:27,100 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-04 03:31:27,119 - INFO - ./data/processed_ATL03_20190912200409_11720406_006_02.h5\n",
+ "2024-12-04 03:31:27,126 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:31:27,915 - INFO - ./data/processed_ATL03_20230307162312_11781802_006_02.h5\n",
+ "2024-12-04 03:31:27,921 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:31:53,930 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:31:53,931 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:31:53,948 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:31:53,949 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:31:54,008 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:31:54,009 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:31:54,100 - INFO - SUCCESS!\n",
+ "2024-12-04 03:31:54,116 - INFO - ./data/processed_ATL03_20210731192138_05831202_006_01.h5\n",
+ "2024-12-04 03:31:54,122 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:02,102 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:32:02,103 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:32:02,202 - INFO - SUCCESS!\n",
+ "2024-12-04 03:32:02,218 - INFO - ./data/processed_ATL03_20210131040156_05831002_006_01.h5\n",
+ "2024-12-04 03:32:02,227 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:32:03,055 - INFO - ./data/processed_ATL03_20190315044444_11720206_006_02.h5\n",
+ "2024-12-04 03:32:03,061 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:03,514 - INFO - ./data/processed_ATL03_20230402175022_01891902_006_02.h5\n",
+ "2024-12-04 03:32:03,523 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:11,156 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:32:11,156 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:32:11,271 - INFO - SUCCESS!\n",
+ "2024-12-04 03:32:11,287 - INFO - ./data/processed_ATL03_20220127225716_05601406_006_01.h5\n",
+ "2024-12-04 03:32:11,293 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:17,606 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:32:17,607 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:32:17,734 - INFO - SUCCESS!\n",
+ "2024-12-04 03:32:17,752 - INFO - ./data/processed_ATL03_20211201170335_10731302_006_01.h5\n",
+ "2024-12-04 03:32:17,758 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:32:18,290 - INFO - ./data/processed_ATL03_20191102135842_05600506_006_01.h5\n",
+ "2024-12-04 03:32:18,296 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:19,220 - INFO - ./data/processed_ATL03_20210908092250_11721206_006_02.h5\n",
+ "2024-12-04 03:32:19,231 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:19,712 - INFO - ./data/processed_ATL03_20190505135732_05700302_006_02.h5\n",
+ "2024-12-04 03:32:19,718 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:20,135 - INFO - ./data/processed_ATL03_20220629154104_01181606_006_01.h5\n",
+ "2024-12-04 03:32:20,147 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:20,572 - INFO - ./data/processed_ATL03_20190607122509_10730302_006_02.h5\n",
+ "2024-12-04 03:32:20,581 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:27,030 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:32:27,031 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:32:27,127 - INFO - SUCCESS!\n",
+ "2024-12-04 03:32:27,148 - INFO - ./data/processed_ATL03_20210828213159_10121202_006_01.h5\n",
+ "2024-12-04 03:32:27,158 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:44,490 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:32:44,491 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:32:44,540 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:32:44,541 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:32:44,629 - INFO - SUCCESS!\n",
+ "2024-12-04 03:32:44,645 - INFO - ./data/processed_ATL03_20191005064105_01280502_006_02.h5\n",
+ "2024-12-04 03:32:44,655 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:32:45,195 - INFO - ./data/processed_ATL03_20190512015642_06690306_006_02.h5\n",
+ "2024-12-04 03:32:45,200 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:45,653 - INFO - ./data/processed_ATL03_20190413032043_02270306_006_02.h5\n",
+ "2024-12-04 03:32:45,659 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:32:46,116 - INFO - ./data/processed_ATL03_20200802124213_05830802_006_01.h5\n",
+ "2024-12-04 03:32:46,122 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:33:01,567 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:33:01,567 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:33:01,593 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:33:01,594 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:33:01,695 - INFO - SUCCESS!\n",
+ "2024-12-04 03:33:01,712 - INFO - ./data/processed_ATL03_20201110234705_07300906_006_01.h5\n",
+ "2024-12-04 03:33:01,724 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:33:02,340 - INFO - ./data/processed_ATL03_20230927091728_01282102_006_02.h5\n",
+ "2024-12-04 03:33:02,346 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:33:09,781 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:33:09,831 - INFO - ./data/processed_ATL03_20190806214443_06080406_006_02.h5\n",
+ "2024-12-04 03:33:09,838 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:33:11,977 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:33:12,001 - INFO - ./data/processed_ATL03_20230508042538_07301906_006_02.h5\n",
+ "2024-12-04 03:33:12,010 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:33:12,453 - INFO - ./data/processed_ATL03_20230730002128_06082006_006_02.h5\n",
+ "2024-12-04 03:33:12,459 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:33:12,933 - INFO - ./data/processed_ATL03_20200820005033_08500807_006_01.h5\n",
+ "2024-12-04 03:33:12,938 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:33:18,453 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:33:18,454 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:33:18,553 - INFO - SUCCESS!\n",
+ "2024-12-04 03:33:18,567 - INFO - ./data/processed_ATL03_20220607202232_11721506_006_01.h5\n",
+ "2024-12-04 03:33:18,575 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:33:19,240 - INFO - ./data/processed_ATL03_20220503094710_06311502_006_01.h5\n",
+ "2024-12-04 03:33:19,250 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:33:19,745 - INFO - ./data/processed_ATL03_20191104014253_05830502_006_01.h5\n",
+ "2024-12-04 03:33:19,751 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:33:20,477 - INFO - ./data/processed_ATL03_20190808092853_06310402_006_02.h5\n",
+ "2024-12-04 03:33:20,484 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:33:21,037 - INFO - ./data/processed_ATL03_20221206114207_11721706_006_02.h5\n",
+ "2024-12-04 03:33:21,048 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:33:27,010 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:33:27,072 - INFO - ./data/processed_ATL03_20220309004237_11721406_006_01.h5\n",
+ "2024-12-04 03:33:27,084 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:33:27,650 - INFO - ./data/processed_ATL03_20190410151314_01890302_006_02.h5\n",
+ "2024-12-04 03:33:27,657 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:33:42,828 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:33:42,881 - INFO - ./data/processed_ATL03_20220525180429_09721506_006_01.h5\n",
+ "2024-12-04 03:33:42,887 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:34:03,943 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:34:03,944 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:34:03,971 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:34:03,972 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:34:04,013 - INFO - SUCCESS!\n",
+ "2024-12-04 03:34:04,028 - INFO - ./data/processed_ATL03_20190204144341_05830202_006_02.h5\n",
+ "2024-12-04 03:34:04,034 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:34:11,339 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:34:11,339 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:34:11,425 - INFO - SUCCESS!\n",
+ "2024-12-04 03:34:11,441 - INFO - ./data/processed_ATL03_20230825104956_10122002_006_02.h5\n",
+ "2024-12-04 03:34:11,447 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:34:25,543 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:34:25,544 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:34:25,588 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:34:25,589 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:34:25,648 - INFO - SUCCESS!\n",
+ "2024-12-04 03:34:25,663 - INFO - ./data/processed_ATL03_20190902081319_10120402_006_02.h5\n",
+ "2024-12-04 03:34:25,669 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:34:43,806 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:34:43,807 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:34:43,831 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:34:43,832 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:34:43,894 - INFO - SUCCESS!\n",
+ "2024-12-04 03:34:43,909 - INFO - ./data/processed_ATL03_20230331063207_01511906_006_02.h5\n",
+ "2024-12-04 03:34:43,915 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:34:44,476 - INFO - ./data/processed_ATL03_20230904224044_11722006_006_02.h5\n",
+ "2024-12-04 03:34:44,483 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:34:54,836 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:34:54,837 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:34:54,939 - INFO - SUCCESS!\n",
+ "2024-12-04 03:34:54,955 - INFO - ./data/processed_ATL03_20220129104127_05831402_006_01.h5\n",
+ "2024-12-04 03:34:54,963 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:35:02,262 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:35:02,310 - INFO - ./data/processed_ATL03_20240627084945_01512406_006_01.h5\n",
+ "2024-12-04 03:35:02,317 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:35:02,930 - INFO - ./data/processed_ATL03_20221223225257_00521802_006_02.h5\n",
+ "2024-12-04 03:35:02,936 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:35:11,380 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:35:11,433 - INFO - ./data/processed_ATL03_20230829104135_10732002_006_02.h5\n",
+ "2024-12-04 03:35:11,440 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:35:11,878 - INFO - ./data/processed_ATL03_20210406043137_01891102_006_02.h5\n",
+ "2024-12-04 03:35:11,884 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:35:12,414 - INFO - ./data/processed_ATL03_20220906160228_11721606_006_01.h5\n",
+ "2024-12-04 03:35:12,420 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:35:19,179 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:35:19,180 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:35:19,284 - INFO - SUCCESS!\n",
+ "2024-12-04 03:35:19,302 - INFO - ./data/processed_ATL03_20211030150137_05831302_006_01.h5\n",
+ "2024-12-04 03:35:19,308 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:35:41,011 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:35:41,012 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:35:41,063 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:35:41,064 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:35:41,117 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:35:41,117 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:35:41,192 - INFO - SUCCESS!\n",
+ "2024-12-04 03:35:41,207 - INFO - ./data/processed_ATL03_20210328051355_00521102_006_01.h5\n",
+ "2024-12-04 03:35:41,213 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:35:42,057 - INFO - ./data/processed_ATL03_20181111103718_06690106_006_02.h5\n",
+ "2024-12-04 03:35:42,063 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:35:42,480 - INFO - ./data/processed_ATL03_20210708121857_02271206_006_01.h5\n",
+ "2024-12-04 03:35:42,489 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:35:42,914 - INFO - ./data/processed_ATL03_20231003211642_02272106_006_02.h5\n",
+ "2024-12-04 03:35:42,920 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:35:43,340 - INFO - ./data/processed_ATL03_20190109193321_01890202_006_02.h5\n",
+ "2024-12-04 03:35:43,346 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:35:57,364 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:35:57,365 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:35:57,373 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:35:57,373 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:35:57,399 - INFO - SUCCESS!\n",
+ "2024-12-04 03:35:57,417 - INFO - ./data/processed_ATL03_20231231044855_01892202_006_01.h5\n",
+ "2024-12-04 03:35:57,425 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:36:14,972 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:36:14,973 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:36:15,046 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:36:15,046 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:36:15,144 - INFO - SUCCESS!\n",
+ "2024-12-04 03:36:15,164 - INFO - ./data/processed_ATL03_20211002083255_01511306_006_01.h5\n",
+ "2024-12-04 03:36:15,173 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:36:25,883 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:36:25,934 - INFO - ./data/processed_ATL03_20200804042356_06080806_006_01.h5\n",
+ "2024-12-04 03:36:25,944 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:36:26,362 - INFO - ./data/processed_ATL03_20221230105205_01511806_006_02.h5\n",
+ "2024-12-04 03:36:26,370 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:36:40,334 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:36:40,335 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:36:40,362 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:36:40,362 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:36:40,412 - INFO - SUCCESS!\n",
+ "2024-12-04 03:36:40,430 - INFO - ./data/processed_ATL03_20210530015203_10121102_006_01.h5\n",
+ "2024-12-04 03:36:40,440 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:36:41,269 - INFO - ./data/processed_ATL03_20190908201229_11110406_006_02.h5\n",
+ "2024-12-04 03:36:41,278 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:37:04,619 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:37:04,619 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:37:04,655 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:37:04,655 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:37:04,711 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:37:04,712 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:37:04,797 - INFO - SUCCESS!\n",
+ "2024-12-04 03:37:04,817 - INFO - ./data/processed_ATL03_20240304135951_11722206_006_01.h5\n",
+ "2024-12-04 03:37:04,827 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:37:05,252 - INFO - ./data/processed_ATL03_20190506102318_05830302_006_02.h5\n",
+ "2024-12-04 03:37:05,259 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:37:11,524 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-04 03:37:11,540 - INFO - ./data/processed_ATL03_20220101041247_01511406_006_01.h5\n",
+ "2024-12-04 03:37:11,546 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:37:25,786 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:37:25,787 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:37:25,833 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:37:25,833 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:37:25,881 - INFO - SUCCESS!\n",
+ "2024-12-04 03:37:25,896 - INFO - ./data/processed_ATL03_20201227093402_00521002_006_01.h5\n",
+ "2024-12-04 03:37:25,903 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:37:33,793 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:37:33,843 - INFO - ./data/processed_ATL03_20190803181849_05600406_006_02.h5\n",
+ "2024-12-04 03:37:33,850 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:37:42,029 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:37:42,030 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:37:42,087 - INFO - SUCCESS!\n",
+ "2024-12-04 03:37:42,103 - INFO - ./data/processed_ATL03_20210129161746_05601006_006_01.h5\n",
+ "2024-12-04 03:37:42,108 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:37:42,899 - INFO - ./data/processed_ATL03_20190112074049_02270206_006_02.h5\n",
+ "2024-12-04 03:37:42,906 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:37:56,944 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:37:56,945 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:37:57,003 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:37:57,004 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:37:57,093 - INFO - SUCCESS!\n",
+ "2024-12-04 03:37:57,111 - INFO - ./data/processed_ATL03_20210507151511_06691106_006_01.h5\n",
+ "2024-12-04 03:37:57,117 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:38:10,741 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:38:10,742 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:38:10,752 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:38:10,752 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:38:10,810 - INFO - SUCCESS!\n",
+ "2024-12-04 03:38:10,826 - INFO - ./data/processed_ATL03_20210102213314_01511006_006_01.h5\n",
+ "2024-12-04 03:38:10,832 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:38:25,415 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:38:25,415 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:38:25,426 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:38:25,426 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:38:25,455 - INFO - SUCCESS!\n",
+ "2024-12-04 03:38:25,469 - INFO - ./data/processed_ATL03_20210703125256_01511206_006_01.h5\n",
+ "2024-12-04 03:38:25,476 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:38:39,247 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:38:39,248 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:38:39,280 - INFO - SUCCESS!\n",
+ "2024-12-04 03:38:39,296 - INFO - ./data/processed_ATL03_20220808172625_07301606_006_01.h5\n",
+ "2024-12-04 03:38:39,302 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:38:40,060 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:38:40,077 - INFO - ./data/processed_ATL03_20181207210535_10730102_006_02.h5\n",
+ "2024-12-04 03:38:40,085 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:38:40,543 - INFO - ./data/processed_ATL03_20220728141707_05601606_006_02.h5\n",
+ "2024-12-04 03:38:40,550 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:38:42,118 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:38:42,136 - INFO - ./data/processed_ATL03_20191113170759_07300506_006_01.h5\n",
+ "2024-12-04 03:38:42,143 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:38:42,612 - INFO - ./data/processed_ATL03_20190305131941_10250202_006_02.h5\n",
+ "2024-12-04 03:38:42,622 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:38:43,081 - INFO - ./data/processed_ATL03_20190614002420_11720306_006_02.h5\n",
+ "2024-12-04 03:38:43,091 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:38:43,550 - INFO - ./data/processed_ATL03_20201030203751_05600906_006_01.h5\n",
+ "2024-12-04 03:38:43,557 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:38:56,409 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:38:56,410 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:38:56,458 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:38:56,459 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:38:56,519 - INFO - SUCCESS!\n",
+ "2024-12-04 03:38:56,533 - INFO - ./data/processed_ATL03_20221028214101_05831702_006_01.h5\n",
+ "2024-12-04 03:38:56,541 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:38:57,222 - INFO - ./data/processed_ATL03_20221027095652_05601706_006_01.h5\n",
+ "2024-12-04 03:38:57,228 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:39:04,617 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:39:04,617 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:39:04,721 - INFO - SUCCESS!\n",
+ "2024-12-04 03:39:04,737 - INFO - ./data/processed_ATL03_20240629200816_01892402_006_01.h5\n",
+ "2024-12-04 03:39:04,743 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:39:13,282 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-04 03:39:13,298 - INFO - ./data/processed_ATL03_20230130204643_06311802_006_02.h5\n",
+ "2024-12-04 03:39:13,303 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:39:21,060 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:39:21,061 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:39:21,089 - INFO - SUCCESS!\n",
+ "2024-12-04 03:39:21,104 - INFO - ./data/processed_ATL03_20201209222310_11720906_006_01.h5\n",
+ "2024-12-04 03:39:21,110 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:39:33,881 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:39:33,882 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:39:33,939 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:39:33,939 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:39:34,026 - INFO - SUCCESS!\n",
+ "2024-12-04 03:39:34,042 - INFO - ./data/processed_ATL03_20220630065930_01281602_006_01.h5\n",
+ "2024-12-04 03:39:34,048 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:39:34,846 - INFO - ./data/processed_ATL03_20210609134254_11721106_006_01.h5\n",
+ "2024-12-04 03:39:34,852 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:39:35,332 - INFO - ./data/processed_ATL03_20201005012737_01660906_006_01.h5\n",
+ "2024-12-04 03:39:35,338 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:39:35,770 - INFO - ./data/processed_ATL03_20210310180303_11721006_006_01.h5\n",
+ "2024-12-04 03:39:35,781 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:39:36,617 - INFO - ./data/processed_ATL03_20200808041536_06690806_006_01.h5\n",
+ "2024-12-04 03:39:36,623 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:39:37,044 - INFO - ./data/processed_ATL03_20230606030124_11721906_006_03.h5\n",
+ "2024-12-04 03:39:37,049 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:39:44,173 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:39:44,174 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:39:44,266 - INFO - SUCCESS!\n",
+ "2024-12-04 03:39:44,283 - INFO - ./data/processed_ATL03_20230630021115_01512006_006_02.h5\n",
+ "2024-12-04 03:39:44,289 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:39:58,344 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:39:58,345 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:39:58,400 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:39:58,400 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:39:58,490 - INFO - SUCCESS!\n",
+ "2024-12-04 03:39:58,509 - INFO - ./data/processed_ATL03_20220930151228_01511706_006_01.h5\n",
+ "2024-12-04 03:39:58,515 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:40:13,724 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:40:13,724 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:40:13,779 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:40:13,780 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:40:13,868 - INFO - SUCCESS!\n",
+ "2024-12-04 03:40:13,884 - INFO - ./data/processed_ATL03_20231227045714_01282202_006_02.h5\n",
+ "2024-12-04 03:40:13,889 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:40:14,790 - INFO - ./data/processed_ATL03_20211029031727_05601306_006_01.h5\n",
+ "2024-12-04 03:40:14,799 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:40:15,338 - INFO - ./data/processed_ATL03_20191007184835_01660506_006_02.h5\n",
+ "2024-12-04 03:40:15,349 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:40:16,025 - INFO - ./data/processed_ATL03_20190610003240_11110306_006_02.h5\n",
+ "2024-12-04 03:40:16,032 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:40:16,454 - INFO - ./data/processed_ATL03_20230705013717_02272006_006_02.h5\n",
+ "2024-12-04 03:40:16,461 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:40:16,862 - INFO - ./data/processed_ATL03_20240822172808_10122402_006_01.h5\n",
+ "2024-12-04 03:40:16,868 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:40:24,115 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:40:24,116 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:40:24,210 - INFO - SUCCESS!\n",
+ "2024-12-04 03:40:24,226 - INFO - ./data/processed_ATL03_20200801161627_05700802_006_01.h5\n",
+ "2024-12-04 03:40:24,232 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:40:24,662 - INFO - ./data/processed_ATL03_20181104223802_05700102_006_02.h5\n",
+ "2024-12-04 03:40:24,668 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:40:25,242 - INFO - ./data/processed_ATL03_20190804093713_05700402_006_02.h5\n",
+ "2024-12-04 03:40:25,251 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:40:25,667 - INFO - ./data/processed_ATL03_20210501234145_05831102_006_01.h5\n",
+ "2024-12-04 03:40:25,673 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:40:26,489 - INFO - ./data/processed_ATL03_20230228192246_10731802_006_02.h5\n",
+ "2024-12-04 03:40:26,498 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:40:33,733 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:40:33,734 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:40:33,785 - INFO - SUCCESS!\n",
+ "2024-12-04 03:40:33,806 - INFO - ./data/processed_ATL03_20230702132948_01892002_006_02.h5\n",
+ "2024-12-04 03:40:33,812 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:40:55,302 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:40:55,303 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:40:55,364 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:40:55,365 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:40:55,422 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:40:55,423 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:40:55,516 - INFO - SUCCESS!\n",
+ "2024-12-04 03:40:55,536 - INFO - ./data/processed_ATL03_20210702001946_01281202_006_01.h5\n",
+ "2024-12-04 03:40:55,542 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:41:03,595 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:41:03,659 - INFO - ./data/processed_ATL03_20190712230010_02270406_006_02.h5\n",
+ "2024-12-04 03:41:03,665 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:41:04,782 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:41:04,800 - INFO - ./data/processed_ATL03_20210930195943_01281302_006_02.h5\n",
+ "2024-12-04 03:41:04,806 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:41:05,363 - INFO - ./data/processed_ATL03_20211225161337_00521402_006_01.h5\n",
+ "2024-12-04 03:41:05,370 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:41:25,457 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:41:25,458 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:41:25,484 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:41:25,485 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:41:25,500 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:41:25,501 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:41:25,580 - INFO - SUCCESS!\n",
+ "2024-12-04 03:41:25,597 - INFO - ./data/processed_ATL03_20230530150221_10731902_006_02.h5\n",
+ "2024-12-04 03:41:25,606 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:41:41,412 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:41:41,413 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:41:41,437 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:41:41,437 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:41:41,496 - INFO - SUCCESS!\n",
+ "2024-12-04 03:41:41,516 - INFO - ./data/processed_ATL03_20220704065109_01891602_006_02.h5\n",
+ "2024-12-04 03:41:41,522 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:41:42,065 - INFO - ./data/processed_ATL03_20210530221749_10251102_006_01.h5\n",
+ "2024-12-04 03:41:42,071 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:41:42,489 - INFO - ./data/processed_ATL03_20210925203343_00521302_006_02.h5\n",
+ "2024-12-04 03:41:42,510 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:41:43,797 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:41:43,816 - INFO - ./data/processed_ATL03_20220601082323_10731502_006_01.h5\n",
+ "2024-12-04 03:41:43,823 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:41:57,904 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:41:57,904 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:41:57,945 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:41:57,946 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:41:58,017 - INFO - SUCCESS!\n",
+ "2024-12-04 03:41:58,037 - INFO - ./data/processed_ATL03_20220106033849_02271406_006_01.h5\n",
+ "2024-12-04 03:41:58,043 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:42:05,129 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:42:05,130 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:42:05,160 - INFO - SUCCESS!\n",
+ "2024-12-04 03:42:05,177 - INFO - ./data/processed_ATL03_20210403171306_01511106_006_02.h5\n",
+ "2024-12-04 03:42:05,184 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:42:05,967 - INFO - ./data/processed_ATL03_20221001144648_01661706_006_01.h5\n",
+ "2024-12-04 03:42:05,973 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:42:20,047 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:42:20,048 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:42:20,106 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:42:20,107 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:42:20,193 - INFO - SUCCESS!\n",
+ "2024-12-04 03:42:20,213 - INFO - ./data/processed_ATL03_20210802110321_06081206_006_01.h5\n",
+ "2024-12-04 03:42:20,222 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:42:20,629 - INFO - ./data/processed_ATL03_20220827041140_10121602_006_01.h5\n",
+ "2024-12-04 03:42:20,635 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:42:21,183 - INFO - ./data/processed_ATL03_20230628133808_01282002_006_02.h5\n",
+ "2024-12-04 03:42:21,189 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:42:22,305 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:42:22,324 - INFO - ./data/processed_ATL03_20230324183248_00521902_006_02.h5\n",
+ "2024-12-04 03:42:22,330 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:42:45,273 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:42:45,274 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:42:45,336 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:42:45,336 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:42:45,393 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:42:45,394 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:42:45,489 - INFO - SUCCESS!\n",
+ "2024-12-04 03:42:45,509 - INFO - ./data/processed_ATL03_20220706185839_02271606_006_02.h5\n",
+ "2024-12-04 03:42:45,514 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:42:46,672 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-04 03:42:46,693 - INFO - ./data/processed_ATL03_20220529045726_10251502_006_01.h5\n",
+ "2024-12-04 03:42:46,703 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:42:53,497 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:42:53,498 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:42:53,556 - INFO - SUCCESS!\n",
+ "2024-12-04 03:42:53,578 - INFO - ./data/processed_ATL03_20221103131425_06691706_006_01.h5\n",
+ "2024-12-04 03:42:53,588 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:42:54,018 - INFO - ./data/processed_ATL03_20220302124325_10731402_006_01.h5\n",
+ "2024-12-04 03:42:54,024 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:43:00,903 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:43:00,958 - INFO - ./data/processed_ATL03_20230928215038_01512106_006_02.h5\n",
+ "2024-12-04 03:43:00,965 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:43:17,516 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:43:17,517 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:43:17,548 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:43:17,549 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:43:17,621 - INFO - SUCCESS!\n",
+ "2024-12-04 03:43:17,643 - INFO - ./data/processed_ATL03_20240131153216_06692206_006_01.h5\n",
+ "2024-12-04 03:43:17,652 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:43:18,116 - INFO - ./data/processed_ATL03_20210105085144_01891002_006_01.h5\n",
+ "2024-12-04 03:43:18,123 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:43:25,430 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:43:25,430 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:43:25,550 - INFO - SUCCESS!\n",
+ "2024-12-04 03:43:25,566 - INFO - ./data/processed_ATL03_20220430062116_05831502_006_02.h5\n",
+ "2024-12-04 03:43:25,574 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:43:33,695 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:43:33,695 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:43:33,787 - INFO - SUCCESS!\n",
+ "2024-12-04 03:43:33,807 - INFO - ./data/processed_ATL03_20220929023918_01281702_006_01.h5\n",
+ "2024-12-04 03:43:33,813 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:43:34,448 - INFO - ./data/processed_ATL03_20240327003625_01282302_006_01.h5\n",
+ "2024-12-04 03:43:34,454 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:43:59,322 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:43:59,323 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:43:59,370 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:43:59,371 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:43:59,427 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:43:59,428 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:43:59,522 - INFO - SUCCESS!\n",
+ "2024-12-04 03:43:59,543 - INFO - ./data/processed_ATL03_20220103153118_01891402_006_01.h5\n",
+ "2024-12-04 03:43:59,549 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:44:07,935 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-04 03:44:07,986 - INFO - ./data/processed_ATL03_20190810213623_06690406_006_02.h5\n",
+ "2024-12-04 03:44:07,995 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:44:20,907 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:44:20,908 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:44:20,935 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:44:20,936 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:44:21,009 - INFO - SUCCESS!\n",
+ "2024-12-04 03:44:21,026 - INFO - ./data/processed_ATL03_20190805060259_05830402_006_02.h5\n",
+ "2024-12-04 03:44:21,038 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:44:28,480 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-04 03:44:28,481 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:44:28,572 - INFO - SUCCESS!\n",
+ "2024-12-04 03:44:28,588 - INFO - ./data/processed_ATL03_20240129032445_06312202_006_01.h5\n",
+ "2024-12-04 03:44:28,595 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:44:29,044 - INFO - ./data/processed_ATL03_20210405014140_01721101_006_02.h5\n",
+ "2024-12-04 03:44:29,050 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:44:29,674 - INFO - ./data/processed_ATL03_20210430115735_05601106_006_02.h5\n",
+ "2024-12-04 03:44:29,680 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:44:30,368 - INFO - ./data/processed_ATL03_20231222053110_00522202_006_02.h5\n",
+ "2024-12-04 03:44:30,374 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:44:31,232 - INFO - ./data/processed_ATL03_20210730225553_05701202_006_01.h5\n",
+ "2024-12-04 03:44:31,238 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:44:31,656 - INFO - ./data/processed_ATL03_20240826172001_10732402_006_01.h5\n",
+ "2024-12-04 03:44:31,672 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:44:48,054 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:44:48,055 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:44:48,115 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-04 03:44:48,116 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:44:48,207 - INFO - SUCCESS!\n",
+ "2024-12-04 03:44:48,226 - INFO - ./data/processed_ATL03_20200801005803_05600806_006_01.h5\n",
+ "2024-12-04 03:44:48,232 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-04 03:44:48,667 - INFO - ./data/processed_ATL03_20210402043956_01281102_006_02.h5\n",
+ "2024-12-04 03:44:48,673 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:44:49,549 - INFO - ./data/processed_ATL03_20220702190657_01661606_006_02.h5\n",
+ "2024-12-04 03:44:49,555 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-04 03:44:57,015 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-04 03:44:57,016 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-04 03:44:57,066 - INFO - SUCCESS!\n",
+ "2024-12-04 03:44:57,081 - INFO - ./data/processed_ATL03_20221003023056_01891702_006_01.h5\n",
+ "2024-12-04 03:44:57,087 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ }
+ ],
+ "source": [
+ "h5names = glob.glob('data/processed_*.h5')\n",
+ "\n",
+ "\n",
+ "for jj in range(len(h5names)):\n",
+ " # code from chao (in Main.ipynb)\n",
+ " atl03_file_inloop = h5names[jj]\n",
+ " ATL03_h5_file_path = os.path.join(workspace_path, atl03_file_inloop)\n",
+ " # print(ATL03_h5_file_path)\n",
+ " shoreline_data_path = os.path.join(workspace_path, other_data_path, shoreline_data)\n",
+ " # print(shoreline_data_path)\n",
+ " GEBCO_full_path = os.path.join(workspace_path, other_data_path, gebco_path)\n",
+ " # print(GEBCO_full_path)\n",
+ " OutputPath = os.path.join(workspace_path, output_path)\n",
+ " # print(OutputPath)\n",
+ " \n",
+ " \n",
+ " #Get the gebco list\n",
+ " GEBCO_file_pattern = os.path.join(GEBCO_full_path, \"gebco_*.tif\")\n",
+ " \n",
+ " #Initialize with an empty list\n",
+ " GEBCO_file_path_lists = []\n",
+ " for GEBCO_file_path_name in glob.glob(GEBCO_file_pattern):\n",
+ " #put the find one into the list\n",
+ " GEBCO_file_path_lists.append(GEBCO_file_path_name)\n",
+ " \n",
+ " # print(GEBCO_file_path_lists)\n",
+ " \n",
+ " # Get all other necessary parameters\n",
+ " horizontal_res = horizontal_res\n",
+ " vertical_res = vertical_res\n",
+ " subsurface_thresh = subsurface_thresh\n",
+ " Ignore_Subsurface_Height_Thres = ignore_subsurface_height_thres\n",
+ " \n",
+ " # Configure logging\n",
+ " logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')\n",
+ " \n",
+ " \n",
+ " # When all paramters ready, call the main function\n",
+ " main()\n",
+ " # delete the hefty h5 file once done with processing - only store calculated kd values\n",
+ " os.remove(ATL03_h5_file_path)\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.19"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/02_match_ships2granules_ipx.ipynb b/icesat2_kdph-main/02_match_ships2granules_ipx.ipynb
new file mode 100644
index 0000000..e277afc
--- /dev/null
+++ b/icesat2_kdph-main/02_match_ships2granules_ipx.ipynb
@@ -0,0 +1,1838 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "2256384a-86a8-43c0-801b-5953747525ba",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet rtree"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "26a80715-bdf2-45ce-afe9-9fa0f0bd7529",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet hdbscan"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "8072f95f-1db6-4c31-8af8-293fd665bad4",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet erddapy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "8f821b93-0ec9-41db-af0e-61e26934504d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/javascript": [
+ "(function(root) {\n",
+ " function now() {\n",
+ " return new Date();\n",
+ " }\n",
+ "\n",
+ " var force = true;\n",
+ " var py_version = '3.2.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n",
+ " var is_dev = py_version.indexOf(\"+\") !== -1 || py_version.indexOf(\"-\") !== -1;\n",
+ " var reloading = false;\n",
+ " var Bokeh = root.Bokeh;\n",
+ " var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n",
+ "\n",
+ " if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n",
+ " root._bokeh_timeout = Date.now() + 5000;\n",
+ " root._bokeh_failed_load = false;\n",
+ " }\n",
+ "\n",
+ " function run_callbacks() {\n",
+ " try {\n",
+ " root._bokeh_onload_callbacks.forEach(function(callback) {\n",
+ " if (callback != null)\n",
+ " callback();\n",
+ " });\n",
+ " } finally {\n",
+ " delete root._bokeh_onload_callbacks;\n",
+ " }\n",
+ " console.debug(\"Bokeh: all callbacks have finished\");\n",
+ " }\n",
+ "\n",
+ " function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n",
+ " if (css_urls == null) css_urls = [];\n",
+ " if (js_urls == null) js_urls = [];\n",
+ " if (js_modules == null) js_modules = [];\n",
+ " if (js_exports == null) js_exports = {};\n",
+ "\n",
+ " root._bokeh_onload_callbacks.push(callback);\n",
+ "\n",
+ " if (root._bokeh_is_loading > 0) {\n",
+ " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
+ " return null;\n",
+ " }\n",
+ " if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n",
+ " run_callbacks();\n",
+ " return null;\n",
+ " }\n",
+ " if (!reloading) {\n",
+ " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
+ " }\n",
+ "\n",
+ " function on_load() {\n",
+ " root._bokeh_is_loading--;\n",
+ " if (root._bokeh_is_loading === 0) {\n",
+ " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
+ " run_callbacks()\n",
+ " }\n",
+ " }\n",
+ " window._bokeh_on_load = on_load\n",
+ "\n",
+ " function on_error() {\n",
+ " console.error(\"failed to load \" + url);\n",
+ " }\n",
+ "\n",
+ " var skip = [];\n",
+ " if (window.requirejs) {\n",
+ " window.requirejs.config({'packages': {}, 'paths': {'jspanel': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/jspanel', 'jspanel-modal': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal', 'jspanel-tooltip': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip', 'jspanel-hint': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint', 'jspanel-layout': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout', 'jspanel-contextmenu': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu', 'jspanel-dock': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock', 'gridstack': 'https://cdn.jsdelivr.net/npm/gridstack@7.2.3/dist/gridstack-all', 'notyf': 'https://cdn.jsdelivr.net/npm/notyf@3/notyf.min'}, 'shim': {'jspanel': {'exports': 'jsPanel'}, 'gridstack': {'exports': 'GridStack'}}});\n",
+ " require([\"jspanel\"], function(jsPanel) {\n",
+ "\twindow.jsPanel = jsPanel\n",
+ "\ton_load()\n",
+ " })\n",
+ " require([\"jspanel-modal\"], function() {\n",
+ "\ton_load()\n",
+ " })\n",
+ " require([\"jspanel-tooltip\"], function() {\n",
+ "\ton_load()\n",
+ " })\n",
+ " require([\"jspanel-hint\"], function() {\n",
+ "\ton_load()\n",
+ " })\n",
+ " require([\"jspanel-layout\"], function() {\n",
+ "\ton_load()\n",
+ " })\n",
+ " require([\"jspanel-contextmenu\"], function() {\n",
+ "\ton_load()\n",
+ " })\n",
+ " require([\"jspanel-dock\"], function() {\n",
+ "\ton_load()\n",
+ " })\n",
+ " require([\"gridstack\"], function(GridStack) {\n",
+ "\twindow.GridStack = GridStack\n",
+ "\ton_load()\n",
+ " })\n",
+ " require([\"notyf\"], function() {\n",
+ "\ton_load()\n",
+ " })\n",
+ " root._bokeh_is_loading = css_urls.length + 9;\n",
+ " } else {\n",
+ " root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n",
+ " }\n",
+ "\n",
+ " var existing_stylesheets = []\n",
+ " var links = document.getElementsByTagName('link')\n",
+ " for (var i = 0; i < links.length; i++) {\n",
+ " var link = links[i]\n",
+ " if (link.href != null) {\n",
+ "\texisting_stylesheets.push(link.href)\n",
+ " }\n",
+ " }\n",
+ " for (var i = 0; i < css_urls.length; i++) {\n",
+ " var url = css_urls[i];\n",
+ " if (existing_stylesheets.indexOf(url) !== -1) {\n",
+ "\ton_load()\n",
+ "\tcontinue;\n",
+ " }\n",
+ " const element = document.createElement(\"link\");\n",
+ " element.onload = on_load;\n",
+ " element.onerror = on_error;\n",
+ " element.rel = \"stylesheet\";\n",
+ " element.type = \"text/css\";\n",
+ " element.href = url;\n",
+ " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
+ " document.body.appendChild(element);\n",
+ " } if (((window['jsPanel'] !== undefined) && (!(window['jsPanel'] instanceof HTMLElement))) || window.requirejs) {\n",
+ " var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js'];\n",
+ " for (var i = 0; i < urls.length; i++) {\n",
+ " skip.push(urls[i])\n",
+ " }\n",
+ " } if (((window['GridStack'] !== undefined) && (!(window['GridStack'] instanceof HTMLElement))) || window.requirejs) {\n",
+ " var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js'];\n",
+ " for (var i = 0; i < urls.length; i++) {\n",
+ " skip.push(urls[i])\n",
+ " }\n",
+ " } if (((window['Notyf'] !== undefined) && (!(window['Notyf'] instanceof HTMLElement))) || window.requirejs) {\n",
+ " var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/notificationarea/notyf@3/notyf.min.js'];\n",
+ " for (var i = 0; i < urls.length; i++) {\n",
+ " skip.push(urls[i])\n",
+ " }\n",
+ " } var existing_scripts = []\n",
+ " var scripts = document.getElementsByTagName('script')\n",
+ " for (var i = 0; i < scripts.length; i++) {\n",
+ " var script = scripts[i]\n",
+ " if (script.src != null) {\n",
+ "\texisting_scripts.push(script.src)\n",
+ " }\n",
+ " }\n",
+ " for (var i = 0; i < js_urls.length; i++) {\n",
+ " var url = js_urls[i];\n",
+ " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n",
+ "\tif (!window.requirejs) {\n",
+ "\t on_load();\n",
+ "\t}\n",
+ "\tcontinue;\n",
+ " }\n",
+ " var element = document.createElement('script');\n",
+ " element.onload = on_load;\n",
+ " element.onerror = on_error;\n",
+ " element.async = false;\n",
+ " element.src = url;\n",
+ " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
+ " document.head.appendChild(element);\n",
+ " }\n",
+ " for (var i = 0; i < js_modules.length; i++) {\n",
+ " var url = js_modules[i];\n",
+ " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n",
+ "\tif (!window.requirejs) {\n",
+ "\t on_load();\n",
+ "\t}\n",
+ "\tcontinue;\n",
+ " }\n",
+ " var element = document.createElement('script');\n",
+ " element.onload = on_load;\n",
+ " element.onerror = on_error;\n",
+ " element.async = false;\n",
+ " element.src = url;\n",
+ " element.type = \"module\";\n",
+ " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
+ " document.head.appendChild(element);\n",
+ " }\n",
+ " for (const name in js_exports) {\n",
+ " var url = js_exports[name];\n",
+ " if (skip.indexOf(url) >= 0 || root[name] != null) {\n",
+ "\tif (!window.requirejs) {\n",
+ "\t on_load();\n",
+ "\t}\n",
+ "\tcontinue;\n",
+ " }\n",
+ " var element = document.createElement('script');\n",
+ " element.onerror = on_error;\n",
+ " element.async = false;\n",
+ " element.type = \"module\";\n",
+ " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
+ " element.textContent = `\n",
+ " import ${name} from \"${url}\"\n",
+ " window.${name} = ${name}\n",
+ " window._bokeh_on_load()\n",
+ " `\n",
+ " document.head.appendChild(element);\n",
+ " }\n",
+ " if (!js_urls.length && !js_modules.length) {\n",
+ " on_load()\n",
+ " }\n",
+ " };\n",
+ "\n",
+ " function inject_raw_css(css) {\n",
+ " const element = document.createElement(\"style\");\n",
+ " element.appendChild(document.createTextNode(css));\n",
+ " document.body.appendChild(element);\n",
+ " }\n",
+ "\n",
+ " var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.2.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.2.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.2.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.2.2.min.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/panel.min.js\"];\n",
+ " var js_modules = [];\n",
+ " var js_exports = {};\n",
+ " var css_urls = [];\n",
+ " var inline_js = [ function(Bokeh) {\n",
+ " Bokeh.set_log_level(\"info\");\n",
+ " },\n",
+ "function(Bokeh) {} // ensure no trailing comma for IE\n",
+ " ];\n",
+ "\n",
+ " function run_inline_js() {\n",
+ " if ((root.Bokeh !== undefined) || (force === true)) {\n",
+ " for (var i = 0; i < inline_js.length; i++) {\n",
+ " inline_js[i].call(root, root.Bokeh);\n",
+ " }\n",
+ " // Cache old bokeh versions\n",
+ " if (Bokeh != undefined && !reloading) {\n",
+ "\tvar NewBokeh = root.Bokeh;\n",
+ "\tif (Bokeh.versions === undefined) {\n",
+ "\t Bokeh.versions = new Map();\n",
+ "\t}\n",
+ "\tif (NewBokeh.version !== Bokeh.version) {\n",
+ "\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n",
+ "\t}\n",
+ "\troot.Bokeh = Bokeh;\n",
+ " }} else if (Date.now() < root._bokeh_timeout) {\n",
+ " setTimeout(run_inline_js, 100);\n",
+ " } else if (!root._bokeh_failed_load) {\n",
+ " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
+ " root._bokeh_failed_load = true;\n",
+ " }\n",
+ " root._bokeh_is_initializing = false\n",
+ " }\n",
+ "\n",
+ " function load_or_wait() {\n",
+ " // Implement a backoff loop that tries to ensure we do not load multiple\n",
+ " // versions of Bokeh and its dependencies at the same time.\n",
+ " // In recent versions we use the root._bokeh_is_initializing flag\n",
+ " // to determine whether there is an ongoing attempt to initialize\n",
+ " // bokeh, however for backward compatibility we also try to ensure\n",
+ " // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n",
+ " // before older versions are fully initialized.\n",
+ " if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n",
+ " root._bokeh_is_initializing = false;\n",
+ " root._bokeh_onload_callbacks = undefined;\n",
+ " console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n",
+ " load_or_wait();\n",
+ " } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n",
+ " setTimeout(load_or_wait, 100);\n",
+ " } else {\n",
+ " Bokeh = root.Bokeh;\n",
+ " bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n",
+ " root._bokeh_is_initializing = true\n",
+ " root._bokeh_onload_callbacks = []\n",
+ " if (!reloading && (!bokeh_loaded || is_dev)) {\n",
+ "\troot.Bokeh = undefined;\n",
+ " }\n",
+ " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n",
+ "\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
+ "\trun_inline_js();\n",
+ " });\n",
+ " }\n",
+ " }\n",
+ " // Give older versions of the autoload script a head-start to ensure\n",
+ " // they initialize before we start loading newer version.\n",
+ " setTimeout(load_or_wait, 100)\n",
+ "}(window));"
+ ],
+ "application/vnd.holoviews_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n var py_version = '3.2.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n var is_dev = py_version.indexOf(\"+\") !== -1 || py_version.indexOf(\"-\") !== -1;\n var reloading = false;\n var Bokeh = root.Bokeh;\n var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks;\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n if (js_exports == null) js_exports = {};\n\n root._bokeh_onload_callbacks.push(callback);\n\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n run_callbacks();\n return null;\n }\n if (!reloading) {\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n window._bokeh_on_load = on_load\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n var skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {'jspanel': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/jspanel', 'jspanel-modal': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal', 'jspanel-tooltip': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip', 'jspanel-hint': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint', 'jspanel-layout': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout', 'jspanel-contextmenu': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu', 'jspanel-dock': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock', 'gridstack': 'https://cdn.jsdelivr.net/npm/gridstack@7.2.3/dist/gridstack-all', 'notyf': 'https://cdn.jsdelivr.net/npm/notyf@3/notyf.min'}, 'shim': {'jspanel': {'exports': 'jsPanel'}, 'gridstack': {'exports': 'GridStack'}}});\n require([\"jspanel\"], function(jsPanel) {\n\twindow.jsPanel = jsPanel\n\ton_load()\n })\n require([\"jspanel-modal\"], function() {\n\ton_load()\n })\n require([\"jspanel-tooltip\"], function() {\n\ton_load()\n })\n require([\"jspanel-hint\"], function() {\n\ton_load()\n })\n require([\"jspanel-layout\"], function() {\n\ton_load()\n })\n require([\"jspanel-contextmenu\"], function() {\n\ton_load()\n })\n require([\"jspanel-dock\"], function() {\n\ton_load()\n })\n require([\"gridstack\"], function(GridStack) {\n\twindow.GridStack = GridStack\n\ton_load()\n })\n require([\"notyf\"], function() {\n\ton_load()\n })\n root._bokeh_is_loading = css_urls.length + 9;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n }\n\n var existing_stylesheets = []\n var links = document.getElementsByTagName('link')\n for (var i = 0; i < links.length; i++) {\n var link = links[i]\n if (link.href != null) {\n\texisting_stylesheets.push(link.href)\n }\n }\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n if (existing_stylesheets.indexOf(url) !== -1) {\n\ton_load()\n\tcontinue;\n }\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n } if (((window['jsPanel'] !== undefined) && (!(window['jsPanel'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['GridStack'] !== undefined) && (!(window['GridStack'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['Notyf'] !== undefined) && (!(window['Notyf'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/notificationarea/notyf@3/notyf.min.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } var existing_scripts = []\n var scripts = document.getElementsByTagName('script')\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n\texisting_scripts.push(script.src)\n }\n }\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (var i = 0; i < js_modules.length; i++) {\n var url = js_modules[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (const name in js_exports) {\n var url = js_exports[name];\n if (skip.indexOf(url) >= 0 || root[name] != null) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onerror = on_error;\n element.async = false;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n element.textContent = `\n import ${name} from \"${url}\"\n window.${name} = ${name}\n window._bokeh_on_load()\n `\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.2.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.2.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.2.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.2.2.min.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/panel.min.js\"];\n var js_modules = [];\n var js_exports = {};\n var css_urls = [];\n var inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n\tvar NewBokeh = root.Bokeh;\n\tif (Bokeh.versions === undefined) {\n\t Bokeh.versions = new Map();\n\t}\n\tif (NewBokeh.version !== Bokeh.version) {\n\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n\t}\n\troot.Bokeh = Bokeh;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n root._bokeh_is_initializing = false\n }\n\n function load_or_wait() {\n // Implement a backoff loop that tries to ensure we do not load multiple\n // versions of Bokeh and its dependencies at the same time.\n // In recent versions we use the root._bokeh_is_initializing flag\n // to determine whether there is an ongoing attempt to initialize\n // bokeh, however for backward compatibility we also try to ensure\n // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n // before older versions are fully initialized.\n if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n load_or_wait();\n } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n setTimeout(load_or_wait, 100);\n } else {\n Bokeh = root.Bokeh;\n bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n root._bokeh_is_initializing = true\n root._bokeh_onload_callbacks = []\n if (!reloading && (!bokeh_loaded || is_dev)) {\n\troot.Bokeh = undefined;\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n\trun_inline_js();\n });\n }\n }\n // Give older versions of the autoload script a head-start to ensure\n // they initialize before we start loading newer version.\n setTimeout(load_or_wait, 100)\n}(window));"
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/javascript": [
+ "\n",
+ "if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n",
+ " window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n",
+ "}\n",
+ "\n",
+ "\n",
+ " function JupyterCommManager() {\n",
+ " }\n",
+ "\n",
+ " JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n",
+ " if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n",
+ " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n",
+ " comm_manager.register_target(comm_id, function(comm) {\n",
+ " comm.on_msg(msg_handler);\n",
+ " });\n",
+ " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n",
+ " window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n",
+ " comm.onMsg = msg_handler;\n",
+ " });\n",
+ " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n",
+ " google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n",
+ " var messages = comm.messages[Symbol.asyncIterator]();\n",
+ " function processIteratorResult(result) {\n",
+ " var message = result.value;\n",
+ " console.log(message)\n",
+ " var content = {data: message.data, comm_id};\n",
+ " var buffers = []\n",
+ " for (var buffer of message.buffers || []) {\n",
+ " buffers.push(new DataView(buffer))\n",
+ " }\n",
+ " var metadata = message.metadata || {};\n",
+ " var msg = {content, buffers, metadata}\n",
+ " msg_handler(msg);\n",
+ " return messages.next().then(processIteratorResult);\n",
+ " }\n",
+ " return messages.next().then(processIteratorResult);\n",
+ " })\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n",
+ " if (comm_id in window.PyViz.comms) {\n",
+ " return window.PyViz.comms[comm_id];\n",
+ " } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n",
+ " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n",
+ " var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n",
+ " if (msg_handler) {\n",
+ " comm.on_msg(msg_handler);\n",
+ " }\n",
+ " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n",
+ " var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n",
+ " comm.open();\n",
+ " if (msg_handler) {\n",
+ " comm.onMsg = msg_handler;\n",
+ " }\n",
+ " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n",
+ " var comm_promise = google.colab.kernel.comms.open(comm_id)\n",
+ " comm_promise.then((comm) => {\n",
+ " window.PyViz.comms[comm_id] = comm;\n",
+ " if (msg_handler) {\n",
+ " var messages = comm.messages[Symbol.asyncIterator]();\n",
+ " function processIteratorResult(result) {\n",
+ " var message = result.value;\n",
+ " var content = {data: message.data};\n",
+ " var metadata = message.metadata || {comm_id};\n",
+ " var msg = {content, metadata}\n",
+ " msg_handler(msg);\n",
+ " return messages.next().then(processIteratorResult);\n",
+ " }\n",
+ " return messages.next().then(processIteratorResult);\n",
+ " }\n",
+ " }) \n",
+ " var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n",
+ " return comm_promise.then((comm) => {\n",
+ " comm.send(data, metadata, buffers, disposeOnDone);\n",
+ " });\n",
+ " };\n",
+ " var comm = {\n",
+ " send: sendClosure\n",
+ " };\n",
+ " }\n",
+ " window.PyViz.comms[comm_id] = comm;\n",
+ " return comm;\n",
+ " }\n",
+ " window.PyViz.comm_manager = new JupyterCommManager();\n",
+ " \n",
+ "\n",
+ "\n",
+ "var JS_MIME_TYPE = 'application/javascript';\n",
+ "var HTML_MIME_TYPE = 'text/html';\n",
+ "var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n",
+ "var CLASS_NAME = 'output';\n",
+ "\n",
+ "/**\n",
+ " * Render data to the DOM node\n",
+ " */\n",
+ "function render(props, node) {\n",
+ " var div = document.createElement(\"div\");\n",
+ " var script = document.createElement(\"script\");\n",
+ " node.appendChild(div);\n",
+ " node.appendChild(script);\n",
+ "}\n",
+ "\n",
+ "/**\n",
+ " * Handle when a new output is added\n",
+ " */\n",
+ "function handle_add_output(event, handle) {\n",
+ " var output_area = handle.output_area;\n",
+ " var output = handle.output;\n",
+ " if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
+ " return\n",
+ " }\n",
+ " var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
+ " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
+ " if (id !== undefined) {\n",
+ " var nchildren = toinsert.length;\n",
+ " var html_node = toinsert[nchildren-1].children[0];\n",
+ " html_node.innerHTML = output.data[HTML_MIME_TYPE];\n",
+ " var scripts = [];\n",
+ " var nodelist = html_node.querySelectorAll(\"script\");\n",
+ " for (var i in nodelist) {\n",
+ " if (nodelist.hasOwnProperty(i)) {\n",
+ " scripts.push(nodelist[i])\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " scripts.forEach( function (oldScript) {\n",
+ " var newScript = document.createElement(\"script\");\n",
+ " var attrs = [];\n",
+ " var nodemap = oldScript.attributes;\n",
+ " for (var j in nodemap) {\n",
+ " if (nodemap.hasOwnProperty(j)) {\n",
+ " attrs.push(nodemap[j])\n",
+ " }\n",
+ " }\n",
+ " attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n",
+ " newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n",
+ " oldScript.parentNode.replaceChild(newScript, oldScript);\n",
+ " });\n",
+ " if (JS_MIME_TYPE in output.data) {\n",
+ " toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n",
+ " }\n",
+ " output_area._hv_plot_id = id;\n",
+ " if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n",
+ " window.PyViz.plot_index[id] = Bokeh.index[id];\n",
+ " } else {\n",
+ " window.PyViz.plot_index[id] = null;\n",
+ " }\n",
+ " } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
+ " var bk_div = document.createElement(\"div\");\n",
+ " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
+ " var script_attrs = bk_div.children[0].attributes;\n",
+ " for (var i = 0; i < script_attrs.length; i++) {\n",
+ " toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
+ " }\n",
+ " // store reference to server id on output_area\n",
+ " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "/**\n",
+ " * Handle when an output is cleared or removed\n",
+ " */\n",
+ "function handle_clear_output(event, handle) {\n",
+ " var id = handle.cell.output_area._hv_plot_id;\n",
+ " var server_id = handle.cell.output_area._bokeh_server_id;\n",
+ " if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n",
+ " var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n",
+ " if (server_id !== null) {\n",
+ " comm.send({event_type: 'server_delete', 'id': server_id});\n",
+ " return;\n",
+ " } else if (comm !== null) {\n",
+ " comm.send({event_type: 'delete', 'id': id});\n",
+ " }\n",
+ " delete PyViz.plot_index[id];\n",
+ " if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n",
+ " var doc = window.Bokeh.index[id].model.document\n",
+ " doc.clear();\n",
+ " const i = window.Bokeh.documents.indexOf(doc);\n",
+ " if (i > -1) {\n",
+ " window.Bokeh.documents.splice(i, 1);\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "/**\n",
+ " * Handle kernel restart event\n",
+ " */\n",
+ "function handle_kernel_cleanup(event, handle) {\n",
+ " delete PyViz.comms[\"hv-extension-comm\"];\n",
+ " window.PyViz.plot_index = {}\n",
+ "}\n",
+ "\n",
+ "/**\n",
+ " * Handle update_display_data messages\n",
+ " */\n",
+ "function handle_update_output(event, handle) {\n",
+ " handle_clear_output(event, {cell: {output_area: handle.output_area}})\n",
+ " handle_add_output(event, handle)\n",
+ "}\n",
+ "\n",
+ "function register_renderer(events, OutputArea) {\n",
+ " function append_mime(data, metadata, element) {\n",
+ " // create a DOM node to render to\n",
+ " var toinsert = this.create_output_subarea(\n",
+ " metadata,\n",
+ " CLASS_NAME,\n",
+ " EXEC_MIME_TYPE\n",
+ " );\n",
+ " this.keyboard_manager.register_events(toinsert);\n",
+ " // Render to node\n",
+ " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
+ " render(props, toinsert[0]);\n",
+ " element.append(toinsert);\n",
+ " return toinsert\n",
+ " }\n",
+ "\n",
+ " events.on('output_added.OutputArea', handle_add_output);\n",
+ " events.on('output_updated.OutputArea', handle_update_output);\n",
+ " events.on('clear_output.CodeCell', handle_clear_output);\n",
+ " events.on('delete.Cell', handle_clear_output);\n",
+ " events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n",
+ "\n",
+ " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
+ " safe: true,\n",
+ " index: 0\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "if (window.Jupyter !== undefined) {\n",
+ " try {\n",
+ " var events = require('base/js/events');\n",
+ " var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
+ " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
+ " register_renderer(events, OutputArea);\n",
+ " }\n",
+ " } catch(err) {\n",
+ " }\n",
+ "}\n"
+ ],
+ "application/vnd.holoviews_load.v0+json": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n }) \n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n"
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "from erddapy import ERDDAP\n",
+ "from sliderule import sliderule, icesat2, earthdata\n",
+ "import icepyx as ipx\n",
+ "from datetime import datetime, timedelta,timezone\n",
+ "\n",
+ "import time\n",
+ "import os\n",
+ "import re\n",
+ "import glob\n",
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import logging\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "from config import workspace_path, atl03_path,\\\n",
+ " other_data_path ,shoreline_data ,gebco_path ,\\\n",
+ " horizontal_res ,vertical_res ,subsurface_thresh ,\\\n",
+ " ignore_subsurface_height_thres ,output_path \n",
+ "\n",
+ "\n",
+ " \n",
+ "from kd_utils.data_processing import load_data, \\\n",
+ " extract_file_params, \\\n",
+ " Extract_sea_photons, \\\n",
+ " filter_photon_dataset_by_hull_area\n",
+ " \n",
+ "from kd_utils.sea_photons_analysis import process_sea_photon_binning,\\\n",
+ " get_sea_surface_height\n",
+ " \n",
+ " \n",
+ "from kd_utils.bathy_processing import process_subsurface_photon_filtering\n",
+ "\n",
+ "from kd_utils.visualization import plot_photon_height, \\\n",
+ " plot_kd_photons, \\\n",
+ " plot_filtered_seafloor_photons\n",
+ " \n",
+ "from kd_utils.Kd_analysis import process_kd_calculation\n",
+ "\n",
+ "from kd_utils.interpolation import geoid_correction, \\\n",
+ " refraction_correction, \\\n",
+ " interpolate_labels, \\\n",
+ " apply_interpolation\n",
+ "\n",
+ "\n",
+ "\n",
+ "pd.set_option('display.max_columns', None)\n",
+ "# pd.set_option('display.max_rows', None)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "3ae97e48-47cb-461e-ac38-1f4ca6df96ec",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def fname2datetime(fname):\n",
+ " y = int(fname[6:10])\n",
+ " m = int(fname[10:12])\n",
+ " d = int(fname[12:14])\n",
+ " H = int(fname[14:16])\n",
+ " M = int(fname[16:18])\n",
+ " S = int(fname[18:20])\n",
+ "\n",
+ " t = datetime(y,m,d,H,M,S, tzinfo=timezone.utc)\n",
+ " return t\n",
+ "\n",
+ "def buoy_bound_box(lat,lon,buffer_km):\n",
+ " # define a buffer distance around the buoy to search for icesat-2 data\n",
+ " lat_buff = buffer_km/111 # convert buffer distance to frac of 1 deg lat\n",
+ " lon_buff = buffer_km/(111*np.cos(lat*np.pi/180)) # convert buffer distance to frac of 1 deg lon\n",
+ " # define bounding box around the buoy (WSEN)\n",
+ " # example: bbox = [-108.3, 39.2, -107.8, 38.8]\n",
+ " # bbox = [lon-lon_buff,lat+lat_buff,lon+lon_buff,lat-lat_buff]\n",
+ " # region = sliderule.toregion(bbox)\n",
+ " minx = lon - lon_buff\n",
+ " miny = lat - lat_buff\n",
+ " maxx = lon + lon_buff\n",
+ " maxy = lat + lat_buff\n",
+ "\n",
+ " # polygon vertices: Given as longitude, latitude coordinate pairs of decimal degrees with the last entry a repeat of the first.\n",
+ " poly_ipx = [(minx, miny), (maxx, miny), (maxx, maxy), (minx, maxy), (minx, miny)]\n",
+ " poly_cmr = [{'lon': minx, 'lat': miny},\n",
+ " {'lon': maxx, 'lat': miny},\n",
+ " {'lon': maxx, 'lat': maxy},\n",
+ " {'lon': minx, 'lat': maxy},\n",
+ " {'lon': minx, 'lat': miny}] # Closing the loop by repeating the first point\n",
+ "\n",
+ " return poly_cmr, poly_ipx\n",
+ "\n",
+ "\n",
+ "def main():\n",
+ " try:\n",
+ " \n",
+ " # Load IS2 and extract sea photons\n",
+ " IS2_atl03_mds, IS2_atl03_attrs, IS2_atl03_beams = load_data(ATL03_h5_file_path) \n",
+ " \n",
+ " ## For debugging\n",
+ " #IS2_atl03_beams=['gt1r']\n",
+ " \n",
+ " # Check beam types and ensure we have what we want (e.g., strong beams)\n",
+ " target_beam_type=['gt1l', 'gt2l', 'gt3l'] \n",
+ " IS2_atl03_beams = [beam for beam in IS2_atl03_beams if beam in target_beam_type]\n",
+ " if not IS2_atl03_beams:\n",
+ " print('No Strong Beam')\n",
+ " # sys.exit() # Terminate the program\n",
+ " else:\n",
+ " print(f'Strong Beams Found: {IS2_atl03_beams}')\n",
+ " \n",
+ " # Extract sea photon by applying the land mask\n",
+ " sea_photon_dataset = Extract_sea_photons(IS2_atl03_mds, IS2_atl03_beams, shoreline_data_path)\n",
+ " \n",
+ " \n",
+ " # Main processing function to apply binning beam-by-beam \n",
+ " # to bin the photons data by vertical_res 25 cm and horizontal resolution 500m\n",
+ " binned_dataset_sea_surface = process_sea_photon_binning(sea_photon_dataset, horizontal_res=horizontal_res, vertical_res=vertical_res)\n",
+ " \n",
+ " \n",
+ " # filter to get subsurface photons\n",
+ " sea_surface_height, sea_surface_label, filtered_seafloor_subsurface_photon_dataset = \\\n",
+ " process_subsurface_photon_filtering(binned_dataset_sea_surface, subsurface_thresh, GEBCO_file_path_lists)\n",
+ " \n",
+ " \n",
+ " # Visualization of the filtered seafloor photons\n",
+ " # Uncomment the following lines to visualize if needed\n",
+ " # output_path = OutputPath+'/IS2_subsurface_RM_Seafloor.jpg'\n",
+ " # plot_filtered_seafloor_photons(filtered_seafloor_subsurface_dataset=filtered_seafloor_subsurface_photon_dataset, \n",
+ " # sea_photon_dataset=sea_photon_dataset, \n",
+ " # sea_surface_height=sea_surface_height, \n",
+ " # output_path=output_path)\n",
+ " \n",
+ " ########################\n",
+ " # Todo: move the filter to the begining\n",
+ " # Filter shallow photons that may have noises from wave, afterpulse, or others\n",
+ " # by setting Ignore_Subsurface_Height_Thres (i.e., -6)\n",
+ " # Masked out the deep water photons by applying (filtered_seafloor_subsurface_photon_dataset < Ignore_Subsurface_Height_Thres)\n",
+ " # Filter out points below the seafloor\n",
+ " Final_filtered_subsurface_photon_dataset = filtered_seafloor_subsurface_photon_dataset[\n",
+ " filtered_seafloor_subsurface_photon_dataset['photon_height'] < Ignore_Subsurface_Height_Thres\n",
+ " ]\n",
+ " \n",
+ " # Final_filtered_subsurface_photon_dataset = filtered_seafloor_subsurface_photon_dataset\n",
+ " \n",
+ " #Filter dataframe based on beam list\n",
+ " Final_filtered_subsurface_photon_dataset = Final_filtered_subsurface_photon_dataset[Final_filtered_subsurface_photon_dataset['beam_id'].isin(target_beam_type)]\n",
+ " \n",
+ " ###################################\n",
+ " ### Todo: move the filter to the begining\n",
+ " # Steps to standardize KD calculation by filtering out \n",
+ " # segments lacking sufficient subsurface photons.\n",
+ " # Approach: Use the ConvexHull of photons within \n",
+ " # each rectanglar area formed by each horizontal bin (here, it is lat_bins) and \n",
+ " # based on dataframe Final_filtered_subsurface_photon_dataset along the distance of the track\n",
+ " \n",
+ " # Apply filtering based on hull area if desired\n",
+ " Final_filtered_subsurface_photon_dataset, convex_hull_areas, convex_hulls = filter_photon_dataset_by_hull_area(\n",
+ " Final_filtered_subsurface_photon_dataset, hull_area_threshold=1500\n",
+ " )\n",
+ " \n",
+ " # Visualization\n",
+ " # Uncomment the following line to visualize if needed\n",
+ " \n",
+ " # plot_target_beam=['gt1l']\n",
+ " # plot_convex_hulls(Final_filtered_subsurface_photon_dataset, plot_target_beam, convex_hulls, convex_hull_areas)\n",
+ " \n",
+ " ########################################### \n",
+ " # calculate kd and save it to table\n",
+ " SubsurfacePhotonDFAddedKd = process_kd_calculation(Final_filtered_subsurface_photon_dataset)\n",
+ " \n",
+ " \n",
+ " ## Todo move this part into a function so that it will not looks too busy here\n",
+ " # Extract the timestamp using regex and use it to set the output file name\n",
+ " match = re.search(r\"_(\\d{14})_\", ATL03_h5_file_path)\n",
+ " timestamp = match.group(1) if match else \"unknown\"\n",
+ " \n",
+ " output_file_path = os.path.join(OutputPath, f\"{timestamp}_AddedKdDataset_strongBeams_Further.csv\")\n",
+ " SubsurfacePhotonDFAddedKd.to_csv(output_file_path, index=False)\n",
+ " \n",
+ " if 'relative_AT_dist' in filtered_seafloor_subsurface_photon_dataset.columns:\n",
+ " unique_photon_dataset = filtered_seafloor_subsurface_photon_dataset[['relative_AT_dist', 'lat_bins', 'photon_height']].drop_duplicates()\n",
+ " unique_photon_dataset['relative_AT_dist_center'] = unique_photon_dataset\\\n",
+ " .groupby('lat_bins', observed=False)['relative_AT_dist'].transform('mean')\n",
+ " def find_closest(group):\n",
+ " if not group.empty:\n",
+ " center = group['relative_AT_dist_center'].iloc[0]\n",
+ " group['dist_to_center'] = abs(group['relative_AT_dist'] - center)\n",
+ " closest_index = group['dist_to_center'].idxmin()\n",
+ " return group.loc[[closest_index]]\n",
+ " else:\n",
+ " return pd.DataFrame(columns=group.columns)\n",
+ " \n",
+ " # Filter out empty or all-NA entries\n",
+ " unique_photon_dataset_filtered = unique_photon_dataset.dropna(how='all', axis=1)\n",
+ " \n",
+ " # Group by 'lat_bins' and apply the find_closest function\n",
+ " closest_to_center = unique_photon_dataset_filtered\\\n",
+ " .groupby('lat_bins', observed=False)\\\n",
+ " .apply(find_closest, include_groups=True)\n",
+ " # .reset_index()\n",
+ " \n",
+ " # Remove the index without resetting it if 'lat_bins' already exists\n",
+ " closest_to_center.index = closest_to_center.index.droplevel(0)\n",
+ " \n",
+ " # Ensure relevant entries are excluded before concatenation\n",
+ " closest_to_center = closest_to_center.dropna(axis=1, how='all')\n",
+ " \n",
+ " Kd_DF_MergedDistance = closest_to_center.merge(SubsurfacePhotonDFAddedKd, on='lat_bins', how='left')\n",
+ " Kd_DF_MergedDistance = Kd_DF_MergedDistance.drop(columns=['relative_AT_dist_center', 'dist_to_center'])\n",
+ " \n",
+ " \n",
+ " # plot_kd_photons(OutputPath, timestamp, plot_target_beam, filtered_seafloor_subsurface_photon_dataset, Kd_DF_MergedDistance)\n",
+ " \n",
+ " logging.info(\"SUCCESS!\")\n",
+ " \n",
+ " except Exception as e:\n",
+ " logging.error(f\"An error occurred: {e}\")\n",
+ "\n",
+ "# if __name__ == '__main__':\n",
+ " \n",
+ "# # Get arguments function\n",
+ "# args = get_args() \n",
+ " \n",
+ "# ATL03_h5_file_path = os.path.join(args.workspace_path, args.atl03_path, args.atl03_file)\n",
+ " \n",
+ "# shoreline_data_path = os.path.join(args.workspace_path, args.other_data_path, args.shoreline_data)\n",
+ " \n",
+ "# GEBCO_full_path = os.path.join(args.workspace_path, args.other_data_path, args.gebco_path)\n",
+ " \n",
+ "# OutputPath = os.path.join(args.workspace_path, args.output_path)\n",
+ " \n",
+ "# #Get the gebco list\n",
+ "# #gebco_2024_n0.0_s-90.0_w0.0_e90.0.tif\n",
+ "# GEBCO_file_pattern = os.path.join(GEBCO_full_path, \"gebco_*.tif\")\n",
+ "\n",
+ "# #Initialize with an empty list\n",
+ "# GEBCO_file_path_lists = []\n",
+ "# for GEBCO_file_path_name in glob.glob(GEBCO_file_pattern):\n",
+ "# #put the find one into the list\n",
+ "# GEBCO_file_path_lists.append(GEBCO_file_path_name)\n",
+ "\n",
+ " \n",
+ "# # Get all other necessary parameters\n",
+ "# horizontal_res = args.horizontal_res\n",
+ " \n",
+ "# vertical_res = args.vertical_res\n",
+ " \n",
+ "# subsurface_thresh = args.subsurface_thresh\n",
+ " \n",
+ "# Ignore_Subsurface_Height_Thres = args.ignore_subsurface_height_thres\n",
+ " \n",
+ "# # When all paramters ready, call the main function\n",
+ "# main()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "1d72dbef-f954-499f-be76-c1de3233b325",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
sites
\n",
+ "
url
\n",
+ "
time_coverage_start
\n",
+ "
time_coverage_end
\n",
+ "
geospatial_lat_min
\n",
+ "
geospatial_lat_max
\n",
+ "
geospatial_lon_min
\n",
+ "
geospatial_lon_max
\n",
+ "
geospatial_lat_units
\n",
+ "
geospatial_lon_units
\n",
+ "
check_sum
\n",
+ "
buoy
\n",
+ "
glider
\n",
+ "
ship
\n",
+ "
turb
\n",
+ "
ssc
\n",
+ "
phot
\n",
+ "
chl
\n",
+ "
turbid
\n",
+ "
photo
\n",
+ "
radiation
\n",
+ "
photon_data
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
0
\n",
+ "
WS18285_WS18285_Decktst
\n",
+ "
https://gcoos5.geos.tamu.edu/erddap/
\n",
+ "
2018-10-11T18:24:49Z
\n",
+ "
2018-10-11T18:24:49Z
\n",
+ "
25.731333
\n",
+ "
25.731333
\n",
+ "
-80.162000
\n",
+ "
-80.162000
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
1.0
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
1
\n",
+ "
WS18285_WS18285_Decktst2
\n",
+ "
https://gcoos5.geos.tamu.edu/erddap/
\n",
+ "
2018-10-12T11:03:42Z
\n",
+ "
2018-10-12T11:03:42Z
\n",
+ "
25.731333
\n",
+ "
25.731333
\n",
+ "
-80.162000
\n",
+ "
-80.162000
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
1.0
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
WS18285_WS18285_WS18285_Stn_16
\n",
+ "
https://gcoos5.geos.tamu.edu/erddap/
\n",
+ "
2018-10-19T08:04:39Z
\n",
+ "
2018-10-19T08:04:39Z
\n",
+ "
24.671000
\n",
+ "
24.671000
\n",
+ "
-81.204000
\n",
+ "
-81.204000
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
1.0
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
WS18285_WS18285_WS18285_Stn_18
\n",
+ "
https://gcoos5.geos.tamu.edu/erddap/
\n",
+ "
2018-10-19T08:55:14Z
\n",
+ "
2018-10-19T08:55:14Z
\n",
+ "
24.597500
\n",
+ "
24.597500
\n",
+ "
-81.186333
\n",
+ "
-81.186333
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
1.0
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
WS18285_WS18285_WS18285_Stn_2
\n",
+ "
https://gcoos5.geos.tamu.edu/erddap/
\n",
+ "
2018-10-12T14:36:07Z
\n",
+ "
2018-10-12T14:36:07Z
\n",
+ "
25.642167
\n",
+ "
25.642167
\n",
+ "
-80.104000
\n",
+ "
-80.104000
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
1.0
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\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",
+ "
1571
\n",
+ "
WS23061_WS23061_WS23061_Kelble_Stn_V7
\n",
+ "
https://gcoos5.geos.tamu.edu/erddap/
\n",
+ "
2023-03-05T10:20:54Z
\n",
+ "
2023-03-05T10:20:54Z
\n",
+ "
26.874667
\n",
+ "
26.874667
\n",
+ "
-82.891167
\n",
+ "
-82.891167
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
1.0
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
1572
\n",
+ "
WS23061_WS23061_WS23061_Kelble_Stn_V8
\n",
+ "
https://gcoos5.geos.tamu.edu/erddap/
\n",
+ "
2023-03-05T09:35:24Z
\n",
+ "
2023-03-05T09:35:24Z
\n",
+ "
26.835833
\n",
+ "
26.835833
\n",
+ "
-82.953833
\n",
+ "
-82.953833
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
1.0
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
1573
\n",
+ "
WS23061_WS23061_WS23061_Kelble_Stn_V9
\n",
+ "
https://gcoos5.geos.tamu.edu/erddap/
\n",
+ "
2023-03-05T08:14:57Z
\n",
+ "
2023-03-05T08:14:57Z
\n",
+ "
26.729333
\n",
+ "
26.729333
\n",
+ "
-83.099833
\n",
+ "
-83.099833
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
1.0
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
1574
\n",
+ "
WS23061_WS23061_WS23061_Kelble_Stn_WS
\n",
+ "
https://gcoos5.geos.tamu.edu/erddap/
\n",
+ "
2023-03-08T17:51:03Z
\n",
+ "
2023-03-08T17:51:03Z
\n",
+ "
24.474833
\n",
+ "
24.474833
\n",
+ "
-81.715000
\n",
+ "
-81.715000
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
1.0
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
1575
\n",
+ "
WS23061_WS23061_WS23061_Kelble_Stn002
\n",
+ "
https://gcoos5.geos.tamu.edu/erddap/
\n",
+ "
2023-03-02T11:25:49Z
\n",
+ "
2023-03-02T11:25:49Z
\n",
+ "
25.642333
\n",
+ "
25.642333
\n",
+ "
-80.104000
\n",
+ "
-80.104000
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
1.0
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
1576 rows × 22 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " sites \\\n",
+ "0 WS18285_WS18285_Decktst \n",
+ "1 WS18285_WS18285_Decktst2 \n",
+ "2 WS18285_WS18285_WS18285_Stn_16 \n",
+ "3 WS18285_WS18285_WS18285_Stn_18 \n",
+ "4 WS18285_WS18285_WS18285_Stn_2 \n",
+ "... ... \n",
+ "1571 WS23061_WS23061_WS23061_Kelble_Stn_V7 \n",
+ "1572 WS23061_WS23061_WS23061_Kelble_Stn_V8 \n",
+ "1573 WS23061_WS23061_WS23061_Kelble_Stn_V9 \n",
+ "1574 WS23061_WS23061_WS23061_Kelble_Stn_WS \n",
+ "1575 WS23061_WS23061_WS23061_Kelble_Stn002 \n",
+ "\n",
+ " url time_coverage_start \\\n",
+ "0 https://gcoos5.geos.tamu.edu/erddap/ 2018-10-11T18:24:49Z \n",
+ "1 https://gcoos5.geos.tamu.edu/erddap/ 2018-10-12T11:03:42Z \n",
+ "2 https://gcoos5.geos.tamu.edu/erddap/ 2018-10-19T08:04:39Z \n",
+ "3 https://gcoos5.geos.tamu.edu/erddap/ 2018-10-19T08:55:14Z \n",
+ "4 https://gcoos5.geos.tamu.edu/erddap/ 2018-10-12T14:36:07Z \n",
+ "... ... ... \n",
+ "1571 https://gcoos5.geos.tamu.edu/erddap/ 2023-03-05T10:20:54Z \n",
+ "1572 https://gcoos5.geos.tamu.edu/erddap/ 2023-03-05T09:35:24Z \n",
+ "1573 https://gcoos5.geos.tamu.edu/erddap/ 2023-03-05T08:14:57Z \n",
+ "1574 https://gcoos5.geos.tamu.edu/erddap/ 2023-03-08T17:51:03Z \n",
+ "1575 https://gcoos5.geos.tamu.edu/erddap/ 2023-03-02T11:25:49Z \n",
+ "\n",
+ " time_coverage_end geospatial_lat_min geospatial_lat_max \\\n",
+ "0 2018-10-11T18:24:49Z 25.731333 25.731333 \n",
+ "1 2018-10-12T11:03:42Z 25.731333 25.731333 \n",
+ "2 2018-10-19T08:04:39Z 24.671000 24.671000 \n",
+ "3 2018-10-19T08:55:14Z 24.597500 24.597500 \n",
+ "4 2018-10-12T14:36:07Z 25.642167 25.642167 \n",
+ "... ... ... ... \n",
+ "1571 2023-03-05T10:20:54Z 26.874667 26.874667 \n",
+ "1572 2023-03-05T09:35:24Z 26.835833 26.835833 \n",
+ "1573 2023-03-05T08:14:57Z 26.729333 26.729333 \n",
+ "1574 2023-03-08T17:51:03Z 24.474833 24.474833 \n",
+ "1575 2023-03-02T11:25:49Z 25.642333 25.642333 \n",
+ "\n",
+ " geospatial_lon_min geospatial_lon_max geospatial_lat_units \\\n",
+ "0 -80.162000 -80.162000 degrees_north \n",
+ "1 -80.162000 -80.162000 degrees_north \n",
+ "2 -81.204000 -81.204000 degrees_north \n",
+ "3 -81.186333 -81.186333 degrees_north \n",
+ "4 -80.104000 -80.104000 degrees_north \n",
+ "... ... ... ... \n",
+ "1571 -82.891167 -82.891167 degrees_north \n",
+ "1572 -82.953833 -82.953833 degrees_north \n",
+ "1573 -83.099833 -83.099833 degrees_north \n",
+ "1574 -81.715000 -81.715000 degrees_north \n",
+ "1575 -80.104000 -80.104000 degrees_north \n",
+ "\n",
+ " geospatial_lon_units check_sum buoy glider ship turb ssc \\\n",
+ "0 degrees_east 1.0 False False False False False \n",
+ "1 degrees_east 1.0 False False False False False \n",
+ "2 degrees_east 1.0 False False False False False \n",
+ "3 degrees_east 1.0 False False False False False \n",
+ "4 degrees_east 1.0 False False False False False \n",
+ "... ... ... ... ... ... ... ... \n",
+ "1571 degrees_east 1.0 False False False False False \n",
+ "1572 degrees_east 1.0 False False False False False \n",
+ "1573 degrees_east 1.0 False False False False False \n",
+ "1574 degrees_east 1.0 False False False False False \n",
+ "1575 degrees_east 1.0 False False False False False \n",
+ "\n",
+ " phot chl turbid photo radiation photon_data \n",
+ "0 True True False True True False \n",
+ "1 True True False True True False \n",
+ "2 True True False True True False \n",
+ "3 True True False True True False \n",
+ "4 True True False True True False \n",
+ "... ... ... ... ... ... ... \n",
+ "1571 True True False True True False \n",
+ "1572 True True False True True False \n",
+ "1573 True True False True True False \n",
+ "1574 True True False True True False \n",
+ "1575 True True False True True False \n",
+ "\n",
+ "[1576 rows x 22 columns]"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# load a list of all the relevant ERDDAPs and their urls\n",
+ "FF = pd.read_pickle(\"results/labeled_relevant_stations.pkl\")\n",
+ "# there are ltos of different searches to do...\n",
+ "FF = FF[(FF.url=='https://gcoos5.geos.tamu.edu/erddap/') & (FF.radiation == True) & (\n",
+ " FF.buoy == False)]\n",
+ "FF.reset_index(drop=True, inplace=True)\n",
+ "\n",
+ "FF[\"geospatial_lat_min\"] = pd.to_numeric(FF[\"geospatial_lat_min\"])\n",
+ "FF[\"geospatial_lon_min\"] = pd.to_numeric(FF[\"geospatial_lon_min\"])\n",
+ "FF[\"geospatial_lat_max\"] = pd.to_numeric(FF[\"geospatial_lat_max\"])\n",
+ "FF[\"geospatial_lon_max\"] = pd.to_numeric(FF[\"geospatial_lon_max\"])\n",
+ "FF[\"photon_data\"] = False\n",
+ "FF\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "81cbc4d3-802a-4e98-9220-8b847742bc3b",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "processing 0/1576\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n"
+ ]
+ },
+ {
+ "name": "stdin",
+ "output_type": "stream",
+ "text": [
+ "Enter your Earthdata Login username: gloverha\n",
+ "Enter your Earthdata password: ········\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "order ID: 5000005876055\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876055 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876056\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876056 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 100/1576\n",
+ "processing 200/1576\n",
+ "processing 300/1576\n",
+ "processing 400/1576\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876061 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876062\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876062 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 600/1576\n",
+ "processing 700/1576\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876063\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876063 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 800/1576\n",
+ "processing 900/1576\n",
+ "processing 1000/1576\n",
+ "processing 1100/1576\n",
+ "processing 1200/1576\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876069\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876069 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876070\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876070 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 1300/1576\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876071\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876071 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876072\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876072 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876073\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876073 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876074\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876074 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876075\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876075 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 1400/1576\n",
+ "processing 1500/1576\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005876076\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005876076 of 1 order(s) is downloaded.\n",
+ "Download complete\n"
+ ]
+ }
+ ],
+ "source": [
+ "# these values can be adjusted to broaden/narrow the fit btwn icesat-2 and the ground truth\n",
+ "search_hrs = 6\n",
+ "search_km = 4\n",
+ "for jj in range(len(FF)):\n",
+ " if jj % 100 == 0:\n",
+ " print('processing '+str(jj) +'/'+str(len(FF)))# give a printout every 100 for my sanity\n",
+ "\n",
+ " # set up erddap request:\n",
+ " e = ERDDAP(server=FF['url'][jj],\n",
+ " protocol=\"tabledap\",\n",
+ " response=\"csv\")\n",
+ " e.dataset_id = FF['sites'][jj]\n",
+ " # try to download the associated buoy data - skip this entry if it fails\n",
+ " try:\n",
+ " buoy = e.to_pandas() \n",
+ " except:\n",
+ " continue\n",
+ " \n",
+ " # define a search region around the buoy \n",
+ " lat = FF['geospatial_lat_min'][jj]\n",
+ " lon = FF['geospatial_lon_min'][jj]\n",
+ " poly_cmr,poly_ipx = buoy_bound_box(lat,lon,search_km)\n",
+ "\n",
+ " # if buoy data exists, download the ATL03 photons in the bounding box at this time\n",
+ " # add a time buffer to search for relevant sat data for each cast\n",
+ " t = datetime.fromisoformat(FF['time_coverage_start'][jj])\n",
+ " short_name = 'ATL03'\n",
+ " t_start = (t-timedelta(hours=search_hrs))\n",
+ " t_end = (t+timedelta(hours=search_hrs))\n",
+ " date_range = [t_start,t_end]\n",
+ " region = ipx.Query(short_name, poly_ipx, date_range)\n",
+ " try:\n",
+ " region.download_granules('data/')\n",
+ " except:\n",
+ " continue\n",
+ " #buoy.to_csv('data/data_'+str(e.dataset_id)+'_'+str(t_start)+'.csv')\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "0e91ffef-8a80-4cbe-ac5b-3fd2c41e4842",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 23:36:36,060 - INFO - ./data/processed_ATL03_20221206204321_11781702_006_02.h5\n",
+ "2024-12-03 23:36:36,066 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 23:37:02,902 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 23:37:02,903 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 23:37:03,013 - INFO - SUCCESS!\n",
+ "2024-12-03 23:37:03,025 - INFO - ./data/processed_ATL03_20181218055622_12310107_006_02.h5\n",
+ "2024-12-03 23:37:03,031 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 23:37:48,494 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 23:37:48,495 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 23:37:48,550 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 23:37:48,551 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 23:37:48,645 - INFO - SUCCESS!\n",
+ "2024-12-03 23:37:48,658 - INFO - ./data/processed_ATL03_20201009101333_02330901_006_01.h5\n",
+ "2024-12-03 23:37:48,668 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 23:38:33,541 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 23:38:33,541 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 23:38:33,569 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 23:38:33,570 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 23:38:33,654 - INFO - SUCCESS!\n",
+ "2024-12-03 23:38:33,667 - INFO - ./data/processed_ATL03_20221013112140_03471707_006_01.h5\n",
+ "2024-12-03 23:38:33,673 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 23:40:04,472 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 23:40:04,473 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 23:40:04,491 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 23:40:04,491 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 23:40:04,550 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 23:40:04,550 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 23:40:04,634 - INFO - SUCCESS!\n",
+ "2024-12-03 23:40:04,647 - INFO - ./data/processed_ATL03_20200820005033_08500807_006_01.h5\n",
+ "2024-12-03 23:40:04,653 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 23:40:27,228 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-03 23:40:27,228 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 23:40:27,319 - INFO - SUCCESS!\n",
+ "2024-12-03 23:40:27,331 - INFO - ./data/processed_ATL03_20220525180429_09721506_006_01.h5\n",
+ "2024-12-03 23:40:27,337 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-03 23:41:12,472 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-03 23:41:12,472 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 23:41:12,501 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-03 23:41:12,501 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-03 23:41:12,543 - INFO - SUCCESS!\n",
+ "2024-12-03 23:41:12,556 - INFO - ./data/processed_ATL03_20210405014140_01721101_006_02.h5\n",
+ "2024-12-03 23:41:12,563 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ }
+ ],
+ "source": [
+ "h5names = glob.glob('data/processed_*.h5')\n",
+ "\n",
+ "\n",
+ "for jj in range(len(h5names)):\n",
+ " # code from chao (in Main.ipynb)\n",
+ " atl03_file_inloop = h5names[jj]\n",
+ " ATL03_h5_file_path = os.path.join(workspace_path, atl03_file_inloop)\n",
+ " # print(ATL03_h5_file_path)\n",
+ " shoreline_data_path = os.path.join(workspace_path, other_data_path, shoreline_data)\n",
+ " # print(shoreline_data_path)\n",
+ " GEBCO_full_path = os.path.join(workspace_path, other_data_path, gebco_path)\n",
+ " # print(GEBCO_full_path)\n",
+ " OutputPath = os.path.join(workspace_path, output_path)\n",
+ " # print(OutputPath)\n",
+ " \n",
+ " \n",
+ " #Get the gebco list\n",
+ " GEBCO_file_pattern = os.path.join(GEBCO_full_path, \"gebco_*.tif\")\n",
+ " \n",
+ " #Initialize with an empty list\n",
+ " GEBCO_file_path_lists = []\n",
+ " for GEBCO_file_path_name in glob.glob(GEBCO_file_pattern):\n",
+ " #put the find one into the list\n",
+ " GEBCO_file_path_lists.append(GEBCO_file_path_name)\n",
+ " \n",
+ " # print(GEBCO_file_path_lists)\n",
+ " \n",
+ " # Get all other necessary parameters\n",
+ " horizontal_res = horizontal_res\n",
+ " vertical_res = vertical_res\n",
+ " subsurface_thresh = subsurface_thresh\n",
+ " Ignore_Subsurface_Height_Thres = ignore_subsurface_height_thres\n",
+ " \n",
+ " # Configure logging\n",
+ " logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')\n",
+ " \n",
+ " \n",
+ " # When all paramters ready, call the main function\n",
+ " main()\n",
+ " # delete the hefty h5 file once done with processing - only store calculated kd values\n",
+ " # os.remove(ATL03_h5_file_path)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/02_match_turbidity2granules_ipx.ipynb b/icesat2_kdph-main/02_match_turbidity2granules_ipx.ipynb
new file mode 100644
index 0000000..2309737
--- /dev/null
+++ b/icesat2_kdph-main/02_match_turbidity2granules_ipx.ipynb
@@ -0,0 +1,22955 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "fe17c663-98a1-4c47-b0b8-dbd94cf8a89e",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet \"sliderule @ git+https://github.com/SlideRuleEarth/sliderule#subdirectory=clients/python\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "2256384a-86a8-43c0-801b-5953747525ba",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet rtree\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "26a80715-bdf2-45ce-afe9-9fa0f0bd7529",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet hdbscan"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "8072f95f-1db6-4c31-8af8-293fd665bad4",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet erddapy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "8f821b93-0ec9-41db-af0e-61e26934504d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "True"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from erddapy import ERDDAP\n",
+ "from sliderule import sliderule, icesat2, earthdata\n",
+ "import icepyx as ipx\n",
+ "from datetime import datetime, timedelta,timezone\n",
+ "\n",
+ "import time\n",
+ "import os\n",
+ "import re\n",
+ "import glob\n",
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import logging\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "# from config import get_args\n",
+ "from config import workspace_path, atl03_path,\\\n",
+ " other_data_path ,shoreline_data ,gebco_path ,\\\n",
+ " horizontal_res ,vertical_res ,subsurface_thresh ,\\\n",
+ " ignore_subsurface_height_thres ,output_path \n",
+ "\n",
+ "\n",
+ " \n",
+ "from kd_utils.data_processing import load_data, \\\n",
+ " extract_file_params, \\\n",
+ " Extract_sea_photons, \\\n",
+ " filter_photon_dataset_by_hull_area\n",
+ " \n",
+ " \n",
+ "from kd_utils.sea_photons_analysis import process_sea_photon_binning,\\\n",
+ " get_sea_surface_height\n",
+ " \n",
+ " \n",
+ "from kd_utils.bathy_processing import process_subsurface_photon_filtering\n",
+ "\n",
+ "from kd_utils.visualization import plot_photon_height, \\\n",
+ " plot_kd_photons, \\\n",
+ " plot_filtered_seafloor_photons\n",
+ " \n",
+ "from kd_utils.Kd_analysis import process_kd_calculation\n",
+ "\n",
+ "from kd_utils.interpolation import geoid_correction, \\\n",
+ " refraction_correction, \\\n",
+ " interpolate_labels, \\\n",
+ " apply_interpolation\n",
+ "\n",
+ "\n",
+ "# Configure logging\n",
+ "# logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')\n",
+ "sliderule.init(verbose=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "3ae97e48-47cb-461e-ac38-1f4ca6df96ec",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def fname2datetime(fname):\n",
+ " y = int(fname[6:10])\n",
+ " m = int(fname[10:12])\n",
+ " d = int(fname[12:14])\n",
+ " H = int(fname[14:16])\n",
+ " M = int(fname[16:18])\n",
+ " S = int(fname[18:20])\n",
+ "\n",
+ " t = datetime(y,m,d,H,M,S, tzinfo=timezone.utc)\n",
+ " return t\n",
+ "\n",
+ "def buoy_bound_box(lat,lon,buffer_km):\n",
+ " # define a buffer distance around the buoy to search for icesat-2 data\n",
+ " lat_buff = buffer_km/111 # convert buffer distance to frac of 1 deg lat\n",
+ " lon_buff = buffer_km/(111*np.cos(lat*np.pi/180)) # convert buffer distance to frac of 1 deg lon\n",
+ " # define bounding box around the buoy (WSEN)\n",
+ " # example: bbox = [-108.3, 39.2, -107.8, 38.8]\n",
+ " # bbox = [lon-lon_buff,lat+lat_buff,lon+lon_buff,lat-lat_buff]\n",
+ " # region = sliderule.toregion(bbox)\n",
+ " minx = lon - lon_buff\n",
+ " miny = lat - lat_buff\n",
+ " maxx = lon + lon_buff\n",
+ " maxy = lat + lat_buff\n",
+ "\n",
+ " # polygon vertices: Given as longitude, latitude coordinate pairs of decimal degrees with the last entry a repeat of the first.\n",
+ " poly_ipx = [(minx, miny), (maxx, miny), (maxx, maxy), (minx, maxy), (minx, miny)]\n",
+ " poly_cmr = [{'lon': minx, 'lat': miny},\n",
+ " {'lon': maxx, 'lat': miny},\n",
+ " {'lon': maxx, 'lat': maxy},\n",
+ " {'lon': minx, 'lat': maxy},\n",
+ " {'lon': minx, 'lat': miny}] # Closing the loop by repeating the first point\n",
+ "\n",
+ " return poly_cmr, poly_ipx\n",
+ "\n",
+ "def main():\n",
+ " try:\n",
+ " \n",
+ " # Load IS2 and extract sea photons\n",
+ " IS2_atl03_mds, IS2_atl03_attrs, IS2_atl03_beams = load_data(ATL03_h5_file_path) \n",
+ " \n",
+ " ## For debugging\n",
+ " #IS2_atl03_beams=['gt1r']\n",
+ " \n",
+ " # Check beam types and ensure we have what we want (e.g., strong beams)\n",
+ " target_beam_type=['gt1l', 'gt2l', 'gt3l'] \n",
+ " IS2_atl03_beams = [beam for beam in IS2_atl03_beams if beam in target_beam_type]\n",
+ " if not IS2_atl03_beams:\n",
+ " print('No Strong Beam')\n",
+ " # sys.exit() # Terminate the program\n",
+ " else:\n",
+ " print(f'Strong Beams Found: {IS2_atl03_beams}')\n",
+ " \n",
+ " # Extract sea photon by applying the land mask\n",
+ " sea_photon_dataset = Extract_sea_photons(IS2_atl03_mds, IS2_atl03_beams, shoreline_data_path)\n",
+ " \n",
+ " \n",
+ " # Main processing function to apply binning beam-by-beam \n",
+ " # to bin the photons data by vertical_res 25 cm and horizontal resolution 500m\n",
+ " binned_dataset_sea_surface = process_sea_photon_binning(sea_photon_dataset, horizontal_res=horizontal_res, vertical_res=vertical_res)\n",
+ " \n",
+ " \n",
+ " # filter to get subsurface photons\n",
+ " sea_surface_height, sea_surface_label, filtered_seafloor_subsurface_photon_dataset = \\\n",
+ " process_subsurface_photon_filtering(binned_dataset_sea_surface, subsurface_thresh, GEBCO_file_path_lists)\n",
+ " \n",
+ " \n",
+ " # Visualization of the filtered seafloor photons\n",
+ " # Uncomment the following lines to visualize if needed\n",
+ " # output_path = OutputPath+'/IS2_subsurface_RM_Seafloor.jpg'\n",
+ " # plot_filtered_seafloor_photons(filtered_seafloor_subsurface_dataset=filtered_seafloor_subsurface_photon_dataset, \n",
+ " # sea_photon_dataset=sea_photon_dataset, \n",
+ " # sea_surface_height=sea_surface_height, \n",
+ " # output_path=output_path)\n",
+ " \n",
+ " ########################\n",
+ " # Todo: move the filter to the begining\n",
+ " # Filter shallow photons that may have noises from wave, afterpulse, or others\n",
+ " # by setting Ignore_Subsurface_Height_Thres (i.e., -6)\n",
+ " # Masked out the deep water photons by applying (filtered_seafloor_subsurface_photon_dataset < Ignore_Subsurface_Height_Thres)\n",
+ " # Filter out points below the seafloor\n",
+ " Final_filtered_subsurface_photon_dataset = filtered_seafloor_subsurface_photon_dataset[\n",
+ " filtered_seafloor_subsurface_photon_dataset['photon_height'] < Ignore_Subsurface_Height_Thres\n",
+ " ]\n",
+ " \n",
+ " # Final_filtered_subsurface_photon_dataset = filtered_seafloor_subsurface_photon_dataset\n",
+ " \n",
+ " #Filter dataframe based on beam list\n",
+ " Final_filtered_subsurface_photon_dataset = Final_filtered_subsurface_photon_dataset[Final_filtered_subsurface_photon_dataset['beam_id'].isin(target_beam_type)]\n",
+ " \n",
+ " ###################################\n",
+ " ### Todo: move the filter to the begining\n",
+ " # Steps to standardize KD calculation by filtering out \n",
+ " # segments lacking sufficient subsurface photons.\n",
+ " # Approach: Use the ConvexHull of photons within \n",
+ " # each rectanglar area formed by each horizontal bin (here, it is lat_bins) and \n",
+ " # based on dataframe Final_filtered_subsurface_photon_dataset along the distance of the track\n",
+ " \n",
+ " # Apply filtering based on hull area if desired\n",
+ " Final_filtered_subsurface_photon_dataset, convex_hull_areas, convex_hulls = filter_photon_dataset_by_hull_area(\n",
+ " Final_filtered_subsurface_photon_dataset, hull_area_threshold=1500\n",
+ " )\n",
+ " \n",
+ " # Visualization\n",
+ " # Uncomment the following line to visualize if needed\n",
+ " \n",
+ " # plot_target_beam=['gt1l']\n",
+ " # plot_convex_hulls(Final_filtered_subsurface_photon_dataset, plot_target_beam, convex_hulls, convex_hull_areas)\n",
+ " \n",
+ " ########################################### \n",
+ " # calculate kd and save it to table\n",
+ " SubsurfacePhotonDFAddedKd = process_kd_calculation(Final_filtered_subsurface_photon_dataset)\n",
+ " \n",
+ " \n",
+ " ## Todo move this part into a function so that it will not looks too busy here\n",
+ " # Extract the timestamp using regex and use it to set the output file name\n",
+ " match = re.search(r\"_(\\d{14})_\", ATL03_h5_file_path)\n",
+ " timestamp = match.group(1) if match else \"unknown\"\n",
+ " \n",
+ " output_file_path = os.path.join(OutputPath, f\"{timestamp}_AddedKdDataset_strongBeams_Further.csv\")\n",
+ " SubsurfacePhotonDFAddedKd.to_csv(output_file_path, index=False)\n",
+ " \n",
+ " if 'relative_AT_dist' in filtered_seafloor_subsurface_photon_dataset.columns:\n",
+ " unique_photon_dataset = filtered_seafloor_subsurface_photon_dataset[['relative_AT_dist', 'lat_bins', 'photon_height']].drop_duplicates()\n",
+ " unique_photon_dataset['relative_AT_dist_center'] = unique_photon_dataset\\\n",
+ " .groupby('lat_bins', observed=False)['relative_AT_dist'].transform('mean')\n",
+ " def find_closest(group):\n",
+ " if not group.empty:\n",
+ " center = group['relative_AT_dist_center'].iloc[0]\n",
+ " group['dist_to_center'] = abs(group['relative_AT_dist'] - center)\n",
+ " closest_index = group['dist_to_center'].idxmin()\n",
+ " return group.loc[[closest_index]]\n",
+ " else:\n",
+ " return pd.DataFrame(columns=group.columns)\n",
+ " \n",
+ " # Filter out empty or all-NA entries\n",
+ " unique_photon_dataset_filtered = unique_photon_dataset.dropna(how='all', axis=1)\n",
+ " \n",
+ " # Group by 'lat_bins' and apply the find_closest function\n",
+ " closest_to_center = unique_photon_dataset_filtered\\\n",
+ " .groupby('lat_bins', observed=False)\\\n",
+ " .apply(find_closest, include_groups=True)\n",
+ " # .reset_index()\n",
+ " \n",
+ " # Remove the index without resetting it if 'lat_bins' already exists\n",
+ " closest_to_center.index = closest_to_center.index.droplevel(0)\n",
+ " \n",
+ " # Ensure relevant entries are excluded before concatenation\n",
+ " closest_to_center = closest_to_center.dropna(axis=1, how='all')\n",
+ " \n",
+ " Kd_DF_MergedDistance = closest_to_center.merge(SubsurfacePhotonDFAddedKd, on='lat_bins', how='left')\n",
+ " Kd_DF_MergedDistance = Kd_DF_MergedDistance.drop(columns=['relative_AT_dist_center', 'dist_to_center'])\n",
+ " \n",
+ " \n",
+ " # plot_kd_photons(OutputPath, timestamp, plot_target_beam, filtered_seafloor_subsurface_photon_dataset, Kd_DF_MergedDistance)\n",
+ " \n",
+ " logging.info(\"SUCCESS!\")\n",
+ " \n",
+ " except Exception as e:\n",
+ " logging.error(f\"An error occurred: {e}\")\n",
+ "\n",
+ "# if __name__ == '__main__':\n",
+ " \n",
+ "# # Get arguments function\n",
+ "# args = get_args() \n",
+ " \n",
+ "# ATL03_h5_file_path = os.path.join(args.workspace_path, args.atl03_path, args.atl03_file)\n",
+ " \n",
+ "# shoreline_data_path = os.path.join(args.workspace_path, args.other_data_path, args.shoreline_data)\n",
+ " \n",
+ "# GEBCO_full_path = os.path.join(args.workspace_path, args.other_data_path, args.gebco_path)\n",
+ " \n",
+ "# OutputPath = os.path.join(args.workspace_path, args.output_path)\n",
+ " \n",
+ "# #Get the gebco list\n",
+ "# #gebco_2024_n0.0_s-90.0_w0.0_e90.0.tif\n",
+ "# GEBCO_file_pattern = os.path.join(GEBCO_full_path, \"gebco_*.tif\")\n",
+ "\n",
+ "# #Initialize with an empty list\n",
+ "# GEBCO_file_path_lists = []\n",
+ "# for GEBCO_file_path_name in glob.glob(GEBCO_file_pattern):\n",
+ "# #put the find one into the list\n",
+ "# GEBCO_file_path_lists.append(GEBCO_file_path_name)\n",
+ "\n",
+ " \n",
+ "# # Get all other necessary parameters\n",
+ "# horizontal_res = args.horizontal_res\n",
+ " \n",
+ "# vertical_res = args.vertical_res\n",
+ " \n",
+ "# subsurface_thresh = args.subsurface_thresh\n",
+ " \n",
+ "# Ignore_Subsurface_Height_Thres = args.ignore_subsurface_height_thres\n",
+ " \n",
+ "# # When all paramters ready, call the main function\n",
+ "# main()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "1d72dbef-f954-499f-be76-c1de3233b325",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
sites
\n",
+ "
url
\n",
+ "
time_coverage_start
\n",
+ "
time_coverage_end
\n",
+ "
geospatial_lat_min
\n",
+ "
geospatial_lat_max
\n",
+ "
geospatial_lon_min
\n",
+ "
geospatial_lon_max
\n",
+ "
geospatial_lat_units
\n",
+ "
geospatial_lon_units
\n",
+ "
...
\n",
+ "
glider
\n",
+ "
ship
\n",
+ "
turb
\n",
+ "
ssc
\n",
+ "
phot
\n",
+ "
chl
\n",
+ "
turbid
\n",
+ "
photo
\n",
+ "
radiation
\n",
+ "
photon_data
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
0
\n",
+ "
mpoMaritimeStJohnCTD
\n",
+ "
https://erddap.ogsl.ca/erddap/
\n",
+ "
2019-07-24T14:36Z
\n",
+ "
2021-06-09T15:30Z
\n",
+ "
45.14568
\n",
+ "
45.61012
\n",
+ "
-66.31979
\n",
+ "
-66.00832
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
1
\n",
+ "
bcodmo_dataset_737163
\n",
+ "
https://erddap.bco-dmo.org/erddap/
\n",
+ "
1989-07-29T19:00:00Z
\n",
+ "
NaN
\n",
+ "
22.75000
\n",
+ "
22.75000
\n",
+ "
-158.00000
\n",
+ "
-158.00000
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
bcodmo_dataset_3093
\n",
+ "
https://erddap.bco-dmo.org/erddap/
\n",
+ "
1995-11-08T10:12:00Z
\n",
+ "
NaN
\n",
+ "
10.49200
\n",
+ "
10.68300
\n",
+ "
-64.73500
\n",
+ "
-64.36700
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
True
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
gov-ndbc-44043
\n",
+ "
https://erddap.sensors.ioos.us/erddap/
\n",
+ "
2015-01-01T00:10:00Z
\n",
+ "
2024-07-01T14:54:00Z
\n",
+ "
39.15200
\n",
+ "
39.15200
\n",
+ "
-76.39100
\n",
+ "
-76.39100
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
gov-ndbc-44063
\n",
+ "
https://erddap.sensors.ioos.us/erddap/
\n",
+ "
2015-01-01T00:00:00Z
\n",
+ "
2024-07-01T14:54:00Z
\n",
+ "
38.96300
\n",
+ "
38.96300
\n",
+ "
-76.44800
\n",
+ "
-76.44800
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\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",
+ "
132
\n",
+ "
v6sa-tiit
\n",
+ "
https://cioosatlantic.ca/erddap/
\n",
+ "
2015-11-26T21:00:00Z
\n",
+ "
2023-07-06T12:28:38Z
\n",
+ "
45.49028
\n",
+ "
45.61129
\n",
+ "
-61.09130
\n",
+ "
-60.76110
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
133
\n",
+ "
mq2k-54s4
\n",
+ "
https://cioosatlantic.ca/erddap/
\n",
+ "
2018-02-13T16:32:00Z
\n",
+ "
2023-07-13T20:15:00Z
\n",
+ "
43.46552
\n",
+ "
43.71690
\n",
+ "
-65.73784
\n",
+ "
-65.00831
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
134
\n",
+ "
9qw2-yb2f
\n",
+ "
https://cioosatlantic.ca/erddap/
\n",
+ "
2016-02-19T17:00:00Z
\n",
+ "
2023-08-03T11:21:40Z
\n",
+ "
43.67900
\n",
+ "
43.81440
\n",
+ "
-66.13522
\n",
+ "
-65.83446
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
135
\n",
+ "
EMSO_OBSEA_Besos_Buoy_SA8065_30min
\n",
+ "
http://erddap.emso.eu:8080/erddap/
\n",
+ "
2023-12-11T00:00:00Z
\n",
+ "
2024-04-23T10:30:00Z
\n",
+ "
41.18212
\n",
+ "
41.18212
\n",
+ "
1.75257
\n",
+ "
1.75257
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
\n",
+ "
\n",
+ "
136
\n",
+ "
EMSO_OBSEA_Besos_Buoy_SA8065_full
\n",
+ "
http://erddap.emso.eu:8080/erddap/
\n",
+ "
2023-12-11T00:08:26Z
\n",
+ "
2024-04-23T10:42:53Z
\n",
+ "
41.18212
\n",
+ "
41.18212
\n",
+ "
1.75257
\n",
+ "
1.75257
\n",
+ "
degrees_north
\n",
+ "
degrees_east
\n",
+ "
...
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
True
\n",
+ "
False
\n",
+ "
False
\n",
+ "
False
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
137 rows × 22 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " sites \\\n",
+ "0 mpoMaritimeStJohnCTD \n",
+ "1 bcodmo_dataset_737163 \n",
+ "2 bcodmo_dataset_3093 \n",
+ "3 gov-ndbc-44043 \n",
+ "4 gov-ndbc-44063 \n",
+ ".. ... \n",
+ "132 v6sa-tiit \n",
+ "133 mq2k-54s4 \n",
+ "134 9qw2-yb2f \n",
+ "135 EMSO_OBSEA_Besos_Buoy_SA8065_30min \n",
+ "136 EMSO_OBSEA_Besos_Buoy_SA8065_full \n",
+ "\n",
+ " url time_coverage_start \\\n",
+ "0 https://erddap.ogsl.ca/erddap/ 2019-07-24T14:36Z \n",
+ "1 https://erddap.bco-dmo.org/erddap/ 1989-07-29T19:00:00Z \n",
+ "2 https://erddap.bco-dmo.org/erddap/ 1995-11-08T10:12:00Z \n",
+ "3 https://erddap.sensors.ioos.us/erddap/ 2015-01-01T00:10:00Z \n",
+ "4 https://erddap.sensors.ioos.us/erddap/ 2015-01-01T00:00:00Z \n",
+ ".. ... ... \n",
+ "132 https://cioosatlantic.ca/erddap/ 2015-11-26T21:00:00Z \n",
+ "133 https://cioosatlantic.ca/erddap/ 2018-02-13T16:32:00Z \n",
+ "134 https://cioosatlantic.ca/erddap/ 2016-02-19T17:00:00Z \n",
+ "135 http://erddap.emso.eu:8080/erddap/ 2023-12-11T00:00:00Z \n",
+ "136 http://erddap.emso.eu:8080/erddap/ 2023-12-11T00:08:26Z \n",
+ "\n",
+ " time_coverage_end geospatial_lat_min geospatial_lat_max \\\n",
+ "0 2021-06-09T15:30Z 45.14568 45.61012 \n",
+ "1 NaN 22.75000 22.75000 \n",
+ "2 NaN 10.49200 10.68300 \n",
+ "3 2024-07-01T14:54:00Z 39.15200 39.15200 \n",
+ "4 2024-07-01T14:54:00Z 38.96300 38.96300 \n",
+ ".. ... ... ... \n",
+ "132 2023-07-06T12:28:38Z 45.49028 45.61129 \n",
+ "133 2023-07-13T20:15:00Z 43.46552 43.71690 \n",
+ "134 2023-08-03T11:21:40Z 43.67900 43.81440 \n",
+ "135 2024-04-23T10:30:00Z 41.18212 41.18212 \n",
+ "136 2024-04-23T10:42:53Z 41.18212 41.18212 \n",
+ "\n",
+ " geospatial_lon_min geospatial_lon_max geospatial_lat_units \\\n",
+ "0 -66.31979 -66.00832 degrees_north \n",
+ "1 -158.00000 -158.00000 degrees_north \n",
+ "2 -64.73500 -64.36700 degrees_north \n",
+ "3 -76.39100 -76.39100 degrees_north \n",
+ "4 -76.44800 -76.44800 degrees_north \n",
+ ".. ... ... ... \n",
+ "132 -61.09130 -60.76110 degrees_north \n",
+ "133 -65.73784 -65.00831 degrees_north \n",
+ "134 -66.13522 -65.83446 degrees_north \n",
+ "135 1.75257 1.75257 degrees_north \n",
+ "136 1.75257 1.75257 degrees_north \n",
+ "\n",
+ " geospatial_lon_units ... glider ship turb ssc phot chl \\\n",
+ "0 degrees_east ... False False True False False False \n",
+ "1 degrees_east ... False True True False True True \n",
+ "2 degrees_east ... False True True False True True \n",
+ "3 degrees_east ... False False True False False True \n",
+ "4 degrees_east ... False False True False False True \n",
+ ".. ... ... ... ... ... ... ... ... \n",
+ "132 degrees_east ... False False False True False False \n",
+ "133 degrees_east ... False False False True False False \n",
+ "134 degrees_east ... False False False True False False \n",
+ "135 degrees_east ... False False True False False False \n",
+ "136 degrees_east ... False False True False False False \n",
+ "\n",
+ " turbid photo radiation photon_data \n",
+ "0 True False False False \n",
+ "1 False True True False \n",
+ "2 True True True False \n",
+ "3 True False False False \n",
+ "4 True False False False \n",
+ ".. ... ... ... ... \n",
+ "132 False False False False \n",
+ "133 False False False False \n",
+ "134 False False False False \n",
+ "135 True False False False \n",
+ "136 True False False False \n",
+ "\n",
+ "[137 rows x 22 columns]"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# load a list of all the relevant ERDDAPs and their urls\n",
+ "FF = pd.read_pickle(\"results/labeled_relevant_stations.pkl\")\n",
+ "FF = FF[(FF.buoy == True) & ((FF.turbid==True) | (FF.ssc==True) | (FF.turb==True))]\n",
+ "\n",
+ "# FF = FF.drop(index=[34,35,36,37,39,40])\n",
+ "FF.reset_index(drop=True, inplace=True)\n",
+ "\n",
+ "FF[\"geospatial_lat_min\"] = pd.to_numeric(FF[\"geospatial_lat_min\"])\n",
+ "FF[\"geospatial_lon_min\"] = pd.to_numeric(FF[\"geospatial_lon_min\"])\n",
+ "FF[\"geospatial_lat_max\"] = pd.to_numeric(FF[\"geospatial_lat_max\"])\n",
+ "FF[\"geospatial_lon_max\"] = pd.to_numeric(FF[\"geospatial_lon_max\"])\n",
+ "FF[\"photon_data\"] = False\n",
+ "\n",
+ "FF\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "81cbc4d3-802a-4e98-9220-8b847742bc3b",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "processing 42/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887375\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887375 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887376\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887376 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887377\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887377 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887378\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887378 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887379\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887379 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887381\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887381 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887382\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887382 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887383\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887383 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887389\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887389 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887390\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887390 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887391\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887391 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887393\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887393 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887394\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887394 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887395\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887395 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887396\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887396 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887397\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887397 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887398\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887398 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887415\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887415 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887416\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887416 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887417\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887417 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887418\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887418 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887419\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887419 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887420\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887420 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887421\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887421 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887422\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887422 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887423\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887423 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887424\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887424 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887425\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887425 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 43/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887431\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887431 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887433\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887433 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887434\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887434 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887435\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887435 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887436\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887436 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887437\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887437 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887438\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887438 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887441\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887441 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887442\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887442 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887443\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887443 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887444\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887444 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887445\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887445 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887446\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887446 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887447\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887447 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887449\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887449 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887450\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887450 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887451\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887451 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887452\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887452 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887453\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887453 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887454\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887454 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887455\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887455 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 44/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887456\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887456 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887457\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887457 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887459\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887459 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887460\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887460 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887461\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887461 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 45/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887462\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887462 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887463\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887463 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887464\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887464 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887465\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887465 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887470\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887470 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887471\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887471 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887472\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887472 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887473\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887473 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887475\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887475 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887476\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887476 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887477\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887477 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887478\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887478 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887479\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887479 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887480\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887480 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887486\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887486 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887491\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887491 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887492\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887492 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887494\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887494 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887495\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887495 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887496\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887496 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887498\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887498 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887499\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887499 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887500\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887500 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887501\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887501 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887502\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887502 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887503\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887503 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887504\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887504 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887505\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887505 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887507\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887507 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887508\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887508 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887509\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887509 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 46/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887510\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887510 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887813\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887813 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 70/137\n",
+ "processing 71/137\n",
+ "processing 72/137\n",
+ "processing 73/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 74/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 75/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "HTTP Request Error: HTTP Error 400: Bad Request\n",
+ "Using simplified polygon (for CMR request only!), 5 points using tolerance of 0.0001\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "processing 76/137\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "HTTP Request Error: HTTP Error 400: Bad Request\n",
+ "Using simplified polygon (for CMR request only!), 5 points using tolerance of 0.001\n",
+ "HTTP Request Error: HTTP Error 400: Bad Request\n",
+ "Using simplified polygon (for CMR request only!), 5 points using tolerance of 0.01\n",
+ "HTTP Request Error: HTTP Error 400: Bad Request\n",
+ "Using simplified polygon (for CMR request only!), 5 points using tolerance of 0.1\n",
+ "HTTP Request Error: HTTP Error 400: Bad Request\n",
+ "Using simplified polygon (for CMR request only!), 5 points using tolerance of 1.0\n",
+ "HTTP Request Error: HTTP Error 400: Bad Request\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "processing 77/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 78/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 79/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 80/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 81/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 82/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 83/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 84/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 85/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 86/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 87/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 88/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 89/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "processing 90/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887825\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887825 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887826\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887826 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887827\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887827 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887829\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887829 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887831\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887831 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887832\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887832 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 91/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887833\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887833 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887834\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887834 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887835\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887835 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887836\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887836 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887838\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887838 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887840\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887840 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887841\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887841 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887842\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887842 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887843\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887843 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887844\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887844 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887845\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887845 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "processing 92/137\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887846\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887846 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887847\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887847 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887849\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887849 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887850\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887850 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887851\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887851 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887853\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887853 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887854\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887854 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887855\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887855 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887856\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887856 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887857\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887857 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887859\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887859 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887860\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887860 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887861\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887861 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887862\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887862 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887863\n",
+ "Initial status of your order request at NSIDC is: processing\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887863 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887864\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still processing at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order is: complete\n",
+ "Beginning download of zipped output...\n",
+ "Data request 5000005887864 of 1 order(s) is downloaded.\n",
+ "Download complete\n",
+ "Total number of data order requests is 1 for 1 granules.\n",
+ "Data request 1 of 1 is submitting to NSIDC\n",
+ "order ID: 5000005887865\n",
+ "Initial status of your order request at NSIDC is: pending\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n",
+ "Your order status is still pending at NSIDC. Please continue waiting... this may take a few moments.\n"
+ ]
+ }
+ ],
+ "source": [
+ "# these values can be adjusted to broaden/narrow the fit btwn icesat-2 and the ground truth\n",
+ "search_hrs = 6\n",
+ "search_km = 4\n",
+ "# try first half of entries first for memory usage before reprocessing/deleting\n",
+ "for jj in range(42,len(FF)):\n",
+ " print('processing '+str(jj) +'/'+str(len(FF)))# give a printout every 100 for my sanity\n",
+ "\n",
+ " # define a search region around the buoy \n",
+ " lat = FF['geospatial_lat_min'][jj]\n",
+ " lon = FF['geospatial_lon_min'][jj]\n",
+ " poly_cmr,poly_ipx = buoy_bound_box(lat,lon,search_km)\n",
+ "\n",
+ " # search CMR for ATL03 granules in the bounding box\n",
+ " grns = earthdata.cmr(short_name=\"ATL03\",\n",
+ " polygon=poly_cmr,\n",
+ " version='006')\n",
+ " # save the times for each granule as a datetime object\n",
+ " icesat_times = [fname2datetime(fname) for fname in grns]\n",
+ "\n",
+ " # now check if buoy data exists for these granules,\n",
+ " e = ERDDAP(server=FF['url'][jj],\n",
+ " protocol=\"tabledap\",\n",
+ " response=\"csv\")\n",
+ " e.dataset_id = FF['sites'][jj]\n",
+ "\n",
+ " for t in icesat_times:\n",
+ " # add a time buffer to search for relevant buoy data for each granule,\n",
+ " t_start = (t-timedelta(hours=search_hrs)).strftime(\"%Y-%m-%dT%H:%M:%SZ\")\n",
+ " t_end = (t+timedelta(hours=search_hrs)).strftime(\"%Y-%m-%dT%H:%M:%SZ\")\n",
+ " e.constraints = {\"time>=\": t_start,\n",
+ " \"time<=\": t_end}\n",
+ " # try to download the associated buoy data\n",
+ " try:\n",
+ " buoy = e.to_pandas() \n",
+ " except:\n",
+ " continue\n",
+ " \n",
+ " # if buoy data exists, download the ATL03 photons in the bounding box at this time\n",
+ " short_name = 'ATL03'\n",
+ " t_start = (t-timedelta(hours=search_hrs))\n",
+ " t_end = (t+timedelta(hours=search_hrs))\n",
+ " date_range = [t_start,t_end]\n",
+ " region = ipx.Query(short_name, poly_ipx, date_range)\n",
+ " try:\n",
+ " region.download_granules('data/')\n",
+ " except:\n",
+ " continue\n",
+ " buoy.to_csv('data/data_'+str(e.dataset_id)+'_'+str(t_start)+'.csv')\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "0e91ffef-8a80-4cbe-ac5b-3fd2c41e4842",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:36:21,370 - INFO - ./data/processed_ATL03_20230522000040_09411906_006_02.h5\n",
+ "2024-12-20 18:36:21,372 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:37:18,341 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:37:18,342 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:37:18,434 - INFO - SUCCESS!\n",
+ "2024-12-20 18:37:18,444 - INFO - ./data/processed_ATL03_20230617102857_13451902_006_02.h5\n",
+ "2024-12-20 18:37:18,447 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:37:38,125 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:37:38,126 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:37:38,161 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:37:38,161 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:37:38,219 - INFO - SUCCESS!\n",
+ "2024-12-20 18:37:38,228 - INFO - ./data/processed_ATL03_20230818073219_09032002_006_02.h5\n",
+ "2024-12-20 18:37:38,230 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:37:38,537 - INFO - ./data/processed_ATL03_20230820193948_09412006_006_02.h5\n",
+ "2024-12-20 18:37:38,540 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:37:55,607 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:37:55,608 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:37:55,663 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:37:55,663 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:37:55,720 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:37:55,721 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:37:55,802 - INFO - SUCCESS!\n",
+ "2024-12-20 18:37:55,812 - INFO - ./data/processed_ATL03_20231119151937_09412106_006_02.h5\n",
+ "2024-12-20 18:37:55,816 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:38:08,627 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:38:08,628 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:38:08,694 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:38:08,694 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:38:08,784 - INFO - SUCCESS!\n",
+ "2024-12-20 18:38:08,795 - INFO - ./data/processed_ATL03_20240818021806_09412406_006_01.h5\n",
+ "2024-12-20 18:38:08,798 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:38:17,313 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:38:17,314 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:38:17,359 - INFO - SUCCESS!\n",
+ "2024-12-20 18:38:17,369 - INFO - ./data/processed_ATL03_20190730182707_04990406_006_02.h5\n",
+ "2024-12-20 18:38:17,372 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:38:35,078 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:38:35,079 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:38:35,111 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:38:35,111 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:38:35,148 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:38:35,149 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:38:35,203 - INFO - SUCCESS!\n",
+ "2024-12-20 18:38:35,213 - INFO - ./data/processed_ATL03_20181228043955_13830106_006_02.h5\n",
+ "2024-12-20 18:38:35,216 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:38:41,337 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:38:41,378 - INFO - ./data/processed_ATL03_20190123150831_04000202_006_02.h5\n",
+ "2024-12-20 18:38:41,388 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:38:56,583 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:38:56,584 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:38:56,594 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:38:56,595 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:38:56,679 - INFO - SUCCESS!\n",
+ "2024-12-20 18:38:56,690 - INFO - ./data/processed_ATL03_20190329001949_13830206_006_02.h5\n",
+ "2024-12-20 18:38:56,692 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:39:08,469 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:39:08,469 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:39:08,521 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:39:08,522 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:39:08,602 - INFO - SUCCESS!\n",
+ "2024-12-20 18:39:08,614 - INFO - ./data/processed_ATL03_20230220042100_09411806_006_02.h5\n",
+ "2024-12-20 18:39:08,616 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:39:15,350 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:39:15,390 - INFO - ./data/processed_ATL03_20230318144941_13451802_006_02.h5\n",
+ "2024-12-20 18:39:15,392 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:39:15,710 - INFO - ./data/processed_ATL03_20190529212325_09410306_006_02.h5\n",
+ "2024-12-20 18:39:15,714 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:39:28,653 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:39:28,653 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:39:28,691 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:39:28,692 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:39:28,752 - INFO - SUCCESS!\n",
+ "2024-12-20 18:39:28,762 - INFO - ./data/processed_ATL03_20190625075156_13450302_006_02.h5\n",
+ "2024-12-20 18:39:28,764 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:39:29,078 - INFO - ./data/processed_ATL03_20190828170314_09410406_006_02.h5\n",
+ "2024-12-20 18:39:29,081 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:39:36,424 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:39:36,424 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:39:36,447 - INFO - SUCCESS!\n",
+ "2024-12-20 18:39:36,456 - INFO - ./data/processed_ATL03_20190924033150_13450402_006_02.h5\n",
+ "2024-12-20 18:39:36,458 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:39:48,162 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:39:48,203 - INFO - ./data/processed_ATL03_20191029140704_04990506_006_01.h5\n",
+ "2024-12-20 18:39:48,205 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:39:54,966 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:39:54,966 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:39:54,986 - INFO - SUCCESS!\n",
+ "2024-12-20 18:39:54,995 - INFO - ./data/processed_ATL03_20191223231137_13450502_006_01.h5\n",
+ "2024-12-20 18:39:54,997 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:40:01,777 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:40:01,821 - INFO - ./data/processed_ATL03_20200223201519_09030602_006_01.h5\n",
+ "2024-12-20 18:40:01,836 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:40:02,276 - INFO - ./data/processed_ATL03_20200527040238_09410706_006_01.h5\n",
+ "2024-12-20 18:40:02,278 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:40:02,653 - INFO - ./data/processed_ATL03_20200622143109_13450702_006_01.h5\n",
+ "2024-12-20 18:40:02,656 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:40:16,099 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:40:16,100 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:40:16,122 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:40:16,123 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:40:16,173 - INFO - SUCCESS!\n",
+ "2024-12-20 18:40:16,187 - INFO - ./data/processed_ATL03_20200823113454_09030802_006_01.h5\n",
+ "2024-12-20 18:40:16,192 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:40:16,530 - INFO - ./data/processed_ATL03_20200825234225_09410806_006_01.h5\n",
+ "2024-12-20 18:40:16,534 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:40:23,852 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:40:23,897 - INFO - ./data/processed_ATL03_20201124192214_09410906_006_01.h5\n",
+ "2024-12-20 18:40:23,899 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:40:31,006 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:40:31,007 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:40:31,099 - INFO - SUCCESS!\n",
+ "2024-12-20 18:40:31,110 - INFO - ./data/processed_ATL03_20201221055049_13450902_006_01.h5\n",
+ "2024-12-20 18:40:31,112 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:40:37,827 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:40:37,828 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:40:37,856 - INFO - SUCCESS!\n",
+ "2024-12-20 18:40:37,869 - INFO - ./data/processed_ATL03_20210221025439_09031002_006_01.h5\n",
+ "2024-12-20 18:40:37,872 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:40:44,747 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:40:44,748 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:40:44,836 - INFO - SUCCESS!\n",
+ "2024-12-20 18:40:44,854 - INFO - ./data/processed_ATL03_20210223150209_09411006_006_01.h5\n",
+ "2024-12-20 18:40:44,858 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:40:52,049 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:40:52,049 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:40:52,141 - INFO - SUCCESS!\n",
+ "2024-12-20 18:40:52,151 - INFO - ./data/processed_ATL03_20210525104159_09411106_006_01.h5\n",
+ "2024-12-20 18:40:52,194 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:40:52,533 - INFO - ./data/processed_ATL03_20210620211031_13451102_006_01.h5\n",
+ "2024-12-20 18:40:52,536 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:41:13,781 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:41:13,782 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:41:13,846 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:41:13,847 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:41:13,903 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:41:13,904 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:41:13,996 - INFO - SUCCESS!\n",
+ "2024-12-20 18:41:14,009 - INFO - ./data/processed_ATL03_20210824062153_09411206_006_01.h5\n",
+ "2024-12-20 18:41:14,013 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:41:14,928 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 18:41:14,941 - INFO - ./data/processed_ATL03_20210919165028_13451202_006_02.h5\n",
+ "2024-12-20 18:41:14,966 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:41:15,344 - INFO - ./data/processed_ATL03_20211120135422_09031302_006_01.h5\n",
+ "2024-12-20 18:41:15,347 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:41:29,304 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:41:29,304 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:41:29,350 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:41:29,350 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:41:29,434 - INFO - SUCCESS!\n",
+ "2024-12-20 18:41:29,445 - INFO - ./data/processed_ATL03_20220320081016_13451402_006_01.h5\n",
+ "2024-12-20 18:41:29,447 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:41:29,855 - INFO - ./data/processed_ATL03_20220424184529_04991506_006_02.h5\n",
+ "2024-12-20 18:41:29,860 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:41:30,212 - INFO - ./data/processed_ATL03_20220917233003_13451602_006_01.h5\n",
+ "2024-12-20 18:41:30,220 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:41:30,587 - INFO - ./data/processed_ATL03_20221118203343_09031702_006_02.h5\n",
+ "2024-12-20 18:41:30,590 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:41:30,928 - INFO - ./data/processed_ATL03_20211123020151_09411306_006_01.h5\n",
+ "2024-12-20 18:41:30,932 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:41:37,516 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:41:37,517 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:41:37,557 - INFO - SUCCESS!\n",
+ "2024-12-20 18:41:37,567 - INFO - ./data/processed_ATL03_20220221214141_09411406_006_01.h5\n",
+ "2024-12-20 18:41:37,572 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:41:51,784 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:41:51,785 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:41:51,846 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:41:51,846 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:41:51,924 - INFO - SUCCESS!\n",
+ "2024-12-20 18:41:51,935 - INFO - ./data/processed_ATL03_20220619035009_13451502_006_01.h5\n",
+ "2024-12-20 18:41:51,938 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:42:05,818 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:42:05,819 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:42:05,837 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:42:05,838 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:42:05,877 - INFO - SUCCESS!\n",
+ "2024-12-20 18:42:05,887 - INFO - ./data/processed_ATL03_20220822130132_09411606_006_01.h5\n",
+ "2024-12-20 18:42:05,890 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:42:06,248 - INFO - ./data/processed_ATL03_20221121084113_09411706_006_02.h5\n",
+ "2024-12-20 18:42:06,250 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:42:25,940 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:42:25,940 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:42:26,004 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:42:26,004 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:42:26,059 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:42:26,060 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:42:26,098 - INFO - SUCCESS!\n",
+ "2024-12-20 18:42:26,109 - INFO - ./data/processed_ATL03_20201028083020_05220902_006_01.h5\n",
+ "2024-12-20 18:42:26,114 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:42:33,500 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:42:33,547 - INFO - ./data/processed_ATL03_20210430115735_05601106_006_02.h5\n",
+ "2024-12-20 18:42:33,550 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:42:33,944 - INFO - ./data/processed_ATL03_20210526222609_09641102_006_01.h5\n",
+ "2024-12-20 18:42:33,949 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:42:34,290 - INFO - ./data/processed_ATL03_20210727192957_05221202_006_01.h5\n",
+ "2024-12-20 18:42:34,293 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:42:41,640 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:42:41,641 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:42:41,747 - INFO - SUCCESS!\n",
+ "2024-12-20 18:42:41,757 - INFO - ./data/processed_ATL03_20220125104947_05221402_006_01.h5\n",
+ "2024-12-20 18:42:41,762 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:42:48,264 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:42:48,308 - INFO - ./data/processed_ATL03_20221024214924_05221702_006_01.h5\n",
+ "2024-12-20 18:42:48,312 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:43:02,132 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:43:02,176 - INFO - ./data/processed_ATL03_20230724084806_05222002_006_02.h5\n",
+ "2024-12-20 18:43:02,180 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:43:16,359 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:43:16,359 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:43:16,416 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:43:16,417 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:43:16,492 - INFO - SUCCESS!\n",
+ "2024-12-20 18:43:16,503 - INFO - ./data/processed_ATL03_20240122000711_05222202_006_01.h5\n",
+ "2024-12-20 18:43:16,505 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:43:23,088 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:43:23,088 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:43:23,186 - INFO - SUCCESS!\n",
+ "2024-12-20 18:43:23,196 - INFO - ./data/processed_ATL03_20240721152625_05222402_006_01.h5\n",
+ "2024-12-20 18:43:23,198 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:43:30,240 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:43:30,240 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:43:30,280 - INFO - SUCCESS!\n",
+ "2024-12-20 18:43:30,290 - INFO - ./data/processed_ATL03_20181126175618_09030102_006_02.h5\n",
+ "2024-12-20 18:43:30,292 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:43:30,679 - INFO - ./data/processed_ATL03_20181129060347_09410106_006_02.h5\n",
+ "2024-12-20 18:43:30,682 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:43:37,628 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:43:37,675 - INFO - ./data/processed_ATL03_20181225163224_13450102_006_02.h5\n",
+ "2024-12-20 18:43:37,678 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:43:38,022 - INFO - ./data/processed_ATL03_20191011023251_02170502_006_02.h5\n",
+ "2024-12-20 18:43:38,027 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:43:51,767 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:43:51,768 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:43:51,785 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:43:51,785 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:43:51,814 - INFO - SUCCESS!\n",
+ "2024-12-20 18:43:51,824 - INFO - ./data/processed_ATL03_20210127041015_05221002_006_01.h5\n",
+ "2024-12-20 18:43:51,826 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:43:58,513 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:43:58,556 - INFO - ./data/processed_ATL03_20211026150956_05221302_006_01.h5\n",
+ "2024-12-20 18:43:58,561 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:43:59,277 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 18:43:59,290 - INFO - ./data/processed_ATL03_20220525050540_09641502_006_01.h5\n",
+ "2024-12-20 18:43:59,293 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:44:06,645 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:44:06,646 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:44:06,713 - INFO - SUCCESS!\n",
+ "2024-12-20 18:44:06,723 - INFO - ./data/processed_ATL03_20220726020939_05221602_006_02.h5\n",
+ "2024-12-20 18:44:06,725 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:44:13,334 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:44:13,335 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:44:13,402 - INFO - SUCCESS!\n",
+ "2024-12-20 18:44:13,413 - INFO - ./data/processed_ATL03_20230123172907_05221802_006_02.h5\n",
+ "2024-12-20 18:44:13,415 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:44:20,790 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:44:20,790 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:44:20,842 - INFO - SUCCESS!\n",
+ "2024-12-20 18:44:20,853 - INFO - ./data/processed_ATL03_20231023042740_05222102_006_02.h5\n",
+ "2024-12-20 18:44:20,858 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:44:28,108 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:44:28,153 - INFO - ./data/processed_ATL03_20240421194634_05222302_006_01.h5\n",
+ "2024-12-20 18:44:28,157 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:44:35,037 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:44:35,037 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:44:35,077 - INFO - SUCCESS!\n",
+ "2024-12-20 18:44:35,088 - INFO - ./data/processed_ATL03_20181024192838_04000102_006_02.h5\n",
+ "2024-12-20 18:44:35,091 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:44:35,435 - INFO - ./data/processed_ATL03_20190326121219_13450202_006_02.h5\n",
+ "2024-12-20 18:44:35,438 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:44:35,767 - INFO - ./data/processed_ATL03_20220925231323_00801702_006_01.h5\n",
+ "2024-12-20 18:44:35,771 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:44:42,980 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:44:43,023 - INFO - ./data/processed_ATL03_20221027095652_05601706_006_01.h5\n",
+ "2024-12-20 18:44:43,026 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:44:43,394 - INFO - ./data/processed_ATL03_20221225185248_00801802_006_02.h5\n",
+ "2024-12-20 18:44:43,396 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:44:50,026 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:44:50,027 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:44:50,045 - INFO - SUCCESS!\n",
+ "2024-12-20 18:44:50,054 - INFO - ./data/processed_ATL03_20230126053650_05601806_006_02.h5\n",
+ "2024-12-20 18:44:50,057 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:44:57,599 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:44:57,641 - INFO - ./data/processed_ATL03_20230424130854_05221902_006_02.h5\n",
+ "2024-12-20 18:44:57,646 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:44:57,979 - INFO - ./data/processed_ATL03_20230427011622_05601906_006_02.h5\n",
+ "2024-12-20 18:44:57,982 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:45:18,007 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:45:18,009 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:45:18,069 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:45:18,070 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:45:18,128 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:45:18,129 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:45:18,210 - INFO - SUCCESS!\n",
+ "2024-12-20 18:45:18,223 - INFO - ./data/processed_ATL03_20230625101216_00802002_006_02.h5\n",
+ "2024-12-20 18:45:18,226 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:45:25,022 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:45:25,023 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:45:25,115 - INFO - SUCCESS!\n",
+ "2024-12-20 18:45:25,126 - INFO - ./data/processed_ATL03_20230726205535_05602006_006_02.h5\n",
+ "2024-12-20 18:45:25,130 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:45:39,269 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:45:39,270 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:45:39,333 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:45:39,334 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:45:39,424 - INFO - SUCCESS!\n",
+ "2024-12-20 18:45:39,435 - INFO - ./data/processed_ATL03_20230924055129_00802102_006_02.h5\n",
+ "2024-12-20 18:45:39,442 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:45:45,971 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:45:46,016 - INFO - ./data/processed_ATL03_20231025163513_05602106_006_02.h5\n",
+ "2024-12-20 18:45:46,019 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:46:06,436 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:46:06,436 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:46:06,450 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:46:06,451 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:46:06,474 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:46:06,475 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:46:06,506 - INFO - SUCCESS!\n",
+ "2024-12-20 18:46:06,517 - INFO - ./data/processed_ATL03_20231224013120_00802202_006_02.h5\n",
+ "2024-12-20 18:46:06,520 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:46:07,043 - INFO - ./data/processed_ATL03_20240424075408_05602306_006_01.h5\n",
+ "2024-12-20 18:46:07,046 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:46:14,789 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:46:14,836 - INFO - ./data/processed_ATL03_20240622165003_00802402_006_01.h5\n",
+ "2024-12-20 18:46:14,838 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:46:15,184 - INFO - ./data/processed_ATL03_20190718185159_03160406_006_02.h5\n",
+ "2024-12-20 18:46:15,187 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:46:35,759 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:46:35,760 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:46:35,805 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:46:35,806 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:46:35,841 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:46:35,842 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:46:35,924 - INFO - SUCCESS!\n",
+ "2024-12-20 18:46:35,938 - INFO - ./data/processed_ATL03_20190816172811_07580406_006_02.h5\n",
+ "2024-12-20 18:46:35,942 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:46:51,060 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:46:51,061 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:46:51,101 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:46:51,101 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:46:51,161 - INFO - SUCCESS!\n",
+ "2024-12-20 18:46:51,218 - INFO - ./data/processed_ATL03_20190912035646_11620402_006_02.h5\n",
+ "2024-12-20 18:46:51,249 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:46:51,981 - INFO - ./data/processed_ATL03_20240124121440_05602206_006_01.h5\n",
+ "2024-12-20 18:46:51,983 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:46:53,481 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 18:46:53,493 - INFO - ./data/processed_ATL03_20240323211037_00802302_006_01.h5\n",
+ "2024-12-20 18:46:53,495 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:46:53,959 - INFO - ./data/processed_ATL03_20240724033350_05602406_006_01.h5\n",
+ "2024-12-20 18:46:53,963 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:47:07,528 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:47:07,529 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:47:07,570 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:47:07,571 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:47:07,644 - INFO - SUCCESS!\n",
+ "2024-12-20 18:47:07,654 - INFO - ./data/processed_ATL03_20190613081656_11620302_006_02.h5\n",
+ "2024-12-20 18:47:07,657 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:47:07,992 - INFO - ./data/processed_ATL03_20210628205352_00801202_006_01.h5\n",
+ "2024-12-20 18:47:07,995 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:47:14,777 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:47:14,778 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:47:14,799 - INFO - SUCCESS!\n",
+ "2024-12-20 18:47:14,809 - INFO - ./data/processed_ATL03_20210730073729_05601206_006_01.h5\n",
+ "2024-12-20 18:47:14,814 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:47:35,246 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:47:35,246 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:47:35,256 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:47:35,256 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:47:35,267 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:47:35,267 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:47:35,305 - INFO - SUCCESS!\n",
+ "2024-12-20 18:47:35,317 - INFO - ./data/processed_ATL03_20210927163349_00801302_006_02.h5\n",
+ "2024-12-20 18:47:35,321 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:47:49,664 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:47:49,665 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:47:49,700 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:47:49,701 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:47:49,754 - INFO - SUCCESS!\n",
+ "2024-12-20 18:47:49,767 - INFO - ./data/processed_ATL03_20211029031727_05601306_006_01.h5\n",
+ "2024-12-20 18:47:49,773 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:47:50,118 - INFO - ./data/processed_ATL03_20220127225716_05601406_006_01.h5\n",
+ "2024-12-20 18:47:50,121 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:48:10,466 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:48:10,467 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:48:10,517 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:48:10,517 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:48:10,574 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:48:10,575 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:48:10,657 - INFO - SUCCESS!\n",
+ "2024-12-20 18:48:10,668 - INFO - ./data/processed_ATL03_20220330200106_01181506_006_01.h5\n",
+ "2024-12-20 18:48:10,670 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:48:11,022 - INFO - ./data/processed_ATL03_20220426062938_05221502_006_02.h5\n",
+ "2024-12-20 18:48:11,025 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:48:24,198 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:48:24,198 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:48:24,255 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:48:24,256 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:48:24,286 - INFO - SUCCESS!\n",
+ "2024-12-20 18:48:24,295 - INFO - ./data/processed_ATL03_20220728141707_05601606_006_02.h5\n",
+ "2024-12-20 18:48:24,299 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:48:31,677 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:48:31,677 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:48:31,764 - INFO - SUCCESS!\n",
+ "2024-12-20 18:48:31,774 - INFO - ./data/processed_ATL03_20201229053409_00801002_006_01.h5\n",
+ "2024-12-20 18:48:31,776 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:48:38,829 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 18:48:38,839 - INFO - ./data/processed_ATL03_20210129161746_05601006_006_01.h5\n",
+ "2024-12-20 18:48:38,841 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:48:59,460 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:48:59,461 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:48:59,499 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:48:59,500 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:48:59,523 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:48:59,524 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:48:59,554 - INFO - SUCCESS!\n",
+ "2024-12-20 18:48:59,567 - INFO - ./data/processed_ATL03_20210401132132_01181106_006_02.h5\n",
+ "2024-12-20 18:48:59,569 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:49:07,741 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:49:07,742 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:49:07,788 - INFO - SUCCESS!\n",
+ "2024-12-20 18:49:07,799 - INFO - ./data/processed_ATL03_20210427235004_05221102_006_02.h5\n",
+ "2024-12-20 18:49:07,801 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:49:21,940 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:49:21,941 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:49:21,998 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:49:21,998 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:49:22,079 - INFO - SUCCESS!\n",
+ "2024-12-20 18:49:22,089 - INFO - ./data/processed_ATL03_20201030203751_05600906_006_01.h5\n",
+ "2024-12-20 18:49:22,092 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:49:22,415 - INFO - ./data/processed_ATL03_20190424104819_04000302_006_02.h5\n",
+ "2024-12-20 18:49:22,417 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:49:37,197 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:49:37,198 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:49:37,208 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:49:37,208 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:49:37,249 - INFO - SUCCESS!\n",
+ "2024-12-20 18:49:37,260 - INFO - ./data/processed_ATL03_20190724062753_04000402_006_02.h5\n",
+ "2024-12-20 18:49:37,264 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:49:37,634 - INFO - ./data/processed_ATL03_20191226111907_13830506_006_01.h5\n",
+ "2024-12-20 18:49:37,636 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:49:37,955 - INFO - ./data/processed_ATL03_20200121214737_04000602_006_01.h5\n",
+ "2024-12-20 18:49:37,958 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:49:52,360 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:49:52,361 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:49:52,411 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:49:52,412 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:49:52,491 - INFO - SUCCESS!\n",
+ "2024-12-20 18:49:52,501 - INFO - ./data/processed_ATL03_20200326065849_13830606_006_01.h5\n",
+ "2024-12-20 18:49:52,503 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:49:52,882 - INFO - ./data/processed_ATL03_20200421172726_04000702_006_02.h5\n",
+ "2024-12-20 18:49:52,890 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:49:53,382 - INFO - ./data/processed_ATL03_20200625023839_13830706_006_01.h5\n",
+ "2024-12-20 18:49:53,385 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:49:54,380 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 18:49:54,391 - INFO - ./data/processed_ATL03_20200721130713_04000802_006_01.h5\n",
+ "2024-12-20 18:49:54,419 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:50:15,521 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:50:15,521 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:50:15,528 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:50:15,528 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:50:15,584 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:50:15,585 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:50:15,669 - INFO - SUCCESS!\n",
+ "2024-12-20 18:50:15,682 - INFO - ./data/processed_ATL03_20200923221828_13830806_006_02.h5\n",
+ "2024-12-20 18:50:15,685 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:50:31,732 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:50:31,733 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:50:31,787 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:50:31,788 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:50:31,834 - INFO - SUCCESS!\n",
+ "2024-12-20 18:50:31,844 - INFO - ./data/processed_ATL03_20201020084700_04000902_006_01.h5\n",
+ "2024-12-20 18:50:31,847 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:50:39,216 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:50:39,258 - INFO - ./data/processed_ATL03_20201223175818_13830906_006_01.h5\n",
+ "2024-12-20 18:50:39,262 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:50:59,704 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:50:59,705 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:50:59,712 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:50:59,713 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:50:59,778 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:50:59,779 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:50:59,870 - INFO - SUCCESS!\n",
+ "2024-12-20 18:50:59,882 - INFO - ./data/processed_ATL03_20210119042651_04001002_006_01.h5\n",
+ "2024-12-20 18:50:59,886 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:51:15,710 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:51:15,711 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:51:15,765 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:51:15,766 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:51:15,813 - INFO - SUCCESS!\n",
+ "2024-12-20 18:51:15,823 - INFO - ./data/processed_ATL03_20210324133810_13831006_006_01.h5\n",
+ "2024-12-20 18:51:15,826 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:51:16,175 - INFO - ./data/processed_ATL03_20210420000645_04001102_006_02.h5\n",
+ "2024-12-20 18:51:16,178 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:51:16,585 - INFO - ./data/processed_ATL03_20210518224248_08421102_006_01.h5\n",
+ "2024-12-20 18:51:16,588 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:51:16,926 - INFO - ./data/processed_ATL03_20210623091801_13831106_006_01.h5\n",
+ "2024-12-20 18:51:16,932 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:51:23,632 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:51:23,633 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:51:23,736 - INFO - SUCCESS!\n",
+ "2024-12-20 18:51:23,746 - INFO - ./data/processed_ATL03_20210719194636_04001202_006_01.h5\n",
+ "2024-12-20 18:51:23,749 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:51:39,942 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:51:39,942 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:51:39,949 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:51:39,950 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:51:40,036 - INFO - SUCCESS!\n",
+ "2024-12-20 18:51:40,050 - INFO - ./data/processed_ATL03_20210922045758_13831206_006_02.h5\n",
+ "2024-12-20 18:51:40,052 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:51:55,288 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:51:55,288 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:51:55,324 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:51:55,325 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:51:55,394 - INFO - SUCCESS!\n",
+ "2024-12-20 18:51:55,405 - INFO - ./data/processed_ATL03_20211018152633_04001302_006_01.h5\n",
+ "2024-12-20 18:51:55,407 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:52:03,548 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:52:03,549 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:52:03,651 - INFO - SUCCESS!\n",
+ "2024-12-20 18:52:03,662 - INFO - ./data/processed_ATL03_20211222003753_13831306_006_01.h5\n",
+ "2024-12-20 18:52:03,665 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:52:04,016 - INFO - ./data/processed_ATL03_20220117110628_04001402_006_01.h5\n",
+ "2024-12-20 18:52:04,020 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:52:11,675 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:52:11,721 - INFO - ./data/processed_ATL03_20220322201746_13831406_006_01.h5\n",
+ "2024-12-20 18:52:11,723 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:52:26,421 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:52:26,421 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:52:26,475 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:52:26,475 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:52:26,554 - INFO - SUCCESS!\n",
+ "2024-12-20 18:52:26,573 - INFO - ./data/processed_ATL03_20220418064609_04001502_006_02.h5\n",
+ "2024-12-20 18:52:26,576 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:52:42,215 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:52:42,216 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:52:42,266 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:52:42,266 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:52:42,344 - INFO - SUCCESS!\n",
+ "2024-12-20 18:52:42,356 - INFO - ./data/processed_ATL03_20220517052223_08421502_006_01.h5\n",
+ "2024-12-20 18:52:42,359 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:52:42,686 - INFO - ./data/processed_ATL03_20220621155743_13831506_006_01.h5\n",
+ "2024-12-20 18:52:42,689 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:52:48,801 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:52:48,801 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:52:48,819 - INFO - SUCCESS!\n",
+ "2024-12-20 18:52:48,830 - INFO - ./data/processed_ATL03_20191027015934_04610502_006_01.h5\n",
+ "2024-12-20 18:52:48,832 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:52:55,499 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 18:52:55,508 - INFO - ./data/processed_ATL03_20191201123444_10020506_006_01.h5\n",
+ "2024-12-20 18:52:55,517 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:52:56,467 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 18:52:56,480 - INFO - ./data/processed_ATL03_20181118181306_07810102_006_02.h5\n",
+ "2024-12-20 18:52:56,483 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:52:57,086 - INFO - ./data/processed_ATL03_20181121062036_08190106_006_02.h5\n",
+ "2024-12-20 18:52:57,089 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:52:57,401 - INFO - ./data/processed_ATL03_20190122032419_03770206_006_02.h5\n",
+ "2024-12-20 18:52:57,404 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:52:57,754 - INFO - ./data/processed_ATL03_20190220020027_08190206_006_02.h5\n",
+ "2024-12-20 18:52:57,757 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:52:58,086 - INFO - ./data/processed_ATL03_20190519093236_07810302_006_02.h5\n",
+ "2024-12-20 18:52:58,088 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:53:15,016 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:53:15,016 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:53:15,035 - INFO - SUCCESS!\n",
+ "2024-12-20 18:53:15,046 - INFO - ./data/processed_ATL03_20190521214005_08190306_006_02.h5\n",
+ "2024-12-20 18:53:15,049 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:53:21,138 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:53:21,139 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:53:21,198 - INFO - SUCCESS!\n",
+ "2024-12-20 18:53:21,210 - INFO - ./data/processed_ATL03_20190722184342_03770406_006_02.h5\n",
+ "2024-12-20 18:53:21,214 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:53:27,584 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:53:27,585 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:53:27,610 - INFO - SUCCESS!\n",
+ "2024-12-20 18:53:27,620 - INFO - ./data/processed_ATL03_20190820171953_08190406_006_02.h5\n",
+ "2024-12-20 18:53:27,623 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:53:44,534 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:53:44,535 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:53:44,584 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:53:44,585 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:53:44,665 - INFO - SUCCESS!\n",
+ "2024-12-20 18:53:44,675 - INFO - ./data/processed_ATL03_20190916034827_12230402_006_02.h5\n",
+ "2024-12-20 18:53:44,677 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:53:45,138 - INFO - ./data/processed_ATL03_20191117005216_07810502_006_01.h5\n",
+ "2024-12-20 18:53:45,140 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:53:45,726 - INFO - ./data/processed_ATL03_20191215232815_12230502_006_01.h5\n",
+ "2024-12-20 18:53:45,730 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:53:46,203 - INFO - ./data/processed_ATL03_20200215203158_07810602_006_01.h5\n",
+ "2024-12-20 18:53:46,206 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:53:46,770 - INFO - ./data/processed_ATL03_20200218083929_08190606_006_01.h5\n",
+ "2024-12-20 18:53:46,774 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:53:47,371 - INFO - ./data/processed_ATL03_20200420054315_03770706_006_02.h5\n",
+ "2024-12-20 18:53:47,376 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:53:47,780 - INFO - ./data/processed_ATL03_20200516161149_07810702_006_01.h5\n",
+ "2024-12-20 18:53:47,782 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:53:48,176 - INFO - ./data/processed_ATL03_20200519041919_08190706_006_01.h5\n",
+ "2024-12-20 18:53:48,189 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:53:48,508 - INFO - ./data/processed_ATL03_20200815115134_07810802_006_01.h5\n",
+ "2024-12-20 18:53:48,510 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:54:00,997 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:54:00,998 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:54:01,021 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:54:01,022 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:54:01,066 - INFO - SUCCESS!\n",
+ "2024-12-20 18:54:01,076 - INFO - ./data/processed_ATL03_20200817235904_08190806_006_01.h5\n",
+ "2024-12-20 18:54:01,079 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:54:10,212 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:54:10,213 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:54:10,302 - INFO - SUCCESS!\n",
+ "2024-12-20 18:54:10,311 - INFO - ./data/processed_ATL03_20201114073123_07810902_006_01.h5\n",
+ "2024-12-20 18:54:10,313 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:54:16,700 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:54:16,701 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:54:16,739 - INFO - SUCCESS!\n",
+ "2024-12-20 18:54:16,748 - INFO - ./data/processed_ATL03_20201116193853_08190906_006_01.h5\n",
+ "2024-12-20 18:54:16,751 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:54:24,451 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:54:24,452 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:54:24,510 - INFO - SUCCESS!\n",
+ "2024-12-20 18:54:24,519 - INFO - ./data/processed_ATL03_20210213031117_07811002_006_01.h5\n",
+ "2024-12-20 18:54:24,521 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:54:25,110 - INFO - ./data/processed_ATL03_20210215151846_08191006_006_01.h5\n",
+ "2024-12-20 18:54:25,113 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:54:25,772 - INFO - ./data/processed_ATL03_20210612212711_12231102_006_01.h5\n",
+ "2024-12-20 18:54:25,774 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:54:26,088 - INFO - ./data/processed_ATL03_20210813183101_07811202_006_01.h5\n",
+ "2024-12-20 18:54:26,090 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:54:41,594 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:54:41,595 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:54:41,622 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:54:41,622 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:54:41,698 - INFO - SUCCESS!\n",
+ "2024-12-20 18:54:41,708 - INFO - ./data/processed_ATL03_20210816063831_08191206_006_01.h5\n",
+ "2024-12-20 18:54:41,714 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:54:48,429 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:54:48,430 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:54:48,483 - INFO - SUCCESS!\n",
+ "2024-12-20 18:54:48,498 - INFO - ./data/processed_ATL03_20211112141101_07811302_006_01.h5\n",
+ "2024-12-20 18:54:48,501 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:54:54,800 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:54:54,800 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:54:54,892 - INFO - SUCCESS!\n",
+ "2024-12-20 18:54:54,902 - INFO - ./data/processed_ATL03_20211115021831_08191306_006_01.h5\n",
+ "2024-12-20 18:54:54,905 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:55:12,318 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:55:12,319 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:55:12,363 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:55:12,363 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:55:12,434 - INFO - SUCCESS!\n",
+ "2024-12-20 18:55:12,444 - INFO - ./data/processed_ATL03_20220211095049_07811402_006_01.h5\n",
+ "2024-12-20 18:55:12,446 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:55:24,884 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:55:24,885 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:55:24,915 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:55:24,916 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:55:24,997 - INFO - SUCCESS!\n",
+ "2024-12-20 18:55:25,008 - INFO - ./data/processed_ATL03_20220213215819_08191406_006_01.h5\n",
+ "2024-12-20 18:55:25,012 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:55:31,343 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:55:31,344 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:55:31,384 - INFO - SUCCESS!\n",
+ "2024-12-20 18:55:31,394 - INFO - ./data/processed_ATL03_20220716144204_03771606_006_02.h5\n",
+ "2024-12-20 18:55:31,397 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:55:31,735 - INFO - ./data/processed_ATL03_20220812011038_07811602_006_01.h5\n",
+ "2024-12-20 18:55:31,737 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:55:32,101 - INFO - ./data/processed_ATL03_20221110205019_07811702_006_01.h5\n",
+ "2024-12-20 18:55:32,104 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:55:56,248 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:55:56,248 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:55:56,314 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:55:56,315 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:55:56,383 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:55:56,384 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:55:56,481 - INFO - SUCCESS!\n",
+ "2024-12-20 18:55:56,493 - INFO - ./data/processed_ATL03_20221113085750_08191706_006_02.h5\n",
+ "2024-12-20 18:55:56,496 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:55:56,957 - INFO - ./data/processed_ATL03_20230209163012_07811802_006_02.h5\n",
+ "2024-12-20 18:55:56,960 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:56:12,713 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:56:12,713 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:56:12,742 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:56:12,743 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:56:12,825 - INFO - SUCCESS!\n",
+ "2024-12-20 18:56:12,836 - INFO - ./data/processed_ATL03_20230212043742_08191806_006_02.h5\n",
+ "2024-12-20 18:56:12,839 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:56:21,604 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:56:21,605 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:56:21,660 - INFO - SUCCESS!\n",
+ "2024-12-20 18:56:21,671 - INFO - ./data/processed_ATL03_20230415014121_03771906_006_03.h5\n",
+ "2024-12-20 18:56:21,674 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:56:21,998 - INFO - ./data/processed_ATL03_20230511120952_07811902_006_02.h5\n",
+ "2024-12-20 18:56:22,001 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:56:22,398 - INFO - ./data/processed_ATL03_20230514001721_08191906_006_02.h5\n",
+ "2024-12-20 18:56:22,401 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:56:22,763 - INFO - ./data/processed_ATL03_20230810074903_07812002_006_02.h5\n",
+ "2024-12-20 18:56:22,766 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:56:35,640 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:56:35,641 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:56:35,703 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:56:35,704 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:56:35,787 - INFO - SUCCESS!\n",
+ "2024-12-20 18:56:35,797 - INFO - ./data/processed_ATL03_20230812195633_08192006_006_02.h5\n",
+ "2024-12-20 18:56:35,804 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:56:45,182 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:56:45,183 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:56:45,281 - INFO - SUCCESS!\n",
+ "2024-12-20 18:56:45,292 - INFO - ./data/processed_ATL03_20231109032835_07812102_006_01.h5\n",
+ "2024-12-20 18:56:45,295 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:56:45,713 - INFO - ./data/processed_ATL03_20231111153609_08192106_006_01.h5\n",
+ "2024-12-20 18:56:45,717 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:56:52,490 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:56:52,491 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:56:52,547 - INFO - SUCCESS!\n",
+ "2024-12-20 18:56:52,560 - INFO - ./data/processed_ATL03_20240207230812_07812202_006_01.h5\n",
+ "2024-12-20 18:56:52,564 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:57:07,215 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:57:07,216 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:57:07,222 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:57:07,223 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:57:07,249 - INFO - SUCCESS!\n",
+ "2024-12-20 18:57:07,259 - INFO - ./data/processed_ATL03_20240210111538_08192206_006_01.h5\n",
+ "2024-12-20 18:57:07,261 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:57:16,287 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:57:16,288 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:57:16,345 - INFO - SUCCESS!\n",
+ "2024-12-20 18:57:16,363 - INFO - ./data/processed_ATL03_20240508184728_07812302_006_01.h5\n",
+ "2024-12-20 18:57:16,365 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:57:23,592 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:57:23,648 - INFO - ./data/processed_ATL03_20240807142742_07812402_006_01.h5\n",
+ "2024-12-20 18:57:23,651 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:57:30,063 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:57:30,064 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:57:30,121 - INFO - SUCCESS!\n",
+ "2024-12-20 18:57:30,131 - INFO - ./data/processed_ATL03_20240810023508_08192406_006_01.h5\n",
+ "2024-12-20 18:57:30,134 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:57:30,467 - INFO - ./data/processed_ATL03_20181209170541_11010102_006_02.h5\n",
+ "2024-12-20 18:57:30,469 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:57:47,779 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:57:47,780 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:57:47,790 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:57:47,790 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:57:47,809 - INFO - SUCCESS!\n",
+ "2024-12-20 18:57:47,821 - INFO - ./data/processed_ATL03_20190110034917_01940206_006_02.h5\n",
+ "2024-12-20 18:57:47,823 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:57:54,375 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:57:54,375 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:57:54,420 - INFO - SUCCESS!\n",
+ "2024-12-20 18:57:54,430 - INFO - ./data/processed_ATL03_20190310124541_11010202_006_02.h5\n",
+ "2024-12-20 18:57:54,431 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:58:06,768 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:58:06,769 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:58:06,824 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:58:06,825 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:58:06,907 - INFO - SUCCESS!\n",
+ "2024-12-20 18:58:06,918 - INFO - ./data/processed_ATL03_20190410232910_01940306_006_02.h5\n",
+ "2024-12-20 18:58:06,922 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:58:07,821 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 18:58:07,833 - INFO - ./data/processed_ATL03_20190609082516_11010302_006_02.h5\n",
+ "2024-12-20 18:58:07,834 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:58:31,095 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:58:31,096 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:58:31,155 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:58:31,155 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:58:31,209 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:58:31,209 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:58:31,291 - INFO - SUCCESS!\n",
+ "2024-12-20 18:58:31,305 - INFO - ./data/processed_ATL03_20201205062406_11010902_006_01.h5\n",
+ "2024-12-20 18:58:31,307 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:58:37,868 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 18:58:37,911 - INFO - ./data/processed_ATL03_20210903172344_11011202_006_02.h5\n",
+ "2024-12-20 18:58:37,913 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:59:01,857 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 18:59:01,857 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:59:01,891 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:59:01,892 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:59:01,942 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:59:01,943 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:59:02,021 - INFO - SUCCESS!\n",
+ "2024-12-20 18:59:02,033 - INFO - ./data/processed_ATL03_20211005040722_01941306_006_01.h5\n",
+ "2024-12-20 18:59:02,034 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:59:02,336 - INFO - ./data/processed_ATL03_20220531073914_10571506_006_01.h5\n",
+ "2024-12-20 18:59:02,338 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:59:03,725 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 18:59:03,739 - INFO - ./data/processed_ATL03_20220626180747_00741602_006_01.h5\n",
+ "2024-12-20 18:59:03,743 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:59:04,066 - INFO - ./data/processed_ATL03_20220830031910_10571606_006_01.h5\n",
+ "2024-12-20 18:59:04,069 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:59:05,079 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 18:59:05,092 - INFO - ./data/processed_ATL03_20221126105121_10191702_006_02.h5\n",
+ "2024-12-20 18:59:05,097 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 18:59:05,516 - INFO - ./data/processed_ATL03_20190905164633_10630406_006_02.h5\n",
+ "2024-12-20 18:59:05,519 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:59:21,363 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:59:21,364 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:59:21,385 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:59:21,385 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:59:21,407 - INFO - SUCCESS!\n",
+ "2024-12-20 18:59:21,419 - INFO - ./data/processed_ATL03_20191006030651_01410502_006_02.h5\n",
+ "2024-12-20 18:59:21,422 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:59:27,940 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:59:27,941 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:59:27,983 - INFO - SUCCESS!\n",
+ "2024-12-20 18:59:27,992 - INFO - ./data/processed_ATL03_20191106135023_06210506_006_01.h5\n",
+ "2024-12-20 18:59:27,994 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:59:42,493 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:59:42,494 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:59:42,527 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:59:42,528 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:59:42,576 - INFO - SUCCESS!\n",
+ "2024-12-20 18:59:42,586 - INFO - ./data/processed_ATL03_20201003094552_01410902_006_01.h5\n",
+ "2024-12-20 18:59:42,589 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 18:59:57,933 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 18:59:57,934 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:59:57,971 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 18:59:57,972 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 18:59:58,021 - INFO - SUCCESS!\n",
+ "2024-12-20 18:59:58,031 - INFO - ./data/processed_ATL03_20201103202930_06210906_006_01.h5\n",
+ "2024-12-20 18:59:58,034 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:00:21,118 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:00:21,119 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:00:21,173 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:00:21,174 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:00:21,219 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:00:21,220 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:00:21,272 - INFO - SUCCESS!\n",
+ "2024-12-20 19:00:21,283 - INFO - ./data/processed_ATL03_20200805004942_06210806_006_01.h5\n",
+ "2024-12-20 19:00:21,285 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:00:27,930 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:00:27,931 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:00:27,960 - INFO - SUCCESS!\n",
+ "2024-12-20 19:00:27,972 - INFO - ./data/processed_ATL03_20200704140608_01410802_006_01.h5\n",
+ "2024-12-20 19:00:27,975 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:00:29,403 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:00:29,419 - INFO - ./data/processed_ATL03_20181108071124_06210106_006_02.h5\n",
+ "2024-12-20 19:00:29,424 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:00:30,399 - ERROR - An error occurred: cannot convert float NaN to integer\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:00:30,411 - INFO - ./data/processed_ATL03_20190807181029_06210406_006_02.h5\n",
+ "2024-12-20 19:00:30,414 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:00:31,135 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:00:31,154 - INFO - ./data/processed_ATL03_20200205093007_06210606_006_01.h5\n",
+ "2024-12-20 19:00:31,157 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:00:31,523 - INFO - ./data/processed_ATL03_20200306195018_10860602_006_01.h5\n",
+ "2024-12-20 19:00:31,526 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:00:31,894 - INFO - ./data/processed_ATL03_20200404182622_01410702_006_03.h5\n",
+ "2024-12-20 19:00:31,897 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:00:55,594 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:00:55,595 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:00:55,643 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:00:55,644 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:00:55,667 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:00:55,667 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:00:55,744 - INFO - SUCCESS!\n",
+ "2024-12-20 19:00:55,757 - INFO - ./data/processed_ATL03_20200506050956_06210706_006_01.h5\n",
+ "2024-12-20 19:00:55,760 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:01:15,592 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:01:15,592 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:01:15,603 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:01:15,604 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:01:15,659 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:01:15,659 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:01:15,738 - INFO - SUCCESS!\n",
+ "2024-12-20 19:01:15,750 - INFO - ./data/processed_ATL03_20190508223048_06210306_006_02.h5\n",
+ "2024-12-20 19:01:15,753 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:01:25,309 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:01:25,310 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:01:25,337 - INFO - SUCCESS!\n",
+ "2024-12-20 19:01:25,347 - INFO - ./data/processed_ATL03_20191104014253_05830502_006_01.h5\n",
+ "2024-12-20 19:01:25,350 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:01:25,683 - INFO - ./data/processed_ATL03_20230202172748_06741812_006_02.h5\n",
+ "2024-12-20 19:01:25,687 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:01:41,570 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:01:41,570 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:01:41,615 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:01:41,616 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:01:41,690 - INFO - SUCCESS!\n",
+ "2024-12-20 19:01:41,703 - INFO - ./data/processed_ATL03_20181016140107_02740107_006_02.h5\n",
+ "2024-12-20 19:01:41,705 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:01:42,354 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:01:42,365 - INFO - ./data/processed_ATL03_20181114123724_07160107_006_02.h5\n",
+ "2024-12-20 19:01:42,368 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:01:48,971 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:01:48,971 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:01:49,013 - INFO - SUCCESS!\n",
+ "2024-12-20 19:01:49,023 - INFO - ./data/processed_ATL03_20190107215156_01600201_006_02.h5\n",
+ "2024-12-20 19:01:49,026 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:02:13,952 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:02:13,953 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:02:13,997 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:02:13,998 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:02:14,037 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:02:14,038 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:02:14,087 - INFO - SUCCESS!\n",
+ "2024-12-20 19:02:14,102 - INFO - ./data/processed_ATL03_20190115094052_02740207_006_02.h5\n",
+ "2024-12-20 19:02:14,105 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:02:30,077 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:02:30,077 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:02:30,104 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:02:30,104 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:02:30,159 - INFO - SUCCESS!\n",
+ "2024-12-20 19:02:30,169 - INFO - ./data/processed_ATL03_20190716010019_02740407_006_02.h5\n",
+ "2024-12-20 19:02:30,172 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:02:30,832 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:02:30,843 - INFO - ./data/processed_ATL03_20191007085119_01600501_006_02.h5\n",
+ "2024-12-20 19:02:30,846 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:02:31,244 - INFO - ./data/processed_ATL03_20181030075330_04840106_006_02.h5\n",
+ "2024-12-20 19:02:31,246 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:02:43,637 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:02:43,637 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:02:43,697 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:02:43,698 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:02:43,781 - INFO - SUCCESS!\n",
+ "2024-12-20 19:02:43,791 - INFO - ./data/processed_ATL03_20181104192927_05680102_006_02.h5\n",
+ "2024-12-20 19:02:43,795 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:02:51,642 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:02:51,642 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:02:51,671 - INFO - SUCCESS!\n",
+ "2024-12-20 19:02:51,681 - INFO - ./data/processed_ATL03_20190129033327_04840206_006_02.h5\n",
+ "2024-12-20 19:02:51,683 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:03:13,259 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:03:13,260 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:03:13,314 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:03:13,315 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:03:13,372 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:03:13,372 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:03:13,445 - INFO - SUCCESS!\n",
+ "2024-12-20 19:03:13,456 - INFO - ./data/processed_ATL03_20190203150920_05680202_006_02.h5\n",
+ "2024-12-20 19:03:13,458 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:03:13,773 - INFO - ./data/processed_ATL03_20190429231307_04840306_006_02.h5\n",
+ "2024-12-20 19:03:13,780 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:03:14,584 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:03:14,596 - INFO - ./data/processed_ATL03_20190505104857_05680302_006_02.h5\n",
+ "2024-12-20 19:03:14,599 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:03:14,942 - INFO - ./data/processed_ATL03_20190729185246_04840406_006_02.h5\n",
+ "2024-12-20 19:03:14,944 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:03:32,628 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:03:32,629 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:03:32,682 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:03:32,682 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:03:32,728 - INFO - SUCCESS!\n",
+ "2024-12-20 19:03:32,742 - INFO - ./data/processed_ATL03_20200427055215_04840706_006_02.h5\n",
+ "2024-12-20 19:03:32,745 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:03:45,563 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:03:45,563 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:03:45,620 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:03:45,621 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:03:45,667 - INFO - SUCCESS!\n",
+ "2024-12-20 19:03:45,678 - INFO - ./data/processed_ATL03_20200531160408_10100702_006_01.h5\n",
+ "2024-12-20 19:03:45,680 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:03:52,270 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:03:52,270 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:03:52,293 - INFO - SUCCESS!\n",
+ "2024-12-20 19:03:52,303 - INFO - ./data/processed_ATL03_20200727013202_04840806_006_01.h5\n",
+ "2024-12-20 19:03:52,305 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:04:09,674 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:04:09,675 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:04:09,728 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:04:09,729 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:04:09,777 - INFO - SUCCESS!\n",
+ "2024-12-20 19:04:09,786 - INFO - ./data/processed_ATL03_20200801130752_05680802_006_01.h5\n",
+ "2024-12-20 19:04:09,788 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:04:16,260 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:04:16,269 - INFO - ./data/processed_ATL03_20181129230459_09520103_006_02.h5\n",
+ "2024-12-20 19:04:16,272 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:04:22,941 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:04:22,942 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:04:23,028 - INFO - SUCCESS!\n",
+ "2024-12-20 19:04:23,038 - INFO - ./data/processed_ATL03_20190329172101_00070303_006_02.h5\n",
+ "2024-12-20 19:04:23,041 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:04:23,368 - INFO - ./data/processed_ATL03_20190331054015_00300305_006_02.h5\n",
+ "2024-12-20 19:04:23,371 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:04:23,701 - INFO - ./data/processed_ATL03_20190429041614_04720305_006_02.h5\n",
+ "2024-12-20 19:04:23,703 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:04:32,921 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:04:32,922 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:04:32,961 - INFO - SUCCESS!\n",
+ "2024-12-20 19:04:32,975 - INFO - ./data/processed_ATL03_20190530142437_09520303_006_02.h5\n",
+ "2024-12-20 19:04:32,978 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:04:39,679 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:04:39,679 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:04:39,727 - INFO - SUCCESS!\n",
+ "2024-12-20 19:04:39,737 - INFO - ./data/processed_ATL03_20190728235552_04720405_006_02.h5\n",
+ "2024-12-20 19:04:39,739 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:04:48,193 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:04:48,193 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:04:48,278 - INFO - SUCCESS!\n",
+ "2024-12-20 19:04:48,289 - INFO - ./data/processed_ATL03_20190927084032_00070503_006_02.h5\n",
+ "2024-12-20 19:04:48,292 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:05:04,735 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:05:04,736 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:05:04,790 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:05:04,791 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:05:04,850 - INFO - SUCCESS!\n",
+ "2024-12-20 19:05:04,862 - INFO - ./data/processed_ATL03_20190928205946_00300505_006_02.h5\n",
+ "2024-12-20 19:05:04,869 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:05:05,177 - INFO - ./data/processed_ATL03_20191027193549_04720505_006_01.h5\n",
+ "2024-12-20 19:05:05,179 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:05:12,127 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:05:12,128 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:05:12,173 - INFO - SUCCESS!\n",
+ "2024-12-20 19:05:12,184 - INFO - ./data/processed_ATL03_20191228163932_00300605_006_01.h5\n",
+ "2024-12-20 19:05:12,187 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:05:12,498 - INFO - ./data/processed_ATL03_20200327000000_00070703_006_01.h5\n",
+ "2024-12-20 19:05:12,500 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:05:18,946 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:05:18,947 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:05:19,014 - INFO - SUCCESS!\n",
+ "2024-12-20 19:05:19,024 - INFO - ./data/processed_ATL03_20200328121916_00300705_006_01.h5\n",
+ "2024-12-20 19:05:19,026 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:05:19,354 - INFO - ./data/processed_ATL03_20200426105522_04720705_006_02.h5\n",
+ "2024-12-20 19:05:19,359 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:05:27,849 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:05:27,850 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:05:27,944 - INFO - SUCCESS!\n",
+ "2024-12-20 19:05:27,955 - INFO - ./data/processed_ATL03_20200527210350_09520703_006_01.h5\n",
+ "2024-12-20 19:05:27,958 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:05:28,284 - INFO - ./data/processed_ATL03_20200625193951_00070803_006_01.h5\n",
+ "2024-12-20 19:05:28,286 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:05:28,625 - INFO - ./data/processed_ATL03_20200627075905_00300805_006_01.h5\n",
+ "2024-12-20 19:05:28,628 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:05:28,948 - INFO - ./data/processed_ATL03_20200726063509_04720805_006_01.h5\n",
+ "2024-12-20 19:05:28,952 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:05:38,385 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:05:38,386 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:05:38,433 - INFO - SUCCESS!\n",
+ "2024-12-20 19:05:38,444 - INFO - ./data/processed_ATL03_20200826164337_09520803_006_01.h5\n",
+ "2024-12-20 19:05:38,447 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:05:45,537 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:05:45,538 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:05:45,600 - INFO - SUCCESS!\n",
+ "2024-12-20 19:05:45,610 - INFO - ./data/processed_ATL03_20200924151940_00070903_006_02.h5\n",
+ "2024-12-20 19:05:45,613 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:05:46,283 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:05:46,294 - INFO - ./data/processed_ATL03_20200926033854_00300905_006_02.h5\n",
+ "2024-12-20 19:05:46,297 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:05:46,617 - INFO - ./data/processed_ATL03_20201025021454_04720905_006_01.h5\n",
+ "2024-12-20 19:05:46,619 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:05:52,952 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:05:52,952 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:05:52,985 - INFO - SUCCESS!\n",
+ "2024-12-20 19:05:52,995 - INFO - ./data/processed_ATL03_20201125122327_09520903_006_01.h5\n",
+ "2024-12-20 19:05:52,998 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:05:53,332 - INFO - ./data/processed_ATL03_20201225231845_00301005_006_01.h5\n",
+ "2024-12-20 19:05:53,335 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:05:53,662 - INFO - ./data/processed_ATL03_20210123215451_04721005_006_01.h5\n",
+ "2024-12-20 19:05:53,664 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:06:00,837 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:06:00,838 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:06:00,925 - INFO - SUCCESS!\n",
+ "2024-12-20 19:06:00,936 - INFO - ./data/processed_ATL03_20210325063922_00071103_006_01.h5\n",
+ "2024-12-20 19:06:00,941 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:06:01,857 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:06:01,869 - INFO - ./data/processed_ATL03_20210326185836_00301105_006_01.h5\n",
+ "2024-12-20 19:06:01,872 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:06:02,207 - INFO - ./data/processed_ATL03_20210424173440_04721105_006_02.h5\n",
+ "2024-12-20 19:06:02,210 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:06:02,524 - INFO - ./data/processed_ATL03_20210624021913_00071203_006_01.h5\n",
+ "2024-12-20 19:06:02,526 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:06:02,850 - INFO - ./data/processed_ATL03_20210625143827_00301205_006_01.h5\n",
+ "2024-12-20 19:06:02,853 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:06:03,184 - INFO - ./data/processed_ATL03_20210824232305_09521203_006_01.h5\n",
+ "2024-12-20 19:06:03,187 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:06:14,602 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:06:14,603 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:06:14,652 - INFO - SUCCESS!\n",
+ "2024-12-20 19:06:14,668 - INFO - ./data/processed_ATL03_20210922215910_00071303_006_02.h5\n",
+ "2024-12-20 19:06:14,677 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:06:15,085 - INFO - ./data/processed_ATL03_20211023085432_04721305_006_01.h5\n",
+ "2024-12-20 19:06:15,088 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:06:15,976 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:06:15,991 - INFO - ./data/processed_ATL03_20211123190303_09521303_006_01.h5\n",
+ "2024-12-20 19:06:15,994 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:06:17,360 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:06:17,376 - INFO - ./data/processed_ATL03_20211222173905_00071403_006_01.h5\n",
+ "2024-12-20 19:06:17,378 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:06:30,469 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:06:30,469 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:06:30,529 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:06:30,530 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:06:30,612 - INFO - SUCCESS!\n",
+ "2024-12-20 19:06:30,623 - INFO - ./data/processed_ATL03_20211224055819_00301405_006_01.h5\n",
+ "2024-12-20 19:06:30,627 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:06:46,659 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:06:46,660 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:06:46,714 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:06:46,715 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:06:46,797 - INFO - SUCCESS!\n",
+ "2024-12-20 19:06:46,808 - INFO - ./data/processed_ATL03_20220122043423_04721405_006_01.h5\n",
+ "2024-12-20 19:06:46,810 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:06:55,360 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:06:55,405 - INFO - ./data/processed_ATL03_20220222144253_09521403_006_01.h5\n",
+ "2024-12-20 19:06:55,408 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:06:56,020 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:06:56,032 - INFO - ./data/processed_ATL03_20181021083545_03470106_006_02.h5\n",
+ "2024-12-20 19:06:56,037 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:07:02,605 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:07:02,606 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:07:02,627 - INFO - SUCCESS!\n",
+ "2024-12-20 19:07:02,638 - INFO - ./data/processed_ATL03_20181202183059_09950102_006_02.h5\n",
+ "2024-12-20 19:07:02,640 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:07:02,984 - INFO - ./data/processed_ATL03_20190120041533_03470206_006_02.h5\n",
+ "2024-12-20 19:07:02,987 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:07:03,313 - INFO - ./data/processed_ATL03_20190420235527_03470306_006_02.h5\n",
+ "2024-12-20 19:07:03,317 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:07:09,929 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:07:09,974 - INFO - ./data/processed_ATL03_20190720193459_03470406_006_02.h5\n",
+ "2024-12-20 19:07:09,977 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:07:26,399 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:07:26,400 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:07:26,456 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:07:26,456 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:07:26,533 - INFO - SUCCESS!\n",
+ "2024-12-20 19:07:26,545 - INFO - ./data/processed_ATL03_20190818181111_07890406_006_02.h5\n",
+ "2024-12-20 19:07:26,548 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:07:34,559 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:07:34,560 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:07:34,592 - INFO - SUCCESS!\n",
+ "2024-12-20 19:07:34,603 - INFO - ./data/processed_ATL03_20190930040628_00500502_006_02.h5\n",
+ "2024-12-20 19:07:34,605 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:07:57,122 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:07:57,123 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:07:57,180 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:07:57,181 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:07:57,237 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:07:57,237 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:07:57,321 - INFO - SUCCESS!\n",
+ "2024-12-20 19:07:57,332 - INFO - ./data/processed_ATL03_20200229204958_09950602_006_01.h5\n",
+ "2024-12-20 19:07:57,335 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:08:03,587 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:08:03,588 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:08:03,675 - INFO - SUCCESS!\n",
+ "2024-12-20 19:08:03,685 - INFO - ./data/processed_ATL03_20200329192559_00500702_006_01.h5\n",
+ "2024-12-20 19:08:03,688 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:08:12,128 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:08:12,128 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:08:12,217 - INFO - SUCCESS!\n",
+ "2024-12-20 19:08:12,226 - INFO - ./data/processed_ATL03_20200418063433_03470706_006_02.h5\n",
+ "2024-12-20 19:08:12,229 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:09:06,436 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:09:06,437 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:09:06,498 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:09:06,498 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:09:06,530 - INFO - SUCCESS!\n",
+ "2024-12-20 19:09:06,540 - INFO - ./data/processed_ATL03_20191231225456_00800602_006_01.h5\n",
+ "2024-12-20 19:09:06,545 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:09:06,891 - INFO - ./data/processed_ATL03_20200201093829_05600606_006_01.h5\n",
+ "2024-12-20 19:09:06,894 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:09:22,428 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:09:22,428 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:09:22,485 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:09:22,485 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:09:22,567 - INFO - SUCCESS!\n",
+ "2024-12-20 19:09:22,577 - INFO - ./data/processed_ATL03_20200403064211_01180706_006_03.h5\n",
+ "2024-12-20 19:09:22,579 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:09:22,895 - INFO - ./data/processed_ATL03_20200429171045_05220702_006_02.h5\n",
+ "2024-12-20 19:09:22,898 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:09:44,379 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:09:44,380 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:09:44,436 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:09:44,436 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:09:44,489 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:09:44,490 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:09:44,527 - INFO - SUCCESS!\n",
+ "2024-12-20 19:09:44,538 - INFO - ./data/processed_ATL03_20200729125033_05220802_006_01.h5\n",
+ "2024-12-20 19:09:44,540 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:09:44,881 - INFO - ./data/processed_ATL03_20200801005803_05600806_006_01.h5\n",
+ "2024-12-20 19:09:44,884 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:09:54,250 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:09:54,251 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:09:54,340 - INFO - SUCCESS!\n",
+ "2024-12-20 19:09:54,351 - INFO - ./data/processed_ATL03_20190902131515_10150405_006_02.h5\n",
+ "2024-12-20 19:09:54,353 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:10:00,752 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:10:00,761 - INFO - ./data/processed_ATL03_20190914000523_11900403_006_02.h5\n",
+ "2024-12-20 19:10:00,764 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:10:01,087 - INFO - ./data/processed_ATL03_20191012224129_02450503_006_02.h5\n",
+ "2024-12-20 19:10:01,089 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:10:01,931 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:10:01,944 - INFO - ./data/processed_ATL03_20191103101903_05730505_006_01.h5\n",
+ "2024-12-20 19:10:01,947 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:10:16,354 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:10:16,355 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:10:16,371 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:10:16,372 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:10:16,392 - INFO - SUCCESS!\n",
+ "2024-12-20 19:10:16,402 - INFO - ./data/processed_ATL03_20191202085504_10150505_006_01.h5\n",
+ "2024-12-20 19:10:16,405 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:10:25,709 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:10:25,709 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:10:25,774 - INFO - SUCCESS!\n",
+ "2024-12-20 19:10:25,784 - INFO - ./data/processed_ATL03_20191213194511_11900503_006_01.h5\n",
+ "2024-12-20 19:10:25,786 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:10:26,103 - INFO - ./data/processed_ATL03_20200111182113_02450603_006_01.h5\n",
+ "2024-12-20 19:10:26,105 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:10:33,205 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:10:33,250 - INFO - ./data/processed_ATL03_20200202055849_05730605_006_01.h5\n",
+ "2024-12-20 19:10:33,255 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:10:34,119 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:10:34,133 - INFO - ./data/processed_ATL03_20200302043448_10150605_006_01.h5\n",
+ "2024-12-20 19:10:34,140 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:10:40,404 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:10:40,405 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:10:40,445 - INFO - SUCCESS!\n",
+ "2024-12-20 19:10:40,454 - INFO - ./data/processed_ATL03_20200313152500_11900603_006_01.h5\n",
+ "2024-12-20 19:10:40,457 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:10:40,798 - INFO - ./data/processed_ATL03_20200411140101_02450703_006_02.h5\n",
+ "2024-12-20 19:10:40,801 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:10:58,916 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:10:58,917 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:10:58,964 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:10:58,965 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:10:59,028 - INFO - SUCCESS!\n",
+ "2024-12-20 19:10:59,065 - INFO - ./data/processed_ATL03_20200503013836_05730705_006_01.h5\n",
+ "2024-12-20 19:10:59,069 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:11:06,075 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:11:06,120 - INFO - ./data/processed_ATL03_20200601001440_10150705_006_01.h5\n",
+ "2024-12-20 19:11:06,123 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:11:12,554 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:11:12,555 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:11:12,633 - INFO - SUCCESS!\n",
+ "2024-12-20 19:11:12,642 - INFO - ./data/processed_ATL03_20200612110444_11900703_006_01.h5\n",
+ "2024-12-20 19:11:12,645 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:11:13,000 - INFO - ./data/processed_ATL03_20200711094047_02450803_006_01.h5\n",
+ "2024-12-20 19:11:13,003 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:11:31,199 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:11:31,199 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:11:31,254 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:11:31,254 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:11:31,353 - INFO - SUCCESS!\n",
+ "2024-12-20 19:11:31,366 - INFO - ./data/processed_ATL03_20200801211823_05730805_006_01.h5\n",
+ "2024-12-20 19:11:31,373 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:11:32,538 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:11:32,551 - INFO - ./data/processed_ATL03_20200830195426_10150805_006_01.h5\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:11:32,576 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:11:39,829 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:11:39,830 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:11:39,877 - INFO - SUCCESS!\n",
+ "2024-12-20 19:11:39,886 - INFO - ./data/processed_ATL03_20200911064433_11900803_006_02.h5\n",
+ "2024-12-20 19:11:39,889 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:11:40,212 - INFO - ./data/processed_ATL03_20201010052034_02450903_006_01.h5\n",
+ "2024-12-20 19:11:40,215 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:11:41,170 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:11:41,181 - INFO - ./data/processed_ATL03_20201031165812_05730905_006_01.h5\n",
+ "2024-12-20 19:11:41,184 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:11:54,057 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:11:54,058 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:11:54,092 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:11:54,092 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:11:54,123 - INFO - SUCCESS!\n",
+ "2024-12-20 19:11:54,133 - INFO - ./data/processed_ATL03_20201211022425_11900903_006_01.h5\n",
+ "2024-12-20 19:11:54,142 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:11:55,028 - INFO - ./data/processed_ATL03_20210109010029_02451003_006_01.h5\n",
+ "2024-12-20 19:11:55,031 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:11:56,325 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:11:56,337 - INFO - ./data/processed_ATL03_20210130123807_05731005_006_01.h5\n",
+ "2024-12-20 19:11:56,357 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:12:14,032 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:12:14,033 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:12:14,041 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:12:14,042 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:12:14,065 - INFO - SUCCESS!\n",
+ "2024-12-20 19:12:14,075 - INFO - ./data/processed_ATL03_20210228111407_10151005_006_01.h5\n",
+ "2024-12-20 19:12:14,078 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:12:20,794 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:12:20,795 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:12:20,896 - INFO - SUCCESS!\n",
+ "2024-12-20 19:12:20,906 - INFO - ./data/processed_ATL03_20210311220417_11901003_006_01.h5\n",
+ "2024-12-20 19:12:20,910 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:12:21,242 - INFO - ./data/processed_ATL03_20210409204021_02451103_006_02.h5\n",
+ "2024-12-20 19:12:21,244 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:12:37,495 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:12:37,496 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:12:37,542 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:12:37,543 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:12:37,616 - INFO - SUCCESS!\n",
+ "2024-12-20 19:12:37,626 - INFO - ./data/processed_ATL03_20210501081756_05731105_006_01.h5\n",
+ "2024-12-20 19:12:37,629 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:12:38,577 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:12:38,590 - INFO - ./data/processed_ATL03_20210530065400_10151105_006_01.h5\n",
+ "2024-12-20 19:12:38,592 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt2l\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:12:45,523 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:12:45,524 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:12:45,599 - INFO - SUCCESS!\n",
+ "2024-12-20 19:12:45,612 - INFO - ./data/processed_ATL03_20210610174408_11901103_006_01.h5\n",
+ "2024-12-20 19:12:45,658 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:12:46,007 - INFO - ./data/processed_ATL03_20210709162010_02451203_006_01.h5\n",
+ "2024-12-20 19:12:46,011 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:13:01,000 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:13:01,000 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:13:01,062 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:13:01,063 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:13:01,148 - INFO - SUCCESS!\n",
+ "2024-12-20 19:13:01,159 - INFO - ./data/processed_ATL03_20210731035749_05731205_006_01.h5\n",
+ "2024-12-20 19:13:01,161 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:13:17,174 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:13:17,221 - INFO - ./data/processed_ATL03_20191215174405_12190507_006_01.h5\n",
+ "2024-12-20 19:13:17,224 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:13:17,542 - INFO - ./data/processed_ATL03_20200909045147_11580807_006_02.h5\n",
+ "2024-12-20 19:13:17,545 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:13:17,871 - INFO - ./data/processed_ATL03_20181126034741_08940102_006_02.h5\n",
+ "2024-12-20 19:13:17,873 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:13:18,210 - INFO - ./data/processed_ATL03_20190316103614_11910206_006_02.h5\n",
+ "2024-12-20 19:13:18,213 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:13:18,613 - INFO - ./data/processed_ATL03_20190511155926_06630301_006_02.h5\n",
+ "2024-12-20 19:13:18,616 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:13:18,946 - INFO - ./data/processed_ATL03_20190515035648_07160307_006_02.h5\n",
+ "2024-12-20 19:13:18,948 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:13:19,268 - INFO - ./data/processed_ATL03_20181229161704_00190201_006_02.h5\n",
+ "2024-12-20 19:13:19,272 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:13:34,635 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:13:34,635 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:13:34,666 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:13:34,667 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:13:34,741 - INFO - SUCCESS!\n",
+ "2024-12-20 19:13:34,753 - INFO - ./data/processed_ATL03_20190102041429_00720207_006_02.h5\n",
+ "2024-12-20 19:13:34,770 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:13:51,414 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:13:51,414 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:13:51,456 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:13:51,456 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:13:51,518 - INFO - SUCCESS!\n",
+ "2024-12-20 19:13:51,529 - INFO - ./data/processed_ATL03_20190330115657_00190301_006_02.h5\n",
+ "2024-12-20 19:13:51,531 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:14:04,907 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:14:04,908 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:14:04,915 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:14:04,916 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:14:04,977 - INFO - SUCCESS!\n",
+ "2024-12-20 19:14:04,987 - INFO - ./data/processed_ATL03_20190402235420_00720307_006_02.h5\n",
+ "2024-12-20 19:14:04,990 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:14:22,975 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:14:22,976 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:14:23,012 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:14:23,013 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:14:23,068 - INFO - SUCCESS!\n",
+ "2024-12-20 19:14:23,078 - INFO - ./data/processed_ATL03_20190928031628_00190501_006_02.h5\n",
+ "2024-12-20 19:14:23,081 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:14:23,477 - INFO - ./data/processed_ATL03_20191027015232_04610501_006_01.h5\n",
+ "2024-12-20 19:14:23,480 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:14:23,832 - INFO - ./data/processed_ATL03_20191227225615_00190601_006_01.h5\n",
+ "2024-12-20 19:14:23,841 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:14:30,128 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:14:30,129 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:14:30,174 - INFO - SUCCESS!\n",
+ "2024-12-20 19:14:30,183 - INFO - ./data/processed_ATL03_20191231105337_00720607_006_01.h5\n",
+ "2024-12-20 19:14:30,185 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:14:30,505 - INFO - ./data/processed_ATL03_20200327183557_00190701_006_01.h5\n",
+ "2024-12-20 19:14:30,508 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:14:30,853 - INFO - ./data/processed_ATL03_20200331063319_00720707_006_01.h5\n",
+ "2024-12-20 19:14:30,856 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:14:37,661 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:14:37,662 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:14:37,724 - INFO - SUCCESS!\n",
+ "2024-12-20 19:14:37,733 - INFO - ./data/processed_ATL03_20200626141547_00190801_006_01.h5\n",
+ "2024-12-20 19:14:37,736 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:15:02,235 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:15:02,237 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:15:02,263 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:15:02,264 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:15:02,310 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:15:02,310 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:15:02,375 - INFO - SUCCESS!\n",
+ "2024-12-20 19:15:02,388 - INFO - ./data/processed_ATL03_20200630021310_00720807_006_01.h5\n",
+ "2024-12-20 19:15:02,391 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:15:09,461 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:15:09,461 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:15:09,524 - INFO - SUCCESS!\n",
+ "2024-12-20 19:15:09,533 - INFO - ./data/processed_ATL03_20200925095536_00190901_006_02.h5\n",
+ "2024-12-20 19:15:09,536 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:15:19,023 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:15:19,023 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:15:19,089 - INFO - SUCCESS!\n",
+ "2024-12-20 19:15:19,100 - INFO - ./data/processed_ATL03_20200928215259_00720907_006_02.h5\n",
+ "2024-12-20 19:15:19,102 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:15:33,346 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:15:33,347 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:15:33,376 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:15:33,377 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:15:33,426 - INFO - SUCCESS!\n",
+ "2024-12-20 19:15:33,437 - INFO - ./data/processed_ATL03_20201225053527_00191001_006_01.h5\n",
+ "2024-12-20 19:15:33,440 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:15:40,673 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:15:40,673 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:15:40,739 - INFO - SUCCESS!\n",
+ "2024-12-20 19:15:40,748 - INFO - ./data/processed_ATL03_20210329131242_00721107_006_01.h5\n",
+ "2024-12-20 19:15:40,752 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:15:41,120 - INFO - ./data/processed_ATL03_20210624205509_00191201_006_01.h5\n",
+ "2024-12-20 19:15:41,123 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:15:50,744 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:15:50,744 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:15:50,770 - INFO - SUCCESS!\n",
+ "2024-12-20 19:15:50,780 - INFO - ./data/processed_ATL03_20210628085233_00721207_006_01.h5\n",
+ "2024-12-20 19:15:50,782 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:03,464 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:16:03,465 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:16:03,495 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:16:03,496 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:16:03,561 - INFO - SUCCESS!\n",
+ "2024-12-20 19:16:03,571 - INFO - ./data/processed_ATL03_20210923163506_00191301_006_02.h5\n",
+ "2024-12-20 19:16:03,577 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:16:04,178 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:16:04,190 - INFO - ./data/processed_ATL03_20210927043230_00721307_006_02.h5\n",
+ "2024-12-20 19:16:04,193 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:05,055 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:16:05,067 - INFO - ./data/processed_ATL03_20210606163409_11281106_006_01.h5\n",
+ "2024-12-20 19:16:05,069 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l']\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:05,413 - INFO - ./data/processed_ATL03_20210613034420_12271102_006_01.h5\n",
+ "2024-12-20 19:16:05,416 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:14,405 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:16:14,406 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:16:14,487 - INFO - SUCCESS!\n",
+ "2024-12-20 19:16:14,497 - INFO - ./data/processed_ATL03_20210705151011_01831206_006_01.h5\n",
+ "2024-12-20 19:16:14,500 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:24,320 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:16:24,320 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:16:24,364 - INFO - SUCCESS!\n",
+ "2024-12-20 19:16:24,374 - INFO - ./data/processed_ATL03_20210712022024_02821202_006_01.h5\n",
+ "2024-12-20 19:16:24,379 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:16:24,845 - INFO - ./data/processed_ATL03_20210905121404_11281206_006_02.h5\n",
+ "2024-12-20 19:16:24,848 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:25,207 - INFO - ./data/processed_ATL03_20211004105012_01831306_006_01.h5\n",
+ "2024-12-20 19:16:25,211 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:32,163 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:16:32,164 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:16:32,262 - INFO - SUCCESS!\n",
+ "2024-12-20 19:16:32,272 - INFO - ./data/processed_ATL03_20211010220023_02821302_006_01.h5\n",
+ "2024-12-20 19:16:32,275 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:16:32,748 - INFO - ./data/processed_ATL03_20211205075401_11281306_006_01.h5\n",
+ "2024-12-20 19:16:32,753 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:33,166 - INFO - ./data/processed_ATL03_20211211190413_12271302_006_01.h5\n",
+ "2024-12-20 19:16:33,169 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:39,879 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:16:39,880 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:16:39,928 - INFO - SUCCESS!\n",
+ "2024-12-20 19:16:39,938 - INFO - ./data/processed_ATL03_20220103063004_01831406_006_01.h5\n",
+ "2024-12-20 19:16:39,940 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:47,006 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:16:47,007 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:16:47,092 - INFO - SUCCESS!\n",
+ "2024-12-20 19:16:47,101 - INFO - ./data/processed_ATL03_20220109174016_02821402_006_01.h5\n",
+ "2024-12-20 19:16:47,103 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:16:47,456 - INFO - ./data/processed_ATL03_20220604231346_11281506_006_01.h5\n",
+ "2024-12-20 19:16:47,475 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:47,855 - INFO - ./data/processed_ATL03_20220611102355_12271502_006_01.h5\n",
+ "2024-12-20 19:16:47,868 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:16:59,186 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:16:59,187 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:16:59,280 - INFO - SUCCESS!\n",
+ "2024-12-20 19:16:59,291 - INFO - ./data/processed_ATL03_20220703214953_01831606_006_02.h5\n",
+ "2024-12-20 19:16:59,294 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:17:06,397 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:17:06,397 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:17:06,436 - INFO - SUCCESS!\n",
+ "2024-12-20 19:17:06,447 - INFO - ./data/processed_ATL03_20220710090005_02821602_006_02.h5\n",
+ "2024-12-20 19:17:06,450 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:17:06,800 - INFO - ./data/processed_ATL03_20220903185343_11281606_006_01.h5\n",
+ "2024-12-20 19:17:06,803 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:17:07,181 - INFO - ./data/processed_ATL03_20190416052049_02740307_006_02.h5\n",
+ "2024-12-20 19:17:07,183 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:17:07,513 - INFO - ./data/processed_ATL03_20191014204022_02740507_006_02.h5\n",
+ "2024-12-20 19:17:07,516 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:17:07,910 - INFO - ./data/processed_ATL03_20200204030706_06020601_006_01.h5\n",
+ "2024-12-20 19:17:07,912 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:17:21,079 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:17:21,080 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:17:21,146 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:17:21,148 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:17:21,237 - INFO - SUCCESS!\n",
+ "2024-12-20 19:17:21,248 - INFO - ./data/processed_ATL03_20200413115954_02740707_006_02.h5\n",
+ "2024-12-20 19:17:21,251 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:17:21,664 - INFO - ./data/processed_ATL03_20200713073941_02740807_006_01.h5\n",
+ "2024-12-20 19:17:21,671 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:17:22,053 - INFO - ./data/processed_ATL03_20200807181820_06630801_006_01.h5\n",
+ "2024-12-20 19:17:22,087 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:17:22,848 - INFO - ./data/processed_ATL03_20201012031928_02740907_006_01.h5\n",
+ "2024-12-20 19:17:22,851 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:17:32,669 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:17:32,670 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:17:32,691 - INFO - SUCCESS!\n",
+ "2024-12-20 19:17:32,703 - INFO - ./data/processed_ATL03_20211203191349_11051301_006_01.h5\n",
+ "2024-12-20 19:17:32,706 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:17:33,077 - INFO - ./data/processed_ATL03_20211211070254_12191307_006_01.h5\n",
+ "2024-12-20 19:17:33,080 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:17:47,919 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:17:47,920 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:17:47,952 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:17:47,953 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:17:48,033 - INFO - SUCCESS!\n",
+ "2024-12-20 19:17:48,044 - INFO - ./data/processed_ATL03_20220101174952_01601401_006_01.h5\n",
+ "2024-12-20 19:17:48,049 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:17:55,041 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:17:55,042 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:17:55,117 - INFO - SUCCESS!\n",
+ "2024-12-20 19:17:55,126 - INFO - ./data/processed_ATL03_20220312024243_12191407_006_01.h5\n",
+ "2024-12-20 19:17:55,131 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:18:11,571 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:18:11,572 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:18:11,606 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:18:11,606 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:18:11,691 - INFO - SUCCESS!\n",
+ "2024-12-20 19:18:11,701 - INFO - ./data/processed_ATL03_20220402132944_01601501_006_02.h5\n",
+ "2024-12-20 19:18:11,704 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:18:19,851 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:18:19,852 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:18:19,890 - INFO - SUCCESS!\n",
+ "2024-12-20 19:18:19,900 - INFO - ./data/processed_ATL03_20220909180234_12191607_006_01.h5\n",
+ "2024-12-20 19:18:19,903 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:18:20,268 - INFO - ./data/processed_ATL03_20221209134210_12191707_006_02.h5\n",
+ "2024-12-20 19:18:20,270 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:18:36,796 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:18:36,797 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:18:36,821 - INFO - SUCCESS!\n",
+ "2024-12-20 19:18:36,832 - INFO - ./data/processed_ATL03_20221231002912_01601801_006_02.h5\n",
+ "2024-12-20 19:18:36,837 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:18:44,159 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:18:44,160 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:18:44,256 - INFO - SUCCESS!\n",
+ "2024-12-20 19:18:44,268 - INFO - ./data/processed_ATL03_20230310092201_12191807_006_02.h5\n",
+ "2024-12-20 19:18:44,270 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:18:58,666 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:18:58,667 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:18:58,700 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:18:58,701 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:18:58,780 - INFO - SUCCESS!\n",
+ "2024-12-20 19:18:58,791 - INFO - ./data/processed_ATL03_20230331200918_01601901_006_02.h5\n",
+ "2024-12-20 19:18:58,793 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:15,106 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:19:15,106 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:19:15,136 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:19:15,137 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:19:15,171 - INFO - SUCCESS!\n",
+ "2024-12-20 19:19:15,184 - INFO - ./data/processed_ATL03_20230609050126_12191907_006_02.h5\n",
+ "2024-12-20 19:19:15,187 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:27,934 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:19:27,935 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:19:27,966 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:19:27,966 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:19:28,048 - INFO - SUCCESS!\n",
+ "2024-12-20 19:19:28,057 - INFO - ./data/processed_ATL03_20181016005348_02660102_006_02.h5\n",
+ "2024-12-20 19:19:28,060 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:19:28,639 - INFO - ./data/processed_ATL03_20181128111219_09290106_006_02.h5\n",
+ "2024-12-20 19:19:28,642 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:28,972 - INFO - ./data/processed_ATL03_20181227094825_13710106_006_02.h5\n",
+ "2024-12-20 19:19:28,976 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:29,326 - INFO - ./data/processed_ATL03_20190114203334_02660202_006_02.h5\n",
+ "2024-12-20 19:19:29,329 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:40,307 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:19:40,307 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:19:40,355 - INFO - SUCCESS!\n",
+ "2024-12-20 19:19:40,364 - INFO - ./data/processed_ATL03_20190227065221_09290206_006_02.h5\n",
+ "2024-12-20 19:19:40,366 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:19:40,705 - INFO - ./data/processed_ATL03_20190328052820_13710206_006_02.h5\n",
+ "2024-12-20 19:19:40,707 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:41,041 - INFO - ./data/processed_ATL03_20190415161330_02660302_006_02.h5\n",
+ "2024-12-20 19:19:41,044 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:47,943 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:19:47,944 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:19:48,031 - INFO - SUCCESS!\n",
+ "2024-12-20 19:19:48,040 - INFO - ./data/processed_ATL03_20190715115300_02660402_006_02.h5\n",
+ "2024-12-20 19:19:48,043 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:19:48,348 - INFO - ./data/processed_ATL03_20190925204751_13710406_006_02.h5\n",
+ "2024-12-20 19:19:48,351 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:48,674 - INFO - ./data/processed_ATL03_20191014073304_02660502_006_02.h5\n",
+ "2024-12-20 19:19:48,676 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:49,121 - INFO - ./data/processed_ATL03_20191126175137_09290506_006_01.h5\n",
+ "2024-12-20 19:19:49,125 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:49,462 - INFO - ./data/processed_ATL03_20191225162738_13710506_006_01.h5\n",
+ "2024-12-20 19:19:49,481 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:49,899 - INFO - ./data/processed_ATL03_20200113031248_02660602_006_01.h5\n",
+ "2024-12-20 19:19:49,902 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:50,365 - INFO - ./data/processed_ATL03_20200225133121_09290606_006_01.h5\n",
+ "2024-12-20 19:19:50,371 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:50,692 - INFO - ./data/processed_ATL03_20200325120720_13710606_006_01.h5\n",
+ "2024-12-20 19:19:50,695 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:51,136 - INFO - ./data/processed_ATL03_20200412225236_02660702_006_02.h5\n",
+ "2024-12-20 19:19:51,139 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:51,581 - INFO - ./data/processed_ATL03_20200825045056_09290806_006_01.h5\n",
+ "2024-12-20 19:19:51,584 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:51,920 - INFO - ./data/processed_ATL03_20200923032659_13710806_006_02.h5\n",
+ "2024-12-20 19:19:51,925 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:52,248 - INFO - ./data/processed_ATL03_20201011141209_02660902_006_01.h5\n",
+ "2024-12-20 19:19:52,251 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:52,574 - INFO - ./data/processed_ATL03_20201124003046_09290906_006_01.h5\n",
+ "2024-12-20 19:19:52,576 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:52,893 - INFO - ./data/processed_ATL03_20201222230650_13710906_006_01.h5\n",
+ "2024-12-20 19:19:52,896 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:53,222 - INFO - ./data/processed_ATL03_20210110095205_02661002_006_01.h5\n",
+ "2024-12-20 19:19:53,226 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:19:59,308 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:19:59,309 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:19:59,387 - INFO - SUCCESS!\n",
+ "2024-12-20 19:19:59,395 - INFO - ./data/processed_ATL03_20210323184642_13711006_006_01.h5\n",
+ "2024-12-20 19:19:59,397 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:19:59,697 - INFO - ./data/processed_ATL03_20210622142633_13711106_006_01.h5\n",
+ "2024-12-20 19:19:59,700 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:00,012 - INFO - ./data/processed_ATL03_20210711011146_02661202_006_01.h5\n",
+ "2024-12-20 19:20:00,014 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:00,653 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:20:00,665 - INFO - ./data/processed_ATL03_20210823113024_09291206_006_01.h5\n",
+ "2024-12-20 19:20:00,668 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:00,981 - INFO - ./data/processed_ATL03_20210921100629_13711206_006_02.h5\n",
+ "2024-12-20 19:20:00,984 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:01,320 - INFO - ./data/processed_ATL03_20211009205146_02661302_006_01.h5\n",
+ "2024-12-20 19:20:01,322 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:08,331 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:20:08,332 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:20:08,422 - INFO - SUCCESS!\n",
+ "2024-12-20 19:20:08,433 - INFO - ./data/processed_ATL03_20220620210615_13711506_006_01.h5\n",
+ "2024-12-20 19:20:08,436 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:20:08,765 - INFO - ./data/processed_ATL03_20220709075126_02661602_006_02.h5\n",
+ "2024-12-20 19:20:08,767 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:09,235 - INFO - ./data/processed_ATL03_20220919164606_13711606_006_01.h5\n",
+ "2024-12-20 19:20:09,238 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:09,562 - INFO - ./data/processed_ATL03_20221008033113_02661702_006_01.h5\n",
+ "2024-12-20 19:20:09,565 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:18,713 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:20:18,756 - INFO - ./data/processed_ATL03_20221219122541_13711706_006_02.h5\n",
+ "2024-12-20 19:20:18,758 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:20:19,079 - INFO - ./data/processed_ATL03_20230106231054_02661802_006_02.h5\n",
+ "2024-12-20 19:20:19,081 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:27,538 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:20:27,538 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:20:27,570 - INFO - SUCCESS!\n",
+ "2024-12-20 19:20:27,579 - INFO - ./data/processed_ATL03_20230320080540_13711806_006_02.h5\n",
+ "2024-12-20 19:20:27,582 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:20:27,982 - INFO - ./data/processed_ATL03_20181015174925_02610109_006_02.h5\n",
+ "2024-12-20 19:20:27,984 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:28,329 - INFO - ./data/processed_ATL03_20181223025500_13050113_006_02.h5\n",
+ "2024-12-20 19:20:28,332 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:28,688 - INFO - ./data/processed_ATL03_20190114132912_02610209_006_02.h5\n",
+ "2024-12-20 19:20:28,691 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:34,974 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:20:34,983 - INFO - ./data/processed_ATL03_20190121013103_03600213_006_02.h5\n",
+ "2024-12-20 19:20:35,000 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:20:35,363 - INFO - ./data/processed_ATL03_20190415090908_02610309_006_02.h5\n",
+ "2024-12-20 19:20:35,368 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:35,731 - INFO - ./data/processed_ATL03_20190421211055_03600313_006_02.h5\n",
+ "2024-12-20 19:20:35,733 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:36,093 - INFO - ./data/processed_ATL03_20190514074507_07030309_006_02.h5\n",
+ "2024-12-20 19:20:36,096 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:36,460 - INFO - ./data/processed_ATL03_20190715044837_02610409_006_02.h5\n",
+ "2024-12-20 19:20:36,462 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:37,185 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:20:37,196 - INFO - ./data/processed_ATL03_20190813032449_07030409_006_02.h5\n",
+ "2024-12-20 19:20:37,198 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:37,541 - INFO - ./data/processed_ATL03_20191014002841_02610509_006_02.h5\n",
+ "2024-12-20 19:20:37,544 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:37,882 - INFO - ./data/processed_ATL03_20191020123029_03600513_006_02.h5\n",
+ "2024-12-20 19:20:37,885 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:38,230 - INFO - ./data/processed_ATL03_20191111230443_07030509_006_01.h5\n",
+ "2024-12-20 19:20:38,235 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:38,548 - INFO - ./data/processed_ATL03_20200112200825_02610609_006_01.h5\n",
+ "2024-12-20 19:20:38,559 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:38,888 - INFO - ./data/processed_ATL03_20200119081012_03600613_006_01.h5\n",
+ "2024-12-20 19:20:38,890 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:39,216 - INFO - ./data/processed_ATL03_20200210184426_07030609_006_01.h5\n",
+ "2024-12-20 19:20:39,227 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:39,564 - INFO - ./data/processed_ATL03_20201011070746_02610909_006_01.h5\n",
+ "2024-12-20 19:20:39,567 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:39,889 - INFO - ./data/processed_ATL03_20201017190934_03600913_006_01.h5\n",
+ "2024-12-20 19:20:39,892 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:40,211 - INFO - ./data/processed_ATL03_20201109054350_07030909_006_01.h5\n",
+ "2024-12-20 19:20:40,214 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:40,527 - INFO - ./data/processed_ATL03_20210110024742_02611009_006_01.h5\n",
+ "2024-12-20 19:20:40,530 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:40,847 - INFO - ./data/processed_ATL03_20210116144929_03601013_006_01.h5\n",
+ "2024-12-20 19:20:40,849 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:41,177 - INFO - ./data/processed_ATL03_20210208012346_07031009_006_01.h5\n",
+ "2024-12-20 19:20:41,186 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:41,521 - INFO - ./data/processed_ATL03_20210410222733_02611109_006_02.h5\n",
+ "2024-12-20 19:20:41,524 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:41,847 - INFO - ./data/processed_ATL03_20210417102920_03601113_006_02.h5\n",
+ "2024-12-20 19:20:41,850 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:42,180 - INFO - ./data/processed_ATL03_20210509210337_07031109_006_01.h5\n",
+ "2024-12-20 19:20:42,182 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:42,506 - INFO - ./data/processed_ATL03_20210710180723_02611209_006_01.h5\n",
+ "2024-12-20 19:20:42,510 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:42,843 - INFO - ./data/processed_ATL03_20210717060912_03601213_006_01.h5\n",
+ "2024-12-20 19:20:42,847 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:43,186 - INFO - ./data/processed_ATL03_20210808164327_07031209_006_01.h5\n",
+ "2024-12-20 19:20:43,188 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:43,521 - INFO - ./data/processed_ATL03_20211009134723_02611309_006_01.h5\n",
+ "2024-12-20 19:20:43,525 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:43,853 - INFO - ./data/processed_ATL03_20211016014909_03601313_006_01.h5\n",
+ "2024-12-20 19:20:43,856 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:44,178 - INFO - ./data/processed_ATL03_20211107122326_07031309_006_01.h5\n",
+ "2024-12-20 19:20:44,181 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:44,507 - INFO - ./data/processed_ATL03_20220108092714_02611409_006_01.h5\n",
+ "2024-12-20 19:20:44,512 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:44,855 - INFO - ./data/processed_ATL03_20220114212903_03601413_006_01.h5\n",
+ "2024-12-20 19:20:44,872 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:45,281 - INFO - ./data/processed_ATL03_20220206080316_07031409_006_01.h5\n",
+ "2024-12-20 19:20:45,286 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:45,642 - INFO - ./data/processed_ATL03_20220415170830_03601513_006_02.h5\n",
+ "2024-12-20 19:20:45,646 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:46,024 - INFO - ./data/processed_ATL03_20220508034309_07031509_006_01.h5\n",
+ "2024-12-20 19:20:46,027 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:46,370 - INFO - ./data/processed_ATL03_20190523104428_08420314_006_02.h5\n",
+ "2024-12-20 19:20:46,373 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:46,707 - INFO - ./data/processed_ATL03_20190617212257_12310308_006_02.h5\n",
+ "2024-12-20 19:20:46,710 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:47,075 - INFO - ./data/processed_ATL03_20190822062416_08420414_006_02.h5\n",
+ "2024-12-20 19:20:47,078 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:47,434 - INFO - ./data/processed_ATL03_20190916170248_12310408_006_02.h5\n",
+ "2024-12-20 19:20:47,436 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:47,770 - INFO - ./data/processed_ATL03_20191121020409_08420514_006_01.h5\n",
+ "2024-12-20 19:20:47,773 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:48,483 - INFO - ./data/processed_ATL03_20191216124236_12310508_006_01.h5\n",
+ "2024-12-20 19:20:48,487 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:48,807 - INFO - ./data/processed_ATL03_20200219214352_08420614_006_01.h5\n",
+ "2024-12-20 19:20:48,810 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:49,554 - INFO - ./data/processed_ATL03_20210217042310_08421014_006_01.h5\n",
+ "2024-12-20 19:20:49,559 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:50,222 - INFO - ./data/processed_ATL03_20210314150144_12311008_006_01.h5\n",
+ "2024-12-20 19:20:50,225 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:50,568 - INFO - ./data/processed_ATL03_20210519000301_08421114_006_01.h5\n",
+ "2024-12-20 19:20:50,572 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:51,342 - INFO - ./data/processed_ATL03_20210613104132_12311108_006_01.h5\n",
+ "2024-12-20 19:20:51,345 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:51,701 - INFO - ./data/processed_ATL03_20210817194255_08421214_006_01.h5\n",
+ "2024-12-20 19:20:51,703 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:52,947 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:20:52,962 - INFO - ./data/processed_ATL03_20210912062128_12311208_006_02.h5\n",
+ "2024-12-20 19:20:52,964 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:53,331 - INFO - ./data/processed_ATL03_20190115182634_02800201_006_02.h5\n",
+ "2024-12-20 19:20:53,334 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:53,670 - INFO - ./data/processed_ATL03_20190115181932_02790214_006_02.h5\n",
+ "2024-12-20 19:20:53,672 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:54,012 - INFO - ./data/processed_ATL03_20190416140631_02800301_006_02.h5\n",
+ "2024-12-20 19:20:54,015 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:54,369 - INFO - ./data/processed_ATL03_20190416135929_02790314_006_02.h5\n",
+ "2024-12-20 19:20:54,372 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:54,707 - INFO - ./data/processed_ATL03_20181018113530_03030107_006_02.h5\n",
+ "2024-12-20 19:20:54,709 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:55,117 - INFO - ./data/processed_ATL03_20181018114232_03030108_006_02.h5\n",
+ "2024-12-20 19:20:55,120 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:55,634 - INFO - ./data/processed_ATL03_20181202213232_09970101_006_02.h5\n",
+ "2024-12-20 19:20:55,637 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:56,087 - INFO - ./data/processed_ATL03_20181202212529_09960114_006_02.h5\n",
+ "2024-12-20 19:20:56,090 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:56,542 - INFO - ./data/processed_ATL03_20190117071514_03030207_006_02.h5\n",
+ "2024-12-20 19:20:56,547 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:56,888 - INFO - ./data/processed_ATL03_20190117072216_03030208_006_02.h5\n",
+ "2024-12-20 19:20:56,890 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:57,220 - INFO - ./data/processed_ATL03_20190303171232_09970201_006_02.h5\n",
+ "2024-12-20 19:20:57,222 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:20:57,907 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:20:57,918 - INFO - ./data/processed_ATL03_20190303170530_09960214_006_02.h5\n",
+ "2024-12-20 19:20:57,920 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:21:13,943 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:21:13,944 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:21:13,952 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:21:13,952 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:21:13,980 - INFO - SUCCESS!\n",
+ "2024-12-20 19:21:13,991 - INFO - ./data/processed_ATL03_20190418030215_03030308_006_02.h5\n",
+ "2024-12-20 19:21:13,993 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:21:20,955 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:21:20,956 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:21:21,021 - INFO - SUCCESS!\n",
+ "2024-12-20 19:21:21,032 - INFO - ./data/processed_ATL03_20190418025513_03030307_006_02.h5\n",
+ "2024-12-20 19:21:21,035 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:21:29,098 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:21:29,099 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:21:29,156 - INFO - SUCCESS!\n",
+ "2024-12-20 19:21:29,166 - INFO - ./data/processed_ATL03_20190602125206_09970301_006_02.h5\n",
+ "2024-12-20 19:21:29,168 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:21:45,384 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:21:45,384 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:21:45,416 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:21:45,417 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:21:45,472 - INFO - SUCCESS!\n",
+ "2024-12-20 19:21:45,482 - INFO - ./data/processed_ATL03_20190602124504_09960314_006_02.h5\n",
+ "2024-12-20 19:21:45,485 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:21:58,144 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:21:58,145 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:21:58,176 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:21:58,176 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:21:58,226 - INFO - SUCCESS!\n",
+ "2024-12-20 19:21:58,235 - INFO - ./data/processed_ATL03_20191201041146_09970501_006_01.h5\n",
+ "2024-12-20 19:21:58,240 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:21:58,797 - INFO - ./data/processed_ATL03_20191201040443_09960514_006_01.h5\n",
+ "2024-12-20 19:21:58,801 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:21:59,386 - INFO - ./data/processed_ATL03_20200115135430_03030607_006_01.h5\n",
+ "2024-12-20 19:21:59,388 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:21:59,809 - INFO - ./data/processed_ATL03_20200115140132_03030608_006_01.h5\n",
+ "2024-12-20 19:21:59,812 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:22:00,242 - INFO - ./data/processed_ATL03_20200229235131_09970601_006_01.h5\n",
+ "2024-12-20 19:22:00,245 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:22:00,788 - INFO - ./data/processed_ATL03_20200229234429_09960614_006_01.h5\n",
+ "2024-12-20 19:22:00,790 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:22:01,337 - INFO - ./data/processed_ATL03_20200415094121_03030708_006_02.h5\n",
+ "2024-12-20 19:22:01,339 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:22:01,778 - INFO - ./data/processed_ATL03_20200415093419_03030707_006_02.h5\n",
+ "2024-12-20 19:22:01,780 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:22:02,211 - INFO - ./data/processed_ATL03_20200530193120_09970701_006_01.h5\n",
+ "2024-12-20 19:22:02,214 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:22:20,222 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:22:20,223 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:22:20,259 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:22:20,260 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:22:20,313 - INFO - SUCCESS!\n",
+ "2024-12-20 19:22:20,323 - INFO - ./data/processed_ATL03_20200530192418_09960714_006_01.h5\n",
+ "2024-12-20 19:22:20,325 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:22:32,899 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:22:32,900 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:22:32,924 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:22:32,925 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:22:32,975 - INFO - SUCCESS!\n",
+ "2024-12-20 19:22:32,985 - INFO - ./data/processed_ATL03_20200715051406_03030807_006_01.h5\n",
+ "2024-12-20 19:22:32,987 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:22:39,875 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:22:39,876 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:22:39,931 - INFO - SUCCESS!\n",
+ "2024-12-20 19:22:39,941 - INFO - ./data/processed_ATL03_20200715052108_03030808_006_01.h5\n",
+ "2024-12-20 19:22:39,943 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:22:51,301 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:22:51,302 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:22:51,365 - INFO - SUCCESS!\n",
+ "2024-12-20 19:22:51,376 - INFO - ./data/processed_ATL03_20200829151107_09970801_006_01.h5\n",
+ "2024-12-20 19:22:51,379 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:23:04,141 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:23:04,142 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:23:04,178 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:23:04,178 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:23:04,225 - INFO - SUCCESS!\n",
+ "2024-12-20 19:23:04,233 - INFO - ./data/processed_ATL03_20200829150404_09960814_006_01.h5\n",
+ "2024-12-20 19:23:04,236 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:23:20,054 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:23:20,055 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:23:20,085 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:23:20,086 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:23:20,130 - INFO - SUCCESS!\n",
+ "2024-12-20 19:23:20,139 - INFO - ./data/processed_ATL03_20201014005352_03030907_006_01.h5\n",
+ "2024-12-20 19:23:20,142 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:23:28,580 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:23:28,580 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:23:28,628 - INFO - SUCCESS!\n",
+ "2024-12-20 19:23:28,638 - INFO - ./data/processed_ATL03_20201014010054_03030908_006_01.h5\n",
+ "2024-12-20 19:23:28,641 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:23:34,992 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:23:34,993 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:23:35,054 - INFO - SUCCESS!\n",
+ "2024-12-20 19:23:35,064 - INFO - ./data/processed_ATL03_20201128105056_09970901_006_01.h5\n",
+ "2024-12-20 19:23:35,068 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:23:35,742 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:23:35,753 - INFO - ./data/processed_ATL03_20201128104354_09960914_006_01.h5\n",
+ "2024-12-20 19:23:35,755 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:23:42,525 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:23:42,568 - INFO - ./data/processed_ATL03_20210227063048_09971001_006_01.h5\n",
+ "2024-12-20 19:23:42,571 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:23:43,170 - INFO - ./data/processed_ATL03_20210227062346_09961014_006_01.h5\n",
+ "2024-12-20 19:23:43,172 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:23:43,699 - INFO - ./data/processed_ATL03_20210413162040_03031108_006_02.h5\n",
+ "2024-12-20 19:23:43,705 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:23:44,190 - INFO - ./data/processed_ATL03_20210413161338_03031107_006_02.h5\n",
+ "2024-12-20 19:23:44,192 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:23:44,613 - INFO - ./data/processed_ATL03_20210529021040_09971101_006_01.h5\n",
+ "2024-12-20 19:23:44,616 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:23:45,163 - INFO - ./data/processed_ATL03_20210529020338_09961114_006_01.h5\n",
+ "2024-12-20 19:23:45,174 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:23:45,712 - INFO - ./data/processed_ATL03_20210713115329_03031207_006_01.h5\n",
+ "2024-12-20 19:23:45,715 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:23:55,081 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:23:55,081 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:23:55,099 - INFO - SUCCESS!\n",
+ "2024-12-20 19:23:55,108 - INFO - ./data/processed_ATL03_20210713120031_03031208_006_01.h5\n",
+ "2024-12-20 19:23:55,111 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:23:55,549 - INFO - ./data/processed_ATL03_20210827215036_09971201_006_01.h5\n",
+ "2024-12-20 19:23:55,588 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:24:09,736 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:24:09,736 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:24:09,767 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:24:09,767 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:24:09,815 - INFO - SUCCESS!\n",
+ "2024-12-20 19:24:09,826 - INFO - ./data/processed_ATL03_20210827214334_09961214_006_01.h5\n",
+ "2024-12-20 19:24:09,828 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:24:25,742 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:24:25,743 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:24:25,770 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:24:25,770 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:24:25,807 - INFO - SUCCESS!\n",
+ "2024-12-20 19:24:25,818 - INFO - ./data/processed_ATL03_20211012073328_03031307_006_01.h5\n",
+ "2024-12-20 19:24:25,820 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:24:32,586 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:24:32,587 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:24:32,630 - INFO - SUCCESS!\n",
+ "2024-12-20 19:24:32,652 - INFO - ./data/processed_ATL03_20211012074030_03031308_006_01.h5\n",
+ "2024-12-20 19:24:32,655 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:24:38,910 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:24:38,911 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:24:38,967 - INFO - SUCCESS!\n",
+ "2024-12-20 19:24:38,978 - INFO - ./data/processed_ATL03_20211126173032_09971301_006_01.h5\n",
+ "2024-12-20 19:24:38,980 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:24:39,852 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:24:39,863 - INFO - ./data/processed_ATL03_20211126172329_09961314_006_01.h5\n",
+ "2024-12-20 19:24:39,865 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:24:57,497 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:24:57,498 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:24:57,523 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:24:57,523 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:24:57,566 - INFO - SUCCESS!\n",
+ "2024-12-20 19:24:57,578 - INFO - ./data/processed_ATL03_20220111031321_03031407_006_01.h5\n",
+ "2024-12-20 19:24:57,580 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:25:04,299 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:25:04,299 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:25:04,346 - INFO - SUCCESS!\n",
+ "2024-12-20 19:25:04,357 - INFO - ./data/processed_ATL03_20220111032023_03031408_006_01.h5\n",
+ "2024-12-20 19:25:04,359 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:25:10,679 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:25:10,679 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:25:10,735 - INFO - SUCCESS!\n",
+ "2024-12-20 19:25:10,747 - INFO - ./data/processed_ATL03_20220225131023_09971401_006_01.h5\n",
+ "2024-12-20 19:25:10,749 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:25:27,630 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:25:27,674 - INFO - ./data/processed_ATL03_20220225130321_09961414_006_01.h5\n",
+ "2024-12-20 19:25:27,678 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:25:40,229 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:25:40,276 - INFO - ./data/processed_ATL03_20181204102815_10200108_006_02.h5\n",
+ "2024-12-20 19:25:40,280 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:25:47,040 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:25:47,041 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:25:47,067 - INFO - SUCCESS!\n",
+ "2024-12-20 19:25:47,076 - INFO - ./data/processed_ATL03_20181204102113_10200107_006_02.h5\n",
+ "2024-12-20 19:25:47,078 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:25:56,468 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:25:56,469 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:25:56,504 - INFO - SUCCESS!\n",
+ "2024-12-20 19:25:56,513 - INFO - ./data/processed_ATL03_20190118201812_03270201_006_02.h5\n",
+ "2024-12-20 19:25:56,518 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:26:11,262 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:26:11,262 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:26:11,294 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:26:11,294 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:26:11,339 - INFO - SUCCESS!\n",
+ "2024-12-20 19:26:11,348 - INFO - ./data/processed_ATL03_20190118201109_03260214_006_02.h5\n",
+ "2024-12-20 19:26:11,351 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:26:27,924 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:26:27,925 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:26:27,956 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:26:27,957 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:26:28,009 - INFO - SUCCESS!\n",
+ "2024-12-20 19:26:28,020 - INFO - ./data/processed_ATL03_20190305060816_10200208_006_02.h5\n",
+ "2024-12-20 19:26:28,022 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:26:49,082 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:26:49,083 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:26:49,097 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:26:49,097 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:26:49,112 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:26:49,113 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:26:49,141 - INFO - SUCCESS!\n",
+ "2024-12-20 19:26:49,151 - INFO - ./data/processed_ATL03_20190305060114_10200207_006_02.h5\n",
+ "2024-12-20 19:26:49,175 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:27:11,228 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:27:11,229 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:27:11,257 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:27:11,258 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:27:11,287 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:27:11,288 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:27:11,331 - INFO - SUCCESS!\n",
+ "2024-12-20 19:27:11,341 - INFO - ./data/processed_ATL03_20190419155808_03270301_006_02.h5\n",
+ "2024-12-20 19:27:11,343 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:27:29,180 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:27:29,181 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:27:29,212 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:27:29,213 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:27:29,256 - INFO - SUCCESS!\n",
+ "2024-12-20 19:27:29,266 - INFO - ./data/processed_ATL03_20190419155106_03260314_006_02.h5\n",
+ "2024-12-20 19:27:29,271 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:27:42,024 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:27:42,025 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:27:42,056 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:27:42,056 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:27:42,108 - INFO - SUCCESS!\n",
+ "2024-12-20 19:27:42,117 - INFO - ./data/processed_ATL03_20190604014048_10200307_006_02.h5\n",
+ "2024-12-20 19:27:42,120 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:28:05,644 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:28:05,645 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:28:05,680 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:28:05,681 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:28:05,706 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:28:05,707 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:28:05,749 - INFO - SUCCESS!\n",
+ "2024-12-20 19:28:05,780 - INFO - ./data/processed_ATL03_20190604014749_10200308_006_02.h5\n",
+ "2024-12-20 19:28:05,785 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:28:18,194 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:28:18,195 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:28:18,218 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:28:18,219 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:28:18,265 - INFO - SUCCESS!\n",
+ "2024-12-20 19:28:18,274 - INFO - ./data/processed_ATL03_20190719113739_03270401_006_02.h5\n",
+ "2024-12-20 19:28:18,277 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:28:19,114 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:28:19,125 - INFO - ./data/processed_ATL03_20190719113036_03260414_006_02.h5\n",
+ "2024-12-20 19:28:19,127 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:28:19,962 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:28:19,973 - INFO - ./data/processed_ATL03_20190902212739_10200408_006_02.h5\n",
+ "2024-12-20 19:28:19,976 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:28:37,313 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:28:37,314 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:28:37,341 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:28:37,341 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:28:37,388 - INFO - SUCCESS!\n",
+ "2024-12-20 19:28:37,397 - INFO - ./data/processed_ATL03_20190902212037_10200407_006_02.h5\n",
+ "2024-12-20 19:28:37,400 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt2l', 'gt3l', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:28:59,485 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:28:59,485 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:28:59,520 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:28:59,521 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:28:59,549 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:28:59,549 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:28:59,592 - INFO - SUCCESS!\n",
+ "2024-12-20 19:28:59,602 - INFO - ./data/processed_ATL03_20191202170027_10200507_006_01.h5\n",
+ "2024-12-20 19:28:59,604 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:29:00,254 - INFO - ./data/processed_ATL03_20191202170729_10200508_006_01.h5\n",
+ "2024-12-20 19:29:00,265 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:00,850 - INFO - ./data/processed_ATL03_20200117025726_03270601_006_01.h5\n",
+ "2024-12-20 19:29:00,860 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:01,515 - INFO - ./data/processed_ATL03_20200117025023_03260614_006_01.h5\n",
+ "2024-12-20 19:29:01,518 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:02,076 - INFO - ./data/processed_ATL03_20200302124011_10200607_006_01.h5\n",
+ "2024-12-20 19:29:02,078 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:02,697 - INFO - ./data/processed_ATL03_20200302124713_10200608_006_01.h5\n",
+ "2024-12-20 19:29:02,699 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:03,284 - INFO - ./data/processed_ATL03_20200602212257_10440701_006_01.h5\n",
+ "2024-12-20 19:29:03,287 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:03,593 - INFO - ./data/processed_ATL03_20200602211554_10430714_006_01.h5\n",
+ "2024-12-20 19:29:03,596 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:03,931 - INFO - ./data/processed_ATL03_20200730183501_05410801_006_01.h5\n",
+ "2024-12-20 19:29:03,940 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:10,748 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:29:10,749 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:29:10,840 - INFO - SUCCESS!\n",
+ "2024-12-20 19:29:10,853 - INFO - ./data/processed_ATL03_20200730182759_05400814_006_01.h5\n",
+ "2024-12-20 19:29:10,855 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:29:11,178 - INFO - ./data/processed_ATL03_20200918040927_12950807_006_02.h5\n",
+ "2024-12-20 19:29:11,180 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:18,985 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:29:18,986 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:29:19,076 - INFO - SUCCESS!\n",
+ "2024-12-20 19:29:19,087 - INFO - ./data/processed_ATL03_20200918041629_12950808_006_02.h5\n",
+ "2024-12-20 19:29:19,089 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:25,966 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:29:25,974 - INFO - ./data/processed_ATL03_20201029141450_05410901_006_01.h5\n",
+ "2024-12-20 19:29:25,978 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:35,596 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:29:35,597 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:29:35,684 - INFO - SUCCESS!\n",
+ "2024-12-20 19:29:35,699 - INFO - ./data/processed_ATL03_20201029140747_05400914_006_01.h5\n",
+ "2024-12-20 19:29:35,701 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:29:36,021 - INFO - ./data/processed_ATL03_20201201124233_10440901_006_01.h5\n",
+ "2024-12-20 19:29:36,023 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:36,347 - INFO - ./data/processed_ATL03_20201201123531_10430914_006_01.h5\n",
+ "2024-12-20 19:29:36,349 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:36,783 - INFO - ./data/processed_ATL03_20210115222524_03501007_006_01.h5\n",
+ "2024-12-20 19:29:36,790 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:37,239 - INFO - ./data/processed_ATL03_20210115223226_03501008_006_01.h5\n",
+ "2024-12-20 19:29:37,243 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:37,677 - INFO - ./data/processed_ATL03_20210302082226_10441001_006_01.h5\n",
+ "2024-12-20 19:29:37,680 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:38,109 - INFO - ./data/processed_ATL03_20210302081524_10431014_006_01.h5\n",
+ "2024-12-20 19:29:38,111 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:44,726 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:29:44,727 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:29:44,770 - INFO - SUCCESS!\n",
+ "2024-12-20 19:29:44,779 - INFO - ./data/processed_ATL03_20210416181217_03501108_006_02.h5\n",
+ "2024-12-20 19:29:44,782 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:29:45,312 - INFO - ./data/processed_ATL03_20210416180515_03501107_006_02.h5\n",
+ "2024-12-20 19:29:45,314 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:45,857 - INFO - ./data/processed_ATL03_20210716134506_03501207_006_01.h5\n",
+ "2024-12-20 19:29:45,860 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:46,264 - INFO - ./data/processed_ATL03_20210716135208_03501208_006_01.h5\n",
+ "2024-12-20 19:29:46,267 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:46,702 - INFO - ./data/processed_ATL03_20210830234212_10441201_006_01.h5\n",
+ "2024-12-20 19:29:46,705 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:47,016 - INFO - ./data/processed_ATL03_20210830233509_10431214_006_01.h5\n",
+ "2024-12-20 19:29:47,029 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:47,366 - INFO - ./data/processed_ATL03_20181014163344_02450108_006_02.h5\n",
+ "2024-12-20 19:29:47,369 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1r', 'gt2r', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:47,891 - INFO - ./data/processed_ATL03_20181014162642_02450107_006_02.h5\n",
+ "2024-12-20 19:29:47,893 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:48,458 - INFO - ./data/processed_ATL03_20200313154930_11900607_006_01.h5\n",
+ "2024-12-20 19:29:48,461 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:29:54,512 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:29:54,513 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:29:54,566 - INFO - SUCCESS!\n",
+ "2024-12-20 19:29:54,575 - INFO - ./data/processed_ATL03_20200313155632_11900608_006_01.h5\n",
+ "2024-12-20 19:29:54,577 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:30:02,832 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:30:02,882 - INFO - ./data/processed_ATL03_20200612113616_11900708_006_01.h5\n",
+ "2024-12-20 19:30:02,885 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:30:03,336 - INFO - ./data/processed_ATL03_20200612112914_11900707_006_01.h5\n",
+ "2024-12-20 19:30:03,338 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:30:03,666 - INFO - ./data/processed_ATL03_20200711100516_02450807_006_01.h5\n",
+ "2024-12-20 19:30:03,689 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:30:13,006 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:30:13,007 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:30:13,060 - INFO - SUCCESS!\n",
+ "2024-12-20 19:30:13,073 - INFO - ./data/processed_ATL03_20200711101218_02450808_006_01.h5\n",
+ "2024-12-20 19:30:13,075 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:30:19,699 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:30:19,700 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:30:19,718 - INFO - SUCCESS!\n",
+ "2024-12-20 19:30:19,726 - INFO - ./data/processed_ATL03_20230211232316_08161801_006_02.h5\n",
+ "2024-12-20 19:30:19,729 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:30:44,030 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:30:44,031 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:30:44,062 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:30:44,063 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:30:44,105 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:30:44,106 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:30:44,172 - INFO - SUCCESS!\n",
+ "2024-12-20 19:30:44,183 - INFO - ./data/processed_ATL03_20230211231613_08151814_006_02.h5\n",
+ "2024-12-20 19:30:44,186 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:31:04,128 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:31:04,129 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:31:04,147 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:31:04,148 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:31:04,170 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:31:04,171 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:31:04,210 - INFO - SUCCESS!\n",
+ "2024-12-20 19:31:04,225 - INFO - ./data/processed_ATL03_20230513190258_08161901_006_02.h5\n",
+ "2024-12-20 19:31:04,228 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:31:04,565 - INFO - ./data/processed_ATL03_20230513185555_08151914_006_02.h5\n",
+ "2024-12-20 19:31:04,568 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:31:04,911 - INFO - ./data/processed_ATL03_20230530060937_10671907_006_02.h5\n",
+ "2024-12-20 19:31:04,914 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:31:14,704 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:31:14,705 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:31:14,736 - INFO - SUCCESS!\n",
+ "2024-12-20 19:31:14,746 - INFO - ./data/processed_ATL03_20230530061639_10671908_006_02.h5\n",
+ "2024-12-20 19:31:14,750 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:31:15,132 - INFO - ./data/processed_ATL03_20230214041501_08491810_006_02.h5\n",
+ "2024-12-20 19:31:15,134 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:31:23,595 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:31:23,596 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:31:23,696 - INFO - SUCCESS!\n",
+ "2024-12-20 19:31:23,710 - INFO - ./data/processed_ATL03_20181023212132_03860101_006_02.h5\n",
+ "2024-12-20 19:31:23,713 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:31:24,052 - INFO - ./data/processed_ATL03_20181023212834_03860102_006_02.h5\n",
+ "2024-12-20 19:31:24,056 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:31:24,719 - INFO - ./data/processed_ATL03_20181218175741_12390102_006_02.h5\n",
+ "2024-12-20 19:31:24,722 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:31:25,214 - INFO - ./data/processed_ATL03_20190201035048_05300206_006_02.h5\n",
+ "2024-12-20 19:31:25,217 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:31:31,690 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:31:31,691 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:31:31,781 - INFO - SUCCESS!\n",
+ "2024-12-20 19:31:31,793 - INFO - ./data/processed_ATL03_20190319133739_12390202_006_02.h5\n",
+ "2024-12-20 19:31:31,799 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:31:47,674 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:31:47,675 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:31:47,692 - INFO - SUCCESS!\n",
+ "2024-12-20 19:31:47,703 - INFO - ./data/processed_ATL03_20190618091714_12390302_006_02.h5\n",
+ "2024-12-20 19:31:47,705 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:32:02,288 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:32:02,289 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:32:02,339 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:32:02,340 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:32:02,368 - INFO - SUCCESS!\n",
+ "2024-12-20 19:32:02,379 - INFO - ./data/processed_ATL03_20190917045705_12390402_006_02.h5\n",
+ "2024-12-20 19:32:02,381 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:32:02,777 - INFO - ./data/processed_ATL03_20191217003654_12390502_006_01.h5\n",
+ "2024-12-20 19:32:02,779 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:32:03,194 - INFO - ./data/processed_ATL03_20200130102948_05300606_006_01.h5\n",
+ "2024-12-20 19:32:03,197 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:32:03,778 - INFO - ./data/processed_ATL03_20200430060933_05300706_006_02.h5\n",
+ "2024-12-20 19:32:03,782 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:32:04,361 - INFO - ./data/processed_ATL03_20220612051524_12391502_006_01.h5\n",
+ "2024-12-20 19:32:04,364 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:32:11,259 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:32:11,260 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:32:11,331 - INFO - SUCCESS!\n",
+ "2024-12-20 19:32:11,341 - INFO - ./data/processed_ATL03_20220726150827_05301606_006_02.h5\n",
+ "2024-12-20 19:32:11,344 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:32:11,729 - INFO - ./data/processed_ATL03_20220911005522_12391602_006_01.h5\n",
+ "2024-12-20 19:32:11,734 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:32:12,308 - INFO - ./data/processed_ATL03_20221025104813_05301706_006_01.h5\n",
+ "2024-12-20 19:32:12,310 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:32:28,211 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:32:28,212 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:32:28,271 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:32:28,271 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:32:28,355 - INFO - SUCCESS!\n",
+ "2024-12-20 19:32:28,366 - INFO - ./data/processed_ATL03_20221210203500_12391702_006_02.h5\n",
+ "2024-12-20 19:32:28,368 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:32:28,698 - INFO - ./data/processed_ATL03_20230311161449_12391802_006_02.h5\n",
+ "2024-12-20 19:32:28,701 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:32:29,035 - INFO - ./data/processed_ATL03_20230425020742_05301906_006_02.h5\n",
+ "2024-12-20 19:32:29,037 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:32:35,337 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:32:35,386 - INFO - ./data/processed_ATL03_20230610115415_12391902_006_02.h5\n",
+ "2024-12-20 19:32:35,388 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:33:00,574 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:33:00,575 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:33:00,627 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:33:00,628 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:33:00,683 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:33:00,683 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:33:00,767 - INFO - SUCCESS!\n",
+ "2024-12-20 19:33:00,780 - INFO - ./data/processed_ATL03_20230724214655_05302006_006_02.h5\n",
+ "2024-12-20 19:33:00,783 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:33:13,822 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:33:13,823 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:33:13,829 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:33:13,830 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:33:13,852 - INFO - SUCCESS!\n",
+ "2024-12-20 19:33:13,864 - INFO - ./data/processed_ATL03_20231023172628_05302106_006_02.h5\n",
+ "2024-12-20 19:33:13,867 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:33:37,359 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:33:37,361 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:33:37,415 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:33:37,415 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:33:37,471 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:33:37,472 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:33:37,553 - INFO - SUCCESS!\n",
+ "2024-12-20 19:33:37,565 - INFO - ./data/processed_ATL03_20231209031322_12392102_006_02.h5\n",
+ "2024-12-20 19:33:37,568 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:33:44,525 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:33:44,568 - INFO - ./data/processed_ATL03_20240122130600_05302206_006_01.h5\n",
+ "2024-12-20 19:33:44,573 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:33:54,130 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:33:54,140 - INFO - ./data/processed_ATL03_20240308225245_12392202_006_01.h5\n",
+ "2024-12-20 19:33:54,144 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:33:55,031 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:33:55,044 - INFO - ./data/processed_ATL03_20240422084522_05302306_006_01.h5\n",
+ "2024-12-20 19:33:55,046 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:33:55,674 - INFO - ./data/processed_ATL03_20240722042513_05302406_006_01.h5\n",
+ "2024-12-20 19:33:55,680 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:34:03,486 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:34:03,487 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:34:03,574 - INFO - SUCCESS!\n",
+ "2024-12-20 19:34:03,584 - INFO - ./data/processed_ATL03_20181029082738_04690107_006_02.h5\n",
+ "2024-12-20 19:34:03,586 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:34:04,305 - INFO - ./data/processed_ATL03_20181115192308_07360101_006_02.h5\n",
+ "2024-12-20 19:34:04,307 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:34:04,628 - INFO - ./data/processed_ATL03_20190128040736_04690207_006_02.h5\n",
+ "2024-12-20 19:34:04,631 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:34:05,033 - INFO - ./data/processed_ATL03_20190214150254_07360201_006_02.h5\n",
+ "2024-12-20 19:34:05,036 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:34:11,213 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:34:11,214 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:34:11,273 - INFO - SUCCESS!\n",
+ "2024-12-20 19:34:11,282 - INFO - ./data/processed_ATL03_20190516104234_07360301_006_02.h5\n",
+ "2024-12-20 19:34:11,284 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:34:18,065 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:34:18,065 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:34:18,138 - INFO - SUCCESS!\n",
+ "2024-12-20 19:34:18,149 - INFO - ./data/processed_ATL03_20190717074605_02940401_006_02.h5\n",
+ "2024-12-20 19:34:18,151 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:34:18,479 - INFO - ./data/processed_ATL03_20190728192655_04690407_006_02.h5\n",
+ "2024-12-20 19:34:18,482 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:34:34,777 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:34:34,778 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:34:34,833 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:34:34,834 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:34:34,915 - INFO - SUCCESS!\n",
+ "2024-12-20 19:34:34,953 - INFO - ./data/processed_ATL03_20191114020212_07360501_006_01.h5\n",
+ "2024-12-20 19:34:34,957 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:34:35,444 - INFO - ./data/processed_ATL03_20200126104638_04690607_006_01.h5\n",
+ "2024-12-20 19:34:35,447 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:34:35,827 - INFO - ./data/processed_ATL03_20200426062625_04690707_006_02.h5\n",
+ "2024-12-20 19:34:35,829 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:34:36,426 - INFO - ./data/processed_ATL03_20200726020612_04690807_006_01.h5\n",
+ "2024-12-20 19:34:36,428 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:34:50,369 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:34:50,369 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:34:50,426 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:34:50,427 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:34:50,505 - INFO - SUCCESS!\n",
+ "2024-12-20 19:34:50,514 - INFO - ./data/processed_ATL03_20200812130130_07360801_006_01.h5\n",
+ "2024-12-20 19:34:50,517 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:34:50,842 - INFO - ./data/processed_ATL03_20201024214557_04690907_006_01.h5\n",
+ "2024-12-20 19:34:50,844 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:35:06,679 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:35:06,680 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:35:06,723 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:35:06,724 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:35:06,787 - INFO - SUCCESS!\n",
+ "2024-12-20 19:35:06,799 - INFO - ./data/processed_ATL03_20201111084118_07360901_006_01.h5\n",
+ "2024-12-20 19:35:06,802 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:35:20,577 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:35:20,578 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:35:20,588 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:35:20,588 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:35:20,613 - INFO - SUCCESS!\n",
+ "2024-12-20 19:35:20,622 - INFO - ./data/processed_ATL03_20210424130543_04691107_006_02.h5\n",
+ "2024-12-20 19:35:20,625 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:35:20,955 - INFO - ./data/processed_ATL03_20210512000105_07361101_006_01.h5\n",
+ "2024-12-20 19:35:20,958 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:35:21,510 - INFO - ./data/processed_ATL03_20210724084535_04691207_006_01.h5\n",
+ "2024-12-20 19:35:21,512 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:35:37,298 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:35:37,298 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:35:37,337 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:35:37,337 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:35:37,406 - INFO - SUCCESS!\n",
+ "2024-12-20 19:35:37,416 - INFO - ./data/processed_ATL03_20210810194056_07361201_006_01.h5\n",
+ "2024-12-20 19:35:37,418 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:35:43,603 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:35:43,604 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:35:43,681 - INFO - SUCCESS!\n",
+ "2024-12-20 19:35:43,690 - INFO - ./data/processed_ATL03_20211011164449_02941301_006_01.h5\n",
+ "2024-12-20 19:35:43,692 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:35:50,776 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:35:50,777 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:35:50,794 - INFO - SUCCESS!\n",
+ "2024-12-20 19:35:50,804 - INFO - ./data/processed_ATL03_20211023042535_04691307_006_01.h5\n",
+ "2024-12-20 19:35:50,806 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:36:01,253 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:36:01,300 - INFO - ./data/processed_ATL03_20220122000526_04691407_006_01.h5\n",
+ "2024-12-20 19:36:01,303 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:36:08,562 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:36:08,608 - INFO - ./data/processed_ATL03_20220208110043_07361401_006_01.h5\n",
+ "2024-12-20 19:36:08,611 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:36:15,074 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:36:15,117 - INFO - ./data/processed_ATL03_20220722152516_04691607_006_02.h5\n",
+ "2024-12-20 19:36:15,119 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:36:22,262 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:36:22,263 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:36:22,345 - INFO - SUCCESS!\n",
+ "2024-12-20 19:36:22,354 - INFO - ./data/processed_ATL03_20220809022037_07361601_006_01.h5\n",
+ "2024-12-20 19:36:22,357 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:36:23,040 - INFO - ./data/processed_ATL03_20230421022418_04691907_006_02.h5\n",
+ "2024-12-20 19:36:23,043 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:36:40,885 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:36:40,886 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:36:40,955 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:36:40,956 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:36:41,051 - INFO - SUCCESS!\n",
+ "2024-12-20 19:36:41,063 - INFO - ./data/processed_ATL03_20230508131951_07361901_006_02.h5\n",
+ "2024-12-20 19:36:41,066 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:36:55,609 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:36:55,610 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:36:55,675 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:36:55,675 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:36:55,764 - INFO - SUCCESS!\n",
+ "2024-12-20 19:36:55,775 - INFO - ./data/processed_ATL03_20230720220343_04692007_006_02.h5\n",
+ "2024-12-20 19:36:55,778 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:37:05,587 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:37:05,588 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:37:05,684 - INFO - SUCCESS!\n",
+ "2024-12-20 19:37:05,694 - INFO - ./data/processed_ATL03_20230807085901_07362001_006_02.h5\n",
+ "2024-12-20 19:37:05,703 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:37:06,053 - INFO - ./data/processed_ATL03_20231019174319_04692107_006_02.h5\n",
+ "2024-12-20 19:37:06,056 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:37:21,421 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:37:21,421 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:37:21,485 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:37:21,486 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:37:21,584 - INFO - SUCCESS!\n",
+ "2024-12-20 19:37:21,596 - INFO - ./data/processed_ATL03_20231106043837_07362101_006_01.h5\n",
+ "2024-12-20 19:37:21,599 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:37:21,941 - INFO - ./data/processed_ATL03_20240118132244_04692207_006_01.h5\n",
+ "2024-12-20 19:37:21,945 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:37:22,308 - INFO - ./data/processed_ATL03_20240505195753_07362301_006_01.h5\n",
+ "2024-12-20 19:37:22,311 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:37:22,973 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:37:22,984 - INFO - ./data/processed_ATL03_20240804153727_07362401_006_01.h5\n",
+ "2024-12-20 19:37:22,989 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:37:40,694 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:37:40,695 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:37:40,711 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:37:40,711 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:37:40,743 - INFO - SUCCESS!\n",
+ "2024-12-20 19:37:40,755 - INFO - ./data/processed_ATL03_20181015214513_02640102_006_02.h5\n",
+ "2024-12-20 19:37:40,757 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:37:48,141 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:37:48,152 - INFO - ./data/processed_ATL03_20181031090209_05000106_006_02.h5\n",
+ "2024-12-20 19:37:48,157 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:37:55,162 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:37:55,162 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:37:55,191 - INFO - SUCCESS!\n",
+ "2024-12-20 19:37:55,201 - INFO - ./data/processed_ATL03_20190114172500_02640202_006_02.h5\n",
+ "2024-12-20 19:37:55,204 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:37:55,524 - INFO - ./data/processed_ATL03_20190130044206_05000206_006_02.h5\n",
+ "2024-12-20 19:37:55,527 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:38:19,751 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:38:19,751 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:38:19,815 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:38:19,816 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:38:19,875 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:38:19,876 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:38:19,915 - INFO - SUCCESS!\n",
+ "2024-12-20 19:38:19,929 - INFO - ./data/processed_ATL03_20190501002145_05000306_006_02.h5\n",
+ "2024-12-20 19:38:19,932 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:38:27,168 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:38:27,169 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:38:27,228 - INFO - SUCCESS!\n",
+ "2024-12-20 19:38:27,238 - INFO - ./data/processed_ATL03_20190715084425_02640402_006_02.h5\n",
+ "2024-12-20 19:38:27,241 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:38:28,125 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:38:28,137 - INFO - ./data/processed_ATL03_20190730200125_05000406_006_02.h5\n",
+ "2024-12-20 19:38:28,140 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:38:35,555 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:38:35,570 - INFO - ./data/processed_ATL03_20190828183731_09420406_006_02.h5\n",
+ "2024-12-20 19:38:35,578 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:38:35,918 - INFO - ./data/processed_ATL03_20191029154121_05000506_006_01.h5\n",
+ "2024-12-20 19:38:35,920 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:38:36,317 - INFO - ./data/processed_ATL03_20191112030032_07060502_006_01.h5\n",
+ "2024-12-20 19:38:36,321 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:38:36,690 - INFO - ./data/processed_ATL03_20200113000413_02640602_006_01.h5\n",
+ "2024-12-20 19:38:36,693 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:38:53,712 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:38:53,713 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:38:53,761 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:38:53,762 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:38:53,834 - INFO - SUCCESS!\n",
+ "2024-12-20 19:38:53,845 - INFO - ./data/processed_ATL03_20200712152347_02640802_006_01.h5\n",
+ "2024-12-20 19:38:53,847 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:39:01,004 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:39:01,004 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:39:01,095 - INFO - SUCCESS!\n",
+ "2024-12-20 19:39:01,107 - INFO - ./data/processed_ATL03_20200728024040_05000806_006_01.h5\n",
+ "2024-12-20 19:39:01,110 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:39:01,455 - INFO - ./data/processed_ATL03_20201026222027_05000906_006_01.h5\n",
+ "2024-12-20 19:39:01,458 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:39:18,569 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:39:18,569 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:39:18,628 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:39:18,629 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:39:18,712 - INFO - SUCCESS!\n",
+ "2024-12-20 19:39:18,723 - INFO - ./data/processed_ATL03_20210110064330_02641002_006_01.h5\n",
+ "2024-12-20 19:39:18,725 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:39:19,044 - INFO - ./data/processed_ATL03_20210223163627_09421006_006_01.h5\n",
+ "2024-12-20 19:39:19,047 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:39:19,400 - INFO - ./data/processed_ATL03_20210426134011_05001106_006_02.h5\n",
+ "2024-12-20 19:39:19,410 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:39:27,100 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:39:27,100 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:39:27,195 - INFO - SUCCESS!\n",
+ "2024-12-20 19:39:27,207 - INFO - ./data/processed_ATL03_20190126165310_04470201_006_02.h5\n",
+ "2024-12-20 19:39:27,210 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:39:28,243 - ERROR - An error occurred: cannot convert float NaN to integer\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:39:28,256 - INFO - ./data/processed_ATL03_20190709211703_01800407_006_02.h5\n",
+ "2024-12-20 19:39:28,261 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:39:35,269 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:39:35,269 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:39:35,358 - INFO - SUCCESS!\n",
+ "2024-12-20 19:39:35,367 - INFO - ./data/processed_ATL03_20211102045156_06221307_006_01.h5\n",
+ "2024-12-20 19:39:35,370 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:39:35,867 - INFO - ./data/processed_ATL03_20220721041049_04471601_006_02.h5\n",
+ "2024-12-20 19:39:35,869 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:39:52,985 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:39:52,986 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:39:53,041 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:39:53,042 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:39:53,129 - INFO - SUCCESS!\n",
+ "2024-12-20 19:39:53,154 - INFO - ./data/processed_ATL03_20221019235040_04471701_006_01.h5\n",
+ "2024-12-20 19:39:53,166 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:40:07,376 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:40:07,376 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:40:07,433 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:40:07,433 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:40:07,514 - INFO - SUCCESS!\n",
+ "2024-12-20 19:40:07,524 - INFO - ./data/processed_ATL03_20230701235411_01802007_006_02.h5\n",
+ "2024-12-20 19:40:07,526 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:40:14,861 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:40:14,862 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:40:14,926 - INFO - SUCCESS!\n",
+ "2024-12-20 19:40:14,937 - INFO - ./data/processed_ATL03_20181207072958_10640107_006_02.h5\n",
+ "2024-12-20 19:40:14,941 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:40:15,473 - INFO - ./data/processed_ATL03_20181224182519_13310101_006_02.h5\n",
+ "2024-12-20 19:40:15,477 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:40:32,239 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:40:32,239 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:40:32,296 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:40:32,296 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:40:32,380 - INFO - SUCCESS!\n",
+ "2024-12-20 19:40:32,398 - INFO - ./data/processed_ATL03_20190308030958_10640207_006_02.h5\n",
+ "2024-12-20 19:40:32,400 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:40:39,158 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:40:39,159 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:40:39,180 - INFO - SUCCESS!\n",
+ "2024-12-20 19:40:39,189 - INFO - ./data/processed_ATL03_20190325140514_13310201_006_02.h5\n",
+ "2024-12-20 19:40:39,196 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:40:56,502 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:40:56,503 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:40:56,566 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:40:56,567 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:40:56,647 - INFO - SUCCESS!\n",
+ "2024-12-20 19:40:56,669 - INFO - ./data/processed_ATL03_20190606224932_10640307_006_02.h5\n",
+ "2024-12-20 19:40:56,672 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:41:04,212 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:41:04,213 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:41:04,304 - INFO - SUCCESS!\n",
+ "2024-12-20 19:41:04,326 - INFO - ./data/processed_ATL03_20190624094450_13310301_006_02.h5\n",
+ "2024-12-20 19:41:04,330 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:41:10,986 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:41:11,030 - INFO - ./data/processed_ATL03_20200604052846_10640707_006_01.h5\n",
+ "2024-12-20 19:41:11,035 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:41:35,893 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:41:35,894 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:41:35,952 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:41:35,952 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:41:36,016 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:41:36,016 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:41:36,106 - INFO - SUCCESS!\n",
+ "2024-12-20 19:41:36,117 - INFO - ./data/processed_ATL03_20200621162404_13310701_006_01.h5\n",
+ "2024-12-20 19:41:36,121 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:41:36,529 - INFO - ./data/processed_ATL03_20200903010832_10640807_006_02.h5\n",
+ "2024-12-20 19:41:36,533 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:41:36,881 - INFO - ./data/processed_ATL03_20200920120352_13310801_006_02.h5\n",
+ "2024-12-20 19:41:36,885 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:41:50,499 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:41:50,500 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:41:50,557 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:41:50,558 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:41:50,632 - INFO - SUCCESS!\n",
+ "2024-12-20 19:41:50,645 - INFO - ./data/processed_ATL03_20201202204823_10640907_006_01.h5\n",
+ "2024-12-20 19:41:50,649 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:42:07,867 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:42:07,867 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:42:07,874 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:42:07,875 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:42:07,930 - INFO - SUCCESS!\n",
+ "2024-12-20 19:42:07,940 - INFO - ./data/processed_ATL03_20201220074344_13310901_006_01.h5\n",
+ "2024-12-20 19:42:07,942 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:42:15,489 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:42:15,489 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:42:15,593 - INFO - SUCCESS!\n",
+ "2024-12-20 19:42:15,603 - INFO - ./data/processed_ATL03_20210321032334_13311001_006_01.h5\n",
+ "2024-12-20 19:42:15,605 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:42:15,933 - INFO - ./data/processed_ATL03_20210602120807_10641107_006_01.h5\n",
+ "2024-12-20 19:42:15,935 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:42:23,276 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:42:23,277 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:42:23,371 - INFO - SUCCESS!\n",
+ "2024-12-20 19:42:23,382 - INFO - ./data/processed_ATL03_20210901074802_10641207_006_02.h5\n",
+ "2024-12-20 19:42:23,383 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:42:32,504 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:42:32,504 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:42:32,580 - INFO - SUCCESS!\n",
+ "2024-12-20 19:42:32,590 - INFO - ./data/processed_ATL03_20181023091845_03780106_006_02.h5\n",
+ "2024-12-20 19:42:32,592 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:42:32,943 - INFO - ./data/processed_ATL03_20181208190538_10870102_006_02.h5\n",
+ "2024-12-20 19:42:32,948 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:42:33,282 - INFO - ./data/processed_ATL03_20190122045836_03780206_006_02.h5\n",
+ "2024-12-20 19:42:33,284 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:42:33,633 - INFO - ./data/processed_ATL03_20190309144538_10870202_006_02.h5\n",
+ "2024-12-20 19:42:33,638 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:42:54,627 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:42:54,676 - INFO - ./data/processed_ATL03_20190423003826_03780306_006_02.h5\n",
+ "2024-12-20 19:42:54,679 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:43:04,071 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:43:04,072 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:43:04,148 - INFO - SUCCESS!\n",
+ "2024-12-20 19:43:04,159 - INFO - ./data/processed_ATL03_20181125195614_08890102_006_02.h5\n",
+ "2024-12-20 19:43:04,162 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:43:04,558 - INFO - ./data/processed_ATL03_20190923053146_13310402_006_02.h5\n",
+ "2024-12-20 19:43:04,562 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:43:25,321 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:43:25,322 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:43:25,389 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:43:25,389 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:43:25,452 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:43:25,453 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:43:25,503 - INFO - SUCCESS!\n",
+ "2024-12-20 19:43:25,515 - INFO - ./data/processed_ATL03_20191223011133_13310502_006_01.h5\n",
+ "2024-12-20 19:43:25,522 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:43:48,345 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:43:48,346 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:43:48,405 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:43:48,406 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:43:48,466 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:43:48,467 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:43:48,515 - INFO - SUCCESS!\n",
+ "2024-12-20 19:43:48,527 - INFO - ./data/processed_ATL03_20200222221516_08890602_006_01.h5\n",
+ "2024-12-20 19:43:48,530 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:43:55,625 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:43:55,626 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:43:55,725 - INFO - SUCCESS!\n",
+ "2024-12-20 19:43:55,735 - INFO - ./data/processed_ATL03_20200407080809_01800706_006_02.h5\n",
+ "2024-12-20 19:43:55,738 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:44:18,453 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:44:18,454 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:44:18,465 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:44:18,466 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:44:18,505 - INFO - SUCCESS!\n",
+ "2024-12-20 19:44:18,517 - INFO - ./data/processed_ATL03_20200822133451_08890802_006_01.h5\n",
+ "2024-12-20 19:44:18,520 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:44:18,865 - INFO - ./data/processed_ATL03_20201005232741_01800906_006_01.h5\n",
+ "2024-12-20 19:44:18,867 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:44:35,157 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:44:35,157 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:44:35,210 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:44:35,211 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:44:35,289 - INFO - SUCCESS!\n",
+ "2024-12-20 19:44:35,302 - INFO - ./data/processed_ATL03_20210202174342_06221006_006_01.h5\n",
+ "2024-12-20 19:44:35,306 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:44:35,645 - INFO - ./data/processed_ATL03_20210220045435_08891002_006_01.h5\n",
+ "2024-12-20 19:44:35,648 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:44:49,790 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:44:49,791 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:44:49,848 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:44:49,849 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:44:49,925 - INFO - SUCCESS!\n",
+ "2024-12-20 19:44:49,937 - INFO - ./data/processed_ATL03_20210705102719_01801206_006_01.h5\n",
+ "2024-12-20 19:44:49,940 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:44:56,979 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:44:56,980 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:44:57,036 - INFO - SUCCESS!\n",
+ "2024-12-20 19:44:57,046 - INFO - ./data/processed_ATL03_20211102044325_06221306_006_01.h5\n",
+ "2024-12-20 19:44:57,049 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:44:57,386 - INFO - ./data/processed_ATL03_20220103014711_01801406_006_01.h5\n",
+ "2024-12-20 19:44:57,389 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:45:07,078 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:45:07,079 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:45:07,167 - INFO - SUCCESS!\n",
+ "2024-12-20 19:45:07,177 - INFO - ./data/processed_ATL03_20220403212702_01801506_006_02.h5\n",
+ "2024-12-20 19:45:07,179 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:45:14,615 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:45:14,615 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:45:14,709 - INFO - SUCCESS!\n",
+ "2024-12-20 19:45:14,721 - INFO - ./data/processed_ATL03_20221117223340_08891702_006_02.h5\n",
+ "2024-12-20 19:45:14,722 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:45:15,149 - INFO - ./data/processed_ATL03_20230101082633_01801806_006_02.h5\n",
+ "2024-12-20 19:45:15,151 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:45:15,738 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:45:15,751 - INFO - ./data/processed_ATL03_20230317164937_13311802_006_02.h5\n",
+ "2024-12-20 19:45:15,754 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:45:16,872 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:45:16,886 - INFO - ./data/processed_ATL03_20230616122853_13311902_006_02.h5\n",
+ "2024-12-20 19:45:16,888 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:45:17,218 - INFO - ./data/processed_ATL03_20240215005123_08892202_006_01.h5\n",
+ "2024-12-20 19:45:17,220 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:45:17,530 - INFO - ./data/processed_ATL03_20181220184041_12700102_006_02.h5\n",
+ "2024-12-20 19:45:17,533 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:45:24,574 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:45:24,574 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:45:24,664 - INFO - SUCCESS!\n",
+ "2024-12-20 19:45:24,675 - INFO - ./data/processed_ATL03_20190105055736_01190206_006_02.h5\n",
+ "2024-12-20 19:45:24,677 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:45:41,289 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:45:41,290 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:45:41,346 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:45:41,347 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:45:41,427 - INFO - SUCCESS!\n",
+ "2024-12-20 19:45:41,440 - INFO - ./data/processed_ATL03_20190321142037_12700202_006_02.h5\n",
+ "2024-12-20 19:45:41,442 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:46:02,756 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:46:02,757 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:46:02,816 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:46:02,817 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:46:02,875 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:46:02,876 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:46:02,925 - INFO - SUCCESS!\n",
+ "2024-12-20 19:46:02,937 - INFO - ./data/processed_ATL03_20191219011953_12700502_006_01.h5\n",
+ "2024-12-20 19:46:02,939 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:46:19,417 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:46:19,417 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:46:19,481 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:46:19,482 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:46:19,564 - INFO - SUCCESS!\n",
+ "2024-12-20 19:46:19,575 - INFO - ./data/processed_ATL03_20200318205941_12700602_006_01.h5\n",
+ "2024-12-20 19:46:19,577 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:46:32,908 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:46:32,909 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:46:32,959 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:46:32,960 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:46:33,024 - INFO - SUCCESS!\n",
+ "2024-12-20 19:46:33,036 - INFO - ./data/processed_ATL03_20200403081628_01190706_006_03.h5\n",
+ "2024-12-20 19:46:33,040 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:46:33,643 - INFO - ./data/processed_ATL03_20200617163925_12700702_006_01.h5\n",
+ "2024-12-20 19:46:33,645 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:46:50,777 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:46:50,777 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:46:50,839 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:46:50,839 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:46:50,934 - INFO - SUCCESS!\n",
+ "2024-12-20 19:46:50,949 - INFO - ./data/processed_ATL03_20200916121913_12700802_006_02.h5\n",
+ "2024-12-20 19:46:50,951 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:46:58,521 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:46:58,523 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:46:58,625 - INFO - SUCCESS!\n",
+ "2024-12-20 19:46:58,638 - INFO - ./data/processed_ATL03_20201001233605_01190906_006_01.h5\n",
+ "2024-12-20 19:46:58,640 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:47:15,449 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:47:15,450 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:47:15,507 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:47:15,508 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:47:15,601 - INFO - SUCCESS!\n",
+ "2024-12-20 19:47:15,614 - INFO - ./data/processed_ATL03_20210914185844_12701202_006_02.h5\n",
+ "2024-12-20 19:47:15,618 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:47:30,074 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:47:30,074 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:47:30,090 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:47:30,090 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:47:30,120 - INFO - SUCCESS!\n",
+ "2024-12-20 19:47:30,133 - INFO - ./data/processed_ATL03_20220315101830_12701402_006_01.h5\n",
+ "2024-12-20 19:47:30,135 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:47:47,086 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:47:47,086 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:47:47,140 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:47:47,141 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:47:47,221 - INFO - SUCCESS!\n",
+ "2024-12-20 19:47:47,232 - INFO - ./data/processed_ATL03_20220330213523_01191506_006_01.h5\n",
+ "2024-12-20 19:47:47,235 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:48:01,531 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:48:01,532 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:48:01,539 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:48:01,540 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:48:01,623 - INFO - SUCCESS!\n",
+ "2024-12-20 19:48:01,637 - INFO - ./data/processed_ATL03_20220629171522_01191606_006_01.h5\n",
+ "2024-12-20 19:48:01,641 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:48:02,904 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:48:02,919 - INFO - ./data/processed_ATL03_20220913013820_12701602_006_01.h5\n",
+ "2024-12-20 19:48:02,922 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:48:19,409 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:48:19,409 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:48:19,467 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:48:19,468 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:48:19,548 - INFO - SUCCESS!\n",
+ "2024-12-20 19:48:19,559 - INFO - ./data/processed_ATL03_20220928125511_01191706_006_01.h5\n",
+ "2024-12-20 19:48:19,562 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:48:26,584 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:48:26,584 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:48:26,674 - INFO - SUCCESS!\n",
+ "2024-12-20 19:48:26,686 - INFO - ./data/processed_ATL03_20221212211759_12701702_006_02.h5\n",
+ "2024-12-20 19:48:26,689 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:48:27,125 - INFO - ./data/processed_ATL03_20221228083454_01191806_006_02.h5\n",
+ "2024-12-20 19:48:27,128 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:48:33,818 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:48:33,819 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:48:33,910 - INFO - SUCCESS!\n",
+ "2024-12-20 19:48:33,921 - INFO - ./data/processed_ATL03_20231211035621_12702102_006_02.h5\n",
+ "2024-12-20 19:48:33,924 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:48:41,701 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:48:41,701 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:48:41,805 - INFO - SUCCESS!\n",
+ "2024-12-20 19:48:41,815 - INFO - ./data/processed_ATL03_20240310233541_12702202_006_01.h5\n",
+ "2024-12-20 19:48:41,819 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:48:42,173 - INFO - ./data/processed_ATL03_20240326105220_01192306_006_01.h5\n",
+ "2024-12-20 19:48:42,176 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:48:51,387 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:48:51,388 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:48:51,473 - INFO - SUCCESS!\n",
+ "2024-12-20 19:48:51,482 - INFO - ./data/processed_ATL03_20181027091027_04390106_006_02.h5\n",
+ "2024-12-20 19:48:51,502 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:48:51,962 - INFO - ./data/processed_ATL03_20190110173323_02030202_006_02.h5\n",
+ "2024-12-20 19:48:51,965 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:49:05,568 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:49:05,569 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:49:05,629 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:49:05,629 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:49:05,718 - INFO - SUCCESS!\n",
+ "2024-12-20 19:49:05,729 - INFO - ./data/processed_ATL03_20190126045022_04390206_006_02.h5\n",
+ "2024-12-20 19:49:05,731 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:49:12,630 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:49:12,631 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:49:12,650 - INFO - SUCCESS!\n",
+ "2024-12-20 19:49:12,659 - INFO - ./data/processed_ATL03_20190427003006_04390306_006_02.h5\n",
+ "2024-12-20 19:49:12,662 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:49:29,100 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:49:29,100 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:49:29,134 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:49:29,134 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:49:29,211 - INFO - SUCCESS!\n",
+ "2024-12-20 19:49:29,223 - INFO - ./data/processed_ATL03_20190726200942_04390406_006_02.h5\n",
+ "2024-12-20 19:49:29,226 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:49:42,273 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:49:42,274 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:49:42,304 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:49:42,304 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:49:42,365 - INFO - SUCCESS!\n",
+ "2024-12-20 19:49:42,381 - INFO - ./data/processed_ATL03_20181224062232_13230106_006_02.h5\n",
+ "2024-12-20 19:49:42,383 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:49:51,559 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:49:51,560 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:49:51,618 - INFO - SUCCESS!\n",
+ "2024-12-20 19:49:51,629 - INFO - ./data/processed_ATL03_20210918064035_13231206_006_02.h5\n",
+ "2024-12-20 19:49:51,631 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:49:59,631 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:49:59,631 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:49:59,702 - INFO - SUCCESS!\n",
+ "2024-12-20 19:49:59,712 - INFO - ./data/processed_ATL03_20211218022032_13231306_006_01.h5\n",
+ "2024-12-20 19:49:59,714 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:50:00,352 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:50:00,363 - INFO - ./data/processed_ATL03_20220318220022_13231406_006_01.h5\n",
+ "2024-12-20 19:50:00,367 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:50:07,238 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:50:07,239 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:50:07,327 - INFO - SUCCESS!\n",
+ "2024-12-20 19:50:07,339 - INFO - ./data/processed_ATL03_20220519190412_08811506_006_01.h5\n",
+ "2024-12-20 19:50:07,341 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:50:07,657 - INFO - ./data/processed_ATL03_20220916132009_13231606_006_01.h5\n",
+ "2024-12-20 19:50:07,660 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:50:08,043 - INFO - ./data/processed_ATL03_20200708014758_01940806_006_01.h5\n",
+ "2024-12-20 19:50:08,047 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:50:31,361 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:50:31,361 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:50:31,391 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:50:31,392 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:50:31,419 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:50:31,419 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:50:31,454 - INFO - SUCCESS!\n",
+ "2024-12-20 19:50:31,466 - INFO - ./data/processed_ATL03_20200803121633_05980802_006_01.h5\n",
+ "2024-12-20 19:50:31,469 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:50:55,526 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:50:55,526 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:50:55,545 - INFO - SUCCESS!\n",
+ "2024-12-20 19:50:55,558 - INFO - ./data/processed_ATL03_20201102075621_05980902_006_01.h5\n",
+ "2024-12-20 19:50:55,561 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:50:55,979 - INFO - ./data/processed_ATL03_20201207183135_11390906_006_01.h5\n",
+ "2024-12-20 19:50:55,982 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:51:03,247 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:51:03,257 - INFO - ./data/processed_ATL03_20210105170741_01941006_006_01.h5\n",
+ "2024-12-20 19:51:03,259 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:51:10,000 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:51:10,010 - INFO - ./data/processed_ATL03_20210201033616_05981002_006_01.h5\n",
+ "2024-12-20 19:51:10,013 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:51:17,864 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:51:17,910 - INFO - ./data/processed_ATL03_20210502231606_05981102_006_01.h5\n",
+ "2024-12-20 19:51:17,911 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:51:34,206 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:51:34,207 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:51:34,260 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:51:34,261 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:51:34,302 - INFO - SUCCESS!\n",
+ "2024-12-20 19:51:34,332 - INFO - ./data/processed_ATL03_20210531215210_10401102_006_01.h5\n",
+ "2024-12-20 19:51:34,335 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:51:34,770 - INFO - ./data/processed_ATL03_20210607095120_11391106_006_01.h5\n",
+ "2024-12-20 19:51:34,774 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:51:58,786 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:51:58,786 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:51:58,820 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:51:58,821 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:51:58,858 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:51:58,859 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:51:58,886 - INFO - SUCCESS!\n",
+ "2024-12-20 19:51:58,899 - INFO - ./data/processed_ATL03_20210801185558_05981202_006_01.h5\n",
+ "2024-12-20 19:51:58,903 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:52:13,397 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:52:13,398 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:52:13,443 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:52:13,443 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:52:13,494 - INFO - SUCCESS!\n",
+ "2024-12-20 19:52:13,506 - INFO - ./data/processed_ATL03_20210906053116_11391206_006_02.h5\n",
+ "2024-12-20 19:52:13,512 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:52:13,874 - INFO - ./data/processed_ATL03_20211031143557_05981302_006_01.h5\n",
+ "2024-12-20 19:52:13,877 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:52:30,503 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:52:30,560 - INFO - ./data/processed_ATL03_20220130101548_05981402_006_01.h5\n",
+ "2024-12-20 19:52:30,563 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:52:39,029 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:52:39,076 - INFO - ./data/processed_ATL03_20220306205103_11391406_006_01.h5\n",
+ "2024-12-20 19:52:39,080 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:52:39,451 - INFO - ./data/processed_ATL03_20220501055538_05981502_006_01.h5\n",
+ "2024-12-20 19:52:39,454 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:52:39,915 - INFO - ./data/processed_ATL03_20220530043148_10401502_006_01.h5\n",
+ "2024-12-20 19:52:39,917 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:52:40,268 - INFO - ./data/processed_ATL03_20220605163058_11391506_006_01.h5\n",
+ "2024-12-20 19:52:40,271 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:53:07,135 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:53:07,136 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:53:07,143 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:53:07,143 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:53:07,175 - INFO - SUCCESS!\n",
+ "2024-12-20 19:53:07,193 - INFO - ./data/processed_ATL03_20220731013539_05981602_006_02.h5\n",
+ "2024-12-20 19:53:07,194 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:53:14,698 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:53:14,698 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:53:14,754 - INFO - SUCCESS!\n",
+ "2024-12-20 19:53:14,772 - INFO - ./data/processed_ATL03_20220904121054_11391606_006_01.h5\n",
+ "2024-12-20 19:53:14,775 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:53:28,983 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:53:28,983 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:53:29,013 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:53:29,014 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:53:29,054 - INFO - SUCCESS!\n",
+ "2024-12-20 19:53:29,065 - INFO - ./data/processed_ATL03_20221003104652_01941706_006_01.h5\n",
+ "2024-12-20 19:53:29,067 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:53:46,462 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:53:46,462 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:53:46,513 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:53:46,513 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:53:46,581 - INFO - SUCCESS!\n",
+ "2024-12-20 19:53:46,599 - INFO - ./data/processed_ATL03_20221029211524_05981702_006_01.h5\n",
+ "2024-12-20 19:53:46,603 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:10,762 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:54:10,762 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:54:10,809 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:54:10,810 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:54:10,865 - INFO - SUCCESS!\n",
+ "2024-12-20 19:54:10,879 - INFO - ./data/processed_ATL03_20230128165520_05981802_006_02.h5\n",
+ "2024-12-20 19:54:10,883 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:25,288 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:54:25,289 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:54:25,310 - INFO - SUCCESS!\n",
+ "2024-12-20 19:54:25,323 - INFO - ./data/processed_ATL03_20230305033031_11391806_006_02.h5\n",
+ "2024-12-20 19:54:25,326 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:54:25,675 - INFO - ./data/processed_ATL03_20230429123455_05981902_006_02.h5\n",
+ "2024-12-20 19:54:25,676 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:25,966 - INFO - ./data/processed_ATL03_20181021191118_03540102_006_02.h5\n",
+ "2024-12-20 19:54:25,969 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:26,703 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:26,716 - INFO - ./data/processed_ATL03_20201115070544_07960902_006_01.h5\n",
+ "2024-12-20 19:54:26,719 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:27,102 - INFO - ./data/processed_ATL03_20201121190455_08950906_006_01.h5\n",
+ "2024-12-20 19:54:27,105 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:27,577 - INFO - ./data/processed_ATL03_20210220144449_08951006_006_01.h5\n",
+ "2024-12-20 19:54:27,581 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:28,206 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:28,218 - INFO - ./data/processed_ATL03_20210423114835_04531106_006_02.h5\n",
+ "2024-12-20 19:54:28,220 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:29,473 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:29,490 - INFO - ./data/processed_ATL03_20210515222529_07961102_006_01.h5\n",
+ "2024-12-20 19:54:29,493 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing strong beam: gt3l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:30,519 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:30,534 - INFO - ./data/processed_ATL03_20210716192916_03541202_006_01.h5\n",
+ "2024-12-20 19:54:30,537 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:31,535 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:31,550 - INFO - ./data/processed_ATL03_20210821060433_08951206_006_01.h5\n",
+ "2024-12-20 19:54:31,553 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:54:31,988 - INFO - ./data/processed_ATL03_20211015150914_03541302_006_01.h5\n",
+ "2024-12-20 19:54:31,992 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:33,635 - ERROR - An error occurred: No objects to concatenate\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:33,651 - INFO - ./data/processed_ATL03_20211120014433_08951306_006_01.h5\n",
+ "2024-12-20 19:54:33,653 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:34,511 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:34,526 - INFO - ./data/processed_ATL03_20220114104907_03541402_006_01.h5\n",
+ "2024-12-20 19:54:34,528 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:35,483 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:35,497 - INFO - ./data/processed_ATL03_20220218212421_08951406_006_01.h5\n",
+ "2024-12-20 19:54:35,500 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:54:36,238 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:36,250 - INFO - ./data/processed_ATL03_20220415062831_03541502_006_02.h5\n",
+ "2024-12-20 19:54:36,252 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:36,777 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:36,789 - INFO - ./data/processed_ATL03_20220421182808_04531506_006_02.h5\n",
+ "2024-12-20 19:54:36,792 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l']\n",
+ "Processing strong beam: gt2l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:38,104 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:38,119 - INFO - ./data/processed_ATL03_20220514050505_07961502_006_01.h5\n",
+ "2024-12-20 19:54:38,121 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing strong beam: gt3l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:39,129 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:39,141 - INFO - ./data/processed_ATL03_20220715020854_03541602_006_02.h5\n",
+ "2024-12-20 19:54:39,143 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:54:39,654 - INFO - ./data/processed_ATL03_20220721140804_04531606_006_02.h5\n",
+ "2024-12-20 19:54:39,656 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:40,639 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:40,654 - INFO - ./data/processed_ATL03_20220813004456_07961602_006_01.h5\n",
+ "2024-12-20 19:54:40,657 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:54:41,324 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:41,336 - INFO - ./data/processed_ATL03_20220819124411_08951606_006_01.h5\n",
+ "2024-12-20 19:54:41,339 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:41,699 - INFO - ./data/processed_ATL03_20221013214842_03541702_006_01.h5\n",
+ "2024-12-20 19:54:41,701 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:42,315 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:42,330 - INFO - ./data/processed_ATL03_20221118082353_08951706_006_02.h5\n",
+ "2024-12-20 19:54:42,332 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:42,670 - INFO - ./data/processed_ATL03_20230112172825_03541802_006_02.h5\n",
+ "2024-12-20 19:54:42,672 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:43,722 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:43,738 - INFO - ./data/processed_ATL03_20230217040342_08951806_006_02.h5\n",
+ "2024-12-20 19:54:43,741 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:54:44,327 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:44,342 - INFO - ./data/processed_ATL03_20230512114412_07961902_006_02.h5\n",
+ "2024-12-20 19:54:44,346 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:44,716 - INFO - ./data/processed_ATL03_20230518234317_08951906_006_02.h5\n",
+ "2024-12-20 19:54:44,727 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:45,096 - INFO - ./data/processed_ATL03_20230713084729_03542002_006_02.h5\n",
+ "2024-12-20 19:54:45,097 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:45,745 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:45,758 - INFO - ./data/processed_ATL03_20230817192232_08952006_006_02.h5\n",
+ "2024-12-20 19:54:45,760 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:46,066 - INFO - ./data/processed_ATL03_20231012042650_03542102_006_02.h5\n",
+ "2024-12-20 19:54:46,068 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:46,721 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:54:46,736 - INFO - ./data/processed_ATL03_20201119065724_08570902_006_01.h5\n",
+ "2024-12-20 19:54:46,739 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:54:54,996 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:54:55,048 - INFO - ./data/processed_ATL03_20201125185636_09560906_006_01.h5\n",
+ "2024-12-20 19:54:55,050 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:55:06,085 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:55:06,096 - INFO - ./data/processed_ATL03_20210120040113_04151002_006_01.h5\n",
+ "2024-12-20 19:55:06,098 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:55:06,429 - INFO - ./data/processed_ATL03_20210224143628_09561006_006_01.h5\n",
+ "2024-12-20 19:55:06,432 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:55:07,250 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:55:07,264 - INFO - ./data/processed_ATL03_20210519221709_08571102_006_01.h5\n",
+ "2024-12-20 19:55:07,266 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:55:08,347 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:55:08,360 - INFO - ./data/processed_ATL03_20210526101619_09561106_006_01.h5\n",
+ "2024-12-20 19:55:08,365 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:55:08,746 - INFO - ./data/processed_ATL03_20210818175703_08571202_006_01.h5\n",
+ "2024-12-20 19:55:08,749 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:55:22,850 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:55:22,868 - INFO - ./data/processed_ATL03_20210825055614_09561206_006_01.h5\n",
+ "2024-12-20 19:55:22,871 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:55:39,608 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:55:39,609 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:55:39,627 - INFO - SUCCESS!\n",
+ "2024-12-20 19:55:39,638 - INFO - ./data/processed_ATL03_20211019150055_04151302_006_01.h5\n",
+ "2024-12-20 19:55:39,641 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:55:39,970 - INFO - ./data/processed_ATL03_20211124013613_09561306_006_01.h5\n",
+ "2024-12-20 19:55:39,973 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:55:40,653 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:55:40,665 - INFO - ./data/processed_ATL03_20220216091649_08571402_006_01.h5\n",
+ "2024-12-20 19:55:40,667 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:55:55,468 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:55:55,479 - INFO - ./data/processed_ATL03_20220222211602_09561406_006_01.h5\n",
+ "2024-12-20 19:55:55,481 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:56:11,732 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:56:11,745 - INFO - ./data/processed_ATL03_20220518045644_08571502_006_01.h5\n",
+ "2024-12-20 19:56:11,747 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:56:18,466 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:56:18,510 - INFO - ./data/processed_ATL03_20220524165551_09561506_006_01.h5\n",
+ "2024-12-20 19:56:18,514 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:56:18,837 - INFO - ./data/processed_ATL03_20220817003641_08571602_006_01.h5\n",
+ "2024-12-20 19:56:18,840 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:56:33,346 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:56:33,358 - INFO - ./data/processed_ATL03_20220823123554_09561606_006_01.h5\n",
+ "2024-12-20 19:56:33,361 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:56:43,861 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:56:43,872 - INFO - ./data/processed_ATL03_20221115201621_08571702_006_02.h5\n",
+ "2024-12-20 19:56:43,875 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:56:44,544 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:56:44,556 - INFO - ./data/processed_ATL03_20221122081533_09561706_006_02.h5\n",
+ "2024-12-20 19:56:44,559 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:56:45,584 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 19:56:45,597 - INFO - ./data/processed_ATL03_20230214155613_08571802_006_02.h5\n",
+ "2024-12-20 19:56:45,600 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:57:00,762 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:57:00,763 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:57:00,779 - INFO - SUCCESS!\n",
+ "2024-12-20 19:57:00,793 - INFO - ./data/processed_ATL03_20230221035526_09561806_006_02.h5\n",
+ "2024-12-20 19:57:00,796 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:57:18,705 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:57:18,717 - INFO - ./data/processed_ATL03_20230516113550_08571902_006_02.h5\n",
+ "2024-12-20 19:57:18,720 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:57:34,018 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:57:34,031 - INFO - ./data/processed_ATL03_20230522233501_09561906_006_02.h5\n",
+ "2024-12-20 19:57:34,043 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:57:41,925 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 19:57:41,935 - INFO - ./data/processed_ATL03_20190513215648_06970306_006_02.h5\n",
+ "2024-12-20 19:57:41,937 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:57:53,059 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:57:53,060 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:57:53,159 - INFO - SUCCESS!\n",
+ "2024-12-20 19:57:53,171 - INFO - ./data/processed_ATL03_20190714190018_02550406_006_02.h5\n",
+ "2024-12-20 19:57:53,174 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:58:00,863 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:58:00,863 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:58:00,903 - INFO - SUCCESS!\n",
+ "2024-12-20 19:58:00,913 - INFO - ./data/processed_ATL03_20190812173630_06970406_006_02.h5\n",
+ "2024-12-20 19:58:00,915 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:58:16,098 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:58:16,099 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:58:16,164 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:58:16,165 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:58:16,224 - INFO - SUCCESS!\n",
+ "2024-12-20 19:58:16,235 - INFO - ./data/processed_ATL03_20190908040505_11010402_006_02.h5\n",
+ "2024-12-20 19:58:16,250 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:58:16,634 - INFO - ./data/processed_ATL03_20191207234455_11010502_006_01.h5\n",
+ "2024-12-20 19:58:16,636 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:58:17,046 - INFO - ./data/processed_ATL03_20200210085607_06970606_006_01.h5\n",
+ "2024-12-20 19:58:17,048 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:58:28,045 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 19:58:28,089 - INFO - ./data/processed_ATL03_20200307192440_11010602_006_01.h5\n",
+ "2024-12-20 19:58:28,092 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:58:35,078 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:58:35,079 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:58:35,151 - INFO - SUCCESS!\n",
+ "2024-12-20 19:58:35,162 - INFO - ./data/processed_ATL03_20200412055954_02550706_006_02.h5\n",
+ "2024-12-20 19:58:35,165 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:58:41,976 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:58:41,976 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:58:41,998 - INFO - SUCCESS!\n",
+ "2024-12-20 19:58:42,008 - INFO - ./data/processed_ATL03_20200606150429_11010702_006_01.h5\n",
+ "2024-12-20 19:58:42,012 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:58:50,181 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:58:50,181 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:58:50,212 - INFO - SUCCESS!\n",
+ "2024-12-20 19:58:50,223 - INFO - ./data/processed_ATL03_20200810001543_06970806_006_01.h5\n",
+ "2024-12-20 19:58:50,224 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:58:50,500 - INFO - ./data/processed_ATL03_20200905104415_11010802_006_02.h5\n",
+ "2024-12-20 19:58:50,502 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:59:06,211 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:59:06,212 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:59:06,253 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:59:06,254 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:59:06,334 - INFO - SUCCESS!\n",
+ "2024-12-20 19:59:06,345 - INFO - ./data/processed_ATL03_20201010211927_02550906_006_01.h5\n",
+ "2024-12-20 19:59:06,353 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:59:06,687 - INFO - ./data/processed_ATL03_20201108195531_06970906_006_01.h5\n",
+ "2024-12-20 19:59:06,690 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:59:07,010 - INFO - ./data/processed_ATL03_20210207153527_06971006_006_01.h5\n",
+ "2024-12-20 19:59:07,013 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:59:31,656 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:59:31,657 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:59:31,687 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 19:59:31,688 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:59:31,708 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 19:59:31,708 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:59:31,750 - INFO - SUCCESS!\n",
+ "2024-12-20 19:59:31,765 - INFO - ./data/processed_ATL03_20210306020400_11011002_006_01.h5\n",
+ "2024-12-20 19:59:31,767 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:59:32,117 - INFO - ./data/processed_ATL03_20210410123914_02551106_006_02.h5\n",
+ "2024-12-20 19:59:32,119 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:59:40,498 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 19:59:40,499 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 19:59:40,549 - INFO - SUCCESS!\n",
+ "2024-12-20 19:59:40,561 - INFO - ./data/processed_ATL03_20210604214350_11011102_006_01.h5\n",
+ "2024-12-20 19:59:40,564 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 19:59:41,022 - INFO - ./data/processed_ATL03_20210808065508_06971206_006_01.h5\n",
+ "2024-12-20 19:59:41,026 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 19:59:41,346 - INFO - ./data/processed_ATL03_20211107023508_06971306_006_01.h5\n",
+ "2024-12-20 19:59:41,348 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:00:04,885 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:00:04,886 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:00:04,941 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:00:04,942 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:00:04,983 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:00:04,983 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:00:05,025 - INFO - SUCCESS!\n",
+ "2024-12-20 20:00:05,036 - INFO - ./data/processed_ATL03_20211203130341_11011302_006_01.h5\n",
+ "2024-12-20 20:00:05,039 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:00:05,432 - INFO - ./data/processed_ATL03_20220205221457_06971406_006_01.h5\n",
+ "2024-12-20 20:00:05,434 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:00:05,745 - INFO - ./data/processed_ATL03_20220304084331_11011402_006_01.h5\n",
+ "2024-12-20 20:00:05,747 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:00:29,357 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:00:29,358 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:00:29,381 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:00:29,382 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:00:29,417 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:00:29,418 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:00:29,462 - INFO - SUCCESS!\n",
+ "2024-12-20 20:00:29,473 - INFO - ./data/processed_ATL03_20220603042329_11011502_006_01.h5\n",
+ "2024-12-20 20:00:29,476 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:00:29,800 - INFO - ./data/processed_ATL03_20220708145843_02551606_006_02.h5\n",
+ "2024-12-20 20:00:29,802 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:00:37,841 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:00:37,842 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:00:37,860 - INFO - SUCCESS!\n",
+ "2024-12-20 20:00:37,869 - INFO - ./data/processed_ATL03_20220902000322_11011602_006_01.h5\n",
+ "2024-12-20 20:00:37,871 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:00:45,108 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:00:45,158 - INFO - ./data/processed_ATL03_20221105091433_06971706_006_01.h5\n",
+ "2024-12-20 20:00:45,161 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:01:01,987 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:01:01,987 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:01:02,009 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:01:02,010 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:01:02,096 - INFO - SUCCESS!\n",
+ "2024-12-20 20:01:02,110 - INFO - ./data/processed_ATL03_20221201194302_11011702_006_02.h5\n",
+ "2024-12-20 20:01:02,113 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:01:24,215 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:01:24,215 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:01:24,226 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:01:24,227 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:01:24,248 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:01:24,249 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:01:24,292 - INFO - SUCCESS!\n",
+ "2024-12-20 20:01:24,304 - INFO - ./data/processed_ATL03_20230204045421_06971806_006_02.h5\n",
+ "2024-12-20 20:01:24,306 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:01:24,671 - INFO - ./data/processed_ATL03_20230302152246_11011802_006_02.h5\n",
+ "2024-12-20 20:01:24,678 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:01:50,438 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:01:50,439 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:01:50,475 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:01:50,475 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:01:50,529 - INFO - SUCCESS!\n",
+ "2024-12-20 20:01:50,548 - INFO - ./data/processed_ATL03_20230407015805_02551906_006_02.h5\n",
+ "2024-12-20 20:01:50,551 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:01:50,888 - INFO - ./data/processed_ATL03_20230601110225_11011902_006_02.h5\n",
+ "2024-12-20 20:01:50,891 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:02:08,197 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:02:08,198 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:02:08,216 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:02:08,217 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:02:08,282 - INFO - SUCCESS!\n",
+ "2024-12-20 20:02:08,294 - INFO - ./data/processed_ATL03_20230804201313_06972006_006_02.h5\n",
+ "2024-12-20 20:02:08,300 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:02:16,282 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:02:16,283 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:02:16,335 - INFO - SUCCESS!\n",
+ "2024-12-20 20:02:16,346 - INFO - ./data/processed_ATL03_20181024071849_03920106_006_02.h5\n",
+ "2024-12-20 20:02:16,349 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:02:16,689 - INFO - ./data/processed_ATL03_20181029185440_04760102_006_02.h5\n",
+ "2024-12-20 20:02:16,690 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:02:16,991 - INFO - ./data/processed_ATL03_20181122055455_08340106_006_02.h5\n",
+ "2024-12-20 20:02:16,993 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:02:17,346 - INFO - ./data/processed_ATL03_20181218162324_12380102_006_02.h5\n",
+ "2024-12-20 20:02:17,349 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:02:17,792 - INFO - ./data/processed_ATL03_20190116145920_02930202_006_02.h5\n",
+ "2024-12-20 20:02:17,795 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:02:18,160 - INFO - ./data/processed_ATL03_20190417103919_02930302_006_02.h5\n",
+ "2024-12-20 20:02:18,164 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:02:18,555 - INFO - ./data/processed_ATL03_20190522211426_08340306_006_02.h5\n",
+ "2024-12-20 20:02:18,567 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:02:18,907 - INFO - ./data/processed_ATL03_20190723181804_03920406_006_02.h5\n",
+ "2024-12-20 20:02:18,911 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:02:33,321 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:02:33,322 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:02:33,378 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:02:33,379 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:02:33,443 - INFO - SUCCESS!\n",
+ "2024-12-20 20:02:33,455 - INFO - ./data/processed_ATL03_20190815045501_07350402_006_02.h5\n",
+ "2024-12-20 20:02:33,468 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:02:43,134 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:02:43,135 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:02:43,174 - INFO - SUCCESS!\n",
+ "2024-12-20 20:02:43,185 - INFO - ./data/processed_ATL03_20190821165414_08340406_006_02.h5\n",
+ "2024-12-20 20:02:43,188 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:03:05,770 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:03:05,771 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:03:05,802 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:03:05,802 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:03:05,829 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:03:05,830 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:03:05,870 - INFO - SUCCESS!\n",
+ "2024-12-20 20:03:05,882 - INFO - ./data/processed_ATL03_20191016015852_02930502_006_02.h5\n",
+ "2024-12-20 20:03:05,884 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:03:28,691 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:03:28,692 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:03:28,719 - INFO - SUCCESS!\n",
+ "2024-12-20 20:03:28,731 - INFO - ./data/processed_ATL03_20200219081349_08340606_006_01.h5\n",
+ "2024-12-20 20:03:28,734 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:03:35,687 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:03:35,734 - INFO - ./data/processed_ATL03_20200316184225_12380602_006_01.h5\n",
+ "2024-12-20 20:03:35,738 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:03:46,654 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:03:46,655 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:03:46,705 - INFO - SUCCESS!\n",
+ "2024-12-20 20:03:46,716 - INFO - ./data/processed_ATL03_20200414171825_02930702_006_02.h5\n",
+ "2024-12-20 20:03:46,725 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:03:47,827 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:03:47,842 - INFO - ./data/processed_ATL03_20200421051736_03920706_006_02.h5\n",
+ "2024-12-20 20:03:47,845 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:03:54,463 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:03:54,509 - INFO - ./data/processed_ATL03_20200818233325_08340806_006_01.h5\n",
+ "2024-12-20 20:03:54,512 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:04:01,395 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:04:01,395 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:04:01,450 - INFO - SUCCESS!\n",
+ "2024-12-20 20:04:01,460 - INFO - ./data/processed_ATL03_20200914100157_12380802_006_02.h5\n",
+ "2024-12-20 20:04:01,463 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:04:01,812 - INFO - ./data/processed_ATL03_20201019203709_03920906_006_01.h5\n",
+ "2024-12-20 20:04:01,815 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:04:02,177 - INFO - ./data/processed_ATL03_20210216145307_08341006_006_01.h5\n",
+ "2024-12-20 20:04:02,181 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:04:19,844 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:04:19,845 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:04:19,861 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:04:19,862 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:04:19,900 - INFO - SUCCESS!\n",
+ "2024-12-20 20:04:19,913 - INFO - ./data/processed_ATL03_20210315012141_12381002_006_01.h5\n",
+ "2024-12-20 20:04:19,916 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:04:34,060 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:04:34,060 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:04:34,089 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:04:34,090 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:04:34,139 - INFO - SUCCESS!\n",
+ "2024-12-20 20:04:34,150 - INFO - ./data/processed_ATL03_20210412235744_02931102_006_02.h5\n",
+ "2024-12-20 20:04:34,156 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:04:50,803 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:04:50,850 - INFO - ./data/processed_ATL03_20210419115655_03921106_006_02.h5\n",
+ "2024-12-20 20:04:50,871 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:05:04,810 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:05:04,811 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:05:04,830 - INFO - SUCCESS!\n",
+ "2024-12-20 20:05:04,841 - INFO - ./data/processed_ATL03_20210712193735_02931202_006_01.h5\n",
+ "2024-12-20 20:05:04,844 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:05:05,202 - INFO - ./data/processed_ATL03_20211116015252_08341306_006_01.h5\n",
+ "2024-12-20 20:05:05,206 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:05:28,431 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:05:28,431 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:05:28,457 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:05:28,457 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:05:28,509 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:05:28,510 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:05:28,579 - INFO - SUCCESS!\n",
+ "2024-12-20 20:05:28,591 - INFO - ./data/processed_ATL03_20211212122125_12381302_006_01.h5\n",
+ "2024-12-20 20:05:28,597 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:05:42,958 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:05:42,958 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:05:42,995 - INFO - SUCCESS!\n",
+ "2024-12-20 20:05:43,007 - INFO - ./data/processed_ATL03_20220110105727_02931402_006_01.h5\n",
+ "2024-12-20 20:05:43,010 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:05:43,375 - INFO - ./data/processed_ATL03_20220214213239_08341406_006_01.h5\n",
+ "2024-12-20 20:05:43,378 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:05:43,722 - INFO - ./data/processed_ATL03_20220711021716_02931602_006_02.h5\n",
+ "2024-12-20 20:05:43,725 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:05:44,079 - INFO - ./data/processed_ATL03_20220717141626_03921606_006_02.h5\n",
+ "2024-12-20 20:05:44,082 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:05:53,875 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:05:53,876 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:05:53,939 - INFO - SUCCESS!\n",
+ "2024-12-20 20:05:53,949 - INFO - ./data/processed_ATL03_20221114083211_08341706_006_02.h5\n",
+ "2024-12-20 20:05:53,951 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:00,471 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:06:00,514 - INFO - ./data/processed_ATL03_20221210190042_12381702_006_02.h5\n",
+ "2024-12-20 20:06:00,519 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:06:01,143 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:06:01,155 - INFO - ./data/processed_ATL03_20230108173645_02931802_006_02.h5\n",
+ "2024-12-20 20:06:01,157 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:01,483 - INFO - ./data/processed_ATL03_20230213041205_08341806_006_02.h5\n",
+ "2024-12-20 20:06:01,486 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:01,804 - INFO - ./data/processed_ATL03_20230409131634_02931902_006_02.h5\n",
+ "2024-12-20 20:06:01,806 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:08,644 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:06:08,645 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:06:08,728 - INFO - SUCCESS!\n",
+ "2024-12-20 20:06:08,738 - INFO - ./data/processed_ATL03_20230416011550_03921906_006_03.h5\n",
+ "2024-12-20 20:06:08,749 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:15,823 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:06:15,824 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:06:15,880 - INFO - SUCCESS!\n",
+ "2024-12-20 20:06:15,890 - INFO - ./data/processed_ATL03_20230813193054_08342006_006_02.h5\n",
+ "2024-12-20 20:06:15,893 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:06:16,526 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:06:16,539 - INFO - ./data/processed_ATL03_20230909055925_12382002_006_02.h5\n",
+ "2024-12-20 20:06:16,542 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:16,908 - INFO - ./data/processed_ATL03_20231008043518_02932102_006_02.h5\n",
+ "2024-12-20 20:06:16,912 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:17,254 - INFO - ./data/processed_ATL03_20231112151033_08342106_006_01.h5\n",
+ "2024-12-20 20:06:17,264 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:17,615 - INFO - ./data/processed_ATL03_20181127173038_09180102_006_02.h5\n",
+ "2024-12-20 20:06:17,617 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:28,188 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:06:28,189 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:06:28,231 - INFO - SUCCESS!\n",
+ "2024-12-20 20:06:28,242 - INFO - ./data/processed_ATL03_20190102040559_00720206_006_02.h5\n",
+ "2024-12-20 20:06:28,245 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:29,280 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:06:29,293 - INFO - ./data/processed_ATL03_20190226131040_09180202_006_02.h5\n",
+ "2024-12-20 20:06:29,295 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:42,511 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:06:42,512 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:06:42,542 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:06:42,542 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:06:42,572 - INFO - SUCCESS!\n",
+ "2024-12-20 20:06:42,585 - INFO - ./data/processed_ATL03_20190402234550_00720306_006_02.h5\n",
+ "2024-12-20 20:06:42,588 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:49,820 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:06:49,821 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:06:49,920 - INFO - SUCCESS!\n",
+ "2024-12-20 20:06:49,931 - INFO - ./data/processed_ATL03_20190827043005_09180402_006_02.h5\n",
+ "2024-12-20 20:06:49,934 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:06:59,928 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:06:59,975 - INFO - ./data/processed_ATL03_20191126000956_09180502_006_01.h5\n",
+ "2024-12-20 20:06:59,978 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:07:07,400 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:07:07,400 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:07:07,444 - INFO - SUCCESS!\n",
+ "2024-12-20 20:07:07,454 - INFO - ./data/processed_ATL03_20191231104507_00720606_006_01.h5\n",
+ "2024-12-20 20:07:07,457 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:07:07,798 - INFO - ./data/processed_ATL03_20200129092110_05140606_006_01.h5\n",
+ "2024-12-20 20:07:07,801 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:07:08,150 - INFO - ./data/processed_ATL03_20200224194940_09180602_006_01.h5\n",
+ "2024-12-20 20:07:08,160 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:07:08,527 - INFO - ./data/processed_ATL03_20200331062448_00720706_006_01.h5\n",
+ "2024-12-20 20:07:08,530 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:07:15,875 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:07:15,927 - INFO - ./data/processed_ATL03_20200525152929_09180702_006_01.h5\n",
+ "2024-12-20 20:07:15,929 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:07:32,880 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:07:32,881 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:07:32,941 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:07:32,942 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:07:33,005 - INFO - SUCCESS!\n",
+ "2024-12-20 20:07:33,017 - INFO - ./data/processed_ATL03_20200630020440_00720806_006_01.h5\n",
+ "2024-12-20 20:07:33,019 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:07:33,373 - INFO - ./data/processed_ATL03_20200824110915_09180802_006_01.h5\n",
+ "2024-12-20 20:07:33,375 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:07:40,405 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:07:40,406 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:07:40,456 - INFO - SUCCESS!\n",
+ "2024-12-20 20:07:40,468 - INFO - ./data/processed_ATL03_20200928214429_00720906_006_02.h5\n",
+ "2024-12-20 20:07:40,471 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:07:54,729 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:07:54,730 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:07:54,776 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:07:54,777 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:07:54,823 - INFO - SUCCESS!\n",
+ "2024-12-20 20:07:54,835 - INFO - ./data/processed_ATL03_20201123064905_09180902_006_01.h5\n",
+ "2024-12-20 20:07:54,837 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:07:56,131 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:07:56,144 - INFO - ./data/processed_ATL03_20210124035255_04761002_006_01.h5\n",
+ "2024-12-20 20:07:56,147 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:07:56,493 - INFO - ./data/processed_ATL03_20210126160025_05141006_006_01.h5\n",
+ "2024-12-20 20:07:56,505 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:08:06,295 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:08:06,295 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:08:06,315 - INFO - SUCCESS!\n",
+ "2024-12-20 20:08:06,325 - INFO - ./data/processed_ATL03_20210329130412_00721106_006_01.h5\n",
+ "2024-12-20 20:08:06,331 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:08:20,399 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:08:20,400 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:08:20,407 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:08:20,408 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:08:20,428 - INFO - SUCCESS!\n",
+ "2024-12-20 20:08:20,440 - INFO - ./data/processed_ATL03_20210523220850_09181102_006_01.h5\n",
+ "2024-12-20 20:08:20,443 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:08:37,622 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:08:37,623 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:08:37,635 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:08:37,636 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:08:37,670 - INFO - SUCCESS!\n",
+ "2024-12-20 20:08:37,682 - INFO - ./data/processed_ATL03_20210628084402_00721206_006_01.h5\n",
+ "2024-12-20 20:08:37,715 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:08:38,508 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:08:38,528 - INFO - ./data/processed_ATL03_20210822174844_09181202_006_01.h5\n",
+ "2024-12-20 20:08:38,531 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:08:52,032 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:08:52,033 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:08:52,096 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:08:52,096 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:08:52,147 - INFO - SUCCESS!\n",
+ "2024-12-20 20:08:52,159 - INFO - ./data/processed_ATL03_20211023145237_04761302_006_01.h5\n",
+ "2024-12-20 20:08:52,161 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:08:52,501 - INFO - ./data/processed_ATL03_20211026030006_05141306_006_01.h5\n",
+ "2024-12-20 20:08:52,503 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:08:59,801 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:08:59,848 - INFO - ./data/processed_ATL03_20211227000354_00721406_006_01.h5\n",
+ "2024-12-20 20:08:59,851 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:09:16,290 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:09:16,291 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:09:16,316 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:09:16,317 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:09:16,386 - INFO - SUCCESS!\n",
+ "2024-12-20 20:09:16,397 - INFO - ./data/processed_ATL03_20220220090831_09181402_006_01.h5\n",
+ "2024-12-20 20:09:16,400 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:09:30,025 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:09:30,026 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:09:30,079 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:09:30,079 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:09:30,128 - INFO - SUCCESS!\n",
+ "2024-12-20 20:09:30,138 - INFO - ./data/processed_ATL03_20220327194347_00721506_006_01.h5\n",
+ "2024-12-20 20:09:30,143 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:09:46,861 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:09:46,861 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:09:46,885 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:09:46,885 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:09:46,945 - INFO - SUCCESS!\n",
+ "2024-12-20 20:09:46,956 - INFO - ./data/processed_ATL03_20220522044820_09181502_006_01.h5\n",
+ "2024-12-20 20:09:46,958 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:09:47,631 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:09:47,643 - INFO - ./data/processed_ATL03_20220626152342_00721606_006_01.h5\n",
+ "2024-12-20 20:09:47,646 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:10:10,584 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:10:10,585 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:10:10,595 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:10:10,596 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:10:10,650 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:10:10,651 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:10:10,724 - INFO - SUCCESS!\n",
+ "2024-12-20 20:10:10,735 - INFO - ./data/processed_ATL03_20220821002822_09181602_006_01.h5\n",
+ "2024-12-20 20:10:10,739 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:10:24,212 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:10:24,213 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:10:24,266 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:10:24,267 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:10:24,312 - INFO - SUCCESS!\n",
+ "2024-12-20 20:10:24,323 - INFO - ./data/processed_ATL03_20220925110334_00721706_006_01.h5\n",
+ "2024-12-20 20:10:24,329 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:10:24,680 - INFO - ./data/processed_ATL03_20221119200803_09181702_006_02.h5\n",
+ "2024-12-20 20:10:24,683 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:10:25,374 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:10:25,385 - INFO - ./data/processed_ATL03_20221225064301_00721806_006_02.h5\n",
+ "2024-12-20 20:10:25,388 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:10:32,130 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:10:32,174 - INFO - ./data/processed_ATL03_20230218154755_09181802_006_02.h5\n",
+ "2024-12-20 20:10:32,176 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:10:48,427 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:10:48,428 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:10:48,478 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:10:48,479 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:10:48,526 - INFO - SUCCESS!\n",
+ "2024-12-20 20:10:48,538 - INFO - ./data/processed_ATL03_20230326022309_00721906_006_02.h5\n",
+ "2024-12-20 20:10:48,540 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:10:54,981 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:10:55,025 - INFO - ./data/processed_ATL03_20230520112730_09181902_006_02.h5\n",
+ "2024-12-20 20:10:55,030 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:11:18,101 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:11:18,102 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:11:18,157 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:11:18,158 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:11:18,215 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:11:18,216 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:11:18,273 - INFO - SUCCESS!\n",
+ "2024-12-20 20:11:18,285 - INFO - ./data/processed_ATL03_20230624220227_00722006_006_02.h5\n",
+ "2024-12-20 20:11:18,289 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:11:18,610 - INFO - ./data/processed_ATL03_20230819070641_09182002_006_02.h5\n",
+ "2024-12-20 20:11:18,612 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:11:25,226 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:11:25,271 - INFO - ./data/processed_ATL03_20230923174141_00722106_006_02.h5\n",
+ "2024-12-20 20:11:25,273 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:11:32,788 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:11:32,789 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:11:32,876 - INFO - SUCCESS!\n",
+ "2024-12-20 20:11:32,886 - INFO - ./data/processed_ATL03_20181204052950_10170106_006_02.h5\n",
+ "2024-12-20 20:11:32,889 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:11:33,803 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:11:33,816 - INFO - ./data/processed_ATL03_20190128143438_04760202_006_02.h5\n",
+ "2024-12-20 20:11:33,817 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:11:44,305 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:11:44,306 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:11:44,362 - INFO - SUCCESS!\n",
+ "2024-12-20 20:11:44,375 - INFO - ./data/processed_ATL03_20190305010951_10170206_006_02.h5\n",
+ "2024-12-20 20:11:44,377 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:11:45,290 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:11:45,303 - INFO - ./data/processed_ATL03_20190429101419_04760302_006_02.h5\n",
+ "2024-12-20 20:11:45,305 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:11:52,160 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:11:52,161 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:11:52,212 - INFO - SUCCESS!\n",
+ "2024-12-20 20:11:52,222 - INFO - ./data/processed_ATL03_20190603204925_10170306_006_02.h5\n",
+ "2024-12-20 20:11:52,224 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:12:06,214 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:12:06,226 - INFO - ./data/processed_ATL03_20190729055357_04760402_006_02.h5\n",
+ "2024-12-20 20:12:06,228 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:12:15,832 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:12:15,833 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:12:15,908 - INFO - SUCCESS!\n",
+ "2024-12-20 20:12:15,919 - INFO - ./data/processed_ATL03_20191001150521_00720506_006_03.h5\n",
+ "2024-12-20 20:12:15,921 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:12:23,105 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:12:23,106 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:12:23,131 - INFO - SUCCESS!\n",
+ "2024-12-20 20:12:23,141 - INFO - ./data/processed_ATL03_20191028013354_04760502_006_01.h5\n",
+ "2024-12-20 20:12:23,143 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:12:29,927 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:12:29,975 - INFO - ./data/processed_ATL03_20191202120904_10170506_006_01.h5\n",
+ "2024-12-20 20:12:29,977 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:12:36,836 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:12:36,837 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:12:36,873 - INFO - SUCCESS!\n",
+ "2024-12-20 20:12:36,884 - INFO - ./data/processed_ATL03_20191228223737_00340602_006_01.h5\n",
+ "2024-12-20 20:12:36,886 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:12:37,193 - INFO - ./data/processed_ATL03_20200302074848_10170606_006_01.h5\n",
+ "2024-12-20 20:12:37,194 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:12:37,506 - INFO - ./data/processed_ATL03_20200426165327_04760702_006_02.h5\n",
+ "2024-12-20 20:12:37,507 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:12:54,297 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:12:54,298 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:12:54,356 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:12:54,356 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:12:54,445 - INFO - SUCCESS!\n",
+ "2024-12-20 20:12:54,458 - INFO - ./data/processed_ATL03_20200601032839_10170706_006_01.h5\n",
+ "2024-12-20 20:12:54,460 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:13:08,723 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:13:08,723 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:13:08,772 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:13:08,773 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:13:08,853 - INFO - SUCCESS!\n",
+ "2024-12-20 20:13:08,865 - INFO - ./data/processed_ATL03_20200726123314_04760802_006_01.h5\n",
+ "2024-12-20 20:13:08,866 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:13:09,154 - INFO - ./data/processed_ATL03_20200830230825_10170806_006_01.h5\n",
+ "2024-12-20 20:13:09,155 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:13:18,747 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:13:18,748 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:13:18,776 - INFO - SUCCESS!\n",
+ "2024-12-20 20:13:18,787 - INFO - ./data/processed_ATL03_20201025081259_04760902_006_01.h5\n",
+ "2024-12-20 20:13:18,788 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:13:19,348 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:13:19,361 - INFO - ./data/processed_ATL03_20201129184814_10170906_006_01.h5\n",
+ "2024-12-20 20:13:19,363 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:13:39,952 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:13:39,953 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:13:39,995 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:13:39,996 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:13:40,020 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:13:40,021 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:13:40,065 - INFO - SUCCESS!\n",
+ "2024-12-20 20:13:40,079 - INFO - ./data/processed_ATL03_20201226051650_00341002_006_01.h5\n",
+ "2024-12-20 20:13:40,081 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:13:49,589 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:13:49,635 - INFO - ./data/processed_ATL03_20201228172419_00721006_006_01.h5\n",
+ "2024-12-20 20:13:49,636 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:13:49,917 - INFO - ./data/processed_ATL03_20210424233245_04761102_006_02.h5\n",
+ "2024-12-20 20:13:49,919 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:14:09,492 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:14:09,492 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:14:09,517 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:14:09,518 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:14:09,564 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:14:09,565 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:14:09,646 - INFO - SUCCESS!\n",
+ "2024-12-20 20:14:09,659 - INFO - ./data/processed_ATL03_20210530100800_10171106_006_01.h5\n",
+ "2024-12-20 20:14:09,661 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:14:19,783 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:14:19,794 - INFO - ./data/processed_ATL03_20210724191237_04761202_006_01.h5\n",
+ "2024-12-20 20:14:19,796 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:14:26,730 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:14:26,731 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:14:26,807 - INFO - SUCCESS!\n",
+ "2024-12-20 20:14:26,820 - INFO - ./data/processed_ATL03_20210829054754_10171206_006_01.h5\n",
+ "2024-12-20 20:14:26,821 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:14:40,166 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:14:40,167 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:14:40,213 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:14:40,214 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:14:40,277 - INFO - SUCCESS!\n",
+ "2024-12-20 20:14:40,289 - INFO - ./data/processed_ATL03_20210924161631_00341302_006_02.h5\n",
+ "2024-12-20 20:14:40,290 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:14:49,939 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:14:49,940 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:14:49,963 - INFO - SUCCESS!\n",
+ "2024-12-20 20:14:49,974 - INFO - ./data/processed_ATL03_20210927042400_00721306_006_02.h5\n",
+ "2024-12-20 20:14:49,975 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:14:50,254 - INFO - ./data/processed_ATL03_20220122103228_04761402_006_01.h5\n",
+ "2024-12-20 20:14:50,256 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:14:57,421 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:14:57,422 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:14:57,491 - INFO - SUCCESS!\n",
+ "2024-12-20 20:14:57,501 - INFO - ./data/processed_ATL03_20220226210742_10171406_006_01.h5\n",
+ "2024-12-20 20:14:57,502 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:15:11,280 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:15:11,281 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:15:11,334 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:15:11,335 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:15:11,400 - INFO - SUCCESS!\n",
+ "2024-12-20 20:15:11,413 - INFO - ./data/processed_ATL03_20220423061224_04761502_006_02.h5\n",
+ "2024-12-20 20:15:11,415 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:15:27,097 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:15:27,098 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:15:27,114 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:15:27,115 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:15:27,157 - INFO - SUCCESS!\n",
+ "2024-12-20 20:15:27,167 - INFO - ./data/processed_ATL03_20220528164735_10171506_006_01.h5\n",
+ "2024-12-20 20:15:27,169 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:15:34,422 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:15:34,433 - INFO - ./data/processed_ATL03_20220723015219_04761602_006_02.h5\n",
+ "2024-12-20 20:15:34,434 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:15:41,938 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:15:41,938 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:15:42,009 - INFO - SUCCESS!\n",
+ "2024-12-20 20:15:42,019 - INFO - ./data/processed_ATL03_20220827122737_10171606_006_01.h5\n",
+ "2024-12-20 20:15:42,020 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:15:58,318 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:15:58,319 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:15:58,345 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:15:58,346 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:15:58,405 - INFO - SUCCESS!\n",
+ "2024-12-20 20:15:58,417 - INFO - ./data/processed_ATL03_20220922225605_00341702_006_01.h5\n",
+ "2024-12-20 20:15:58,419 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:15:58,702 - INFO - ./data/processed_ATL03_20221126080716_10171706_006_02.h5\n",
+ "2024-12-20 20:15:58,703 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:16:05,134 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:16:05,178 - INFO - ./data/processed_ATL03_20230120171151_04761802_006_02.h5\n",
+ "2024-12-20 20:16:05,179 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:16:12,827 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:16:12,837 - INFO - ./data/processed_ATL03_20230225034718_10171806_006_02.h5\n",
+ "2024-12-20 20:16:12,838 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:16:28,561 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:16:28,561 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:16:28,603 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:16:28,604 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:16:28,658 - INFO - SUCCESS!\n",
+ "2024-12-20 20:16:28,670 - INFO - ./data/processed_ATL03_20230421125121_04761902_006_02.h5\n",
+ "2024-12-20 20:16:28,672 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:16:42,793 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:16:42,794 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:16:42,851 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:16:42,852 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:16:42,940 - INFO - SUCCESS!\n",
+ "2024-12-20 20:16:42,953 - INFO - ./data/processed_ATL03_20230526232637_10171906_006_02.h5\n",
+ "2024-12-20 20:16:42,956 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:00,089 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:17:00,090 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:17:00,138 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:17:00,139 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:17:00,202 - INFO - SUCCESS!\n",
+ "2024-12-20 20:17:00,214 - INFO - ./data/processed_ATL03_20230825190553_10172006_006_02.h5\n",
+ "2024-12-20 20:17:00,217 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:06,975 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:17:06,987 - INFO - ./data/processed_ATL03_20231020041016_04762102_006_02.h5\n",
+ "2024-12-20 20:17:06,990 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:17:07,311 - INFO - ./data/processed_ATL03_20200118213016_03540602_006_01.h5\n",
+ "2024-12-20 20:17:07,313 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:08,301 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:17:08,316 - INFO - ./data/processed_ATL03_20200223080530_08950606_006_01.h5\n",
+ "2024-12-20 20:17:08,318 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:17:08,963 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:17:08,976 - INFO - ./data/processed_ATL03_20200418171006_03540702_006_02.h5\n",
+ "2024-12-20 20:17:08,978 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:09,958 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:17:09,972 - INFO - ./data/processed_ATL03_20200425050917_04530706_006_02.h5\n",
+ "2024-12-20 20:17:09,974 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:10,937 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:17:10,951 - INFO - ./data/processed_ATL03_20201017082939_03540902_006_01.h5\n",
+ "2024-12-20 20:17:10,953 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:12,290 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:17:12,306 - INFO - ./data/processed_ATL03_20201023202849_04530906_006_01.h5\n",
+ "2024-12-20 20:17:12,308 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing strong beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:12,981 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:17:12,995 - INFO - ./data/processed_ATL03_20210319011319_12991002_006_01.h5\n",
+ "2024-12-20 20:17:12,997 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:13,308 - INFO - ./data/processed_ATL03_20210416234925_03541102_006_02.h5\n",
+ "2024-12-20 20:17:13,310 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:13,619 - INFO - ./data/processed_ATL03_20210723072827_04531206_006_01.h5\n",
+ "2024-12-20 20:17:13,620 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:13,926 - INFO - ./data/processed_ATL03_20211216121305_12991302_006_01.h5\n",
+ "2024-12-20 20:17:13,928 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:14,218 - INFO - ./data/processed_ATL03_20220120224817_04531406_006_01.h5\n",
+ "2024-12-20 20:17:14,220 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:14,517 - INFO - ./data/processed_ATL03_20230119052730_04531806_006_02.h5\n",
+ "2024-12-20 20:17:14,519 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:14,826 - INFO - ./data/processed_ATL03_20230413130807_03541902_006_02.h5\n",
+ "2024-12-20 20:17:14,830 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:16,281 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:17:16,296 - INFO - ./data/processed_ATL03_20230420010712_04531906_006_02.h5\n",
+ "2024-12-20 20:17:16,298 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing strong beam: gt3l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:17,206 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:17:17,217 - INFO - ./data/processed_ATL03_20230719204635_04532006_006_02.h5\n",
+ "2024-12-20 20:17:17,221 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:17:17,547 - INFO - ./data/processed_ATL03_20231018162610_04532106_006_02.h5\n",
+ "2024-12-20 20:17:17,548 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:17,853 - INFO - ./data/processed_ATL03_20200802003223_05750806_006_01.h5\n",
+ "2024-12-20 20:17:17,856 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:35,406 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:17:35,407 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:17:35,453 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:17:35,454 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:17:35,491 - INFO - SUCCESS!\n",
+ "2024-12-20 20:17:35,504 - INFO - ./data/processed_ATL03_20200828110056_09790802_006_01.h5\n",
+ "2024-12-20 20:17:35,509 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:43,191 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:17:43,192 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:17:43,284 - INFO - SUCCESS!\n",
+ "2024-12-20 20:17:43,297 - INFO - ./data/processed_ATL03_20201031201211_05750906_006_01.h5\n",
+ "2024-12-20 20:17:43,300 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:17:50,033 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:17:50,033 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:17:50,088 - INFO - SUCCESS!\n",
+ "2024-12-20 20:17:50,101 - INFO - ./data/processed_ATL03_20201127064045_09790902_006_01.h5\n",
+ "2024-12-20 20:17:50,104 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:18:13,418 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:18:13,419 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:18:13,426 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:18:13,426 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:18:13,469 - INFO - SUCCESS!\n",
+ "2024-12-20 20:18:13,481 - INFO - ./data/processed_ATL03_20210128034437_05371002_006_01.h5\n",
+ "2024-12-20 20:18:13,483 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:18:13,802 - INFO - ./data/processed_ATL03_20210130155207_05751006_006_01.h5\n",
+ "2024-12-20 20:18:13,803 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:18:28,438 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:18:28,440 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:18:28,458 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:18:28,458 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:18:28,484 - INFO - SUCCESS!\n",
+ "2024-12-20 20:18:28,497 - INFO - ./data/processed_ATL03_20210402125553_01331106_006_02.h5\n",
+ "2024-12-20 20:18:28,499 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:18:28,808 - INFO - ./data/processed_ATL03_20210527220029_09791102_006_01.h5\n",
+ "2024-12-20 20:18:28,811 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:18:38,610 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:18:38,620 - INFO - ./data/processed_ATL03_20210731071149_05751206_006_01.h5\n",
+ "2024-12-20 20:18:38,622 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:18:45,298 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:18:45,299 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:18:45,379 - INFO - SUCCESS!\n",
+ "2024-12-20 20:18:45,390 - INFO - ./data/processed_ATL03_20210826174024_09791202_006_01.h5\n",
+ "2024-12-20 20:18:45,392 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:18:59,912 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:18:59,913 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:18:59,931 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:18:59,932 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:18:59,997 - INFO - SUCCESS!\n",
+ "2024-12-20 20:19:00,011 - INFO - ./data/processed_ATL03_20211027144417_05371302_006_01.h5\n",
+ "2024-12-20 20:19:00,014 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:19:00,355 - INFO - ./data/processed_ATL03_20211030025147_05751306_006_01.h5\n",
+ "2024-12-20 20:19:00,363 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:19:01,363 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:19:01,378 - INFO - ./data/processed_ATL03_20220128223137_05751406_006_01.h5\n",
+ "2024-12-20 20:19:01,382 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:19:11,201 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:19:11,202 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:19:11,279 - INFO - SUCCESS!\n",
+ "2024-12-20 20:19:11,290 - INFO - ./data/processed_ATL03_20220224090016_09791402_006_01.h5\n",
+ "2024-12-20 20:19:11,293 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:19:24,577 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:19:24,578 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:19:24,591 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:19:24,592 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:19:24,654 - INFO - SUCCESS!\n",
+ "2024-12-20 20:19:24,668 - INFO - ./data/processed_ATL03_20220526044001_09791502_006_01.h5\n",
+ "2024-12-20 20:19:24,671 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:19:32,091 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:19:32,102 - INFO - ./data/processed_ATL03_20220729135134_05751606_006_02.h5\n",
+ "2024-12-20 20:19:32,104 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:19:32,452 - INFO - ./data/processed_ATL03_20181118060318_07730106_006_02.h5\n",
+ "2024-12-20 20:19:32,455 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:19:42,907 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:19:42,952 - INFO - ./data/processed_ATL03_20190112150746_02320202_006_02.h5\n",
+ "2024-12-20 20:19:42,956 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:19:43,338 - INFO - ./data/processed_ATL03_20190217014308_07730206_006_02.h5\n",
+ "2024-12-20 20:19:43,341 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:19:43,713 - INFO - ./data/processed_ATL03_20190413104740_02320302_006_02.h5\n",
+ "2024-12-20 20:19:43,717 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:19:44,070 - INFO - ./data/processed_ATL03_20190518212247_07730306_006_02.h5\n",
+ "2024-12-20 20:19:44,072 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:19:51,135 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:19:51,136 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:19:51,168 - INFO - SUCCESS!\n",
+ "2024-12-20 20:19:51,179 - INFO - ./data/processed_ATL03_20190713062708_02320402_006_02.h5\n",
+ "2024-12-20 20:19:51,182 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:19:51,589 - INFO - ./data/processed_ATL03_20190719182620_03310406_006_02.h5\n",
+ "2024-12-20 20:19:51,591 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:19:51,937 - INFO - ./data/processed_ATL03_20190811050320_06740402_006_02.h5\n",
+ "2024-12-20 20:19:51,941 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:20:05,986 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:20:05,987 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:20:06,027 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:20:06,027 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:20:06,090 - INFO - SUCCESS!\n",
+ "2024-12-20 20:20:06,102 - INFO - ./data/processed_ATL03_20190817170232_07730406_006_02.h5\n",
+ "2024-12-20 20:20:06,104 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:20:16,006 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:20:16,007 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:20:16,077 - INFO - SUCCESS!\n",
+ "2024-12-20 20:20:16,089 - INFO - ./data/processed_ATL03_20191110004315_06740502_006_01.h5\n",
+ "2024-12-20 20:20:16,092 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:20:29,670 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:20:29,671 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:20:29,718 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:20:29,719 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:20:29,785 - INFO - SUCCESS!\n",
+ "2024-12-20 20:20:29,796 - INFO - ./data/processed_ATL03_20191116124227_07730506_006_01.h5\n",
+ "2024-12-20 20:20:29,799 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:20:37,453 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:20:37,453 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:20:37,522 - INFO - SUCCESS!\n",
+ "2024-12-20 20:20:37,532 - INFO - ./data/processed_ATL03_20200110214656_02320602_006_01.h5\n",
+ "2024-12-20 20:20:37,535 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:20:47,465 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:20:47,524 - INFO - ./data/processed_ATL03_20200215082209_07730606_006_01.h5\n",
+ "2024-12-20 20:20:47,527 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:20:54,153 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:20:54,154 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:20:54,219 - INFO - SUCCESS!\n",
+ "2024-12-20 20:20:54,228 - INFO - ./data/processed_ATL03_20200509160249_06740702_006_01.h5\n",
+ "2024-12-20 20:20:54,232 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:20:55,004 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:20:55,017 - INFO - ./data/processed_ATL03_20200516040159_07730706_006_01.h5\n",
+ "2024-12-20 20:20:55,019 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:21:02,342 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:21:02,343 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:21:02,389 - INFO - SUCCESS!\n",
+ "2024-12-20 20:21:02,407 - INFO - ./data/processed_ATL03_20200710130629_02320802_006_01.h5\n",
+ "2024-12-20 20:21:02,409 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:21:09,946 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:21:09,947 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:21:10,037 - INFO - SUCCESS!\n",
+ "2024-12-20 20:21:10,050 - INFO - ./data/processed_ATL03_20200814234144_07730806_006_01.h5\n",
+ "2024-12-20 20:21:10,056 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:21:19,665 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:21:19,712 - INFO - ./data/processed_ATL03_20201009084617_02320902_006_01.h5\n",
+ "2024-12-20 20:21:19,715 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:21:20,031 - INFO - ./data/processed_ATL03_20201107072221_06740902_006_01.h5\n",
+ "2024-12-20 20:21:20,034 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:21:20,354 - INFO - ./data/processed_ATL03_20210108042612_02321002_006_01.h5\n",
+ "2024-12-20 20:21:20,357 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:21:27,524 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:21:27,575 - INFO - ./data/processed_ATL03_20210212150129_07731006_006_01.h5\n",
+ "2024-12-20 20:21:27,578 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:21:34,576 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:21:34,577 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:21:34,649 - INFO - SUCCESS!\n",
+ "2024-12-20 20:21:34,670 - INFO - ./data/processed_ATL03_20210415120514_03311106_006_02.h5\n",
+ "2024-12-20 20:21:34,673 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:21:34,999 - INFO - ./data/processed_ATL03_20210507224208_06741102_006_01.h5\n",
+ "2024-12-20 20:21:35,002 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:21:43,032 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:21:43,033 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:21:43,078 - INFO - SUCCESS!\n",
+ "2024-12-20 20:21:43,088 - INFO - ./data/processed_ATL03_20210514104119_07731106_006_01.h5\n",
+ "2024-12-20 20:21:43,091 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:21:52,971 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:21:52,971 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:21:53,044 - INFO - SUCCESS!\n",
+ "2024-12-20 20:21:53,060 - INFO - ./data/processed_ATL03_20210708194554_02321202_006_01.h5\n",
+ "2024-12-20 20:21:53,063 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:21:53,396 - INFO - ./data/processed_ATL03_20210813062112_07731206_006_01.h5\n",
+ "2024-12-20 20:21:53,399 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:21:54,240 - ERROR - An error occurred: cannot convert float NaN to integer\n",
+ "2024-12-20 20:21:54,254 - INFO - ./data/processed_ATL03_20211007152553_02321302_006_01.h5\n",
+ "2024-12-20 20:21:54,257 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:22:08,494 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:22:08,494 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:22:08,545 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:22:08,546 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:22:08,606 - INFO - SUCCESS!\n",
+ "2024-12-20 20:22:08,619 - INFO - ./data/processed_ATL03_20211112020112_07731306_006_01.h5\n",
+ "2024-12-20 20:22:08,622 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:22:16,179 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:22:16,179 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:22:16,252 - INFO - SUCCESS!\n",
+ "2024-12-20 20:22:16,263 - INFO - ./data/processed_ATL03_20220106110546_02321402_006_01.h5\n",
+ "2024-12-20 20:22:16,266 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:22:16,617 - INFO - ./data/processed_ATL03_20220506052140_06741502_006_01.h5\n",
+ "2024-12-20 20:22:16,620 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:22:33,665 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:22:33,666 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:22:33,705 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:22:33,706 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:22:33,765 - INFO - SUCCESS!\n",
+ "2024-12-20 20:22:33,776 - INFO - ./data/processed_ATL03_20220512172052_07731506_006_01.h5\n",
+ "2024-12-20 20:22:33,778 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:22:40,748 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:22:40,748 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:22:40,822 - INFO - SUCCESS!\n",
+ "2024-12-20 20:22:40,835 - INFO - ./data/processed_ATL03_20220707022536_02321602_006_02.h5\n",
+ "2024-12-20 20:22:40,838 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:22:41,161 - INFO - ./data/processed_ATL03_20220805010143_06741602_006_01.h5\n",
+ "2024-12-20 20:22:41,164 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:22:41,801 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:22:41,819 - INFO - ./data/processed_ATL03_20220811130052_07731606_006_01.h5\n",
+ "2024-12-20 20:22:41,822 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:22:49,598 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:22:49,598 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:22:49,646 - INFO - SUCCESS!\n",
+ "2024-12-20 20:22:49,661 - INFO - ./data/processed_ATL03_20221005220520_02321702_006_01.h5\n",
+ "2024-12-20 20:22:49,664 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:22:59,782 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:22:59,834 - INFO - ./data/processed_ATL03_20221110084030_07731706_006_01.h5\n",
+ "2024-12-20 20:22:59,837 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:23:07,394 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:23:07,394 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:23:07,460 - INFO - SUCCESS!\n",
+ "2024-12-20 20:23:07,470 - INFO - ./data/processed_ATL03_20230104174503_02321802_006_02.h5\n",
+ "2024-12-20 20:23:07,473 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:23:07,820 - INFO - ./data/processed_ATL03_20230209042023_07731806_006_02.h5\n",
+ "2024-12-20 20:23:07,823 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:23:08,222 - INFO - ./data/processed_ATL03_20230511000003_07731906_006_02.h5\n",
+ "2024-12-20 20:23:08,225 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:23:14,971 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:23:15,021 - INFO - ./data/processed_ATL03_20230705090414_02322002_006_02.h5\n",
+ "2024-12-20 20:23:15,024 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:23:22,353 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:23:22,354 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:23:22,407 - INFO - SUCCESS!\n",
+ "2024-12-20 20:23:22,417 - INFO - ./data/processed_ATL03_20190107154149_01560202_006_02.h5\n",
+ "2024-12-20 20:23:22,420 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:23:22,756 - INFO - ./data/processed_ATL03_20190408112141_01560302_006_02.h5\n",
+ "2024-12-20 20:23:22,760 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:23:23,084 - INFO - ./data/processed_ATL03_20190710190835_01940406_006_02.h5\n",
+ "2024-12-20 20:23:23,086 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:23:23,463 - INFO - ./data/processed_ATL03_20190806053720_05980402_006_02.h5\n",
+ "2024-12-20 20:23:23,465 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:23:39,942 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:23:39,943 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:23:39,976 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:23:39,976 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:23:40,039 - INFO - SUCCESS!\n",
+ "2024-12-20 20:23:40,050 - INFO - ./data/processed_ATL03_20191009144841_01940506_006_02.h5\n",
+ "2024-12-20 20:23:40,053 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:23:40,413 - INFO - ./data/processed_ATL03_20191105011714_05980502_006_01.h5\n",
+ "2024-12-20 20:23:40,416 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:23:54,391 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:23:54,391 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:23:54,417 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:23:54,418 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:23:54,474 - INFO - SUCCESS!\n",
+ "2024-12-20 20:23:54,485 - INFO - ./data/processed_ATL03_20191210115225_11390506_006_01.h5\n",
+ "2024-12-20 20:23:54,487 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:23:54,814 - INFO - ./data/processed_ATL03_20200105222056_01560602_006_01.h5\n",
+ "2024-12-20 20:23:54,819 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:24:04,694 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:24:04,742 - INFO - ./data/processed_ATL03_20200108102826_01940606_006_01.h5\n",
+ "2024-12-20 20:24:04,745 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:24:11,504 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:24:11,552 - INFO - ./data/processed_ATL03_20200408060812_01940706_006_02.h5\n",
+ "2024-12-20 20:24:11,555 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:24:18,093 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:24:18,094 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:24:18,139 - INFO - SUCCESS!\n",
+ "2024-12-20 20:24:18,149 - INFO - ./data/processed_ATL03_20200504163646_05980702_006_01.h5\n",
+ "2024-12-20 20:24:18,151 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:24:25,925 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:24:25,926 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:24:25,959 - INFO - SUCCESS!\n",
+ "2024-12-20 20:24:25,969 - INFO - ./data/processed_ATL03_20200705134029_01560802_006_01.h5\n",
+ "2024-12-20 20:24:25,972 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:24:35,722 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:24:35,723 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:24:35,767 - INFO - SUCCESS!\n",
+ "2024-12-20 20:24:35,782 - INFO - ./data/processed_ATL03_20201006212745_01940906_006_01.h5\n",
+ "2024-12-20 20:24:35,784 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:24:48,875 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:24:48,875 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:24:48,895 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:24:48,896 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:24:48,957 - INFO - SUCCESS!\n",
+ "2024-12-20 20:24:48,966 - INFO - ./data/processed_ATL03_20210103050011_01561002_006_01.h5\n",
+ "2024-12-20 20:24:48,968 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:25:05,912 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:25:05,913 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:25:05,927 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:25:05,928 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:25:05,974 - INFO - SUCCESS!\n",
+ "2024-12-20 20:25:05,984 - INFO - ./data/processed_ATL03_20210406124733_01941106_006_02.h5\n",
+ "2024-12-20 20:25:05,987 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:25:06,313 - INFO - ./data/processed_ATL03_20210703201953_01561202_006_01.h5\n",
+ "2024-12-20 20:25:06,314 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:25:06,592 - INFO - ./data/processed_ATL03_20210706082722_01941206_006_01.h5\n",
+ "2024-12-20 20:25:06,593 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:25:19,024 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:25:19,025 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:25:19,045 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:25:19,045 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:25:19,085 - INFO - SUCCESS!\n",
+ "2024-12-20 20:25:19,095 - INFO - ./data/processed_ATL03_20211002155952_01561302_006_01.h5\n",
+ "2024-12-20 20:25:19,096 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:25:42,893 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-12-20 20:25:42,894 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:25:42,952 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-12-20 20:25:42,952 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:25:43,004 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:25:43,005 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:25:43,081 - INFO - SUCCESS!\n",
+ "2024-12-20 20:25:43,093 - INFO - ./data/processed_ATL03_20220101113944_01561402_006_01.h5\n",
+ "2024-12-20 20:25:43,094 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:25:43,369 - INFO - ./data/processed_ATL03_20220103234715_01941406_006_01.h5\n",
+ "2024-12-20 20:25:43,370 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:25:49,965 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:25:50,013 - INFO - ./data/processed_ATL03_20220402071936_01561502_006_02.h5\n",
+ "2024-12-20 20:25:50,014 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:25:50,295 - INFO - ./data/processed_ATL03_20220704150705_01941606_006_02.h5\n",
+ "2024-12-20 20:25:50,296 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:25:57,552 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:25:57,553 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:25:57,607 - INFO - SUCCESS!\n",
+ "2024-12-20 20:25:57,621 - INFO - ./data/processed_ATL03_20220930223925_01561702_006_01.h5\n",
+ "2024-12-20 20:25:57,622 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:26:07,163 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:26:07,163 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:26:07,216 - INFO - SUCCESS!\n",
+ "2024-12-20 20:26:07,226 - INFO - ./data/processed_ATL03_20221230181902_01561802_006_02.h5\n",
+ "2024-12-20 20:26:07,227 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n",
+ "2024-12-20 20:26:07,510 - INFO - ./data/processed_ATL03_20230102062635_01941806_006_02.h5\n",
+ "2024-12-20 20:26:07,511 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No Strong Beam\n",
+ "Strong Beams Found: ['gt2l', 'gt3l']\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt2l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:26:14,120 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n",
+ "2024-12-20 20:26:14,169 - INFO - ./data/processed_ATL03_20230403020615_01941906_006_02.h5\n",
+ "2024-12-20 20:26:14,171 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:26:21,552 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-12-20 20:26:21,553 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-12-20 20:26:21,622 - INFO - SUCCESS!\n",
+ "2024-12-20 20:26:21,636 - INFO - ./data/processed_ATL03_20230630093812_01562002_006_02.h5\n",
+ "2024-12-20 20:26:21,638 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt3l']\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:26:28,789 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:26:28,800 - INFO - ./data/processed_ATL03_20230702214544_01942006_006_02.h5\n",
+ "2024-12-20 20:26:28,802 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l', 'gt3l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:26:51,545 - ERROR - An error occurred: No objects to concatenate\n",
+ "2024-12-20 20:26:51,558 - INFO - ./data/processed_ATL03_20190212021707_06970206_006_02.h5\n",
+ "2024-12-20 20:26:51,559 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strong Beams Found: ['gt1l', 'gt2l']\n",
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt1l\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-12-20 20:26:59,891 - ERROR - An error occurred: zero-size array to reduction operation minimum which has no identity\n"
+ ]
+ }
+ ],
+ "source": [
+ "h5names = glob.glob('data/processed_*.h5')\n",
+ "\n",
+ "\n",
+ "for jj in range(len(h5names)):\n",
+ " # code from chao (in Main.ipynb)\n",
+ " atl03_file_inloop = h5names[jj]\n",
+ " ATL03_h5_file_path = os.path.join(workspace_path, atl03_file_inloop)\n",
+ " # print(ATL03_h5_file_path)\n",
+ " shoreline_data_path = os.path.join(workspace_path, other_data_path, shoreline_data)\n",
+ " # print(shoreline_data_path)\n",
+ " GEBCO_full_path = os.path.join(workspace_path, other_data_path, gebco_path)\n",
+ " # print(GEBCO_full_path)\n",
+ " OutputPath = os.path.join(workspace_path, output_path)\n",
+ " # print(OutputPath)\n",
+ " \n",
+ " \n",
+ " #Get the gebco list\n",
+ " GEBCO_file_pattern = os.path.join(GEBCO_full_path, \"gebco_*.tif\")\n",
+ " \n",
+ " #Initialize with an empty list\n",
+ " GEBCO_file_path_lists = []\n",
+ " for GEBCO_file_path_name in glob.glob(GEBCO_file_pattern):\n",
+ " #put the find one into the list\n",
+ " GEBCO_file_path_lists.append(GEBCO_file_path_name)\n",
+ " \n",
+ " # print(GEBCO_file_path_lists)\n",
+ " \n",
+ " # Get all other necessary parameters\n",
+ " horizontal_res = horizontal_res\n",
+ " vertical_res = vertical_res\n",
+ " subsurface_thresh = subsurface_thresh\n",
+ " Ignore_Subsurface_Height_Thres = ignore_subsurface_height_thres\n",
+ " \n",
+ " # Configure logging\n",
+ " logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')\n",
+ " \n",
+ " \n",
+ " # When all paramters ready, call the main function\n",
+ " main()\n",
+ " # delete the hefty h5 file once done with processing - only store calculated kd values\n",
+ " os.remove(ATL03_h5_file_path)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "a67064df-8b1e-4c65-ba47-14b022e6dcfc",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\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",
+ "\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",
+ "\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",
+ "\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"
+ ]
+ }
+ ],
+ "source": [
+ "FF = glob.glob('data/data_*.csv')\n",
+ "FF.sort()\n",
+ "all_turb = pd.DataFrame(data=None,\n",
+ " columns=['time','lat','lon','z','turb'],\n",
+ " )\n",
+ "\n",
+ "for jj in range(len(FF)):\n",
+ " df_full = pd.read_csv(FF[jj],header=0)\n",
+ "\n",
+ " \n",
+ " df = pd.DataFrame(data=None,\n",
+ " columns=['time','lat','lon','z','turb'],\n",
+ " )\n",
+ " # try loading each file\n",
+ " df['time'] = df_full['time (UTC)']\n",
+ " df['lat'] = df_full['latitude (degrees_north)']\n",
+ " df['lon'] = df_full['longitude (degrees_east)']\n",
+ " \n",
+ " # check for various names for depth column\n",
+ " if 'depth (m)' in df_full.columns:\n",
+ " df['z'] = df_full['depth (m)'] \n",
+ " elif 'z (m)' in df_full.columns:\n",
+ " df['z'] = df_full['z (m)']\n",
+ " elif 'depth_reading (m)' in df_full.columns:\n",
+ " df['z'] = df_full['depth_reading (m)']\n",
+ " else:\n",
+ " print('')\n",
+ "\n",
+ " # check for various names for turbidity column\n",
+ " if 'turbidity (ntus)' in df_full.columns:\n",
+ " df['turb'] = df_full['turbidity (ntus)']\n",
+ " elif 'turbidity (NTU)' in df_full.columns:\n",
+ " df['turb'] = df_full['turbidity (NTU)']\n",
+ " elif 'sea_water_turbidity (NTU)' in df_full.columns:\n",
+ " df['turb'] = df_full['sea_water_turbidity (NTU)']\n",
+ " elif 'sea_water_turbidity (RFU)' in df_full.columns:\n",
+ " df['turb'] = df_full['sea_water_turbidity (RFU)']\n",
+ " elif 'sea_water_turbidity_1 (1)' in df_full.columns:\n",
+ " df['turb'] = df_full['sea_water_turbidity_1 (1)']\n",
+ " elif 'NTU (ntu)' in df_full.columns:\n",
+ " df['turb'] = df_full['NTU (ntu)']\n",
+ " else:\n",
+ " print(FF[jj])\n",
+ " \n",
+ " \n",
+ " df = df[df['z']<2]\n",
+ " \n",
+ " all_turb = pd.concat([all_turb, df], ignore_index=True)\n",
+ "\n",
+ "\n",
+ "all_turb = all_turb.dropna(axis='index')\n",
+ "all_turb.reset_index(drop=True, inplace=True)\n",
+ "all_turb.to_csv('results/all_turbidity_compile.csv')"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/03_calckd_buoys.ipynb b/icesat2_kdph-main/03_calckd_buoys.ipynb
new file mode 100644
index 0000000..d65c61a
--- /dev/null
+++ b/icesat2_kdph-main/03_calckd_buoys.ipynb
@@ -0,0 +1,1490 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "bc036035",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import glob\n",
+ "from datetime import datetime, timedelta\n",
+ "import matplotlib.pyplot as plt\n",
+ "from scipy import stats\n",
+ "\n",
+ "%cd -q '/Users/hglover/Library/CloudStorage/Box-Box/HannahGlover/Research/data'\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "61cd619c",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "5f48f327",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def calc_kd(z,par):\n",
+ " z = np.abs(z)\n",
+ " # remove nans and negative par values (bad data)\n",
+ " z = z[(par>=0) & ~np.isnan(par)]\n",
+ " par = par[(par>=0) & ~np.isnan(par)]\n",
+ "\n",
+ " # calculate Kd from the log-linear slope of the light decay\n",
+ " lnpar = np.log(par)\n",
+ " \n",
+ " fit = stats.linregress(x=z,y=lnpar)\n",
+ " kd = np.abs(fit.slope)\n",
+ " rval = np.abs(fit.rvalue)\n",
+ " stderr = fit.stderr\n",
+ " return kd, rval, stderr\n",
+ "\n",
+ "\n",
+ "def ooi_run_kdcalc(df):\n",
+ " \n",
+ " # get the start time of the file\n",
+ " t = df.loc[0,'time'] \n",
+ " # check if there is no data shallower than 20 m:\n",
+ " df = df[abs(df['z'])<20]\n",
+ " if len(df) < 4:\n",
+ " kd = np.nan\n",
+ " rval = np.nan\n",
+ " stderr = np.nan\n",
+ " return kd, rval, stderr, t\n",
+ " \n",
+ " # if there is data, check for multiple casts:\n",
+ " df.reset_index(drop=True, inplace=True)\n",
+ " dt = df['time'].diff()\n",
+ " df['cast'] = 0\n",
+ " cast = 0\n",
+ " for jj in range(len(df)):\n",
+ " if dt[jj]>timedelta(minutes=10):\n",
+ " cast += 1\n",
+ " df.loc[jj,'cast'] = cast\n",
+ " else:\n",
+ " df.loc[jj,'cast'] = cast\n",
+ " tot_casts = len(np.unique(df['cast']))\n",
+ " \n",
+ " # if there's only 1 cast, calculate kd once\n",
+ " # otherwise loop through casts and calc for each\n",
+ " if tot_casts==1:\n",
+ " # pull out depth and par\n",
+ " z = df['z'].to_numpy()\n",
+ " par = df['par'].to_numpy()\n",
+ " t = df.loc[0,'time']\n",
+ " kd, rval, stderr = calc_kd(z,par)\n",
+ " else:\n",
+ " kd = np.empty(tot_casts)\n",
+ " rval = np.empty(tot_casts)\n",
+ " stderr = np.empty(tot_casts)\n",
+ " t = df.loc[:tot_casts,'time']\n",
+ " for jj in range(tot_casts):\n",
+ " z = df.loc[df['cast']==jj,'z'].to_numpy()\n",
+ " par = df.loc[df['cast']==jj,'par'].to_numpy()\n",
+ " t[jj] = min(df.loc[df['cast']==jj,'time'])\n",
+ " kd[jj], rval[jj], stderr[jj] = calc_kd(z,par)\n",
+ " \n",
+ " return kd, rval, stderr, t\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "# much simpler for ws dataset - only 1 cast per file\n",
+ "def ws_kd_calc(df):\n",
+ " # pull out depth and par\n",
+ " z = np.abs(df['z'].to_numpy())\n",
+ " par = df['par'].to_numpy()\n",
+ " \n",
+ " # remove nans and negative par values (bad data)\n",
+ " z = z[(par>=0) & ~np.isnan(par)]\n",
+ " par = par[(par>=0) & ~np.isnan(par)]\n",
+ "\n",
+ " # only calculate over upper 10m\n",
+ " par = par[z<20]\n",
+ " z = z[z<20]\n",
+ " \n",
+ " if len(z) == 0:\n",
+ " kd = np.nan\n",
+ " rval = np.nan\n",
+ " stderr = np.nan\n",
+ " else:\n",
+ " # calc ln of par \n",
+ " lnpar = np.log(par)\n",
+ " # calculate Kd from the log-linear slope of the light decay\n",
+ " fit = stats.linregress(x=z,y=lnpar)\n",
+ "# par_pred = fit.slope*z + lnpar[0]\n",
+ " kd = np.abs(fit.slope)\n",
+ " rval = fit.rvalue\n",
+ " stderr=fit.stderr\n",
+ "\n",
+ " return kd,rval,stderr"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 77,
+ "id": "fa6cd1ba",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "1.0010991938234688 -0.9986642388432644\n",
+ "1.0040070941250372 -0.9751482427953707\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "
"
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "FF = glob.glob('icesat2/ooi/data*.csv')\n",
+ "FF.sort()\n",
+ "\n",
+ "ooi_kd_array = pd.DataFrame(data=None,\n",
+ " index=range(len(FF)),\n",
+ " columns=['time','lat','lon','kd','rval','stderr','stn']\n",
+ " )\n",
+ "jj = 43\n",
+ " \n",
+ "df = pd.read_csv(FF[jj],\n",
+ " index_col=0,\n",
+ " header=0,\n",
+ " usecols=[i for i in range(6)],\n",
+ " names=['', 'time', 'lat', 'lon', 'z', 'par']\n",
+ " ) #\n",
+ "df['time'] = pd.to_datetime(df[\"time\"]).round('s')\n",
+ "df = df[abs(df['z'])<20]\n",
+ "df.reset_index(drop=True, inplace=True)\n",
+ "dt = df['time'].diff()\n",
+ "\n",
+ "df['cast'] = 0\n",
+ "cast = 0\n",
+ "for jj in range(len(df)):\n",
+ " if dt[jj]>timedelta(minutes=10):\n",
+ " cast += 1\n",
+ " df.loc[jj,'cast'] = cast\n",
+ " else:\n",
+ " df.loc[jj,'cast'] = cast\n",
+ "tot_casts = len(np.unique(df['cast']))\n",
+ "\n",
+ "\n",
+ "for jj in range(tot_casts):\n",
+ " # pull out depth and par\n",
+ " z = np.abs(df.loc[df['cast']==jj,'z'].to_numpy())\n",
+ " par = df.loc[df['cast']==jj,'par'].to_numpy()\n",
+ " \n",
+ "# # sort by depth\n",
+ "# par = par[np.argsort(z)]\n",
+ "# z = np.sort(z)\n",
+ "\n",
+ " # remove nans and negative par values (bad data)\n",
+ " z = z[(par>=0) & ~np.isnan(par)]\n",
+ " par = par[(par>=0) & ~np.isnan(par)]\n",
+ " \n",
+ " lnpar = np.log(par)\n",
+ " # calculate Kd from the log-linear slope of the light decay\n",
+ " fit = stats.linregress(x=z,y=lnpar)\n",
+ " kd = np.abs(fit.slope)\n",
+ " rval = np.abs(fit.rvalue)\n",
+ " stderr = fit.stderr\n",
+ " print(stderr,rval)\n",
+ "\n",
+ "# plt.figure()\n",
+ "# plt.plot(z,lnpar,'k-')\n",
+ "# par_pred = fit.slope*z +fit.intercept\n",
+ "# plt.plot(z,par_pred,'r-')\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "id": "f7d21db7",
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/var/folders/p0/vpgr0c8j2493xrh10b954hv40000gn/T/ipykernel_82733/2592737949.py:32: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df['cast'] = 0\n",
+ "/var/folders/p0/vpgr0c8j2493xrh10b954hv40000gn/T/ipykernel_82733/2592737949.py:32: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df['cast'] = 0\n",
+ "/var/folders/p0/vpgr0c8j2493xrh10b954hv40000gn/T/ipykernel_82733/2592737949.py:32: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df['cast'] = 0\n",
+ "/var/folders/p0/vpgr0c8j2493xrh10b954hv40000gn/T/ipykernel_82733/2592737949.py:32: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df['cast'] = 0\n",
+ "/var/folders/p0/vpgr0c8j2493xrh10b954hv40000gn/T/ipykernel_82733/2592737949.py:32: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df['cast'] = 0\n",
+ "/var/folders/p0/vpgr0c8j2493xrh10b954hv40000gn/T/ipykernel_82733/2592737949.py:32: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df['cast'] = 0\n",
+ "/var/folders/p0/vpgr0c8j2493xrh10b954hv40000gn/T/ipykernel_82733/2592737949.py:32: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df['cast'] = 0\n",
+ "/var/folders/p0/vpgr0c8j2493xrh10b954hv40000gn/T/ipykernel_82733/2592737949.py:32: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df['cast'] = 0\n",
+ "/var/folders/p0/vpgr0c8j2493xrh10b954hv40000gn/T/ipykernel_82733/2592737949.py:32: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df['cast'] = 0\n",
+ "/var/folders/p0/vpgr0c8j2493xrh10b954hv40000gn/T/ipykernel_82733/2592737949.py:32: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df['cast'] = 0\n",
+ "/var/folders/p0/vpgr0c8j2493xrh10b954hv40000gn/T/ipykernel_82733/2592737949.py:32: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df['cast'] = 0\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
time
\n",
+ "
lat
\n",
+ "
lon
\n",
+ "
kd
\n",
+ "
rval
\n",
+ "
stderr
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
0
\n",
+ "
2019-06-03 13:59:00+00:00
\n",
+ "
44.6589
\n",
+ "
-124.09595
\n",
+ "
0.200945
\n",
+ "
0.997587
\n",
+ "
0.003611
\n",
+ "
\n",
+ "
\n",
+ "
1
\n",
+ "
2019-08-06 19:59:00+00:00
\n",
+ "
44.6589
\n",
+ "
-124.09595
\n",
+ "
0.395541
\n",
+ "
0.98714
\n",
+ "
0.015536
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
2021-08-28 20:06:00+00:00
\n",
+ "
44.6589
\n",
+ "
-124.09595
\n",
+ "
0.21767
\n",
+ "
0.994769
\n",
+ "
0.005421
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
2022-07-02 20:07:00+00:00
\n",
+ "
44.6589
\n",
+ "
-124.09595
\n",
+ "
0.443859
\n",
+ "
0.985796
\n",
+ "
0.017824
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
2019-10-07 20:16:00+00:00
\n",
+ "
44.63302
\n",
+ "
-124.30233
\n",
+ "
0.218362
\n",
+ "
0.999622
\n",
+ "
0.001416
\n",
+ "
\n",
+ "
\n",
+ "
5
\n",
+ "
2023-05-30 12:03:00+00:00
\n",
+ "
44.369353
\n",
+ "
-124.954108
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
6
\n",
+ "
2024-08-26 14:35:00+00:00
\n",
+ "
44.369353
\n",
+ "
-124.954108
\n",
+ "
0.114253
\n",
+ "
0.985469
\n",
+ "
0.003282
\n",
+ "
\n",
+ "
\n",
+ "
7
\n",
+ "
2024-08-26 16:50:00+00:00
\n",
+ "
44.369353
\n",
+ "
-124.954108
\n",
+ "
0.095343
\n",
+ "
0.989141
\n",
+ "
0.002361
\n",
+ "
\n",
+ "
\n",
+ "
8
\n",
+ "
2024-08-26 19:15:00+00:00
\n",
+ "
44.369353
\n",
+ "
-124.954108
\n",
+ "
0.096678
\n",
+ "
0.998941
\n",
+ "
0.000775
\n",
+ "
\n",
+ "
\n",
+ "
9
\n",
+ "
2019-09-08 20:03:00+00:00
\n",
+ "
47.13553
\n",
+ "
-124.27017
\n",
+ "
0.262604
\n",
+ "
0.997522
\n",
+ "
0.004492
\n",
+ "
\n",
+ "
\n",
+ "
10
\n",
+ "
2021-06-27 23:32:00+00:00
\n",
+ "
47.13553
\n",
+ "
-124.27017
\n",
+ "
0.244665
\n",
+ "
0.995813
\n",
+ "
0.005447
\n",
+ "
\n",
+ "
\n",
+ "
11
\n",
+ "
2019-06-14 01:30:00+00:00
\n",
+ "
46.85262
\n",
+ "
-124.98263
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
12
\n",
+ "
2020-09-09 23:44:00+00:00
\n",
+ "
46.85262
\n",
+ "
-124.98263
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
13
\n",
+ "
2022-03-09 01:09:00+00:00
\n",
+ "
46.85262
\n",
+ "
-124.98263
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
14
\n",
+ "
2022-03-31 11:43:00+00:00
\n",
+ "
46.85262
\n",
+ "
-124.98263
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
15
\n",
+ "
2023-03-29 17:10:00+00:00
\n",
+ "
46.85262
\n",
+ "
-124.98263
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
16
\n",
+ "
2024-03-26 21:37:00+00:00
\n",
+ "
46.85262
\n",
+ "
-124.98263
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
17
\n",
+ "
2022-01-27 21:02:00+00:00
\n",
+ "
40.133907
\n",
+ "
-70.770433
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
18
\n",
+ "
2019-08-03 15:19:00+00:00
\n",
+ "
40.226633
\n",
+ "
-70.889067
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
19
\n",
+ "
2020-08-02 12:02:00+00:00
\n",
+ "
40.226633
\n",
+ "
-70.889067
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
20
\n",
+ "
2021-07-31 18:02:00+00:00
\n",
+ "
40.226633
\n",
+ "
-70.889067
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
21
\n",
+ "
2022-10-28 21:02:00+00:00
\n",
+ "
40.226633
\n",
+ "
-70.889067
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
22
\n",
+ "
2019-08-03 15:19:00+00:00
\n",
+ "
40.096817
\n",
+ "
-70.87915
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
23
\n",
+ "
2021-01-29 15:02:00+00:00
\n",
+ "
40.096817
\n",
+ "
-70.87915
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
24
\n",
+ "
2021-07-31 18:02:00+00:00
\n",
+ "
40.096817
\n",
+ "
-70.87915
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
25
\n",
+ "
2022-01-27 21:02:00+00:00
\n",
+ "
40.096817
\n",
+ "
-70.87915
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
26
\n",
+ "
2022-10-27 09:02:00+00:00
\n",
+ "
40.096817
\n",
+ "
-70.87915
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
27
\n",
+ "
2022-01-28 00:02:00+00:00
\n",
+ "
40.364917
\n",
+ "
-70.780483
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
28
\n",
+ "
2022-05-29 03:02:00+00:00
\n",
+ "
40.364917
\n",
+ "
-70.780483
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
29
\n",
+ "
2022-10-27 09:02:00+00:00
\n",
+ "
40.364917
\n",
+ "
-70.780483
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
30
\n",
+ "
2018-11-04 06:02:00+00:00
\n",
+ "
39.939333
\n",
+ "
-70.770183
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
31
\n",
+ "
2019-02-03 00:02:00+00:00
\n",
+ "
39.939333
\n",
+ "
-70.770183
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
32
\n",
+ "
2020-10-30 18:03:00+00:00
\n",
+ "
39.939333
\n",
+ "
-70.770183
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
33
\n",
+ "
2021-10-30 12:02:00+00:00
\n",
+ "
39.939333
\n",
+ "
-70.770183
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
34
\n",
+ "
2022-01-27 21:02:00+00:00
\n",
+ "
39.939333
\n",
+ "
-70.770183
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
35
\n",
+ "
2022-01-27 21:02:00+00:00
\n",
+ "
40.362005
\n",
+ "
-70.878502
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
36
\n",
+ "
2022-01-27 21:02:00+00:00
\n",
+ "
40.362005
\n",
+ "
-70.878502
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
37
\n",
+ "
2019-02-04 12:02:00+00:00
\n",
+ "
39.936
\n",
+ "
-70.879417
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
38
\n",
+ "
2019-08-05 03:03:00+00:00
\n",
+ "
39.936
\n",
+ "
-70.879417
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
39
\n",
+ "
2019-11-04 00:02:00+00:00
\n",
+ "
39.936
\n",
+ "
-70.879417
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
40
\n",
+ "
2020-10-30 18:03:00+00:00
\n",
+ "
39.936
\n",
+ "
-70.879417
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
41
\n",
+ "
2021-05-01 21:02:00+00:00
\n",
+ "
39.936
\n",
+ "
-70.879417
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
42
\n",
+ "
2021-07-31 18:02:00+00:00
\n",
+ "
39.936
\n",
+ "
-70.879417
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
43
\n",
+ "
2022-01-27 21:02:00+00:00
\n",
+ "
39.936
\n",
+ "
-70.879417
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
44
\n",
+ "
2021-03-10 16:49:00+00:00
\n",
+ "
44.528949
\n",
+ "
-125.389664
\n",
+ "
0.101806
\n",
+ "
0.818641
\n",
+ "
0.011436
\n",
+ "
\n",
+ "
\n",
+ "
45
\n",
+ "
2021-03-10 19:13:00+00:00
\n",
+ "
44.528949
\n",
+ "
-125.389664
\n",
+ "
0.079797
\n",
+ "
0.626137
\n",
+ "
0.017042
\n",
+ "
\n",
+ "
\n",
+ "
46
\n",
+ "
2022-05-09 19:15:00+00:00
\n",
+ "
44.515161
\n",
+ "
-125.389899
\n",
+ "
0.123811
\n",
+ "
0.998664
\n",
+ "
0.001099
\n",
+ "
\n",
+ "
\n",
+ "
47
\n",
+ "
2022-05-09 21:45:00+00:00
\n",
+ "
44.515161
\n",
+ "
-125.389899
\n",
+ "
0.115422
\n",
+ "
0.975148
\n",
+ "
0.003999
\n",
+ "
\n",
+ "
\n",
+ "
48
\n",
+ "
2023-07-02 10:30:00+00:00
\n",
+ "
44.515161
\n",
+ "
-125.389899
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
49
\n",
+ "
2023-10-01 06:10:00+00:00
\n",
+ "
44.515161
\n",
+ "
-125.389899
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
50
\n",
+ "
2023-10-01 06:10:00+00:00
\n",
+ "
44.515161
\n",
+ "
-125.389899
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
51
\n",
+ "
2024-03-30 21:45:00+00:00
\n",
+ "
44.515161
\n",
+ "
-125.389899
\n",
+ "
0.108411
\n",
+ "
0.991019
\n",
+ "
0.002134
\n",
+ "
\n",
+ "
\n",
+ "
52
\n",
+ "
2024-03-31 01:29:00+00:00
\n",
+ "
44.515161
\n",
+ "
-125.389899
\n",
+ "
0.111699
\n",
+ "
0.984428
\n",
+ "
0.003279
\n",
+ "
\n",
+ "
\n",
+ "
53
\n",
+ "
2021-01-02 18:34:00+00:00
\n",
+ "
45.816712
\n",
+ "
-129.754055
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
54
\n",
+ "
2021-04-03 14:52:00+00:00
\n",
+ "
45.816712
\n",
+ "
-129.754055
\n",
+ "
0.093002
\n",
+ "
0.981762
\n",
+ "
0.002884
\n",
+ "
\n",
+ "
\n",
+ "
55
\n",
+ "
2021-04-03 17:07:00+00:00
\n",
+ "
45.816712
\n",
+ "
-129.754055
\n",
+ "
0.091118
\n",
+ "
0.989766
\n",
+ "
0.002077
\n",
+ "
\n",
+ "
\n",
+ "
56
\n",
+ "
2021-04-03 19:32:00+00:00
\n",
+ "
45.816712
\n",
+ "
-129.754055
\n",
+ "
0.084795
\n",
+ "
0.988416
\n",
+ "
0.002112
\n",
+ "
\n",
+ "
\n",
+ "
57
\n",
+ "
2023-03-24 15:33:00+00:00
\n",
+ "
45.816712
\n",
+ "
-129.754055
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
58
\n",
+ "
2023-06-29 23:12:00+00:00
\n",
+ "
45.816712
\n",
+ "
-129.754055
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
59
\n",
+ "
2023-09-28 18:51:00+00:00
\n",
+ "
45.816712
\n",
+ "
-129.754055
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " time lat lon kd rval \\\n",
+ "0 2019-06-03 13:59:00+00:00 44.6589 -124.09595 0.200945 0.997587 \n",
+ "1 2019-08-06 19:59:00+00:00 44.6589 -124.09595 0.395541 0.98714 \n",
+ "2 2021-08-28 20:06:00+00:00 44.6589 -124.09595 0.21767 0.994769 \n",
+ "3 2022-07-02 20:07:00+00:00 44.6589 -124.09595 0.443859 0.985796 \n",
+ "4 2019-10-07 20:16:00+00:00 44.63302 -124.30233 0.218362 0.999622 \n",
+ "5 2023-05-30 12:03:00+00:00 44.369353 -124.954108 NaN NaN \n",
+ "6 2024-08-26 14:35:00+00:00 44.369353 -124.954108 0.114253 0.985469 \n",
+ "7 2024-08-26 16:50:00+00:00 44.369353 -124.954108 0.095343 0.989141 \n",
+ "8 2024-08-26 19:15:00+00:00 44.369353 -124.954108 0.096678 0.998941 \n",
+ "9 2019-09-08 20:03:00+00:00 47.13553 -124.27017 0.262604 0.997522 \n",
+ "10 2021-06-27 23:32:00+00:00 47.13553 -124.27017 0.244665 0.995813 \n",
+ "11 2019-06-14 01:30:00+00:00 46.85262 -124.98263 NaN NaN \n",
+ "12 2020-09-09 23:44:00+00:00 46.85262 -124.98263 NaN NaN \n",
+ "13 2022-03-09 01:09:00+00:00 46.85262 -124.98263 NaN NaN \n",
+ "14 2022-03-31 11:43:00+00:00 46.85262 -124.98263 NaN NaN \n",
+ "15 2023-03-29 17:10:00+00:00 46.85262 -124.98263 NaN NaN \n",
+ "16 2024-03-26 21:37:00+00:00 46.85262 -124.98263 NaN NaN \n",
+ "17 2022-01-27 21:02:00+00:00 40.133907 -70.770433 NaN NaN \n",
+ "18 2019-08-03 15:19:00+00:00 40.226633 -70.889067 NaN NaN \n",
+ "19 2020-08-02 12:02:00+00:00 40.226633 -70.889067 NaN NaN \n",
+ "20 2021-07-31 18:02:00+00:00 40.226633 -70.889067 NaN NaN \n",
+ "21 2022-10-28 21:02:00+00:00 40.226633 -70.889067 NaN NaN \n",
+ "22 2019-08-03 15:19:00+00:00 40.096817 -70.87915 NaN NaN \n",
+ "23 2021-01-29 15:02:00+00:00 40.096817 -70.87915 NaN NaN \n",
+ "24 2021-07-31 18:02:00+00:00 40.096817 -70.87915 NaN NaN \n",
+ "25 2022-01-27 21:02:00+00:00 40.096817 -70.87915 NaN NaN \n",
+ "26 2022-10-27 09:02:00+00:00 40.096817 -70.87915 NaN NaN \n",
+ "27 2022-01-28 00:02:00+00:00 40.364917 -70.780483 NaN NaN \n",
+ "28 2022-05-29 03:02:00+00:00 40.364917 -70.780483 NaN NaN \n",
+ "29 2022-10-27 09:02:00+00:00 40.364917 -70.780483 NaN NaN \n",
+ "30 2018-11-04 06:02:00+00:00 39.939333 -70.770183 NaN NaN \n",
+ "31 2019-02-03 00:02:00+00:00 39.939333 -70.770183 NaN NaN \n",
+ "32 2020-10-30 18:03:00+00:00 39.939333 -70.770183 NaN NaN \n",
+ "33 2021-10-30 12:02:00+00:00 39.939333 -70.770183 NaN NaN \n",
+ "34 2022-01-27 21:02:00+00:00 39.939333 -70.770183 NaN NaN \n",
+ "35 2022-01-27 21:02:00+00:00 40.362005 -70.878502 NaN NaN \n",
+ "36 2022-01-27 21:02:00+00:00 40.362005 -70.878502 NaN NaN \n",
+ "37 2019-02-04 12:02:00+00:00 39.936 -70.879417 NaN NaN \n",
+ "38 2019-08-05 03:03:00+00:00 39.936 -70.879417 NaN NaN \n",
+ "39 2019-11-04 00:02:00+00:00 39.936 -70.879417 NaN NaN \n",
+ "40 2020-10-30 18:03:00+00:00 39.936 -70.879417 NaN NaN \n",
+ "41 2021-05-01 21:02:00+00:00 39.936 -70.879417 NaN NaN \n",
+ "42 2021-07-31 18:02:00+00:00 39.936 -70.879417 NaN NaN \n",
+ "43 2022-01-27 21:02:00+00:00 39.936 -70.879417 NaN NaN \n",
+ "44 2021-03-10 16:49:00+00:00 44.528949 -125.389664 0.101806 0.818641 \n",
+ "45 2021-03-10 19:13:00+00:00 44.528949 -125.389664 0.079797 0.626137 \n",
+ "46 2022-05-09 19:15:00+00:00 44.515161 -125.389899 0.123811 0.998664 \n",
+ "47 2022-05-09 21:45:00+00:00 44.515161 -125.389899 0.115422 0.975148 \n",
+ "48 2023-07-02 10:30:00+00:00 44.515161 -125.389899 NaN NaN \n",
+ "49 2023-10-01 06:10:00+00:00 44.515161 -125.389899 NaN NaN \n",
+ "50 2023-10-01 06:10:00+00:00 44.515161 -125.389899 NaN NaN \n",
+ "51 2024-03-30 21:45:00+00:00 44.515161 -125.389899 0.108411 0.991019 \n",
+ "52 2024-03-31 01:29:00+00:00 44.515161 -125.389899 0.111699 0.984428 \n",
+ "53 2021-01-02 18:34:00+00:00 45.816712 -129.754055 NaN NaN \n",
+ "54 2021-04-03 14:52:00+00:00 45.816712 -129.754055 0.093002 0.981762 \n",
+ "55 2021-04-03 17:07:00+00:00 45.816712 -129.754055 0.091118 0.989766 \n",
+ "56 2021-04-03 19:32:00+00:00 45.816712 -129.754055 0.084795 0.988416 \n",
+ "57 2023-03-24 15:33:00+00:00 45.816712 -129.754055 NaN NaN \n",
+ "58 2023-06-29 23:12:00+00:00 45.816712 -129.754055 NaN NaN \n",
+ "59 2023-09-28 18:51:00+00:00 45.816712 -129.754055 NaN NaN \n",
+ "\n",
+ " stderr \n",
+ "0 0.003611 \n",
+ "1 0.015536 \n",
+ "2 0.005421 \n",
+ "3 0.017824 \n",
+ "4 0.001416 \n",
+ "5 NaN \n",
+ "6 0.003282 \n",
+ "7 0.002361 \n",
+ "8 0.000775 \n",
+ "9 0.004492 \n",
+ "10 0.005447 \n",
+ "11 NaN \n",
+ "12 NaN \n",
+ "13 NaN \n",
+ "14 NaN \n",
+ "15 NaN \n",
+ "16 NaN \n",
+ "17 NaN \n",
+ "18 NaN \n",
+ "19 NaN \n",
+ "20 NaN \n",
+ "21 NaN \n",
+ "22 NaN \n",
+ "23 NaN \n",
+ "24 NaN \n",
+ "25 NaN \n",
+ "26 NaN \n",
+ "27 NaN \n",
+ "28 NaN \n",
+ "29 NaN \n",
+ "30 NaN \n",
+ "31 NaN \n",
+ "32 NaN \n",
+ "33 NaN \n",
+ "34 NaN \n",
+ "35 NaN \n",
+ "36 NaN \n",
+ "37 NaN \n",
+ "38 NaN \n",
+ "39 NaN \n",
+ "40 NaN \n",
+ "41 NaN \n",
+ "42 NaN \n",
+ "43 NaN \n",
+ "44 0.011436 \n",
+ "45 0.017042 \n",
+ "46 0.001099 \n",
+ "47 0.003999 \n",
+ "48 NaN \n",
+ "49 NaN \n",
+ "50 NaN \n",
+ "51 0.002134 \n",
+ "52 0.003279 \n",
+ "53 NaN \n",
+ "54 0.002884 \n",
+ "55 0.002077 \n",
+ "56 0.002112 \n",
+ "57 NaN \n",
+ "58 NaN \n",
+ "59 NaN "
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# calculate Kd from OOI data\n",
+ "\n",
+ "\n",
+ "FF = glob.glob('icesat2/ooi/data*.csv')\n",
+ "FF.sort()\n",
+ "\n",
+ "ooi_kd_array = pd.DataFrame(data=None,\n",
+ " index=range(len(FF)*2),\n",
+ " columns=['time','lat','lon','kd','rval','stderr']\n",
+ " )\n",
+ "cc = 0\n",
+ "for fname in FF:\n",
+ " # load the file as a pandas array\n",
+ " df = pd.read_csv(fname,\n",
+ " index_col=0,\n",
+ " header=0,\n",
+ " usecols=[i for i in range(6)],\n",
+ " names=['', 'time', 'lat', 'lon', 'z', 'par']\n",
+ " ) #\n",
+ " df['time'] = pd.to_datetime(df[\"time\"]).round('s')\n",
+ " # ooi_kd_array.loc[jj,'stn'] = FF[jj][9:-4] # save the file name if its useful\n",
+ "\n",
+ " # calculate kd (there may be more than 1 value if there are multiple casts in 1 file)\n",
+ " try:\n",
+ " kd,rval,stderr,t = ooi_run_kdcalc(df)\n",
+ " except:\n",
+ " kd = np.nan\n",
+ " rval = np.nan\n",
+ " stderr = np.nan\n",
+ " \n",
+ " # either put in the 1 value or put in each value...super dumb way to do this but Im in a rush\n",
+ " if type(kd) != np.ndarray:\n",
+ " ooi_kd_array.loc[cc,'time'] = t\n",
+ " ooi_kd_array.loc[cc,'lat'] = df.loc[1,'lat']\n",
+ " ooi_kd_array.loc[cc,'lon'] = df.loc[1,'lon']\n",
+ " ooi_kd_array.loc[cc,'kd'] = kd\n",
+ " ooi_kd_array.loc[cc,'rval'] = rval\n",
+ " ooi_kd_array.loc[cc,'stderr'] = stderr\n",
+ " cc += 1 # raise counter\n",
+ " else: \n",
+ " for jj in range(len(kd)):\n",
+ " ooi_kd_array.loc[cc,'time'] = t[jj]\n",
+ " ooi_kd_array.loc[cc,'lat'] = df.loc[1,'lat']\n",
+ " ooi_kd_array.loc[cc,'lon'] = df.loc[1,'lon']\n",
+ " ooi_kd_array.loc[cc,'kd'] = kd[jj]\n",
+ " ooi_kd_array.loc[cc,'rval'] = rval[jj]\n",
+ " ooi_kd_array.loc[cc,'stderr'] = stderr[jj]\n",
+ " cc += 1 # raise counter\n",
+ "\n",
+ "ooi_kd_array = ooi_kd_array.dropna(how='all')\n",
+ "\n",
+ "# pd.DataFrame()\n",
+ "# d = {'time' = ff[0,1],'kd': m, 'rval': rval, 'stderr': stderr}\n",
+ "# df = pd.DataFrame(data=d)\n",
+ "\n",
+ "ooi_kd_array.to_csv('../output/icesat2/ooi_kdcalculations10m.csv')\n",
+ "ooi_kd_array"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "id": "2c841687",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# color by time offset (hours) between buoy and icesat-2\n",
+ "plt.figure()\n",
+ "p = plt.scatter(turb['turb'],turb['icesat2_kd'],s=20,c=turb['time_offset']/3.6e9,vmin=0,vmax=6)\n",
+ "plt.colorbar(p)\n",
+ "plt.xlabel('turbidity (NTUs)')\n",
+ "plt.ylabel('kd from icesat-2')\n",
+ "plt.xlim([-2,200])\n",
+ "plt.ylim([0.01,0.45])"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/LICENSE b/icesat2_kdph-main/LICENSE
new file mode 100644
index 0000000..7e90438
--- /dev/null
+++ b/icesat2_kdph-main/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 gloverha
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/icesat2_kdph-main/Main.ipynb b/icesat2_kdph-main/Main.ipynb
new file mode 100644
index 0000000..bfce771
--- /dev/null
+++ b/icesat2_kdph-main/Main.ipynb
@@ -0,0 +1,363 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "5e0f151d-ae57-4612-bd22-fe99186f0c91",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet rtree"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "7335b77d-91bf-44ee-b871-93798bfb993d",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "%pip install --quiet hdbscan"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "51198b80-27e1-4229-92f1-4db7ba4611fd",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# main.py\n",
+ "import os\n",
+ "import re\n",
+ "import glob\n",
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import logging\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "from config import workspace_path, atl03_path, atl03_file,\\\n",
+ " other_data_path ,shoreline_data ,gebco_path ,\\\n",
+ " horizontal_res ,vertical_res ,subsurface_thresh ,\\\n",
+ " ignore_subsurface_height_thres ,output_path \n",
+ "\n",
+ "\n",
+ " \n",
+ "from kd_utils.data_processing import load_data, \\\n",
+ " extract_file_params, \\\n",
+ " Extract_sea_photons, \\\n",
+ " filter_photon_dataset_by_hull_area, \\\n",
+ " plot_convex_hulls\n",
+ " \n",
+ "from kd_utils.sea_photons_analysis import process_sea_photon_binning,\\\n",
+ " get_sea_surface_height\n",
+ " \n",
+ " \n",
+ "from kd_utils.bathy_processing import process_subsurface_photon_filtering\n",
+ "\n",
+ "from kd_utils.visualization import plot_photon_height, \\\n",
+ " plot_kd_photons, \\\n",
+ " plot_filtered_seafloor_photons\n",
+ " \n",
+ "from kd_utils.Kd_analysis import process_kd_calculation\n",
+ "\n",
+ "from kd_utils.interpolation import geoid_correction, \\\n",
+ " refraction_correction, \\\n",
+ " interpolate_labels, \\\n",
+ " apply_interpolation\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "c92c03d7-10ea-4401-8c87-315935464cc6",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def main():\n",
+ " try:\n",
+ " \n",
+ " # Load IS2 and extract sea photons\n",
+ " IS2_atl03_mds, IS2_atl03_attrs, IS2_atl03_beams = load_data(ATL03_h5_file_path) \n",
+ " \n",
+ " # Extract sea photon by applying the land mask\n",
+ " sea_photon_dataset = Extract_sea_photons(IS2_atl03_mds, IS2_atl03_beams, shoreline_data_path)\n",
+ " \n",
+ " \n",
+ " # Main processing function to apply binning beam-by-beam \n",
+ " # to bin the photons data by vertical_res 25 cm and horizontal resolution 500m\n",
+ " binned_dataset_sea_surface = process_sea_photon_binning(sea_photon_dataset, horizontal_res=horizontal_res, vertical_res=vertical_res)\n",
+ " \n",
+ " \n",
+ " # filter to get subsurface photons\n",
+ " sea_surface_height, sea_surface_label, filtered_seafloor_subsurface_photon_dataset = \\\n",
+ " process_subsurface_photon_filtering(binned_dataset_sea_surface, subsurface_thresh, GEBCO_file_path_lists)\n",
+ " \n",
+ " \n",
+ " # Visualization of the filtered seafloor photons\n",
+ " # Uncomment the following lines to visualize if needed\n",
+ " # output_path = OutputPath+'/IS2_subsurface_RM_Seafloor.jpg'\n",
+ " # plot_filtered_seafloor_photons(filtered_seafloor_subsurface_dataset=filtered_seafloor_subsurface_photon_dataset, \n",
+ " # sea_photon_dataset=sea_photon_dataset, \n",
+ " # sea_surface_height=sea_surface_height, \n",
+ " # output_path=output_path)\n",
+ " \n",
+ " ########################\n",
+ " # Todo: move the filter to the begining\n",
+ " # Filter shallow photons that may have noises from wave, afterpulse, or others\n",
+ " # by setting Ignore_Subsurface_Height_Thres (i.e., -6)\n",
+ " # Masked out the deep water photons by applying (filtered_seafloor_subsurface_photon_dataset < Ignore_Subsurface_Height_Thres)\n",
+ " # Filter out points below the seafloor\n",
+ " Final_filtered_subsurface_photon_dataset = filtered_seafloor_subsurface_photon_dataset[\n",
+ " filtered_seafloor_subsurface_photon_dataset['photon_height'] < Ignore_Subsurface_Height_Thres\n",
+ " ]\n",
+ " # Final_filtered_subsurface_photon_dataset = filtered_seafloor_subsurface_photon_dataset\n",
+ " \n",
+ " \n",
+ " ###################################\n",
+ " ### Todo: move the filter to the begining\n",
+ " # Steps to standardize KD calculation by filtering out \n",
+ " # segments lacking sufficient subsurface photons.\n",
+ " # Approach: Use the ConvexHull of photons within \n",
+ " # each rectanglar area formed by each horizontal bin (here, it is lat_bins) and \n",
+ " # based on dataframe Final_filtered_subsurface_photon_dataset along the distance of the track\n",
+ " \n",
+ " # Apply filtering based on hull area if desired\n",
+ " Final_filtered_subsurface_photon_dataset, convex_hull_areas, convex_hulls = filter_photon_dataset_by_hull_area(\n",
+ " Final_filtered_subsurface_photon_dataset, hull_area_threshold=5000\n",
+ " )\n",
+ " \n",
+ " # Visualization\n",
+ " # Uncomment the following line to visualize if needed\n",
+ " # plot_convex_hulls(Final_filtered_subsurface_photon_dataset, convex_hulls, convex_hull_areas)\n",
+ " \n",
+ " ########################################### \n",
+ " # calculate kd and save it to table\n",
+ " SubsurfacePhotonDFAddedKd = process_kd_calculation(Final_filtered_subsurface_photon_dataset)\n",
+ " \n",
+ " \n",
+ " ## Todo move this part into a function so that it will not looks too busy here\n",
+ " # Extract the timestamp using regex and use it to set the output file name\n",
+ " match = re.search(r\"_(\\d{14})_\", ATL03_h5_file_path)\n",
+ " timestamp = match.group(1) if match else \"unknown\"\n",
+ " \n",
+ " output_file_path = os.path.join(OutputPath, f\"{timestamp}_AddedKdDataset_strongBeams_Further.csv\")\n",
+ " SubsurfacePhotonDFAddedKd.to_csv(output_file_path, index=False)\n",
+ " \n",
+ " if 'relative_AT_dist' in filtered_seafloor_subsurface_photon_dataset.columns:\n",
+ " unique_photon_dataset = filtered_seafloor_subsurface_photon_dataset[['relative_AT_dist', 'lat_bins', 'photon_height']].drop_duplicates()\n",
+ " unique_photon_dataset['relative_AT_dist_center'] = unique_photon_dataset\\\n",
+ " .groupby('lat_bins', observed=False)['relative_AT_dist'].transform('mean')\n",
+ " def find_closest(group):\n",
+ " if not group.empty:\n",
+ " center = group['relative_AT_dist_center'].iloc[0]\n",
+ " group['dist_to_center'] = abs(group['relative_AT_dist'] - center)\n",
+ " closest_index = group['dist_to_center'].idxmin()\n",
+ " return group.loc[[closest_index]]\n",
+ " else:\n",
+ " return pd.DataFrame(columns=group.columns)\n",
+ " \n",
+ " # Filter out empty or all-NA entries\n",
+ " unique_photon_dataset_filtered = unique_photon_dataset.dropna(how='all', axis=1)\n",
+ " \n",
+ " # Group by 'lat_bins' and apply the find_closest function\n",
+ " closest_to_center = unique_photon_dataset_filtered\\\n",
+ " .groupby('lat_bins', observed=False)\\\n",
+ " .apply(find_closest, include_groups=True)\n",
+ " # .reset_index()\n",
+ " \n",
+ " # Remove the index without resetting it if 'lat_bins' already exists\n",
+ " closest_to_center.index = closest_to_center.index.droplevel(0)\n",
+ " \n",
+ " # Ensure relevant entries are excluded before concatenation\n",
+ " closest_to_center = closest_to_center.dropna(axis=1, how='all')\n",
+ " \n",
+ " Kd_DF_MergedDistance = closest_to_center.merge(SubsurfacePhotonDFAddedKd, on='lat_bins', how='left')\n",
+ " Kd_DF_MergedDistance = Kd_DF_MergedDistance.drop(columns=['relative_AT_dist_center', 'dist_to_center'])\n",
+ " #plot_kd_photons(filtered_seafloor_subsurface_photon_dataset, Kd_DF_MergedDistance)\n",
+ " \n",
+ " logging.info(\"SUCCESS!\")\n",
+ " \n",
+ " except Exception as e:\n",
+ " logging.error(f\"An error occurred: {e}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "17fe40b6-ad4b-4410-bd3e-d8677012c7cc",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "./data/processed_ATL03_20230825074121_10102002_006_02.h5\n",
+ "./data/ne_10m_land.shp\n",
+ "./data/gebco_2024_geotiff/\n",
+ "./results/\n",
+ "['./data/gebco_2024_geotiff/gebco_2024_n90.0_s0.0_w-90.0_e0.0.tif', './data/gebco_2024_geotiff/gebco_2024_n0.0_s-90.0_w0.0_e90.0.tif', './data/gebco_2024_geotiff/gebco_2024_n90.0_s0.0_w90.0_e180.0.tif', './data/gebco_2024_geotiff/gebco_2024_n90.0_s0.0_w-180.0_e-90.0.tif', './data/gebco_2024_geotiff/gebco_2024_n0.0_s-90.0_w90.0_e180.0.tif', './data/gebco_2024_geotiff/gebco_2024_n0.0_s-90.0_w-90.0_e0.0.tif', './data/gebco_2024_geotiff/gebco_2024_n90.0_s0.0_w0.0_e90.0.tif', './data/gebco_2024_geotiff/gebco_2024_n0.0_s-90.0_w-180.0_e-90.0.tif']\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Prepare the paths and parameters\n",
+ "ATL03_h5_file_path = os.path.join(workspace_path, atl03_path, atl03_file)\n",
+ "print(ATL03_h5_file_path)\n",
+ "\n",
+ "shoreline_data_path = os.path.join(workspace_path, other_data_path, shoreline_data)\n",
+ "print(shoreline_data_path)\n",
+ "\n",
+ "GEBCO_full_path = os.path.join(workspace_path, other_data_path, gebco_path)\n",
+ "print(GEBCO_full_path)\n",
+ "\n",
+ "OutputPath = os.path.join(workspace_path, output_path)\n",
+ "print(OutputPath)\n",
+ "\n",
+ "\n",
+ "#Get the gebco list\n",
+ "#gebco_2024_n0.0_s-90.0_w0.0_e90.0.tif\n",
+ "GEBCO_file_pattern = os.path.join(GEBCO_full_path, \"gebco_*.tif\")\n",
+ "\n",
+ "#Initialize with an empty list\n",
+ "GEBCO_file_path_lists = []\n",
+ "for GEBCO_file_path_name in glob.glob(GEBCO_file_pattern):\n",
+ " #put the find one into the list\n",
+ " GEBCO_file_path_lists.append(GEBCO_file_path_name)\n",
+ "\n",
+ "print(GEBCO_file_path_lists)\n",
+ "\n",
+ "# Get all other necessary parameters\n",
+ "horizontal_res = horizontal_res\n",
+ "\n",
+ "vertical_res = vertical_res\n",
+ "\n",
+ "subsurface_thresh = subsurface_thresh\n",
+ "\n",
+ "Ignore_Subsurface_Height_Thres = ignore_subsurface_height_thres\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "b8a2dde6-c1d5-408d-becc-07eeb0086c4e",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-11-27 16:39:09,557 - INFO - ./data/processed_ATL03_20230825074121_10102002_006_02.h5\n",
+ "2024-11-27 16:39:09,563 - INFO - ['METADATA', 'ancillary_data', 'atlas_impulse_response', 'ds_surf_type', 'ds_xyz', 'gt1l', 'gt1r', 'gt2l', 'gt2r', 'gt3l', 'gt3r', 'orbit_info', 'quality_assessment']\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Processing strong beam: gt1l\n",
+ "Processing strong beam: gt2l\n",
+ "Processing strong beam: gt3l\n",
+ "Processing binning for beam: gt1l\n",
+ "Processing binning for beam: gt2l\n",
+ "Processing binning for beam: gt3l\n",
+ "Processing subsurface filtering for beam: gt1l\n",
+ "Processing subsurface filtering for beam: gt2l\n",
+ "Processing subsurface filtering for beam: gt3l\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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zuWXX84rX/lKYHzB9Nd//df4vs8v/uIvkiQJAK997Ws5dOgQH//4x09p5pZlGWmanvKjlLr3O/R+cPnll/Pyl7+c888/n0984hP8yZ/8Cddeey2XXHIJBw4cAMbNzv6//+//A8b76corrzxtML07Bw8eBNgMAye84hWvwLIsPvrRj/Kud72Lr371q5sh7oR7ch68973v5bGPfSwzMzNceeWVmz8wvoB/0pOexEc+8hF+67d+i89//vO88IUv5F3vehfPe97zTinr5z//ef7P//k//P7v/z7/+I//uBk2b7vtts15XvSiF/GpT32KN7/5zfzzP/8zH/jAB3jKU55Cs9m8031w/vnnMzs7uyV4ffnLX8bzPG644YbNMJmmKV/72td4ylOectr1zM7ObtbovvzlL9/c1jsel5//+Z/nnHPO4R//8R/53d/9XT760Y/ym7/5m3davpP93u/9HkeOHOEDH/gA73//+zlw4ADPfvazybLsLpe74YYb+Jmf+Rmuu+46/vf//t987nOf45nPfCa/8Ru/sdlcESCKIlqtFv/9v/93PvWpT/F3f/d3PO5xj+N5z3seH/nIR7as8yUveQn/7b/9N37mZ36Gj33sY/z93/89z3nOc04JKj/4wQ/47d/+bX7zN3+TT3/601x44YW8/OUv5+tf//o92ua7c+DAAS677DL+8i//ki996Uu8/vWv5+Mf/zjPfvazN+d505vexC/8wi8AbDkPZ2dn73b9Jz4PwjDkuuuu43d+53eo1Wo885nPvNtlkyThOc95Dpdeeimf/vSnednLXsYf//Ef8853vvO+b7AQ4r5TQgjxI7KysqIA9V//63+9R/PfeOONClCvfe1rt0z/9re/rQD1e7/3e5vTnvCEJyhAffvb394y73nnnaee/vSnb/7+mc98RgHqn//5nzenpWmq5ubm1M///M9vTnvVq16lisWiOnLkyJb1/a//9b8UoK6//vrNad/4xjeUaZrq9a9/vfrgBz+oAPWBD3xgy3If+tCHFHCXP7t3796c/9ChQwpQH/rQh07ZL4B6y1vecsq6Dx06tDntxS9+8Zb1nU673Vae56nLLrtsy/SjR48qx3HU85///FNe4+qrr77LdZ4871VXXaWSJFH9fl997nOfU5OTk6pUKqmVlZUt893x+L7rXe9SgFpeXlZK3bvz4JnPfOZpt/vP//zPFaA+/vGPb5n+zne+85TzAVDT09Oq1+ttTltZWVG6rqvLL798c1qxWFSvf/3r73Z/3NELX/hCdcYZZ2z+/pSnPEW98pWvVLVaTf3VX/2VUkqpb37zm6eU6wlPeIJ6whOesPn7+vr6KefCCW95y1sUoN71rndtmf7a175Wua6r8jzfnLZ792714he/ePP3f/3Xf1XAKefFxz/+cQWoK6+88i637+lPf7qan59X3W53y/Rf+7VfU67rqlarddrl0jRVSZKol7/85eriiy/enP71r39dAeqNb3zjXb7u7t27leu6W96zo9FI1et19apXveoul1VqfNxf97rX3e18J+R5rpIkUV/72tcUoH7wgx9s/u11r3udujeXVC9+8YtP+5kwOzurvvGNb2yZ98Tx+dd//ddTlr/j+X3ZZZepffv23eNyCCHuP1JTJYT4ifGv//qvAKc0aXrkIx/J/v37+Zd/+Zct02dmZk553ufCCy/c0tzsGc94BjMzM3zoQx/anPZP//RPLC0t8bKXvWxz2uc+9zme9KQnMTc3t6VG6RnPeAYAX/va1zbnfexjH8sf/MEf8O53v5vXvOY1vPCFL+TlL3/5abfpIx/5CFdfffUpP4973OPuxZ65f1x55ZWMRqNT9u/OnTt58pOffMr+vbce/ehHY1kWpVKJZz3rWczMzPDFL36R6enpLfOd3NwTxscMbm8meG/Pg9P5yle+QqFQ2KxBOOHEOu+4jic96UlbOuKYnp5mampqy7n0yEc+kg9/+MO84x3v4Kqrrtqsqbw7l156KbfddhuHDh0iDEO+8Y1v8J//83/mSU96EldccQUwrr1yHGfb58Xp9m0Yhqytrd2nZeHU5psnC8OQf/mXf+G5z30uvu9vee9cdtllhGHIVVddtTn/P/zDP/DYxz6WYrGIaZpYlsVf/uVfbml++sUvfhGA173udXdb5oc+9KHs2rVr83fXdTnnnHPussz3xm233cbzn/98ZmZmMAwDy7J4whOeALClzPeF53mbnwff/va3+cQnPsE555zDZZddtlnjelc0TdtSYwanfv4JIX58pKMKIcSPzMTEBL7vc+jQoXs0/4lmVKdrNjM3N3fKxUKj0ThlPsdxGI1Gm7+bpsmLXvQi3vOe99DpdKhWq3z4wx9mdnaWpz/96Zvzra6u8tnPfnbLswwnu2PTwxe84AW86U1vIooifud3fudOt2n//v2bnTecrFKpsLCwcKfL/Sjc3f49cYF/X33kIx9h//79mKbJ9PT0nTZ/uuNxO/Gs3Ynjdm/Pg9NpNpvMzMxsecYKYGpqCtM0T2myd0/OpY997GO84x3v4AMf+ABvetObKBaLPPe5z+Vd73oXMzMzd1qWE036vvzlL7N3716SJOHJT34yq6urvP3tb9/822Mf+1g8z7vbbbsrd7dv7+9lm80maZrynve8h/e85z2nnefEe+cTn/gEv/iLv8h/+S//hd/5nd9hZmYG0zR53/vet+U5qPX1dQzDuMt9emdlPlHue7K9d2cwGPD4xz8e13V5xzvewTnnnIPv+ywsLPC85z1v26+h6/opnw1Pf/rT2blzJ7/1W791t8HK931c190yzXEcwjDcVrmEEPeNhCohxI+MYRhceumlfPGLX+TYsWPMz8/f5fwnLpCWl5dPmXdpaYmJiYn7VI6XvvSl/M//+T/5+7//e37pl36Jz3zmM7z+9a/HMIzNeSYmJrjwwgv5gz/4g9OuY25ubvP/WZbxghe8gFqthuM4vPzlL+eb3/wmtm3fp/IBmxdHd3zI/K6e17m3Tt6/d7Sd/XvCnQXIe+v+OA8ajQbf/va3UUptCVZra2ukaXqftnViYoJ3v/vdvPvd7+bo0aN85jOf4Xd/93dZW1u7yx4s5+fnOeecc/jyl7/Mnj17eMQjHkG1WuXSSy/lta99Ld/+9re56qqrtjx/9NOiVqthGAYvetGL7rRmae/evQD8zd/8DXv37uVjH/vYlmNyx3N+cnKSLMtYWVm5R88l/ah85StfYWlpia9+9aubtVPAnY7Xdn/wfZ8zzzyTH/zgBz+y1xBC/GhI8z8hxI/UG97wBpRSvPKVrySO41P+niQJn/3sZwF48pOfDLDZ0cQJV199NTfeeCOXXnrpfSrD/v37edSjHsWHPvQhPvrRjxJFES996Uu3zPOsZz2L6667jjPPPJNHPOIRp/ycHKre8pa38G//9m/87d/+LR/72Mf4wQ9+cJe1VffE9PQ0ruty7bXXbpl+up7R7qtLLrkEz/NO2b/Hjh3jK1/5yn3ev/e3e3Me3FmtxKWXXspgMOBTn/rUluknOkTY7rbu2rWLX/u1X+OpT30q3/ve9+52/qc85Sl85Stf4YorruCpT30qAOeccw67du3izW9+M0mS3GknFSfcm1qnHxff93nSk57ENddcw4UXXnja986JkKxp2uZA0iesrKycco6faHL7vve978e3Iadxopx37LX0//7f/3vKvPfXsRkMBhw8eJCpqaltrUcI8eMnNVVCiB+pSy65hPe973289rWv5eEPfzivec1rOP/880mShGuuuYb3v//9XHDBBTz72c9m3759/Oqv/irvec970HWdZzzjGRw+fJg3velN7Ny58x73YnY6L3vZy3jVq17F0tISj3nMY9i3b9+Wv//+7/8+V1xxBY95zGP4jd/4Dfbt20cYhhw+fJgvfOEL/Pmf/znz8/NcccUVXH755bzpTW/avDC//PLL+e///b/zxCc+kec+97n3qXyapvHCF76QD37wg5x55plcdNFF/Pu//zsf/ehH7/M231G1WuVNb3oTv/d7v8ev/Mqv8Mu//Ms0m03e9ra34boub3nLW+6319qOe3MePOQhD+ETn/gE73vf+3j4wx++2aTqV37lV/izP/szXvziF3P48GEe8pCH8I1vfIM//MM/5LLLLrvbAHNH3W6XJz3pSTz/+c/n3HPPpVQqcfXVV/OlL33ptL0J3tGll17Ke9/7XjY2Nnj3u9+9ZfqHPvQharXalu7UT6dUKrF7924+/elPc+mll1Kv15mYmGDPnj33alvub3/yJ3/C4x73OB7/+Mfzmte8hj179tDv9zl48CCf/exnNwe4fdaznsUnPvEJXvva1/ILv/ALLCws8Pa3v53Z2dnNnicBHv/4x/OiF72Id7zjHayurvKsZz0Lx3G45ppr8H2fX//1X7/fyn7rrbfy//7f/ztl+nnnncdjHvMYarUar371q3nLW96CZVn87d/+7WlrkR7ykIcA8M53vpNnPOMZGIbBhRdeeJe113mebz5vluc5i4uL/Omf/intdvt+HUJBCPFj8kD3lCGE+I/h+9//vnrxi1+sdu3apWzbVoVCQV188cXqzW9+s1pbW9ucL8sy9c53vlOdc845yrIsNTExoV74wheqhYWFLet7whOeoM4///xTXufOesHrdrvK8zwFqL/4i784bRnX19fVb/zGb6i9e/cqy7JUvV5XD3/4w9Ub3/hGNRgM1NLSkpqamlJPfvKTVZZlm8vlea6e/exnq2q1utkj3931nne6Xuu63a56xSteoaanp1WhUFDPfvaz1eHDh++33v9O+MAH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",
+ "text/plain": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2024-11-27 16:40:26,073 - INFO - Calculating Kd for beam: gt1l\n",
+ "2024-11-27 16:40:26,074 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-11-27 16:40:26,598 - INFO - Calculating Kd for beam: gt2l\n",
+ "2024-11-27 16:40:26,599 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "2024-11-27 16:40:27,159 - INFO - Calculating Kd for beam: gt3l\n",
+ "2024-11-27 16:40:27,160 - INFO - Calculating Kd from filtered subsurface photon dataset\n",
+ "/tmp/ipykernel_144/4080034087.py:90: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning.\n",
+ " .apply(find_closest, include_groups=True)\n",
+ "2024-11-27 16:40:27,942 - INFO - SUCCESS!\n"
+ ]
+ }
+ ],
+ "source": [
+ "\n",
+ "\n",
+ "# Configure logging\n",
+ "logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')\n",
+ "\n",
+ "\n",
+ "# When all paramters ready, call the main function\n",
+ "main()\n",
+ " \n",
+ " \n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "ac012527-5bad-47f3-8258-b4bcaae7997c",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "a0bb0280-5189-4684-917c-a12a5396442e",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/__pycache__/config.cpython-311.pyc b/icesat2_kdph-main/__pycache__/config.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b276004fc6588d2f693c90f486ed261526c99644
GIT binary patch
literal 495
zcmYjOF;C+#6n0u#LTFQH-r2__bJAw7v_+5X=5p5JHtJ#@Pc0`vY}hrf0Zda9iNX05@C2jCxK2qR`;
z3uc2gaFaFh2HU_b*1~Pp#+z&t+swvWZ0k2Vb@GPi=PgDJ_48iL$=PU5A{sMKizM%d
zd=e-!9*uvHkSimnQ(wM`{*dco8762kso~<4XIFaO2!pF6-M$+*XM2RgFzH+dWnN-m6zNRrP)ERVA~t
z4T9&Nzkk&I$21}TvdUK<56aI_bcTwPm~hHjMq}!}EN1TO#h&~6vG2Y?9N_C^VP1=C
zc^HS3@Od8a@M9X+d5zaUCh-)%%o}_fmIj~Uv#?C_IerP>8P0Y{b78dJcp~{Q6Orsj
z-C@x&sVsEVl`1lQ5j}nSINC@|@<=6ndqS-=wjMr;mVeS(!*6wMwb?ksjLCMBRZ}L-
z1s9n~sya`Mub<2>Kv~+9!gi&JHiC2cb6l|4n53BG;-A07xNwP1ZB;u(O9V69Ily;-kL|h6T71BiFFx6(o
zxqhfc)X79r+iz;yc`zcW~*n=;hw=fl@Tm4=pUkTOvMY^XF
zb<}#0$symtDw3XP-Is^&ptQDpxG*5d~ccM{V|rPS?Q@|D3+
zRnM^>ZTziepPoZSf;yd}GmP1qDr@RcYd?Q1JT(+cNc{yWPX9s-IRQMU^d%cp>rVX
z?FpQ3e4oR%it;DYrH;mR+xM7`F^iKrpTg*kMZ%}~%pchz83#Qw4oiyBe>$#}L0LQZ
znO(HrbMU?d@A-*0X7yPao=lZBe)*as*}-R~QHB^jEJGI%?`@t(fh9!`ypNJBi$Lil
z>MEH>dLTM!Hx)d3w)Mfojg6fM_yM`myM1E@`cA7Q2cqD~U`2MoFS%!%69AbCy&_ew
zW%^2Ru3KDk{a|zzTKC@WufKom#rw;J9`qotlOZM!2YcQe^ZGQAGr!tG1i
zI{PmsdUge_+h>qo$6kAFRav5)U9$aWztc^#EKhZwm`=YrUDcI17z%B4_gQRJydqD;^_`%pUGZZ%@+8@xLY5(wrK7xG5FzF*Xg_<6sCLM`kY!zgIn-2G8L@^9|0=IR|Rd&KTUqi;8&$8P8y2L;ZcXnUC3
zbi6zn_TI>A-iaKCM#0V9ch~Y}SOo)>7NCGiik_&vOca%;jj94S&B{X~(sN)^lZk4|
z61HupiZf7jlVN7suac}{X&O)EN9|5urX4YX-Dc(q?9;YGdysbag<6AEFQ6jcJdph+
zyW+49=@L`#!TQ!|XXDIAaq#{f0^kC`J$e&cjpT`>3U~n5DIGJku&X%Bu8^^X*vdX+
zq|^V)K^ZtXfIT!G`g(vi{DguSR&zi@^PLu;tqu*8FwFQi!ND>GOIV^O$YTiR2o7pPm7@uPSm0!5tFda\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
rgt
\n",
+ "
track
\n",
+ "
region
\n",
+ "
segment_id
\n",
+ "
background_rate
\n",
+ "
pair
\n",
+ "
cycle
\n",
+ "
sc_orient
\n",
+ "
solar_elevation
\n",
+ "
segment_dist
\n",
+ "
...
\n",
+ "
atl08_class
\n",
+ "
landcover
\n",
+ "
yapc_score
\n",
+ "
snowcover
\n",
+ "
quality_ph
\n",
+ "
x_atc
\n",
+ "
atl03_cnf
\n",
+ "
height
\n",
+ "
geometry
\n",
+ "
spot
\n",
+ "
\n",
+ "
\n",
+ "
time
\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",
+ "
2023-01-21 06:16:40.471485952
\n",
+ "
484
\n",
+ "
1
\n",
+ "
6
\n",
+ "
795410
\n",
+ "
7303.556454
\n",
+ "
0
\n",
+ "
18
\n",
+ "
1
\n",
+ "
-68.193192
\n",
+ "
1.593187e+07
\n",
+ "
...
\n",
+ "
4
\n",
+ "
255
\n",
+ "
0
\n",
+ "
255
\n",
+ "
0
\n",
+ "
-23.895367
\n",
+ "
4
\n",
+ "
-39.041676
\n",
+ "
POINT (-76.07301 37.20210)
\n",
+ "
6
\n",
+ "
\n",
+ "
\n",
+ "
2023-01-21 06:16:40.471586048
\n",
+ "
484
\n",
+ "
1
\n",
+ "
6
\n",
+ "
795410
\n",
+ "
7303.556454
\n",
+ "
0
\n",
+ "
18
\n",
+ "
1
\n",
+ "
-68.193192
\n",
+ "
1.593187e+07
\n",
+ "
...
\n",
+ "
4
\n",
+ "
255
\n",
+ "
0
\n",
+ "
255
\n",
+ "
0
\n",
+ "
-23.181562
\n",
+ "
4
\n",
+ "
-38.770771
\n",
+ "
POINT (-76.07301 37.20209)
\n",
+ "
6
\n",
+ "
\n",
+ "
\n",
+ "
2023-01-21 06:16:40.471985920
\n",
+ "
484
\n",
+ "
1
\n",
+ "
6
\n",
+ "
795410
\n",
+ "
7303.556454
\n",
+ "
0
\n",
+ "
18
\n",
+ "
1
\n",
+ "
-68.193192
\n",
+ "
1.593187e+07
\n",
+ "
...
\n",
+ "
4
\n",
+ "
255
\n",
+ "
0
\n",
+ "
255
\n",
+ "
0
\n",
+ "
-20.313374
\n",
+ "
1
\n",
+ "
-45.427681
\n",
+ "
POINT (-76.07301 37.20206)
\n",
+ "
6
\n",
+ "
\n",
+ "
\n",
+ "
2023-01-21 06:16:40.472285952
\n",
+ "
484
\n",
+ "
1
\n",
+ "
6
\n",
+ "
795410
\n",
+ "
7303.556454
\n",
+ "
0
\n",
+ "
18
\n",
+ "
1
\n",
+ "
-68.193192
\n",
+ "
1.593187e+07
\n",
+ "
...
\n",
+ "
4
\n",
+ "
255
\n",
+ "
0
\n",
+ "
255
\n",
+ "
0
\n",
+ "
-18.181789
\n",
+ "
4
\n",
+ "
-38.845711
\n",
+ "
POINT (-76.07301 37.20205)
\n",
+ "
6
\n",
+ "
\n",
+ "
\n",
+ "
2023-01-21 06:16:40.472885760
\n",
+ "
484
\n",
+ "
1
\n",
+ "
6
\n",
+ "
795410
\n",
+ "
7303.556454
\n",
+ "
0
\n",
+ "
18
\n",
+ "
1
\n",
+ "
-68.193192
\n",
+ "
1.593187e+07
\n",
+ "
...
\n",
+ "
4
\n",
+ "
255
\n",
+ "
0
\n",
+ "
255
\n",
+ "
0
\n",
+ "
-13.895359
\n",
+ "
4
\n",
+ "
-39.379562
\n",
+ "
POINT (-76.07302 37.20201)
\n",
+ "
6
\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",
+ "
2023-01-21 06:16:43.303586048
\n",
+ "
484
\n",
+ "
1
\n",
+ "
6
\n",
+ "
796293
\n",
+ "
35931.853392
\n",
+ "
1
\n",
+ "
18
\n",
+ "
1
\n",
+ "
-68.315369
\n",
+ "
1.594956e+07
\n",
+ "
...
\n",
+ "
4
\n",
+ "
255
\n",
+ "
0
\n",
+ "
255
\n",
+ "
0
\n",
+ "
3.762141
\n",
+ "
0
\n",
+ "
-14.573852
\n",
+ "
POINT (-76.09313 37.04324)
\n",
+ "
5
\n",
+ "
\n",
+ "
\n",
+ "
2023-01-21 06:16:43.303586048
\n",
+ "
484
\n",
+ "
1
\n",
+ "
6
\n",
+ "
796293
\n",
+ "
35931.853392
\n",
+ "
1
\n",
+ "
18
\n",
+ "
1
\n",
+ "
-68.315369
\n",
+ "
1.594956e+07
\n",
+ "
...
\n",
+ "
4
\n",
+ "
255
\n",
+ "
0
\n",
+ "
255
\n",
+ "
0
\n",
+ "
3.662629
\n",
+ "
1
\n",
+ "
-41.881130
\n",
+ "
POINT (-76.09313 37.04324)
\n",
+ "
5
\n",
+ "
\n",
+ "
\n",
+ "
2023-01-21 06:16:43.303785984
\n",
+ "
484
\n",
+ "
1
\n",
+ "
6
\n",
+ "
796293
\n",
+ "
35931.853392
\n",
+ "
1
\n",
+ "
18
\n",
+ "
1
\n",
+ "
-68.315369
\n",
+ "
1.594956e+07
\n",
+ "
...
\n",
+ "
4
\n",
+ "
255
\n",
+ "
0
\n",
+ "
255
\n",
+ "
0
\n",
+ "
5.052705
\n",
+ "
1
\n",
+ "
-47.709576
\n",
+ "
POINT (-76.09313 37.04323)
\n",
+ "
5
\n",
+ "
\n",
+ "
\n",
+ "
2023-01-21 06:16:43.303785984
\n",
+ "
484
\n",
+ "
1
\n",
+ "
6
\n",
+ "
796293
\n",
+ "
35931.853392
\n",
+ "
1
\n",
+ "
18
\n",
+ "
1
\n",
+ "
-68.315369
\n",
+ "
1.594956e+07
\n",
+ "
...
\n",
+ "
4
\n",
+ "
255
\n",
+ "
0
\n",
+ "
255
\n",
+ "
0
\n",
+ "
5.064391
\n",
+ "
1
\n",
+ "
-44.528160
\n",
+ "
POINT (-76.09313 37.04323)
\n",
+ "
5
\n",
+ "
\n",
+ "
\n",
+ "
2023-01-21 06:16:43.303785984
\n",
+ "
484
\n",
+ "
1
\n",
+ "
6
\n",
+ "
796293
\n",
+ "
35931.853392
\n",
+ "
1
\n",
+ "
18
\n",
+ "
1
\n",
+ "
-68.315369
\n",
+ "
1.594956e+07
\n",
+ "
...
\n",
+ "
4
\n",
+ "
255
\n",
+ "
0
\n",
+ "
255
\n",
+ "
0
\n",
+ "
5.074981
\n",
+ "
1
\n",
+ "
-41.621281
\n",
+ "
POINT (-76.09313 37.04323)
\n",
+ "
5
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
51593 rows × 22 columns
\n",
+ ""
+ ],
+ "text/plain": [
+ " rgt track region segment_id \\\n",
+ "time \n",
+ "2023-01-21 06:16:40.471485952 484 1 6 795410 \n",
+ "2023-01-21 06:16:40.471586048 484 1 6 795410 \n",
+ "2023-01-21 06:16:40.471985920 484 1 6 795410 \n",
+ "2023-01-21 06:16:40.472285952 484 1 6 795410 \n",
+ "2023-01-21 06:16:40.472885760 484 1 6 795410 \n",
+ "... ... ... ... ... \n",
+ "2023-01-21 06:16:43.303586048 484 1 6 796293 \n",
+ "2023-01-21 06:16:43.303586048 484 1 6 796293 \n",
+ "2023-01-21 06:16:43.303785984 484 1 6 796293 \n",
+ "2023-01-21 06:16:43.303785984 484 1 6 796293 \n",
+ "2023-01-21 06:16:43.303785984 484 1 6 796293 \n",
+ "\n",
+ " background_rate pair cycle sc_orient \\\n",
+ "time \n",
+ "2023-01-21 06:16:40.471485952 7303.556454 0 18 1 \n",
+ "2023-01-21 06:16:40.471586048 7303.556454 0 18 1 \n",
+ "2023-01-21 06:16:40.471985920 7303.556454 0 18 1 \n",
+ "2023-01-21 06:16:40.472285952 7303.556454 0 18 1 \n",
+ "2023-01-21 06:16:40.472885760 7303.556454 0 18 1 \n",
+ "... ... ... ... ... \n",
+ "2023-01-21 06:16:43.303586048 35931.853392 1 18 1 \n",
+ "2023-01-21 06:16:43.303586048 35931.853392 1 18 1 \n",
+ "2023-01-21 06:16:43.303785984 35931.853392 1 18 1 \n",
+ "2023-01-21 06:16:43.303785984 35931.853392 1 18 1 \n",
+ "2023-01-21 06:16:43.303785984 35931.853392 1 18 1 \n",
+ "\n",
+ " solar_elevation segment_dist ... \\\n",
+ "time ... \n",
+ "2023-01-21 06:16:40.471485952 -68.193192 1.593187e+07 ... \n",
+ "2023-01-21 06:16:40.471586048 -68.193192 1.593187e+07 ... \n",
+ "2023-01-21 06:16:40.471985920 -68.193192 1.593187e+07 ... \n",
+ "2023-01-21 06:16:40.472285952 -68.193192 1.593187e+07 ... \n",
+ "2023-01-21 06:16:40.472885760 -68.193192 1.593187e+07 ... \n",
+ "... ... ... ... \n",
+ "2023-01-21 06:16:43.303586048 -68.315369 1.594956e+07 ... \n",
+ "2023-01-21 06:16:43.303586048 -68.315369 1.594956e+07 ... \n",
+ "2023-01-21 06:16:43.303785984 -68.315369 1.594956e+07 ... \n",
+ "2023-01-21 06:16:43.303785984 -68.315369 1.594956e+07 ... \n",
+ "2023-01-21 06:16:43.303785984 -68.315369 1.594956e+07 ... \n",
+ "\n",
+ " atl08_class landcover yapc_score snowcover \\\n",
+ "time \n",
+ "2023-01-21 06:16:40.471485952 4 255 0 255 \n",
+ "2023-01-21 06:16:40.471586048 4 255 0 255 \n",
+ "2023-01-21 06:16:40.471985920 4 255 0 255 \n",
+ "2023-01-21 06:16:40.472285952 4 255 0 255 \n",
+ "2023-01-21 06:16:40.472885760 4 255 0 255 \n",
+ "... ... ... ... ... \n",
+ "2023-01-21 06:16:43.303586048 4 255 0 255 \n",
+ "2023-01-21 06:16:43.303586048 4 255 0 255 \n",
+ "2023-01-21 06:16:43.303785984 4 255 0 255 \n",
+ "2023-01-21 06:16:43.303785984 4 255 0 255 \n",
+ "2023-01-21 06:16:43.303785984 4 255 0 255 \n",
+ "\n",
+ " quality_ph x_atc atl03_cnf height \\\n",
+ "time \n",
+ "2023-01-21 06:16:40.471485952 0 -23.895367 4 -39.041676 \n",
+ "2023-01-21 06:16:40.471586048 0 -23.181562 4 -38.770771 \n",
+ "2023-01-21 06:16:40.471985920 0 -20.313374 1 -45.427681 \n",
+ "2023-01-21 06:16:40.472285952 0 -18.181789 4 -38.845711 \n",
+ "2023-01-21 06:16:40.472885760 0 -13.895359 4 -39.379562 \n",
+ "... ... ... ... ... \n",
+ "2023-01-21 06:16:43.303586048 0 3.762141 0 -14.573852 \n",
+ "2023-01-21 06:16:43.303586048 0 3.662629 1 -41.881130 \n",
+ "2023-01-21 06:16:43.303785984 0 5.052705 1 -47.709576 \n",
+ "2023-01-21 06:16:43.303785984 0 5.064391 1 -44.528160 \n",
+ "2023-01-21 06:16:43.303785984 0 5.074981 1 -41.621281 \n",
+ "\n",
+ " geometry spot \n",
+ "time \n",
+ "2023-01-21 06:16:40.471485952 POINT (-76.07301 37.20210) 6 \n",
+ "2023-01-21 06:16:40.471586048 POINT (-76.07301 37.20209) 6 \n",
+ "2023-01-21 06:16:40.471985920 POINT (-76.07301 37.20206) 6 \n",
+ "2023-01-21 06:16:40.472285952 POINT (-76.07301 37.20205) 6 \n",
+ "2023-01-21 06:16:40.472885760 POINT (-76.07302 37.20201) 6 \n",
+ "... ... ... \n",
+ "2023-01-21 06:16:43.303586048 POINT (-76.09313 37.04324) 5 \n",
+ "2023-01-21 06:16:43.303586048 POINT (-76.09313 37.04324) 5 \n",
+ "2023-01-21 06:16:43.303785984 POINT (-76.09313 37.04323) 5 \n",
+ "2023-01-21 06:16:43.303785984 POINT (-76.09313 37.04323) 5 \n",
+ "2023-01-21 06:16:43.303785984 POINT (-76.09313 37.04323) 5 \n",
+ "\n",
+ "[51593 rows x 22 columns]"
+ ]
+ },
+ "execution_count": 45,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ATL03_gdf"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "490eeac4",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ " \n",
+ "# Extract latitude and longitude from the geometry\n",
+ "ATL03_gdf['latitude'] = ATL03_gdf.geometry.y\n",
+ "ATL03_gdf['longitude'] = ATL03_gdf.geometry.x\n",
+ "\n",
+ "\n",
+ "# Create a scatter plot of height vs. latitude\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.scatter(ATL03_gdf['latitude'], ATL03_gdf['height'], s=1, c='blue', alpha=0.5)\n",
+ "plt.title(\"Height vs. Latitude for ATL03 Points\")\n",
+ "plt.xlabel(\"Latitude\")\n",
+ "plt.ylabel(\"Height (meters)\")\n",
+ "plt.ylim(-60, -16) # Set y-axis limits\n",
+ "plt.grid(True)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a40bbf6d",
+ "metadata": {},
+ "source": [
+ "# Need to fix the loop below: below is the old code that we used icepyx to do the same thing"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 191,
+ "id": "b4616a9b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[-34.32363789 -16.57428851 -33.94800545 -16.21392815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-35.38298801 -17.27116185 -35.00597865 -16.91080149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-36.43158698 -17.88191518 -36.05331636 -17.52155482]\n",
+ "[-114.19533771 13.23280149 -113.82487229 13.59316185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-114.69261406 13.52929815 -114.32168594 13.88965851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-115.54558663 12.94487482 -115.17555997 13.30523518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-115.65389395 13.24736815 -115.28340605 13.60772851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-110.26434335 10.56915982 -109.89754665 10.92952018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-21.57397311 -24.95193018 -21.17709355 -24.59156982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.19465189 -24.86336018 -19.79805477 -24.50299982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.89886861 -23.98789351 -20.50499139 -23.62753315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.70809594 -24.94431685 -20.31124072 -24.58395649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.60872371 -23.73342351 -20.21561295 -23.37306315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.63942331 -23.67175018 -20.24649669 -23.31138982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.96223812 -23.40802351 -20.57009188 -23.04766315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.98995983 -23.34894518 -20.59798683 -22.98858482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-21.04274314 -23.31246018 -20.65087686 -22.95209982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-21.07873736 -23.25249851 -20.68704598 -22.89213815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-21.40781579 -23.31541185 -21.01594087 -22.95505149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-21.5250624 -23.28912018 -21.13326426 -22.92875982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-23.02633303 -23.79305185 -22.63304363 -23.43269149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-25.07907249 -23.73483518 -24.68595751 -23.37447482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-25.93920155 -23.80872351 -25.54586511 -23.44836315]\n",
+ "[-27.6627603 -23.29224851 -27.27095304 -22.93188815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-27.54140392 -23.58809518 -27.14872608 -23.22773482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-30.48417714 -21.50298018 -30.0973362 -21.14261982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-30.01905081 -20.71236351 -29.63424585 -20.35200315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-29.36274435 -21.42860685 -28.97609899 -21.06824649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-24.92224441 11.47888482 -24.55429225 11.83924518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-26.87506206 10.53955649 -26.50830128 10.89991685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-22.1797048 7.42249649 -21.81614854 7.78285685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-22.64814683 7.36805315 -22.28463651 7.72841351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.09816132 6.99666149 -19.73495534 7.35702185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-24.41271633 -19.57892185 -24.03066701 -19.21856149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-26.08383141 -20.18647518 -25.70032859 -19.82611482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-28.29307016 -19.58644185 -27.91100318 -19.22608149]\n",
+ "[-28.37084968 -19.34874351 -27.98933698 -18.98838315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-27.68897618 -19.92849685 -27.30609716 -19.56813649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-27.12297861 -20.57487685 -26.73851805 -20.21451649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-26.39420247 -20.90341685 -26.00891419 -20.54305649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.83953848 -20.53731851 -20.45517152 -20.17695815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.82410814 -20.53302351 -20.43975186 -20.17266315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.84743355 -20.61219018 -20.46287979 -20.25182982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-20.29515448 -21.54139685 -19.90821218 -21.18103649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-34.35583418 -20.15315518 -33.97241248 -19.79279482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-35.46879501 -19.21454351 -35.08759165 -18.85418315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-35.00043871 -20.14865351 -34.61702795 -19.78829315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-33.8530959 -23.20335351 -33.46154744 -22.84299315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-33.8592207 -23.57130685 -33.46659264 -23.21094649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-32.6124761 -24.45926351 -32.21715056 -24.09890315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-30.76880238 -22.02758018 -30.38055762 -21.66721982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-31.32239644 -22.71029185 -30.93226022 -22.34993149]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-33.41706583 -19.86555185 -33.03433751 -19.50519149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-27.5033222 50.45737149 -26.93513114 50.81773185]\n",
+ "[-66.69777986 20.62596149 -66.31228014 20.98632185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-66.69244901 20.96861649 -66.30606433 21.32897685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-67.70175517 20.24780149 -67.31721149 20.60816185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-62.50366084 18.68849649 -62.12283582 19.04885685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-63.66260148 19.25839315 -63.28045852 19.61875351]\n",
+ "[-67.73548218 19.28163649 -67.35328448 19.64199685]\n",
+ "[-67.44935367 19.52986982 -67.06656633 19.89023018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-67.78037026 19.80190482 -67.3969264 20.16226518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-69.02951761 20.35608149 -68.64470239 20.71644185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-68.49718841 21.23188982 -68.11011159 21.59225018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-66.67923174 21.56583982 -66.2912616 21.92620018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-68.51631212 21.31126649 -68.12902454 21.67162685]\n",
+ "[-63.30107273 25.53776315 -62.90109061 25.89812351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-61.62326284 26.51352982 -61.21991382 26.87389018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-63.76912536 28.42908982 -63.35864798 28.78945018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-64.670015 26.83504482 -64.26551834 27.19540518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-64.67773262 26.19050815 -64.27551738 26.55086851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-64.1498771 26.04792649 -63.74815624 26.40828685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-63.68331863 26.25706315 -63.28087137 26.61742351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-63.13303805 26.59727815 -62.72939195 26.95763851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-63.02199885 26.59397315 -62.61836449 26.95433351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-63.1484575 27.26227315 -62.74240584 27.62263351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[140.80524383 -46.86097185 141.33050277 -46.50061149]\n",
+ "[138.90401813 -47.18942351 139.43249847 -46.82906315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[139.96554226 -47.06114851 140.49275774 -46.70078815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[149.3598773 -55.45493518 149.9924861 -55.09457482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[149.15479859 -56.76368685 149.80914141 -56.40332649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 77.3837957 -41.59450518 77.86431096 -41.23414482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.25119373 39.63932982 7.72037293 39.99969018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.11314645 39.60677149 7.58210355 39.96713185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.92880591 39.54129482 7.39731743 39.90165518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.80362626 39.69904149 7.27321374 40.05940185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.49473742 40.78154649 7.97194258 41.14190685]\n",
+ "[ 7.44034702 40.81206149 7.91777298 41.17242185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-151.5926118 -19.99836518 -151.2095648 -19.63800482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-151.76050191 -19.56098518 -151.37849469 -19.20062482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-151.33901071 -19.96970518 -150.95603269 -19.60934482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-149.53832785 -22.07204018 -149.14996215 -21.71167982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-148.66110148 -21.85549185 -148.27332192 -21.49513149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-163.26823193 -20.79916351 -162.88320807 -20.43880315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-163.98444869 -19.47983685 -163.60263131 -19.11947649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-166.24381474 -19.53916351 -165.86185866 -19.17880315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-167.80297135 -19.74138685 -167.42053865 -19.38102649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 97.07930385 -49.76615851 97.63515281 -49.40579815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[114.22321422 -50.43140685 114.78678578 -50.07104649]\n",
+ "[128.87144199 -55.08991018 129.49830141 -54.72954982]\n",
+ "[27.99625049 33.82943815 28.43097285 34.18979851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.19534218 33.88014649 28.63032448 34.24050685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.22288222 33.88272982 28.65787778 34.24309018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[20.8005222 36.10910649 21.2475978 36.46946685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[20.63996319 36.19757649 21.08754681 36.55793685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[20.78038713 36.02050815 21.22695621 36.38086851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[20.9785613 35.52033149 21.42231204 35.88069185]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[20.22702768 34.93281982 20.66755566 35.29318018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.57305767 34.95685649 20.01371567 35.31721685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.20660499 34.79213315 19.64637501 35.15249351]\n",
+ "[18.47864274 34.93649815 18.9191906 35.29685851]\n",
+ "[33.65418058 32.67454649 34.08315608 33.03490685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[33.89337959 33.03299482 34.32410375 33.39335518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[33.97507069 33.08328149 34.40604265 33.44364185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[33.89857088 33.52885815 34.33176578 33.88921851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[33.7465564 33.48432982 34.17952694 33.84469018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[33.94059563 33.40300815 34.37315771 33.76336851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[34.87068867 33.89644982 35.30575467 34.25681018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.54296763 39.16587649 6.00895237 39.52623685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.2882345 39.05150815 6.75345884 39.41186851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.29792024 39.35368315 6.7651631 39.71404351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.28211002 38.52719482 7.74390331 38.88755518]\n",
+ "[ 2.22352708 36.69176149 2.67398958 37.05212185]\n",
+ "[23.0900973 34.47842482 23.52819604 34.83878518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[23.07236321 34.47807982 23.51046013 34.83844018]\n",
+ "[23.22262132 34.46365815 23.66064202 34.82401851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[20.86156803 37.11709982 21.31456531 37.47746018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[15.61589738 36.58283649 16.06571928 36.94319685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[16.16316615 37.52427649 16.61864051 37.88463685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[16.01855199 37.53756149 16.47410801 37.89792185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[15.22482962 37.25887149 15.67868372 37.61923185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[16.8512591 36.57315649 17.30102424 36.93351685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.47467684 42.00055482 4.96097316 42.36091518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.316618 42.00328649 4.80293533 42.36364685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.30598493 41.89850149 4.79149841 42.25886185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.44106674 41.87273982 4.92638326 42.23310018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.74085197 41.31923315 5.22199803 41.67959351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.05577544 41.08495482 5.53519123 41.44531518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.19797252 41.08257149 5.67737081 41.44293185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.87453211 40.81525649 5.35198122 41.17561685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.49013163 40.73329815 5.96698837 41.09365851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.91351312 41.18882815 5.39369354 41.54918851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.35788843 40.99403649 5.83663823 41.35439685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.75041773 41.17944815 6.23052894 41.53980851]\n",
+ "[ 5.99576659 41.51532315 6.47837674 41.87568351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.32823792 41.96687315 6.81427542 42.32723351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.32325623 42.53555982 7.81372377 42.89592018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.22625087 42.61351982 7.71733579 42.97388018]\n",
+ "[ 7.06280089 42.67977482 7.55441245 43.04013518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.05015423 42.75832149 7.54239244 43.11868185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[30.92971293 44.32336149 31.43498041 44.68372185]\n",
+ "[-147.17286536 -20.75570351 -146.78795124 -20.39534315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-147.35336363 -21.21589518 -146.96727297 -20.85553482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-148.55828862 -20.92398351 -148.17294798 -20.56362315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-150.86105144 -19.12845018 -150.48004516 -18.76808982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-150.60956527 -19.39380185 -150.22794813 -19.03344149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-151.02929577 -20.75071185 -150.64439423 -20.39035149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-153.89246143 -21.54789685 -153.50550197 -21.18753649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 0.53051746 37.05964315 0.98316921 37.42000351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.20822208 39.26627482 5.67487792 39.62663518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.0468152 39.14409649 6.5126548 39.50445685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.75210598 40.07380982 7.22428402 40.43417018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[100.35171986 -46.35230351 100.87210014 -45.99194315]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 95.93490541 -56.98413351 96.59309125 -56.62377315]\n",
+ "[104.00343876 -49.80096185 104.55968464 -49.44060149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 98.37317127 -55.08828518 99.00000539 -54.72792482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 97.96609923 -55.12575185 98.59351743 -54.76539149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-31.52810769 -20.40761851 -31.14406231 -20.04725815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-24.87792188 -18.93194518 -24.49736146 -18.57158482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[15.28938862 36.18294149 15.73688804 36.54330185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[15.2591805 35.95552982 15.7053795 36.31589018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[15.26245742 35.79240649 15.70773258 36.15276685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-85.05722157 -10.47484851 -84.69096509 -10.11448815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-86.01975199 -11.57067018 -85.65215135 -11.21030982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-86.81949347 -12.09885018 -86.45119319 -11.73848982]\n",
+ "[-85.89582489 -13.29845018 -85.52580845 -12.93808982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-86.44569478 -13.58935685 -86.07523522 -13.22899649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-88.817213 -14.88081018 -88.444657 -14.52044982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 70.58770271 -52.83553018 71.18176063 -52.47516982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-62.88577287 69.13376049 -61.86563647 69.49412085]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-63.21824224 68.00365782 -62.24856642 68.36401818]\n",
+ "[25.72207514 34.30955149 26.15928486 34.66991185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.74119823 34.34966149 26.17861843 34.71002185]\n",
+ "[25.65511238 34.04372149 26.09093762 34.40408185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.76689717 34.17224149 26.20338949 34.53260185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[26.52490579 33.73861315 26.95916421 34.09897351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.97409313 33.40865982 26.40668353 33.76902018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.69155037 33.16094982 26.12290629 33.52131018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.73587484 33.14837482 26.1671685 33.50873518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.25507973 33.27729982 25.68701361 33.63766018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.21786043 33.12927149 25.64905957 33.48963185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.3218908 33.10281649 25.7529592 33.46317685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.87704151 33.46705482 26.30992515 33.82741518]\n",
+ "[25.81356319 33.91998315 26.24875015 34.28034351]\n",
+ "[25.92604504 34.00206315 26.36165496 34.36242351]\n",
+ "[26.75361593 33.15668482 27.18495073 33.51704518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[26.40417699 32.94242149 26.83445635 33.30278185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.50807075 32.43312982 25.93588591 32.79349018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[27.57946644 34.05954149 28.01537356 34.41990185]\n",
+ "[27.85095071 34.09905315 28.28706263 34.45941351]\n",
+ "[27.88778492 34.10578149 28.32393174 34.46614185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.08886551 34.20166482 28.52551115 34.56202518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[29.03759985 34.41177149 29.47534681 34.77213185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.9357356 34.53321982 29.3741244 34.89358018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.93270428 34.54754982 29.37116906 34.90791018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.58505281 34.48642649 29.02319385 34.84678685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.56314232 34.43865482 29.00103102 34.79901518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.24959653 34.18720649 28.68616681 34.54756685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.34895832 34.17116149 28.78544502 34.53152185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.45677942 34.06289649 28.89270392 34.42325685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.93163275 34.19952982 29.36826725 34.55989018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.95773406 34.20605649 29.3944026 34.56641685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[29.41983959 33.92073649 29.85503041 34.28109685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[29.5542939 33.87038482 29.9892261 34.23074518]\n",
+ "[ 7.57665158 43.20580149 8.07250842 43.56616185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.18092371 42.97902482 7.67493629 43.33938518]\n",
+ "[ 6.33502798 42.66039982 6.82648535 43.02076018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.39530028 42.53242649 6.88574305 42.89278685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.41299021 42.50838649 6.90324313 42.86874685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.41579102 42.53350482 6.90624231 42.89386518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.53707604 42.59119982 7.02798396 42.95156018]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.14081813 42.64988315 6.63219187 43.01024351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.62268714 42.48338649 6.11274286 42.84374685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.58915141 42.47934149 6.07917526 42.83970185]\n",
+ "[ 5.64777141 42.55827649 6.13841859 42.91863685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.32867724 42.29170649 5.81722942 42.65206685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.45187539 42.36208815 5.94097794 42.72244851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.70367819 42.36732982 6.19282181 42.72769018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.76376206 42.23401815 6.25186461 42.59437851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.40227708 42.29729982 5.89087292 42.65766018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.79754154 42.37327982 6.28673179 42.73364018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.19816062 42.11366815 6.68532938 42.47402851]\n",
+ "[ 6.24455898 42.01343149 6.73095436 42.37379185]\n",
+ "[ 6.20942736 41.88260982 6.69481931 42.24297018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.91416527 41.87748815 6.39951807 42.23784851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.81471494 41.90720982 6.30029506 42.26757018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.81633936 42.06091815 6.30310064 42.42127851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.84305286 42.18234815 6.3307538 42.54270851]\n",
+ "[ 5.98627918 42.15063649 6.47373416 42.51099685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.0841045 42.16474149 6.57166883 42.52510185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.3640806 42.09987815 6.85114273 42.46023851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.2420992 42.19144982 6.7298708 42.55181018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.17981452 42.22610315 6.66785548 42.58646351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.20464373 42.23058982 6.6927196 42.59095018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.24454489 42.21572149 6.73250511 42.57608185]\n",
+ "[ 6.26922438 42.18668149 6.75695896 42.54704185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.20116255 42.24373982 6.68934078 42.60410018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.14173157 42.32686482 6.63055843 42.68722518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.23468083 41.96784982 6.72072583 42.32821018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.2443752 41.72118482 6.72853814 42.08154518]\n",
+ "[ 6.33429686 41.65292649 6.81794314 42.01328685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.29589859 41.71589315 6.78002141 42.07625351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.04115069 41.71885649 6.52529597 42.07921685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.56112047 41.51562149 6.04373286 41.87598185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.52914758 41.54125149 6.01195242 41.90161185]\n",
+ "[ 5.58335643 41.53357149 6.06610357 41.89393185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.56574928 41.51282982 6.04834072 41.87319018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.42497381 41.48049482 5.90732286 41.84085518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.52938206 41.14752149 6.00925794 41.50788185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.43763553 41.35413815 5.91904114 41.71449851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.10063569 41.28949482 6.58156098 41.64985518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.03498751 41.30786815 6.51604916 41.66822851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.98387071 41.30700482 6.46492595 41.66736518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.85632186 41.28558315 6.33721814 41.64594351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[27.92407958 35.24051815 28.36628376 35.60087851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.6022101 43.22327149 8.0982099 43.58363185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.20932442 43.04470315 7.70386891 43.40506351]\n",
+ "[ 7.13462307 42.92675482 7.6282136 43.28711518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.05312737 42.81748982 7.5458393 43.17785018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.99818334 42.79894649 7.49074666 43.15930685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.91491419 42.74039315 7.40700914 43.10075351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.96641001 42.64605649 7.45775333 43.00641685]\n",
+ "[ 7.90663748 42.15537482 8.39412919 42.51573518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.90851254 42.23132482 8.39659413 42.59168518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.85115387 42.25196149 8.33939613 42.61232185]\n",
+ "[ 7.90612896 42.31345982 8.39485104 42.67382018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.80868677 42.72805649 8.30068323 43.08841685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.77094956 42.82359315 8.26371044 43.18395351]\n",
+ "[ 7.73727852 42.85706982 8.23030815 43.21743018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.73734975 42.85219982 8.23034025 43.21256018]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.75400389 42.80172315 8.24658945 43.16208351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.36041134 34.94933649 28.80102866 35.30969685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.85047199 35.13918649 29.29212135 35.49954685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.8812543 35.10718815 29.32272904 35.46754851]\n",
+ "[28.29709637 35.22953482 28.73924029 35.58989518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.24108275 35.09735982 28.68250391 35.45772018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.17000111 35.02873815 28.61104889 35.38909851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.12343049 35.00317815 28.56433951 35.36353851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.06642594 34.96180149 28.50711072 35.32216185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.79234983 34.73934815 29.23183683 35.09970851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[29.29644261 35.16213649 29.73821739 35.52249685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[29.28488237 35.21823315 29.72696429 35.57859351]\n",
+ "[27.8877903 34.94910649 28.32840636 35.30946685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[27.87028494 34.81200649 28.31016172 35.17236685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[27.26564964 34.58069149 27.70429036 34.94105185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[27.23259554 34.53072649 27.67097112 34.89108685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[27.29094588 34.48526315 27.72908078 34.84562351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[27.54634207 34.36976482 27.98386793 34.73012518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[27.54768857 34.27896982 27.98473809 34.63933018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.97818944 34.30409482 29.41537056 34.66445518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[29.03560008 34.44076315 29.47349992 34.80112351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[29.16389564 34.48409649 29.60202436 34.84445685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[29.87364305 34.41372315 30.31140029 34.77408351]\n",
+ "[30.19728691 34.21263149 30.63398975 34.57299185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[30.33533741 34.31821982 30.77259259 34.67858018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[30.78814013 34.51578149 31.22643653 34.87614185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[31.1165671 34.26870482 31.5535629 34.62906518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[30.56861747 34.10351315 31.00475253 34.46387351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[30.56700341 34.11535315 31.00319993 34.47571351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[30.74034376 34.15946649 31.17676958 34.51982685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[31.38545519 34.23691649 31.82228481 34.59727685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[30.5693361 34.69774815 31.00860056 35.05810851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[30.54552286 34.79602982 30.9853138 35.15639018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[30.59233227 35.24682315 31.03457107 35.60718351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[30.74959859 35.02660149 31.19063475 35.38696185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[12.402451 39.26510482 12.869099 39.62546518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[12.11575121 39.15880315 12.58168879 39.51916351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[11.64538373 39.14303815 12.11121627 39.50339851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[11.45102391 39.19047315 11.91717275 39.55083351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.70893148 35.33373649 29.15164852 35.69409685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.899221 35.42076649 29.342419 35.78112685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.870195 35.44999982 29.313555 35.81036018]\n",
+ "[28.50900173 35.79205649 28.95427493 36.15241685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.31949899 35.72910649 28.76441767 36.08946685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.53630236 35.64652815 28.98075764 36.00688851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.31109255 35.81834149 28.75651411 36.17870185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.32728038 35.64902149 28.77174962 36.00938185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.46838993 35.62417149 28.91272007 35.98453185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.62543512 35.65268649 29.06992488 36.01304685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.3731284 35.67351982 28.81773494 36.03388018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.45065194 35.76063982 28.89574806 36.12100018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.39884031 35.71440482 28.84367635 36.07476518]\n",
+ "[28.49113249 35.77227815 28.93629417 36.13263851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.43650022 35.76953482 28.88164644 36.12989518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.4170385 35.72869315 28.86195484 36.08905351]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.42521209 35.72504149 28.87010791 36.08540185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.47571417 35.72667649 28.92061917 36.08703685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.50428805 35.72529649 28.94918529 36.08565685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[28.36290643 35.74068649 28.80789023 36.10104685]\n",
+ "[27.81677796 35.49935815 28.26041204 35.85971851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[27.68890211 35.30991815 28.13148789 35.67027851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[27.13859565 34.61916982 27.57744101 34.97953018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[26.23755424 34.43855649 26.67544242 34.79891685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[26.28967323 34.50265149 26.72790011 34.86301185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[26.09065324 34.32616649 26.5279501 34.68652685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[27.08870948 34.21547815 27.52542718 34.57583851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 64.87048338 -49.64559018 65.42496328 -49.28522982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 65.32464565 -47.27362685 65.85396101 -46.91326649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[134.41550709 -46.97720018 134.94189951 -46.61683982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.62730827 -9.44793018 -139.26218173 -9.08756982]\n",
+ "[-139.63903698 -9.46141351 -139.27389642 -9.10105315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.66370002 -9.47376685 -139.29854658 -9.11340649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.6863778 -9.47910518 -139.3212188 -9.11874482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.70613854 -9.47399851 -139.34098486 -9.11363815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.72257113 -9.47589518 -139.35741547 -9.11553482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.77035844 -9.52162518 -139.40515496 -9.16126482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.79849362 -9.56326018 -139.43324638 -9.20289982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.94053153 -9.59399018 -139.57525187 -9.23362982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.90947038 -9.86217351 -139.54390302 -9.50181315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.88274147 -9.94956851 -139.51707853 -9.58920815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.75425804 -10.00684185 -139.38853196 -9.64648149]\n",
+ "[-139.55644691 -9.84972185 -139.19089309 -9.48936149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.15946055 -9.50655518 -138.79427285 -9.14619482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-138.58704559 -9.52572685 -138.22183781 -9.16536649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-137.29944664 -9.65716018 -136.93409996 -9.29679982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-137.04592089 -9.63374851 -136.68059911 -9.27338815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-135.37641339 -9.15821851 -135.01158321 -8.79785815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-135.29924131 -9.09080185 -134.93447869 -8.73044149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-135.6337429 -8.60961518 -135.2694471 -8.24925482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-133.85380381 -8.55128518 -133.48956279 -8.19092482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-132.53850579 -8.60514518 -132.17421421 -8.24478482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-130.72437726 -8.84533851 -130.35985614 -8.48497815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-130.45618479 -8.65595185 -130.09184521 -8.29559149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-128.75783043 -8.97464851 -128.39318297 -8.61428815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-127.74005844 -8.91963518 -127.37546496 -8.55927482]\n",
+ "[-124.54846022 -8.37055018 -124.18438638 -8.01018982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.60753491 -8.35147351 -140.24347849 -7.99111315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.62692743 -8.35698851 -140.26286597 -7.99662815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.29859805 -8.47791351 -139.93442535 -8.11755315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.45709766 -8.54155185 -141.09286574 -8.18119149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.7519301 -8.79266351 -141.3874599 -8.43230315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.35668446 -9.02332185 -140.99198894 -8.66296149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.33690204 -8.15645351 -140.97302136 -7.79609315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.98743322 -7.56328185 -140.62406018 -7.20292149]\n",
+ "[-141.47175521 -8.24175685 -141.10779819 -7.88139649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-142.23313816 -8.61377685 -141.86883844 -8.25341649]\n",
+ "[-142.58432772 -8.10928351 -142.22048888 -7.74892315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-142.56475762 -8.07869851 -142.20094578 -7.71833815]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.98040831 -7.64432851 -141.61696829 -7.28396815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-142.13220856 -7.34590518 -141.76901144 -6.98554482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.77092803 -7.54672518 -141.40756857 -7.18636482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.30300928 -7.26368185 -140.93987732 -6.90332149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.1217542 -7.43058185 -140.7584892 -7.07022149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.05801047 -8.37460018 -139.69393293 -8.01423982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-138.38623727 -8.83855018 -138.02172273 -8.47818982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.77407882 -9.43937685 -140.40896118 -9.07901649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.73494647 -9.46042851 -140.36980693 -9.10006815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.75312282 -9.47914351 -140.38796378 -9.11878315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.73384593 -9.48509518 -140.36868067 -9.12473482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.8132906 -9.50359185 -140.448106 -9.14323149]\n",
+ "[-140.86207456 -9.49510351 -140.49689884 -9.13474315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.86741089 -9.53905018 -140.50218911 -9.17868982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.83403117 -9.56184351 -140.46878543 -9.20148315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.63386232 -9.48450851 -140.26869768 -9.12414815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.61791566 -9.73633685 -140.25248434 -9.37597649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.74101636 -9.69713351 -140.37562704 -9.33677315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-140.81319931 -9.54879185 -140.44796729 -9.18843149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.05561208 -9.44237851 -140.69049132 -9.08201815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.11607963 -9.36030851 -140.75104377 -8.99994815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.13766415 -9.39814351 -140.77258925 -9.03778315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.36519534 -9.35856685 -141.00016126 -8.99820649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.9112925 -9.61170185 -139.5459941 -9.25134149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.64906283 -9.92160518 -139.28343057 -9.56124482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-139.73840583 -9.92416018 -139.37277077 -9.56379982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.29516469 -9.07412185 -140.93041871 -8.71376149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.44830915 -9.19602685 -141.08344085 -8.83566649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.55680475 -9.28915351 -141.19184185 -8.92879315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.7363852 -9.42912685 -141.3712782 -9.06876649]\n",
+ "[-141.87268224 -9.50348185 -141.50749776 -9.14312149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.90818349 -9.51542351 -141.54298651 -9.15506315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-143.73173525 -9.33895518 -143.36672135 -8.97859482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-143.63120544 -9.51284018 -143.26601116 -9.15247982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-142.51318682 -9.67307851 -142.14782318 -9.31271815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-142.66024277 -9.73710351 -142.29481063 -9.37674315]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-143.01683106 -9.53614018 -142.65161234 -9.17577982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-143.35323511 -9.76321851 -142.98777489 -9.40285815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-143.25822208 -9.84690185 -142.89267132 -9.48654149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-142.88873798 -9.75312685 -142.52328862 -9.39276649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.69760061 -9.82577018 -141.33207279 -9.46540982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.89427458 -9.80854685 -141.52876542 -9.44818649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-142.4892935 -9.71684185 -142.1238831 -9.35648149]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-143.90027387 -8.91029018 -143.53568953 -8.54992982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-143.73421827 -9.33510018 -143.36920833 -8.97473982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-142.73985537 -9.88673685 -142.37426123 -9.52637649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-142.27552608 -10.16476851 -141.90962392 -9.80440815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-141.9933759 -10.08710851 -141.6275607 -9.72674815]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-142.38101349 -10.12449018 -142.01515651 -9.76412982]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.38297769 42.70442649 7.87478565 43.06478685]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.10356342 42.58639315 7.59443324 42.94675351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.01824898 42.53908315 7.50874436 42.89944351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.83186448 42.40949482 7.32133885 42.76985518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.79971354 42.35021815 7.28872313 42.71057851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.78956578 42.57443815 7.28034089 42.93479851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.02258975 42.56248815 7.51327025 42.92284851]\n",
+ "[ 7.37650036 42.45251982 7.86631297 42.81288018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.53203689 42.37829482 8.02126645 42.73865518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 8.06903681 42.40508149 8.55847653 42.76544185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 8.3779476 42.67683149 8.86953573 43.03719185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-62.70701615 61.94018449 -61.93638251 62.30054485]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.56951197 43.23034482 8.06556969 43.59070518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.5059631 43.24223365 8.00211823 43.60259401]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.25629743 43.27974065 7.75276024 43.64010101]\n",
+ "[ 7.09747972 43.24293632 7.59364061 43.60329668]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.05087825 43.23943132 7.54701041 43.59979168]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.99400442 43.13562615 7.48928825 43.49598651]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.85515317 42.99214065 7.34927183 43.35250101]\n",
+ "[ 6.50281233 42.84126199 6.995715 43.20162235]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.37982708 42.78019532 6.87224025 43.14055568]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.26748735 42.73567849 6.75954465 43.09603885]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.51039771 42.70370999 6.00219996 43.06407035]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 5.03890469 42.58207732 5.52974031 42.94243768]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.92284966 42.54675082 5.41340567 42.90711118]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.93684343 42.41977615 5.42639857 42.78013651]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.94725135 42.51582582 5.43756299 42.87618618]\n",
+ "[ 4.68224915 42.47221515 5.17221685 42.83257551]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.5336337 42.41512565 5.0231523 42.77548601]\n",
+ "[ 4.45390963 42.35453799 4.94295304 42.71489835]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 3.57715955 41.93046549 4.06291779 42.29082585]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 3.4062797 41.67056232 3.8900593 42.03092268]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 3.00127135 41.09900315 3.48079032 41.45936351]\n",
+ "[ 2.95467992 41.06206465 3.43392775 41.42242501]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.94144606 41.05393499 3.42063428 41.41429535]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.32169876 40.83936349 2.79932257 41.19972385]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.24048002 40.80911432 2.71788465 41.16947468]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.0702289 40.66948532 2.5466261 41.02984568]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.21564222 40.55557182 2.69122278 40.91593218]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.25200791 40.51159299 2.72727442 40.87195335]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.26653486 40.47446482 2.7415368 40.83482518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.16500912 40.48183599 2.64006355 40.84219635]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.17713509 40.47234132 2.65212191 40.83270168]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.11208417 40.43932532 2.58683616 40.79968568]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.11974757 40.42682799 2.59441077 40.78718835]\n",
+ "[ 2.06305265 40.42713232 2.53771801 40.78749268]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.05049742 40.40216899 2.52498558 40.76252935]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.05521718 40.45652949 2.53009149 40.81688985]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 2.0385323 40.42263082 2.5131657 40.78299118]\n",
+ "[ 1.92847018 40.39339799 2.40289615 40.75375835]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.66291322 40.17638015 2.13580878 40.53674051]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.63598751 40.16117632 2.10877649 40.52153668]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.59764122 39.90284699 2.06863145 40.26320735]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.69019173 39.93721699 2.16141994 40.29757735]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.60352039 39.87502449 2.07431828 40.23538485]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.61497916 39.91427982 2.08604851 40.27464018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.63389531 39.88676849 2.10477435 40.24712885]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.73197769 39.94771199 2.20327864 40.30807235]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.72491284 39.92996765 2.19609082 40.29032801]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.69646264 39.91558699 2.16754103 40.27594735]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.65575406 39.91286282 2.1268136 40.27322318]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 1.59111643 39.88210315 2.06196323 40.24246351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 64.38141176 -48.93148685 64.92796824 -48.57112649]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.34303347 43.36871482 7.84022853 43.72907518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.22145792 43.32787099 7.71831642 43.68823135]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 71.63865427 -51.48405518 72.21505573 -51.12369482]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-108.7663813 19.18474115 -108.3844113 19.54510151]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-108.96967848 19.92501182 -108.58593392 20.28537218]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-108.91016691 20.22263865 -108.52568609 20.58299901]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-108.57599003 20.18318315 -108.19160757 20.54354351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-108.29835689 20.28755765 -107.91371371 20.64791801]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-108.15657575 20.45075915 -107.77152165 20.81111951]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-108.25595565 20.43897382 -107.87093135 20.79933418]\n",
+ "[-108.21563247 20.91096382 -107.82939793 21.27132418]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-107.83936361 21.54719649 -107.45144379 21.90755685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-106.5240903 20.79095315 -106.1381667 21.15131351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-107.14497996 21.07471132 -106.75831764 21.43507168]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-108.9798385 21.45786149 -108.5921591 21.81822185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-110.01207647 20.30875899 -109.62738013 20.66911935]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-109.88342203 20.49352432 -109.49825957 20.85388468]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-110.11116051 20.32162415 -109.72643189 20.68198451]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-110.32262972 20.31063282 -109.93792868 20.67099318]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-110.38150496 20.26964432 -109.99690664 20.63000468]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-110.65696639 20.27885449 -110.27234501 20.63921485]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-111.53747884 19.69215365 -111.15430116 20.05251401]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-107.9048448 17.58576315 -107.5264386 17.94612351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-108.61578362 19.21358899 -108.23374598 19.57394935]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-108.80529517 19.71615365 -108.42205943 20.07651401]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-109.08804115 19.62052165 -108.70503625 19.98088201]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-109.25483508 19.60316682 -108.87187192 19.96352718]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-109.74780483 19.48524249 -109.36512417 19.84560285]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-112.00028496 20.29447849 -111.61562444 20.65483885]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-110.57615029 22.38273732 -110.18592131 22.74309768]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-109.98108858 22.50134632 -109.59052282 22.86170668]\n",
+ "[-110.50310724 22.84044682 -110.11156616 23.20080718]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-110.47285455 22.97953065 -110.08090805 23.33989101]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-110.48983757 22.97209432 -110.09791283 23.33245468]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.49586384 43.21258315 7.99177616 43.57294351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.45794661 43.21231315 7.95385672 43.57267351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.43927191 43.23300649 7.93535143 43.59336685]\n",
+ "[ 7.40689408 43.23735815 7.90300925 43.59771851]\n",
+ "[ 7.38577573 43.22474649 7.88178761 43.58510685]\n",
+ "[ 7.38790468 43.21074982 7.88380199 43.57111018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.38245402 43.19746149 7.87824265 43.55782185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.34948058 43.14073815 7.84480608 43.50109851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 7.11641425 43.13370315 7.61168241 43.49406351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.92374132 43.13319482 7.41900534 43.49355518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 6.88563293 43.12666482 7.38084374 43.48702518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[36.99240512 42.20022315 37.48024488 42.56058351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[37.02990178 42.04559482 37.51654488 42.40595518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[38.22320374 41.38549482 38.70484292 41.74585518]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[39.53889307 41.38791315 40.02055027 41.74827351]\n",
+ "[40.60881871 42.12234815 41.09605463 42.48270851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[40.30364411 42.71911815 40.79556923 43.07947851]\n",
+ "[38.87983365 43.46878982 39.37785635 43.82915018]\n",
+ "[38.60951242 43.55572482 39.10825758 43.91608518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.94353546 34.51125315 26.38180788 34.87161351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[26.36179809 34.74373315 26.80130857 35.10409351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.10289451 34.44477149 25.54081549 34.80513185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[24.15006914 34.33471482 24.58741086 34.69507518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[24.54946423 34.04880482 24.98531577 34.40916518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[24.59043485 33.86871315 25.02535849 34.22907351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[24.84761783 33.62105315 25.28127883 33.98141351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.00149939 33.63556482 25.43523395 33.99592518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.08359117 33.85909815 25.51846549 34.21945851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.10450948 33.95186649 25.53986052 34.31222685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.14788401 34.02440315 25.58360933 34.38476351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[25.05263046 34.22787649 25.48941288 34.58823685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[24.6257858 34.58966315 25.0644742 34.95002351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[24.19546878 34.79258315 24.63524122 35.15294351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[24.0337387 34.73292482 24.4731913 35.09328518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[23.34578178 34.92883649 23.78628822 35.28919685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[22.73685015 35.58830982 23.18097985 35.94867018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[22.81585201 35.50029815 23.25949133 35.86065851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[22.75706744 35.64292982 23.20150256 36.00329018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[22.51315583 35.98470149 22.95952083 36.34506185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.22351277 39.09321482 18.68901389 39.45357518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[16.39794704 38.01272815 16.85645962 38.37308851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[15.60985094 36.39835482 16.05859572 36.75871518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[15.38766233 35.96719315 15.83392767 36.32755351]\n",
+ "[16.52024826 35.26405815 16.96258174 35.62441851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.70918735 35.12867482 18.15077931 35.48903518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.85522214 35.14157149 18.29688452 35.50193185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.01928584 35.06623649 18.4605375 35.42659685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.10357018 34.99468815 18.54443316 35.35504851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.68839993 35.84522482 19.13397341 36.20558518]\n",
+ "[18.62981293 36.07041482 19.07666707 36.43077518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.7320472 36.19270649 19.1796028 36.55306685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.77965285 36.17045315 19.22708049 36.53081351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.70488612 36.47956982 19.15410388 36.83993018]\n",
+ "[18.61311714 36.56529482 19.0628362 36.92565518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.81096699 36.75725649 19.26181635 37.11761685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.84888979 36.75236649 19.29971021 37.11272685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.81738007 36.46049815 19.26648659 36.82085851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.82165084 36.50478482 19.27101582 36.86514518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.78054458 36.43034315 19.22947542 36.79070351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.40389141 36.41710982 18.85274525 36.77747018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.47858769 36.51042815 18.92798565 36.87078851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.30942082 36.46595982 18.75855918 36.82632018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.2055417 36.55861815 18.65522164 36.91897851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.24687676 36.56371982 18.69658658 36.92408018]\n",
+ "[18.17959331 36.48910149 18.62886669 36.84946185]\n",
+ "[18.02900121 36.22026315 18.47671545 36.58062351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.8318056 35.73861149 18.27677774 36.09897185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.62631193 35.57214649 18.07035141 35.93250685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.36710118 35.76623649 18.81222882 36.12659685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.14118497 41.06055149 18.62042169 41.42091185]\n",
+ "[17.99100082 41.75001482 18.47538252 42.11037518]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.30372761 41.85680149 17.78892239 42.21716185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.62272148 41.74018149 18.10702852 42.10054185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.47942205 41.53917482 17.96221129 41.89953518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.78975458 41.46158815 18.27196208 41.82194851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.99599774 41.62753315 18.47945226 41.98789351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.82041371 41.65596649 18.30408295 42.01632685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.65243037 41.53696149 18.13520297 41.89732185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.63204536 41.38685149 18.11369464 41.74721185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.04564338 41.50506982 18.52817662 41.86543018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.90772732 41.80091482 18.39249602 42.16127518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.6062828 42.02023315 18.09273054 42.38059351]\n",
+ "[17.26157979 41.85011815 17.74672355 42.21047851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.49810048 41.78124649 17.98271952 42.14160685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.87433282 41.44824649 18.35644052 41.80860685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.4148477 41.48168149 17.89720564 41.84204185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.34261658 41.44010815 17.82466342 41.80046851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.32945955 41.27901315 17.81030711 41.63937351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.8293727 41.69809149 18.31336064 42.05845185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.82876474 41.75863815 18.31321192 42.11899851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.22555384 42.02991815 17.71207616 42.39027851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.31152393 41.97094982 17.79759273 42.33131018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.32640439 41.88513149 17.81181561 42.24549185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.66106313 41.52779315 18.14376687 41.88815351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.79223802 41.74592315 18.27658864 42.10628351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.80022267 41.89081149 18.28567733 42.25117185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.74645027 41.80582815 18.23125639 42.16618851]\n",
+ "[17.63481897 41.98482649 18.12099437 42.34518685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.46155677 41.96239482 17.94755989 42.32275518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.52418733 41.81272982 18.00904601 42.17309018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.52416714 41.75449649 18.00858286 42.11485685]\n",
+ "[17.63625837 41.82863982 18.12123829 42.18900018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.82717993 41.95027649 18.31309007 42.31063685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.73950037 41.93494815 18.22529297 42.29530851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.27218357 41.86004315 17.75740309 42.22040351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.32974061 41.57989149 17.81283605 41.94025185]\n",
+ "[17.94048047 41.47649149 18.42279953 41.83685185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 3.34667166 69.22503815 4.37113167 69.58539851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[12.74214331 69.24826982 13.76771003 69.60863018]\n",
+ "[13.47375272 69.32085815 14.50279394 69.68121851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-0.58520366 63.86065982 0.23804366 64.22102018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-3.88572618 66.41275815 -2.97861382 66.77311851]\n",
+ "[-4.14198774 66.23908482 -3.24117893 66.59944518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-4.45767008 66.24994482 -3.55646992 66.61030518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-9.56538522 74.13376315 -8.23252478 74.49412351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-9.5752301 74.12941315 -8.2427299 74.48977351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-10.25466949 74.05898315 -8.92797385 74.41934351]\n",
+ "[-9.51456109 73.51931649 -8.23065558 73.87967685]\n",
+ "[-9.23173849 73.47453649 -7.95125485 73.83489685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-0.54519388 64.41841315 0.29489055 64.77877351]\n",
+ "[-0.16427637 64.20238815 0.66919637 64.56274851]\n",
+ "[-0.64608557 64.16602315 0.18628557 64.52638351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[ 4.62429951 71.35450982 5.76205049 71.71487018]\n",
+ "[ 1.93164613 70.10467315 2.99987387 70.46503351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-0.10764527 69.68404315 0.93916527 70.04440351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-10.64563346 74.49673982 -9.28198321 74.85710018]\n",
+ "[-15.72555382 72.90975815 -14.48664952 73.27011851]\n",
+ "[-15.80378643 72.53606982 -14.59087691 72.89643018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.90212319 57.12311849 20.56922015 57.48347885]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.74528201 57.15322782 20.41292565 57.51358818]\n",
+ "[17.7606458 41.35048149 18.2420242 41.71084185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.61400682 41.23113815 18.09449984 41.59149851]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.60306692 41.20224815 18.08334642 41.56260851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[18.09518734 41.55816815 18.57811932 41.91852851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.86211759 41.80434482 18.34691241 42.16470518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.38872929 41.89431149 17.87421071 42.25467185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[17.35723727 40.96011649 17.83573939 41.32047685]\n",
+ "[-10.45509636 -6.25603018 -10.0927003 -5.89566982]\n",
+ "[-14.33939943 -7.60268185 -13.97599391 -7.24232149]\n",
+ "[-23.15637519 -0.16469185 -22.79601481 0.19566851]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-23.03158359 -0.23431851 -22.67122307 0.12604185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[-18.37238788 0.58396649 -18.01199546 0.94432685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.75042158 57.12476482 20.41754842 57.48512518]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.72795497 57.11440999 20.39489403 57.47477035]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.74523038 57.17345982 20.41324196 57.53382018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.50312766 57.32916449 20.17398734 57.68952485]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.56903042 57.31551432 20.23963924 57.67587468]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.2352683 57.04145715 19.90088804 57.40181751]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.23365384 57.05554282 19.89952782 57.41590318]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.32754473 57.09088199 19.99405761 57.45124235]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.23170277 57.05632599 19.89759089 57.41668635]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.52135063 56.99549399 20.18614237 57.35585435]\n",
+ "[19.61869189 56.97185532 20.28305877 57.33221568]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.93160368 57.48771165 20.60539366 57.84807201]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[19.80919973 57.64782232 20.48598027 58.00818268]\n",
+ "[32.66485451 43.70512649 33.16484883 44.06548685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[32.60907058 43.70923982 33.10909942 44.06960018]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[31.80195773 43.56325315 32.30076561 43.92361351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[31.6333931 43.61909315 32.1326669 43.97945351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[31.6253417 43.82061815 32.1263083 44.18097851]\n",
+ "[31.40769827 43.90336649 31.90936507 44.26372685]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[31.49653061 43.88826315 31.99806939 44.24862351]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n",
+ "[31.02959145 43.76731149 31.53010855 44.12767185]\n",
+ "An error occurred: Your search returned no results; try different search parameters. Continuing with next item.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import csv\n",
+ "import numpy as np\n",
+ "import icepyx as ipx # Make sure you have installed and are importing icepyx\n",
+ "from datetime import datetime, timedelta\n",
+ "\n",
+ "# Set ATL parameters\n",
+ "short_name = 'ATL03'\n",
+ "\n",
+ "num_eff=0\n",
+ "\n",
+ "time_dif=1 #days\n",
+ "\n",
+ "# Open the CSV file for writing\n",
+ "output_csv_path = path+'granule_data_24hs_20km.csv'\n",
+ "with open(output_csv_path, 'w', newline='') as csvfile:\n",
+ " # Define the CSV column names\n",
+ " fieldnames = ['latitude', 'longitude', 'date', 'kd_par', 'granule_id']\n",
+ " # Create a CSV writer object\n",
+ " writer = csv.DictWriter(csvfile, fieldnames=fieldnames)\n",
+ " # Write the header to the CSV file\n",
+ " writer.writeheader()\n",
+ " \n",
+ " # Loop through the BGC_ArgoDateInfo array\n",
+ " # Each element is a tuple in the form (latitude, longitude, kd_par, collected_date)\n",
+ " for lat, lon, kd_par, formatted_date in unique_BGC_ArgoDateInfoArr:\n",
+ " \n",
+ " # Convert latitude and longitude to float if they are not already\n",
+ " lat = float(lat)\n",
+ " lon = float(lon)\n",
+ "\n",
+ " # Calculate 20 km in degrees for latitude and longitude\n",
+ " # A degree of latitude is approximately 111 kilometers (km) and longitude varies based on latitude\n",
+ " # but for simplicity we'll use an average for 20 km which will slightly overestimate the extent\n",
+ " km_in_deg_lat = 20 / 111\n",
+ " km_in_deg_lon = 20 / (111 * np.cos(np.radians(lat))) # Adjust for the longitude\n",
+ "\n",
+ " minx = lon - km_in_deg_lon\n",
+ " miny = lat - km_in_deg_lat\n",
+ " maxx = lon + km_in_deg_lon\n",
+ " maxy = lat + km_in_deg_lat\n",
+ "\n",
+ " # Set spatial extent\n",
+ " spatial_extent = np.array([minx, miny, maxx, maxy])\n",
+ " print(spatial_extent)\n",
+ "\n",
+ " # Calculate the date range, 24 hours on either side of the specified date\n",
+ " central_date = datetime.strptime(formatted_date, '%Y-%m-%d')\n",
+ " start_date = (central_date - timedelta(days=time_dif)).strftime('%Y-%m-%d')\n",
+ " end_date = (central_date + timedelta(days=time_dif)).strftime('%Y-%m-%d')\n",
+ " date_range = [start_date, end_date]\n",
+ " \n",
+ "# print(short_name,date_range) \n",
+ "\n",
+ " # Create a query instance for the ATL03 dataset\n",
+ " reg = ipx.Query(short_name, spatial_extent, date_range,version='006')\n",
+ " \n",
+ " # Get granule IDs\n",
+ " try:\n",
+ " \n",
+ " #get granules IDS\n",
+ " gran_ids = reg.avail_granules(ids=True, cloud=False)\n",
+ " \n",
+ " if gran_ids: \n",
+ " num_eff+=1\n",
+ "# print(num_eff)\n",
+ " \n",
+ " # Write each granule ID to the CSV file along with the latitude, longitude, and date\n",
+ " for gran_id in gran_ids:\n",
+ " writer.writerow({\n",
+ " 'latitude': lat,\n",
+ " 'longitude': lon,\n",
+ " 'date': formatted_date, \n",
+ " 'kd_par':kd_par,\n",
+ " 'granule_id': gran_id\n",
+ " })\n",
+ " \n",
+ " \n",
+ " except AssertionError as e:\n",
+ " # Handle the assertion error or pass\n",
+ " print(f\"An error occurred: {e}. Continuing with next item.\")\n",
+ " # Optionally, pass if you want to do nothing and just continue\n",
+ " # pass\n",
+ "\n",
+ " except AttributeError as e:\n",
+ " # Handle the attribute error or pass\n",
+ " print(f\"An error occurred: {e}. Continuing with next item.\")\n",
+ " # Optionally, pass if you want to do nothing and just continue\n",
+ " # pass\n",
+ "\n",
+ " \n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 192,
+ "id": "b03dc6ce",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "96"
+ ]
+ },
+ "execution_count": 192,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "num_eff"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 181,
+ "id": "e82cd2de",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "reg = ipx.Query(short_name, spatial_extent, date_range,version='006')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 180,
+ "id": "f39c4afe",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['2020-10-14', '2020-10-18']"
+ ]
+ },
+ "execution_count": 180,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "date_range"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 182,
+ "id": "686d8e9e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 182,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "reg"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 164,
+ "id": "14e49b8d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['2019-09-11', '2019-09-15']"
+ ]
+ },
+ "execution_count": 164,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "array([-90.0905, 29.136 , -90.0865, 29.14 ])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 183,
+ "id": "5be97375",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "gran_ids = reg.avail_granules(ids=True, cloud=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 184,
+ "id": "ce7497e2",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[['ATL03_20201016102936_03400902_006_01.h5']]"
+ ]
+ },
+ "execution_count": 184,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "gran_ids"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 109,
+ "id": "5209e40c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0.046954055988112704"
+ ]
+ },
+ "execution_count": 109,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "km_in_deg_lon"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "6cc44e4d",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/examples_from_others/atl06_ancillary.ipynb b/icesat2_kdph-main/examples_from_others/atl06_ancillary.ipynb
new file mode 100644
index 0000000..f2344aa
--- /dev/null
+++ b/icesat2_kdph-main/examples_from_others/atl06_ancillary.ipynb
@@ -0,0 +1,369 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "3d6b3418-01b5-4546-ba53-175e3ad50d55",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "# Imports\n",
+ "import matplotlib.pyplot as plt\n",
+ "from sliderule import sliderule, icesat2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "2e7c4e03-2993-4ff3-9beb-0a815328ae02",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "# Configure ICESat-2 API\n",
+ "icesat2.init(\"slideruleearth.io\", verbose=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "23d6327c-1b96-4a80-8843-adc760fba0e0",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "# Area of Interest\n",
+ "region = sliderule.toregion('grandmesa.geojson')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "c7dc7f2e-c8a3-4745-a8f5-7d28af1e0449",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "# Build ATL06 Request\n",
+ "parms = {\n",
+ " \"poly\": region[\"poly\"],\n",
+ " \"srt\": icesat2.SRT_LAND,\n",
+ " \"cnf\": icesat2.CNF_SURFACE_HIGH,\n",
+ " \"ats\": 10.0,\n",
+ " \"cnt\": 10,\n",
+ " \"len\": 40.0,\n",
+ " \"res\": 20.0,\n",
+ " \"atl03_geo_fields\": [\"dem_h\"]\n",
+ "}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "fcf33b7a-026e-425e-8e6c-9887b9896138",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
h_mean
\n",
+ "
gt
\n",
+ "
region
\n",
+ "
pflags
\n",
+ "
cycle
\n",
+ "
dh_fit_dx
\n",
+ "
y_atc
\n",
+ "
x_atc
\n",
+ "
h_sigma
\n",
+ "
rms_misfit
\n",
+ "
w_surface_window_final
\n",
+ "
rgt
\n",
+ "
spot
\n",
+ "
n_fit_photons
\n",
+ "
segment_id
\n",
+ "
geometry
\n",
+ "
dem_h
\n",
+ "
\n",
+ "
\n",
+ "
time
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
2018-10-16 10:49:21.177004288
\n",
+ "
1932.724302
\n",
+ "
10
\n",
+ "
6
\n",
+ "
0
\n",
+ "
1
\n",
+ "
0.033667
\n",
+ "
44675.378906
\n",
+ "
15708287.0
\n",
+ "
0.111745
\n",
+ "
0.604252
\n",
+ "
3.642701
\n",
+ "
272
\n",
+ "
6
\n",
+ "
31
\n",
+ "
784256
\n",
+ "
POINT (-108.05598 39.17009)
\n",
+ "
1934.513398
\n",
+ "
\n",
+ "
\n",
+ "
2018-10-16 10:49:21.180020480
\n",
+ "
1934.069145
\n",
+ "
10
\n",
+ "
6
\n",
+ "
0
\n",
+ "
1
\n",
+ "
0.087854
\n",
+ "
44674.816406
\n",
+ "
15708307.0
\n",
+ "
0.095391
\n",
+ "
0.662935
\n",
+ "
4.146861
\n",
+ "
272
\n",
+ "
6
\n",
+ "
52
\n",
+ "
784257
\n",
+ "
POINT (-108.05601 39.16991)
\n",
+ "
1936.373667
\n",
+ "
\n",
+ "
\n",
+ "
2018-10-16 10:49:21.183400960
\n",
+ "
1935.859843
\n",
+ "
10
\n",
+ "
6
\n",
+ "
0
\n",
+ "
1
\n",
+ "
0.081110
\n",
+ "
44674.156250
\n",
+ "
15708327.0
\n",
+ "
0.085968
\n",
+ "
0.589985
\n",
+ "
4.299329
\n",
+ "
272
\n",
+ "
6
\n",
+ "
49
\n",
+ "
784258
\n",
+ "
POINT (-108.05605 39.16971)
\n",
+ "
1938.076879
\n",
+ "
\n",
+ "
\n",
+ "
2018-10-16 10:49:21.186394368
\n",
+ "
1937.363736
\n",
+ "
10
\n",
+ "
6
\n",
+ "
0
\n",
+ "
1
\n",
+ "
0.085489
\n",
+ "
44673.578125
\n",
+ "
15708347.0
\n",
+ "
0.103511
\n",
+ "
0.552829
\n",
+ "
4.377315
\n",
+ "
272
\n",
+ "
6
\n",
+ "
29
\n",
+ "
784259
\n",
+ "
POINT (-108.05608 39.16953)
\n",
+ "
1940.455453
\n",
+ "
\n",
+ "
\n",
+ "
2018-10-16 10:49:21.189383680
\n",
+ "
1939.724812
\n",
+ "
10
\n",
+ "
6
\n",
+ "
0
\n",
+ "
1
\n",
+ "
0.156731
\n",
+ "
44672.921875
\n",
+ "
15708367.0
\n",
+ "
0.228836
\n",
+ "
1.105599
\n",
+ "
5.491649
\n",
+ "
272
\n",
+ "
6
\n",
+ "
24
\n",
+ "
784260
\n",
+ "
POINT (-108.05611 39.16935)
\n",
+ "
1942.912454
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " h_mean gt region pflags cycle \\\n",
+ "time \n",
+ "2018-10-16 10:49:21.177004288 1932.724302 10 6 0 1 \n",
+ "2018-10-16 10:49:21.180020480 1934.069145 10 6 0 1 \n",
+ "2018-10-16 10:49:21.183400960 1935.859843 10 6 0 1 \n",
+ "2018-10-16 10:49:21.186394368 1937.363736 10 6 0 1 \n",
+ "2018-10-16 10:49:21.189383680 1939.724812 10 6 0 1 \n",
+ "\n",
+ " dh_fit_dx y_atc x_atc h_sigma \\\n",
+ "time \n",
+ "2018-10-16 10:49:21.177004288 0.033667 44675.378906 15708287.0 0.111745 \n",
+ "2018-10-16 10:49:21.180020480 0.087854 44674.816406 15708307.0 0.095391 \n",
+ "2018-10-16 10:49:21.183400960 0.081110 44674.156250 15708327.0 0.085968 \n",
+ "2018-10-16 10:49:21.186394368 0.085489 44673.578125 15708347.0 0.103511 \n",
+ "2018-10-16 10:49:21.189383680 0.156731 44672.921875 15708367.0 0.228836 \n",
+ "\n",
+ " rms_misfit w_surface_window_final rgt spot \\\n",
+ "time \n",
+ "2018-10-16 10:49:21.177004288 0.604252 3.642701 272 6 \n",
+ "2018-10-16 10:49:21.180020480 0.662935 4.146861 272 6 \n",
+ "2018-10-16 10:49:21.183400960 0.589985 4.299329 272 6 \n",
+ "2018-10-16 10:49:21.186394368 0.552829 4.377315 272 6 \n",
+ "2018-10-16 10:49:21.189383680 1.105599 5.491649 272 6 \n",
+ "\n",
+ " n_fit_photons segment_id \\\n",
+ "time \n",
+ "2018-10-16 10:49:21.177004288 31 784256 \n",
+ "2018-10-16 10:49:21.180020480 52 784257 \n",
+ "2018-10-16 10:49:21.183400960 49 784258 \n",
+ "2018-10-16 10:49:21.186394368 29 784259 \n",
+ "2018-10-16 10:49:21.189383680 24 784260 \n",
+ "\n",
+ " geometry dem_h \n",
+ "time \n",
+ "2018-10-16 10:49:21.177004288 POINT (-108.05598 39.17009) 1934.513398 \n",
+ "2018-10-16 10:49:21.180020480 POINT (-108.05601 39.16991) 1936.373667 \n",
+ "2018-10-16 10:49:21.183400960 POINT (-108.05605 39.16971) 1938.076879 \n",
+ "2018-10-16 10:49:21.186394368 POINT (-108.05608 39.16953) 1940.455453 \n",
+ "2018-10-16 10:49:21.189383680 POINT (-108.05611 39.16935) 1942.912454 "
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Request ATL06 Data\n",
+ "atl06 = icesat2.atl06p(parms)\n",
+ "atl06.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "6af9de57-1bc5-4163-abe0-f5bddd2207e2",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "# Display Statistics\n",
+ "print(\"Reference Ground Tracks: {}\".format(atl06[\"rgt\"].unique()))\n",
+ "print(\"Cycles: {}\".format(atl06[\"cycle\"].unique()))\n",
+ "print(\"Received {} elevations\".format(atl06.shape[0]))\n",
+ "print(\"Timing Profiles\")\n",
+ "for key in icesat2.profiles:\n",
+ " print(\"{:20} {:.6f} secs\".format(key + \":\", icesat2.profiles[key]))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "47b48f46-8c12-4796-bd0f-8f26b6d5fbe3",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "# Build Delta Column\n",
+ "atl06[\"h_delta\"] = atl06[\"h_mean\"] - atl06[\"dem_h\"]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "96aacc09-79a4-48bb-8287-8703f217aae6",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "# Plot Heights\n",
+ "f, ax = plt.subplots(1, 2)\n",
+ "ax[0].set_title(\"h_mean\")\n",
+ "atl06.plot(ax=ax[0], column='h_mean', cmap='inferno', s=0.1)\n",
+ "ax[1].set_title(\"h_delta\")\n",
+ "atl06.plot(ax=ax[1], column='h_delta', cmap='inferno', s=0.1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "1d0ecee5-9d52-4370-a258-411fbb0b7626",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.12.4"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/examples_from_others/atl06_subsetting.ipynb b/icesat2_kdph-main/examples_from_others/atl06_subsetting.ipynb
new file mode 100644
index 0000000..c38421a
--- /dev/null
+++ b/icesat2_kdph-main/examples_from_others/atl06_subsetting.ipynb
@@ -0,0 +1,289 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "e243172d-a731-4f1a-ae97-7c7a1fd63757",
+ "metadata": {
+ "tags": [],
+ "user_expressions": []
+ },
+ "source": [
+ "# ATL06 Subsetting and On-Demand Product Generation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a824b4cc-e7a1-4d4e-be55-13f3a6c8e96e",
+ "metadata": {
+ "user_expressions": []
+ },
+ "source": [
+ "### Purpose\n",
+ "Subset ATL06 granule and compare against on-demand generated ATL06 elevations using SlideRule"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e5e2efc2-078a-4e37-8083-75994ebf62e8",
+ "metadata": {
+ "tags": [],
+ "user_expressions": []
+ },
+ "source": [
+ "#### Import Packages"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "338d80d9-e8f7-40ec-a294-683562437f69",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "from sliderule import sliderule, icesat2, earthdata"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7dc950a2-4b0c-4c8f-b7cc-ea6092f8c96e",
+ "metadata": {
+ "tags": [],
+ "user_expressions": []
+ },
+ "source": [
+ "#### Configure Logging"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "73e23172-83d2-4bd7-a2e9-84b9ac296037",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "import logging\n",
+ "loglevel = logging.CRITICAL\n",
+ "logging.basicConfig(level=loglevel)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "613b066a-fbda-4583-a29c-dbe35c182252",
+ "metadata": {
+ "tags": [],
+ "user_expressions": []
+ },
+ "source": [
+ "#### Initialize SlideRule Python Client"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "0ca128df-4ff0-4b95-ae40-d0a040c9a9db",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "domain = \"slideruleearth.io\"\n",
+ "sliderule.init(domain, verbose=True, loglevel=loglevel)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "95e29e39-bef3-4312-8498-f037267da964",
+ "metadata": {
+ "tags": [],
+ "user_expressions": []
+ },
+ "source": [
+ "#### Build Request Parameters"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "3f58197d-5265-4c83-bc62-6049ace71538",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "granule = '_20181016104402_02720106_006_02.h5'"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "07da0425-2ebf-41aa-b84d-8f27a508cdbe",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "region = sliderule.toregion(\"../data/grandmesa.geojson\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "3f01b208-4665-47c0-90e3-95834cc61338",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "parms = {\n",
+ " \"poly\": region[\"poly\"],\n",
+ " \"srt\": icesat2.SRT_LAND,\n",
+ " \"cnf\": icesat2.CNF_SURFACE_HIGH,\n",
+ " \"ats\": 10.0,\n",
+ " \"cnt\": 10,\n",
+ " \"len\": 40.0,\n",
+ " \"res\": 20.0\n",
+ "}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "90bb8070-d857-424a-a100-d1ea32631e82",
+ "metadata": {
+ "tags": [],
+ "user_expressions": []
+ },
+ "source": [
+ "#### Make ATL06 Subsetting Request"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "ecc3f250-0785-4630-a261-13d12ab59819",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "sdp = icesat2.atl06sp(parms, resources=['ATL06'+granule])\n",
+ "sdp"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a0f5c12e-c439-4549-ae7d-61af9954787b",
+ "metadata": {
+ "user_expressions": []
+ },
+ "source": [
+ "#### Make ATL06 On-Demand Request"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "d5128cac-5df0-4102-91e5-bb65cce7e0f2",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "sr = icesat2.atl06p(parms, resources=['ATL03_20181016104402_02720106_006_02.h5'])\n",
+ "sr"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0b5a2b18-f3fb-48bc-90d2-53350638d1dc",
+ "metadata": {
+ "tags": [],
+ "user_expressions": []
+ },
+ "source": [
+ "#### Plot Results"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "61c365cf-6bab-408c-8b2f-49a3d896692b",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "# Import Plotting Library\n",
+ "import matplotlib.pyplot as plt\n",
+ "import matplotlib"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "64bc423d-2348-4217-804f-63119ff71d16",
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "# Setup Plot\n",
+ "fig,ax = plt.subplots(num=None, figsize=(10, 8))\n",
+ "fig.set_facecolor('white')\n",
+ "fig.canvas.header_visible = False\n",
+ "ax.set_title(\"SlideRule vs. Standard Data Product Elevations\")\n",
+ "ax.set_xlabel('UTC')\n",
+ "ax.set_ylabel('height (m)')\n",
+ "legend_elements = []\n",
+ "\n",
+ "# Plot SlideRule ATL06 Elevations\n",
+ "sc1 = ax.scatter(sr.index.values, sr[\"h_mean\"].values, c='red', s=2.5)\n",
+ "legend_elements.append(matplotlib.lines.Line2D([0], [0], color='red', lw=6, label='SR'))\n",
+ "\n",
+ "# Plot SDP ATL06 Elevations\n",
+ "sc2 = ax.scatter(sdp.index.values, sdp[\"h_li\"].values, c='blue', s=2.5)\n",
+ "legend_elements.append(matplotlib.lines.Line2D([0], [0], color='blue', lw=6, label='SDP'))\n",
+ "\n",
+ "# Display Legend\n",
+ "lgd = ax.legend(handles=legend_elements, loc=3, frameon=True)\n",
+ "lgd.get_frame().set_alpha(1.0)\n",
+ "lgd.get_frame().set_edgecolor('white')\n",
+ "\n",
+ "# Show Plot\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "04137254-5356-4f1d-9438-2126063f2258",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.12.0"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/examples_from_others/experiment_with_erddap.ipynb b/icesat2_kdph-main/examples_from_others/experiment_with_erddap.ipynb
new file mode 100644
index 0000000..faf5751
--- /dev/null
+++ b/icesat2_kdph-main/examples_from_others/experiment_with_erddap.ipynb
@@ -0,0 +1,798 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "141611e8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from erddapy import ERDDAP\n",
+ "import pandas as pd\n",
+ "# Import the urllib library\n",
+ "import urllib.request\n",
+ "\n",
+ "\n",
+ "# dir(ep.multiple_server_search)\n",
+ "# help(erddapy)\n",
+ "# ep.servers"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "66e680b6",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "('/Users/hglover/Library/CloudStorage/Box-Box/HannahGlover/Research/data/bcodmo_dataset_815732.csv',\n",
+ " )"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# EXAMPLE: if you want to download the data to your computer\n",
+ "\n",
+ "#define the url you want to download\n",
+ "download_url = \"https://erddap.bco-dmo.org/erddap/tabledap/bcodmo_dataset_783911.csv?Station,time,Temperature,latitude,longitude&Temperature%3E=0&Temperature%3C=2\"\n",
+ "# Define where you want to save the file on your computer\n",
+ "save_path = '/Users/hglover/Library/CloudStorage/Box-Box/HannahGlover/Research/data/'\n",
+ "name_to_save = \"bcodmo_dataset_815732.csv\"\n",
+ "\n",
+ "# download the dataset \n",
+ "urllib.request.urlretrieve(download_url, save_path+name_to_save)\n",
+ "\n",
+ "# Import the downloaded .csv data into jupyter notebooks with the package Pandas\n",
+ "dataframe = pd.read_csv(save_path+name_to_save, dtype='unicode')\n",
+ "print (dataframe)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "bfaa6aae",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# EXAMPLE: if you want to read the data directly into python \n",
+ "\n",
+ "e.dataset_id = \"bcodmo_dataset_817952\"\n",
+ "e.variables = [\n",
+ " \"longitude\",\n",
+ " \"latitude\",\n",
+ " \"time\",\n",
+ " \"Temperature\"\n",
+ "]\n",
+ "e.constraints = {\n",
+ " \"time>=\": \"2017-01-13T00:00:00Z\",\n",
+ " \"time<=\": \"2017-01-16T23:59:59Z\",}\n",
+ "\n",
+ "url = e.get_download_url()\n",
+ "df_bcodmo = e.to_pandas( \n",
+ " parse_dates=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "082b15f9",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Row Type Variable Name Attribute Name \\\n",
+ "0 attribute NC_GLOBAL access_formats \n",
+ "1 attribute NC_GLOBAL acquisition_description \n",
+ "2 attribute NC_GLOBAL awards_0_award_nid \n",
+ "3 attribute NC_GLOBAL awards_0_award_number \n",
+ "4 attribute NC_GLOBAL awards_0_data_url \n",
+ "5 attribute NC_GLOBAL awards_0_funder_name \n",
+ "6 attribute NC_GLOBAL awards_0_funding_acronym \n",
+ "7 attribute NC_GLOBAL awards_0_funding_source_nid \n",
+ "8 attribute NC_GLOBAL awards_0_program_manager \n",
+ "9 attribute NC_GLOBAL awards_0_program_manager_nid \n",
+ "10 attribute NC_GLOBAL cdm_data_type \n",
+ "11 attribute NC_GLOBAL comment \n",
+ "12 attribute NC_GLOBAL Conventions \n",
+ "13 attribute NC_GLOBAL creator_email \n",
+ "14 attribute NC_GLOBAL creator_name \n",
+ "15 attribute NC_GLOBAL creator_type \n",
+ "16 attribute NC_GLOBAL creator_url \n",
+ "17 attribute NC_GLOBAL data_source \n",
+ "18 attribute NC_GLOBAL date_created \n",
+ "19 attribute NC_GLOBAL date_modified \n",
+ "20 attribute NC_GLOBAL defaultDataQuery \n",
+ "21 attribute NC_GLOBAL doi \n",
+ "22 attribute NC_GLOBAL Easternmost_Easting \n",
+ "23 attribute NC_GLOBAL geospatial_lat_max \n",
+ "24 attribute NC_GLOBAL geospatial_lat_min \n",
+ "25 attribute NC_GLOBAL geospatial_lat_units \n",
+ "26 attribute NC_GLOBAL geospatial_lon_max \n",
+ "27 attribute NC_GLOBAL geospatial_lon_min \n",
+ "28 attribute NC_GLOBAL geospatial_lon_units \n",
+ "29 attribute NC_GLOBAL geospatial_vertical_max \n",
+ "30 attribute NC_GLOBAL geospatial_vertical_min \n",
+ "31 attribute NC_GLOBAL geospatial_vertical_positive \n",
+ "32 attribute NC_GLOBAL geospatial_vertical_units \n",
+ "33 attribute NC_GLOBAL infoUrl \n",
+ "34 attribute NC_GLOBAL institution \n",
+ "35 attribute NC_GLOBAL instruments_0_acronym \n",
+ "36 attribute NC_GLOBAL instruments_0_dataset_instrument_description \n",
+ "37 attribute NC_GLOBAL instruments_0_dataset_instrument_nid \n",
+ "38 attribute NC_GLOBAL instruments_0_description \n",
+ "39 attribute NC_GLOBAL instruments_0_instrument_external_identifier \n",
+ "40 attribute NC_GLOBAL instruments_0_instrument_name \n",
+ "41 attribute NC_GLOBAL instruments_0_instrument_nid \n",
+ "42 attribute NC_GLOBAL instruments_0_supplied_name \n",
+ "43 attribute NC_GLOBAL keywords \n",
+ "44 attribute NC_GLOBAL keywords_vocabulary \n",
+ "45 attribute NC_GLOBAL license \n",
+ "46 attribute NC_GLOBAL metadata_source \n",
+ "47 attribute NC_GLOBAL Northernmost_Northing \n",
+ "48 attribute NC_GLOBAL param_mapping \n",
+ "49 attribute NC_GLOBAL parameter_source \n",
+ "50 attribute NC_GLOBAL people_0_affiliation \n",
+ "51 attribute NC_GLOBAL people_0_affiliation_acronym \n",
+ "52 attribute NC_GLOBAL people_0_person_name \n",
+ "53 attribute NC_GLOBAL people_0_person_nid \n",
+ "54 attribute NC_GLOBAL people_0_role \n",
+ "55 attribute NC_GLOBAL people_0_role_type \n",
+ "56 attribute NC_GLOBAL people_1_affiliation \n",
+ "57 attribute NC_GLOBAL people_1_affiliation_acronym \n",
+ "58 attribute NC_GLOBAL people_1_person_name \n",
+ "59 attribute NC_GLOBAL people_1_person_nid \n",
+ "60 attribute NC_GLOBAL people_1_role \n",
+ "61 attribute NC_GLOBAL people_1_role_type \n",
+ "62 attribute NC_GLOBAL people_2_affiliation \n",
+ "63 attribute NC_GLOBAL people_2_affiliation_acronym \n",
+ "64 attribute NC_GLOBAL people_2_person_name \n",
+ "65 attribute NC_GLOBAL people_2_person_nid \n",
+ "66 attribute NC_GLOBAL people_2_role \n",
+ "67 attribute NC_GLOBAL people_2_role_type \n",
+ "68 attribute NC_GLOBAL project \n",
+ "69 attribute NC_GLOBAL projects_0_acronym \n",
+ "70 attribute NC_GLOBAL projects_0_description \n",
+ "71 attribute NC_GLOBAL projects_0_end_date \n",
+ "72 attribute NC_GLOBAL projects_0_geolocation \n",
+ "73 attribute NC_GLOBAL projects_0_name \n",
+ "74 attribute NC_GLOBAL projects_0_project_nid \n",
+ "75 attribute NC_GLOBAL projects_0_project_website \n",
+ "76 attribute NC_GLOBAL projects_0_start_date \n",
+ "77 attribute NC_GLOBAL publisher_name \n",
+ "78 attribute NC_GLOBAL publisher_type \n",
+ "79 attribute NC_GLOBAL sourceUrl \n",
+ "80 attribute NC_GLOBAL Southernmost_Northing \n",
+ "81 attribute NC_GLOBAL standard_name_vocabulary \n",
+ "82 attribute NC_GLOBAL subsetVariables \n",
+ "83 attribute NC_GLOBAL summary \n",
+ "84 attribute NC_GLOBAL time_coverage_end \n",
+ "85 attribute NC_GLOBAL time_coverage_start \n",
+ "86 attribute NC_GLOBAL title \n",
+ "87 attribute NC_GLOBAL version \n",
+ "88 attribute NC_GLOBAL Westernmost_Easting \n",
+ "89 attribute NC_GLOBAL xml_source \n",
+ "90 variable file_name NaN \n",
+ "91 attribute file_name bcodmo_name \n",
+ "92 attribute file_name description \n",
+ "93 attribute file_name long_name \n",
+ "94 attribute file_name units \n",
+ "95 variable latitude NaN \n",
+ "96 attribute latitude _CoordinateAxisType \n",
+ "97 attribute latitude _FillValue \n",
+ "98 attribute latitude actual_range \n",
+ "99 attribute latitude axis \n",
+ "100 attribute latitude bcodmo_name \n",
+ "101 attribute latitude colorBarMaximum \n",
+ "102 attribute latitude colorBarMinimum \n",
+ "103 attribute latitude description \n",
+ "104 attribute latitude ioos_category \n",
+ "105 attribute latitude long_name \n",
+ "106 attribute latitude nerc_identifier \n",
+ "107 attribute latitude standard_name \n",
+ "108 attribute latitude units \n",
+ "109 variable longitude NaN \n",
+ "110 attribute longitude _CoordinateAxisType \n",
+ "111 attribute longitude _FillValue \n",
+ "112 attribute longitude actual_range \n",
+ "113 attribute longitude axis \n",
+ "114 attribute longitude bcodmo_name \n",
+ "115 attribute longitude colorBarMaximum \n",
+ "116 attribute longitude colorBarMinimum \n",
+ "117 attribute longitude description \n",
+ "118 attribute longitude ioos_category \n",
+ "119 attribute longitude long_name \n",
+ "120 attribute longitude nerc_identifier \n",
+ "121 attribute longitude standard_name \n",
+ "122 attribute longitude units \n",
+ "123 variable time NaN \n",
+ "124 attribute time _CoordinateAxisType \n",
+ "125 attribute time actual_range \n",
+ "126 attribute time axis \n",
+ "127 attribute time bcodmo_name \n",
+ "128 attribute time description \n",
+ "129 attribute time ioos_category \n",
+ "130 attribute time long_name \n",
+ "131 attribute time nerc_identifier \n",
+ "132 attribute time source_name \n",
+ "133 attribute time standard_name \n",
+ "134 attribute time time_origin \n",
+ "135 attribute time time_precision \n",
+ "136 attribute time units \n",
+ "137 variable prDM NaN \n",
+ "138 attribute prDM _FillValue \n",
+ "139 attribute prDM actual_range \n",
+ "140 attribute prDM bcodmo_name \n",
+ "141 attribute prDM description \n",
+ "142 attribute prDM long_name \n",
+ "143 attribute prDM nerc_identifier \n",
+ "144 attribute prDM units \n",
+ "145 variable t090C NaN \n",
+ "146 attribute t090C _FillValue \n",
+ "147 attribute t090C actual_range \n",
+ "148 attribute t090C bcodmo_name \n",
+ "149 attribute t090C description \n",
+ "150 attribute t090C long_name \n",
+ "151 attribute t090C nerc_identifier \n",
+ "152 attribute t090C units \n",
+ "153 variable t190C NaN \n",
+ "154 attribute t190C _FillValue \n",
+ "155 attribute t190C actual_range \n",
+ "156 attribute t190C bcodmo_name \n",
+ "157 attribute t190C description \n",
+ "158 attribute t190C long_name \n",
+ "159 attribute t190C nerc_identifier \n",
+ "160 attribute t190C units \n",
+ "161 variable c0S_m NaN \n",
+ "162 attribute c0S_m _FillValue \n",
+ "163 attribute c0S_m actual_range \n",
+ "164 attribute c0S_m bcodmo_name \n",
+ "165 attribute c0S_m description \n",
+ "166 attribute c0S_m long_name \n",
+ "167 attribute c0S_m nerc_identifier \n",
+ "168 attribute c0S_m units \n",
+ "169 variable c1S_m NaN \n",
+ "170 attribute c1S_m _FillValue \n",
+ "171 attribute c1S_m actual_range \n",
+ "172 attribute c1S_m bcodmo_name \n",
+ "173 attribute c1S_m description \n",
+ "174 attribute c1S_m long_name \n",
+ "175 attribute c1S_m nerc_identifier \n",
+ "176 attribute c1S_m units \n",
+ "177 variable sbeox0V NaN \n",
+ "178 attribute sbeox0V _FillValue \n",
+ "179 attribute sbeox0V actual_range \n",
+ "180 attribute sbeox0V bcodmo_name \n",
+ "181 attribute sbeox0V description \n",
+ "182 attribute sbeox0V long_name \n",
+ "183 attribute sbeox0V units \n",
+ "184 variable flECO_AFL NaN \n",
+ "185 attribute flECO_AFL _FillValue \n",
+ "186 attribute flECO_AFL actual_range \n",
+ "187 attribute flECO_AFL bcodmo_name \n",
+ "188 attribute flECO_AFL description \n",
+ "189 attribute flECO_AFL long_name \n",
+ "190 attribute flECO_AFL nerc_identifier \n",
+ "191 attribute flECO_AFL units \n",
+ "192 variable turbWETntu0 NaN \n",
+ "193 attribute turbWETntu0 _FillValue \n",
+ "194 attribute turbWETntu0 actual_range \n",
+ "195 attribute turbWETntu0 bcodmo_name \n",
+ "196 attribute turbWETntu0 description \n",
+ "197 attribute turbWETntu0 long_name \n",
+ "198 attribute turbWETntu0 units \n",
+ "199 variable sal00_D NaN \n",
+ "200 attribute sal00_D _FillValue \n",
+ "201 attribute sal00_D actual_range \n",
+ "202 attribute sal00_D bcodmo_name \n",
+ "203 attribute sal00_D description \n",
+ "204 attribute sal00_D long_name \n",
+ "205 attribute sal00_D nerc_identifier \n",
+ "206 attribute sal00_D units \n",
+ "207 variable spar NaN \n",
+ "208 attribute spar _FillValue \n",
+ "209 attribute spar actual_range \n",
+ "210 attribute spar bcodmo_name \n",
+ "211 attribute spar description \n",
+ "212 attribute spar long_name \n",
+ "213 attribute spar units \n",
+ "214 variable par NaN \n",
+ "215 attribute par _FillValue \n",
+ "216 attribute par actual_range \n",
+ "217 attribute par bcodmo_name \n",
+ "218 attribute par colorBarMaximum \n",
+ "219 attribute par colorBarMinimum \n",
+ "220 attribute par description \n",
+ "221 attribute par long_name \n",
+ "222 attribute par units \n",
+ "223 variable cpar NaN \n",
+ "224 attribute cpar _FillValue \n",
+ "225 attribute cpar actual_range \n",
+ "226 attribute cpar bcodmo_name \n",
+ "227 attribute cpar description \n",
+ "228 attribute cpar long_name \n",
+ "229 attribute cpar units \n",
+ "230 variable depth NaN \n",
+ "231 attribute depth _CoordinateAxisType \n",
+ "232 attribute depth _CoordinateZisPositive \n",
+ "233 attribute depth _FillValue \n",
+ "234 attribute depth actual_range \n",
+ "235 attribute depth axis \n",
+ "236 attribute depth bcodmo_name \n",
+ "237 attribute depth description \n",
+ "238 attribute depth ioos_category \n",
+ "239 attribute depth long_name \n",
+ "240 attribute depth nerc_identifier \n",
+ "241 attribute depth positive \n",
+ "242 attribute depth standard_name \n",
+ "243 attribute depth units \n",
+ "244 variable sal00 NaN \n",
+ "245 attribute sal00 _FillValue \n",
+ "246 attribute sal00 actual_range \n",
+ "247 attribute sal00 bcodmo_name \n",
+ "248 attribute sal00 description \n",
+ "249 attribute sal00 long_name \n",
+ "250 attribute sal00 nerc_identifier \n",
+ "251 attribute sal00 units \n",
+ "252 variable sal11 NaN \n",
+ "253 attribute sal11 _FillValue \n",
+ "254 attribute sal11 actual_range \n",
+ "255 attribute sal11 bcodmo_name \n",
+ "256 attribute sal11 description \n",
+ "257 attribute sal11 long_name \n",
+ "258 attribute sal11 nerc_identifier \n",
+ "259 attribute sal11 units \n",
+ "260 variable sbeox0ML_L NaN \n",
+ "261 attribute sbeox0ML_L _FillValue \n",
+ "262 attribute sbeox0ML_L actual_range \n",
+ "263 attribute sbeox0ML_L bcodmo_name \n",
+ "264 attribute sbeox0ML_L description \n",
+ "265 attribute sbeox0ML_L long_name \n",
+ "266 attribute sbeox0ML_L units \n",
+ "267 variable svCM NaN \n",
+ "268 attribute svCM _FillValue \n",
+ "269 attribute svCM actual_range \n",
+ "270 attribute svCM bcodmo_name \n",
+ "271 attribute svCM description \n",
+ "272 attribute svCM long_name \n",
+ "273 attribute svCM units \n",
+ "274 variable sigma_e00 NaN \n",
+ "275 attribute sigma_e00 _FillValue \n",
+ "276 attribute sigma_e00 actual_range \n",
+ "277 attribute sigma_e00 bcodmo_name \n",
+ "278 attribute sigma_e00 description \n",
+ "279 attribute sigma_e00 long_name \n",
+ "280 attribute sigma_e00 nerc_identifier \n",
+ "281 attribute sigma_e00 units \n",
+ "282 variable sigma_e11 NaN \n",
+ "283 attribute sigma_e11 _FillValue \n",
+ "284 attribute sigma_e11 actual_range \n",
+ "285 attribute sigma_e11 bcodmo_name \n",
+ "286 attribute sigma_e11 description \n",
+ "287 attribute sigma_e11 long_name \n",
+ "288 attribute sigma_e11 nerc_identifier \n",
+ "289 attribute sigma_e11 units \n",
+ "290 variable flag NaN \n",
+ "291 attribute flag _FillValue \n",
+ "292 attribute flag actual_range \n",
+ "293 attribute flag bcodmo_name \n",
+ "294 attribute flag colorBarMaximum \n",
+ "295 attribute flag colorBarMinimum \n",
+ "296 attribute flag description \n",
+ "297 attribute flag long_name \n",
+ "298 attribute flag units \n",
+ "\n",
+ " Data Type Value \n",
+ "0 String .htmlTable,.csv,.json,.mat,.nc,.tsv,.esriCsv,.... \n",
+ "1 String Standard CTD cast. \n",
+ "2 String 748850 \n",
+ "3 String OCE-1657803 \n",
+ "4 String https://www.nsf.gov/awardsearch/showAward?AWD_... \n",
+ "5 String NSF Division of Ocean Sciences \n",
+ "6 String NSF OCE \n",
+ "7 String 355 \n",
+ "8 String David L. Garrison \n",
+ "9 String 50534 \n",
+ "10 String Other \n",
+ "11 String CTD casts from the first cruise of SPIROPA pro... \n",
+ "12 String COARDS, CF-1.6, ACDD-1.3 \n",
+ "13 String info@bco-dmo.org \n",
+ "14 String BCO-DMO \n",
+ "15 String institution \n",
+ "16 String https://www.bco-dmo.org/ \n",
+ "17 String extract_data_as_tsv version 2.3 19 Dec 2019 \n",
+ "18 String 2020-03-27T19:41:31Z \n",
+ "19 String 2020-04-08T15:03:33Z \n",
+ "20 String &time<now \n",
+ "21 String 10.26008/1912/bco-dmo.807119.1 \n",
+ "22 double -70.814 \n",
+ "23 double 40.2705 \n",
+ "24 double 39.6215 \n",
+ "25 String degrees_north \n",
+ "26 double -70.814 \n",
+ "27 double -70.82983 \n",
+ "28 String degrees_east \n",
+ "29 double 305.414 \n",
+ "30 double 1.985 \n",
+ "31 String down \n",
+ "32 String m \n",
+ "33 String https://www.bco-dmo.org/dataset/807119 \n",
+ "34 String BCO-DMO \n",
+ "35 String CTD SBE 9 \n",
+ "36 String Sea-Bird SBE 9 \n",
+ "37 String 807126 \n",
+ "38 String The Sea-Bird SBE 9 is a type of CTD instrument... \n",
+ "39 String https://vocab.nerc.ac.uk/collection/L05/curren... \n",
+ "40 String CTD Sea-Bird 9 \n",
+ "41 String 488 \n",
+ "42 String Sea-Bird SBE 9 \n",
+ "43 String active, afl, available, bco, bco-dmo, biologic... \n",
+ "44 String GCMD Science Keywords \n",
+ "45 String https://www.bco-dmo.org/dataset/807119/license \n",
+ "46 String https://www.bco-dmo.org/api/dataset/807119 \n",
+ "47 double 40.2705 \n",
+ "48 String {'807119': {'lat': 'flag - latitude', 'lon': '... \n",
+ "49 String https://www.bco-dmo.org/mapserver/dataset/8071... \n",
+ "50 String Woods Hole Oceanographic Institution \n",
+ "51 String WHOI \n",
+ "52 String Dennis J. McGillicuddy \n",
+ "53 String 50429 \n",
+ "54 String Principal Investigator \n",
+ "55 String originator \n",
+ "56 String Woods Hole Oceanographic Institution \n",
+ "57 String WHOI \n",
+ "58 String Weifeng Gordon Zhang \n",
+ "59 String 748839 \n",
+ "60 String Co-Principal Investigator \n",
+ "61 String originator \n",
+ "62 String Woods Hole Oceanographic Institution \n",
+ "63 String WHOI BCO-DMO \n",
+ "64 String Mathew Biddle \n",
+ "65 String 708682 \n",
+ "66 String BCO-DMO Data Manager \n",
+ "67 String related \n",
+ "68 String SPIROPA \n",
+ "69 String SPIROPA \n",
+ "70 String NSF award abstract:\\nThe continental shelf bre... \n",
+ "71 String 2020-09 \n",
+ "72 String Shelf break south of New England, OOI Pioneer ... \n",
+ "73 String Collaborative Research: Shelfbreak Frontal Dy... \n",
+ "74 String 748894 \n",
+ "75 String http://science.whoi.edu/users/olga/SPIROPA/SPI... \n",
+ "76 String 2017-10 \n",
+ "77 String Biological and Chemical Oceanographic Data Man... \n",
+ "78 String institution \n",
+ "79 String (local files) \n",
+ "80 double 39.6215 \n",
+ "81 String CF Standard Name Table v55 \n",
+ "82 String flag \n",
+ "83 String CTD casts from the first cruise of SPIROPA pro... \n",
+ "84 String 2018-04-27T10:27:54Z \n",
+ "85 String 2018-04-27T00:19:24Z \n",
+ "86 String CTD casts from the first cruise of SPIROPA pro... \n",
+ "87 String 1 \n",
+ "88 double -70.82983 \n",
+ "89 String osprey2erddap.update_xml() v1.3 \n",
+ "90 String NaN \n",
+ "91 String flag \n",
+ "92 String name of the originators file \n",
+ "93 String File Name \n",
+ "94 String unitless \n",
+ "95 double NaN \n",
+ "96 String Lat \n",
+ "97 double NaN \n",
+ "98 double 39.6215, 40.2705 \n",
+ "99 String Y \n",
+ "100 String latitude \n",
+ "101 double 90.0 \n",
+ "102 double -90.0 \n",
+ "103 String latitude with positive values indicating North \n",
+ "104 String Location \n",
+ "105 String Latitude \n",
+ "106 String https://vocab.nerc.ac.uk/collection/P09/curren... \n",
+ "107 String latitude \n",
+ "108 String degrees_north \n",
+ "109 double NaN \n",
+ "110 String Lon \n",
+ "111 double NaN \n",
+ "112 double -70.82983, -70.814 \n",
+ "113 String X \n",
+ "114 String longitude \n",
+ "115 double 180.0 \n",
+ "116 double -180.0 \n",
+ "117 String longitude with negative values indicating West \n",
+ "118 String Location \n",
+ "119 String Longitude \n",
+ "120 String https://vocab.nerc.ac.uk/collection/P09/curren... \n",
+ "121 String longitude \n",
+ "122 String degrees_east \n",
+ "123 double NaN \n",
+ "124 String Time \n",
+ "125 double 1.524788364E9, 1.524824874E9 \n",
+ "126 String T \n",
+ "127 String ISO_DateTime_UTC \n",
+ "128 String Date and time in UTC following ISO8601 format \n",
+ "129 String Time \n",
+ "130 String ISO Date Time UTC \n",
+ "131 String https://vocab.nerc.ac.uk/collection/P01/curren... \n",
+ "132 String ISO_DateTime_UTC \n",
+ "133 String time \n",
+ "134 String 01-JAN-1970 00:00:00 \n",
+ "135 String 1970-01-01T00:00:00Z \n",
+ "136 String seconds since 1970-01-01T00:00:00Z \n",
+ "137 float NaN \n",
+ "138 float NaN \n",
+ "139 float 2.0, 308.0 \n",
+ "140 String pressure \n",
+ "141 String Pressure \n",
+ "142 String PR DM \n",
+ "143 String https://vocab.nerc.ac.uk/collection/P01/curren... \n",
+ "144 String decibar (db) \n",
+ "145 float NaN \n",
+ "146 float NaN \n",
+ "147 float 0.0697, 17.5374 \n",
+ "148 String temperature \n",
+ "149 String Temperature ITS-90 \n",
+ "150 String T090 C \n",
+ "151 String https://vocab.nerc.ac.uk/collection/P01/curren... \n",
+ "152 String degrees Celsius (C) \n",
+ "153 float NaN \n",
+ "154 float NaN \n",
+ "155 float 0.0689, 17.5396 \n",
+ "156 String temperature \n",
+ "157 String Temperature 2 ITS-90 \n",
+ "158 String T190 C \n",
+ "159 String https://vocab.nerc.ac.uk/collection/P01/curren... \n",
+ "160 String degrees Celsius (C) \n",
+ "161 float NaN \n",
+ "162 float NaN \n",
+ "163 float 3.360826, 4.666987 \n",
+ "164 String conductivity \n",
+ "165 String Conductivity \n",
+ "166 String C0 S M \n",
+ "167 String https://vocab.nerc.ac.uk/collection/P02/curren... \n",
+ "168 String Siemens per meter (S/m) \n",
+ "169 float NaN \n",
+ "170 float NaN \n",
+ "171 float 3.36096, 4.666813 \n",
+ "172 String conductivity \n",
+ "173 String Conductivity 2 \n",
+ "174 String C1 S M \n",
+ "175 String https://vocab.nerc.ac.uk/collection/P02/curren... \n",
+ "176 String Siemens per meter (S/m) \n",
+ "177 float NaN \n",
+ "178 float NaN \n",
+ "179 float 9.0E-28, 2.8368 \n",
+ "180 String O2_v \n",
+ "181 String Oxygen raw SBE 43 \n",
+ "182 String Sbeox0 V \n",
+ "183 String volts (V) \n",
+ "184 float NaN \n",
+ "185 float NaN \n",
+ "186 float -0.3564, 2.4199 \n",
+ "187 String chl_a_fluor \n",
+ "188 String Fluorescence WET Labs ECO-AFL/FL \n",
+ "189 String Fl ECO AFL \n",
+ "190 String https://vocab.nerc.ac.uk/collection/P01/curren... \n",
+ "191 String milligrams per meter cubed (mg/m3) \n",
+ "192 float NaN \n",
+ "193 float NaN \n",
+ "194 float 9.0E-28, 0.9062 \n",
+ "195 String turbidity \n",
+ "196 String Turbidity WET Labs ECO \n",
+ "197 String Turb WETntu0 \n",
+ "198 String NTU \n",
+ "199 float NaN \n",
+ "200 float NaN \n",
+ "201 float 33.2242, 36.1086 \n",
+ "202 String sal \n",
+ "203 String Practical salinity from the very first data co... \n",
+ "204 String Sal00 D \n",
+ "205 String https://vocab.nerc.ac.uk/collection/P01/curren... \n",
+ "206 String unitless \n",
+ "207 float NaN \n",
+ "208 float NaN \n",
+ "209 float 0.72592, 108.9 \n",
+ "210 String SPAR \n",
+ "211 String SPAR Biospherical/Licor \n",
+ "212 String Spar \n",
+ "213 String unknown \n",
+ "214 float NaN \n",
+ "215 float NaN \n",
+ "216 float -0.00391, 21.931 \n",
+ "217 String PAR \n",
+ "218 double 70.0 \n",
+ "219 double 0.0 \n",
+ "220 String PAR/Irradiance Biospherical/Licor \n",
+ "221 String Downwelling Photosynthetic Photon Radiance In ... \n",
+ "222 String unknown \n",
+ "223 float NaN \n",
+ "224 float NaN \n",
+ "225 float -0.01038, 67696.0 \n",
+ "226 String unknown \n",
+ "227 String CPAR/Corrected Irradiance \n",
+ "228 String Cpar \n",
+ "229 String percent (%) \n",
+ "230 double NaN \n",
+ "231 String Height \n",
+ "232 String down \n",
+ "233 double NaN \n",
+ "234 double 1.985, 305.414 \n",
+ "235 String Z \n",
+ "236 String depth \n",
+ "237 String Depth in salt water at specified latitudes \n",
+ "238 String Location \n",
+ "239 String Dep SM \n",
+ "240 String https://vocab.nerc.ac.uk/collection/P09/curren... \n",
+ "241 String down \n",
+ "242 String depth \n",
+ "243 String m \n",
+ "244 float NaN \n",
+ "245 float NaN \n",
+ "246 float 33.2235, 36.1092 \n",
+ "247 String sal \n",
+ "248 String Final practical salinity 1 \n",
+ "249 String Sal00 \n",
+ "250 String https://vocab.nerc.ac.uk/collection/P01/curren... \n",
+ "251 String unitless \n",
+ "252 float NaN \n",
+ "253 float NaN \n",
+ "254 float 33.2236, 36.1056 \n",
+ "255 String sal \n",
+ "256 String Final practical salinity 2 \n",
+ "257 String Sal11 \n",
+ "258 String https://vocab.nerc.ac.uk/collection/P01/curren... \n",
+ "259 String unitless \n",
+ "260 float NaN \n",
+ "261 float NaN \n",
+ "262 float 9.0E-28, 6.8735 \n",
+ "263 String dissolved Oxygen \n",
+ "264 String Oxygen SBE 43 \n",
+ "265 String Sbeox0 ML L \n",
+ "266 String milliliters per liter (ml/l) \n",
+ "267 float NaN \n",
+ "268 float NaN \n",
+ "269 float 1476.57, 1516.13 \n",
+ "270 String sound_vel \n",
+ "271 String Sound Velocity Chen-Millero \n",
+ "272 String SV CM \n",
+ "273 String meter per second (m/s) \n",
+ "274 float NaN \n",
+ "275 float NaN \n",
+ "276 float 25.8951, 27.1635 \n",
+ "277 String sigma_0 \n",
+ "278 String Density sigma-theta \n",
+ "279 String Sigma E00 \n",
+ "280 String https://vocab.nerc.ac.uk/collection/P01/curren... \n",
+ "281 String kilogram per meter cubed (kg/m3) \n",
+ "282 float NaN \n",
+ "283 float NaN \n",
+ "284 float 25.8951, 27.164 \n",
+ "285 String sigma_0 \n",
+ "286 String Density 2 sigma-theta \n",
+ "287 String Sigma E11 \n",
+ "288 String https://vocab.nerc.ac.uk/collection/P01/curren... \n",
+ "289 String kilogram per meter cubed (kg/m3) \n",
+ "290 float NaN \n",
+ "291 float NaN \n",
+ "292 float 0.0, 0.0 \n",
+ "293 String flag \n",
+ "294 double 150.0 \n",
+ "295 double 0.0 \n",
+ "296 String flag \n",
+ "297 String Flag \n",
+ "298 String unitless \n",
+ "['NC_GLOBAL' 'file_name' 'latitude' 'longitude' 'time' 'prDM' 't090C'\n",
+ " 't190C' 'c0S_m' 'c1S_m' 'sbeox0V' 'flECO_AFL' 'turbWETntu0' 'sal00_D'\n",
+ " 'spar' 'par' 'cpar' 'depth' 'sal00' 'sal11' 'sbeox0ML_L' 'svCM'\n",
+ " 'sigma_e00' 'sigma_e11' 'flag']\n"
+ ]
+ }
+ ],
+ "source": [
+ "# EXAMPLE: if you want to just see all the variables for a site \n",
+ "e = ERDDAP(\n",
+ " server=\"https://erddap.bco-dmo.org/erddap\", \n",
+ " protocol=\"tabledap\", \n",
+ " response=\"csv\")\n",
+ "\n",
+ "info_url = e.get_info_url(dataset_id=\"bcodmo_dataset_807119\") \n",
+ "pd.read_csv(info_url)\n",
+ "\n",
+ "pd.set_option('display.max_rows', None) #make sure that jupyter notebook shows all rows \n",
+ "dataframe = pd.read_csv(info_url)\n",
+ "print(dataframe)\n",
+ "# get the unique variable names with pandas\n",
+ "print(dataframe[\"Variable Name\"].unique()) "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "f03444c6",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "['bcodmo_dataset_4046' 'bcodmo_dataset_781633' 'bcodmo_dataset_778065' ...\n",
+ " 'bcodmo_dataset_728084' 'bcodmo_dataset_503145' 'bcodmo_dataset_812233']\n"
+ ]
+ }
+ ],
+ "source": [
+ "url = e.get_search_url(search_for=\"PAR \", response=\"csv\")\n",
+ "\n",
+ "df = pd.read_csv(url)[\"Dataset ID\"].unique()\n",
+ "print(df)\n",
+ "# pd.read_csv(url)[\"Dataset ID\"]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "e7397c3b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "https://erddap.bco-dmo.org/erddap/tabledap/bcodmo_dataset_817952.csv?longitude,latitude,time,POC&time>=1484265600.0&time<=1484611199.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "e = ERDDAP( \n",
+ "server= \"https://erddap.bco-dmo.org/erddap/\", \n",
+ "protocol=\"tabledap\", \n",
+ "response=\"csv\", )\n",
+ "\n",
+ "e.dataset_id = \"bcodmo_dataset_817952\" \n",
+ "e.variables = [ \n",
+ "\"longitude\", \n",
+ "\"latitude\", \n",
+ "\"time\", \n",
+ "\"POC\" ] \n",
+ "e.constraints = { \n",
+ "\"time>=\": \"2017-01-13T00:00:00Z\", \n",
+ "\"time<=\": \"2017-01-16T23:59:59Z\",}\n",
+ "\n",
+ "#Print the URL - check \n",
+ "url = e.get_download_url() \n",
+ "print(url)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/icesat2_kdph-main/kd_utils/Kd_analysis - Copy.py b/icesat2_kdph-main/kd_utils/Kd_analysis - Copy.py
new file mode 100644
index 0000000..5473212
--- /dev/null
+++ b/icesat2_kdph-main/kd_utils/Kd_analysis - Copy.py
@@ -0,0 +1,47 @@
+# utils/Kd_analysis.py
+
+import numpy as np
+import pandas as pd
+from scipy.optimize import curve_fit
+
+def log_model(z, kd, e0):
+ return np.log(e0) - kd * z
+
+def CalculateKdFromFilteredSubsurfacePhoton(df, vertical_res=0.8):
+ if df.empty or 'lat_bins' not in df.columns:
+ return pd.DataFrame({'lat_bins': [np.nan], 'kd': [np.nan], 'e0': [np.nan]})
+ lat_bin_value = df['lat_bins'].iloc[0] if not df['lat_bins'].empty else np.nan
+ photon_height_min = df['photon_height'].min()
+ photon_height_max = df['photon_height'].max()
+ if np.isnan(photon_height_min) or np.isnan(photon_height_max) or photon_height_min == photon_height_max:
+ return pd.DataFrame({'lat_bins': [lat_bin_value], 'kd': [np.nan], 'e0': [np.nan]})
+ height_bins_range = abs(photon_height_max - photon_height_min)
+ if height_bins_range == 0:
+ return pd.DataFrame({'lat_bins': [lat_bin_value], 'kd': [np.nan], 'e0': [np.nan]})
+ height_bins_number = round(height_bins_range / vertical_res)
+ if height_bins_number < 5:
+ return pd.DataFrame({'lat_bins': [lat_bin_value], 'kd': [np.nan], 'e0': [np.nan]})
+ bin_edges = np.linspace(photon_height_min, photon_height_max, num=height_bins_number)
+ counts, _ = np.histogram(df['photon_height'], bins=bin_edges)
+ bin_centers = (bin_edges[:-1] + bin_edges[1:]) / 2
+ hist_df = pd.DataFrame({'zdepth': bin_centers, 'photon_counts': counts})
+ # x value for model
+ hist_df['zdepth'] = hist_df['zdepth'].max() - hist_df['zdepth']
+ # y value for model
+ hist_df['log_photon_counts'] = np.log(hist_df['photon_counts'].replace(0, np.nan))
+
+ hist_df.loc[np.isinf(hist_df['log_photon_counts']), 'log_photon_counts'] = np.nan
+
+ # Skip the regression if there are fewer than 5 datapoints
+ if hist_df['log_photon_counts'].notna().sum() > 3:
+ try:
+ popt, _ = curve_fit(log_model, hist_df['zdepth'].dropna(), hist_df['log_photon_counts'].dropna(), p0=[1, np.exp(1)])
+ kd, e0 = popt
+ if kd < 0:
+ kd = np.nan
+ except Exception as e:
+ print(f"Error in curve fitting: {e}")
+ kd, e0 = np.nan, np.nan
+ else:
+ kd, e0 = np.nan, np.nan
+ return pd.DataFrame({'lat_bins': [lat_bin_value], 'kd': [kd], 'e0': [e0]})
diff --git a/icesat2_kdph-main/kd_utils/Kd_analysis.py b/icesat2_kdph-main/kd_utils/Kd_analysis.py
new file mode 100644
index 0000000..acf65bb
--- /dev/null
+++ b/icesat2_kdph-main/kd_utils/Kd_analysis.py
@@ -0,0 +1,98 @@
+import numpy as np
+import pandas as pd
+import logging
+# from scipy.optimize import curve_fit
+from sklearn.linear_model import LinearRegression
+
+
+# another solution is to calculate kd without hist
+def CalculateKdFromFilteredSubsurfacePhoton(df, vertical_res=0.8):
+ # Early exit if DataFrame is empty or missing required column
+ if df.empty or 'lat_bins' not in df.columns:
+ return pd.DataFrame({'lat_bins': [np.nan], 'kd': [np.nan], 'e0': [np.nan], 'latitude': [np.nan], 'longitude': [np.nan]})
+
+ # Retrieve latitude and longitude
+ lat_bin_value = df['lat_bins'].iloc[0] if not df['lat_bins'].empty else np.nan
+ latitude = df['latitude'].mean() if 'latitude' in df.columns else df['lat'].mean() if 'lat' in df.columns else np.nan
+ longitude = df['longitude'].mean() if 'longitude' in df.columns else df['lon'].mean() if 'lon' in df.columns else np.nan
+
+ # Use value_counts to get photon counts in each height bin
+ height_counts = df['height_bins'].value_counts().sort_index()
+ bin_centers = height_counts.index.astype(float)
+
+ # Create a DataFrame for the height bins and counts
+ hist_df = pd.DataFrame({'zdepth': bin_centers, 'photon_counts': height_counts.values})
+
+ # Reverse zdepth for model alignment
+ hist_df['zdepth'] = hist_df['zdepth'].max() - hist_df['zdepth']
+
+ # Log-transform photon counts, replacing zeros with NaN for regression
+ hist_df['log_photon_counts'] = np.log(hist_df['photon_counts'].replace(0, np.nan))
+ hist_df.loc[np.isinf(hist_df['log_photon_counts']), 'log_photon_counts'] = np.nan
+
+ # Filter for rows without NaNs for regression
+ valid_data = hist_df.dropna(subset=['zdepth', 'log_photon_counts'])
+
+ # Perform regression if there are sufficient valid data points
+ if valid_data['log_photon_counts'].notna().sum() > 3:
+ zdepth_valid = valid_data['zdepth'].values.reshape(-1, 1)
+ log_counts_valid = valid_data['log_photon_counts'].values
+
+ # Perform linear regression
+ model = LinearRegression()
+ model.fit(zdepth_valid, log_counts_valid)
+
+ # Calculate kd and e0
+ kd = -model.coef_[0]
+ e0 = np.exp(model.intercept_)
+
+ # Set kd to NaN if negative
+ if kd < 0:
+ kd = np.nan
+ else:
+ kd, e0 = np.nan, np.nan
+
+ return pd.DataFrame({
+ 'lat_bins': [lat_bin_value],
+ 'kd': [kd],
+ 'e0': [e0],
+ 'latitude': [latitude],
+ 'longitude': [longitude]
+ })
+
+
+# Original kd calculation function remains unchanged
+def calculate_kd(filtered_seafloor_subsurface_photon_dataset):
+ logging.info("Calculating Kd from filtered subsurface photon dataset")
+ SubsurfacePhotonDFAddedKd = filtered_seafloor_subsurface_photon_dataset\
+ .groupby('lat_bins', observed=False)\
+ .apply(CalculateKdFromFilteredSubsurfacePhoton, include_groups=True)
+
+
+ # Remove the index without resetting it if 'lat_bins' already exists
+ SubsurfacePhotonDFAddedKd = SubsurfacePhotonDFAddedKd.droplevel(0)
+ return SubsurfacePhotonDFAddedKd
+
+
+# Updated function to apply kd calculation beam-by-beam
+def process_kd_calculation(Final_filtered_subsurface_photon_dataset):
+ # Initialize list to store results for each beam
+ kd_beam_datasets = []
+
+ # Group by 'beam_id' to process each beam independently
+ for beam_id, beam_data in Final_filtered_subsurface_photon_dataset.groupby('beam_id'):
+ logging.info(f"Calculating Kd for beam: {beam_id}")
+
+ # Apply the calculate_kd function to the current beam's dataset
+ SubsurfacePhotonDFAddedKd = calculate_kd(beam_data)
+
+ # Add a column to track the beam_id in the results
+ SubsurfacePhotonDFAddedKd['beam_id'] = beam_id
+
+ # Append the result to the list
+ kd_beam_datasets.append(SubsurfacePhotonDFAddedKd)
+
+ # Combine results from all beams into a single DataFrame
+ combined_kd_dataset = pd.concat(kd_beam_datasets, ignore_index=True)
+
+ return combined_kd_dataset
\ No newline at end of file
diff --git a/icesat2_kdph-main/kd_utils/Kd_analysis_premeeting18Nov.py b/icesat2_kdph-main/kd_utils/Kd_analysis_premeeting18Nov.py
new file mode 100644
index 0000000..8146855
--- /dev/null
+++ b/icesat2_kdph-main/kd_utils/Kd_analysis_premeeting18Nov.py
@@ -0,0 +1,264 @@
+# utils/Kd_analysis.py
+# updated to perform a linear fit in log-space, just like MATLAB's polyfitn(zdepth, y, 1) for a first-order polynomial.
+
+import numpy as np
+import pandas as pd
+import logging
+# from scipy.optimize import curve_fit
+from sklearn.linear_model import LinearRegression
+
+# def log_model(z, kd, e0):
+# return np.log(e0) - kd * z
+
+## This is wrong because the input is already a bined data,
+## it is not necessary to do a histogram again
+# def CalculateKdFromFilteredSubsurfacePhoton(df, vertical_res=0.8):
+# if df.empty or 'lat_bins' not in df.columns:
+# return pd.DataFrame({'lat_bins': [np.nan], 'kd': [np.nan], 'e0': [np.nan], 'latitude': [np.nan], 'longitude': [np.nan]})
+
+# # Get the latitude bin value
+# lat_bin_value = df['lat_bins'].iloc[0] if not df['lat_bins'].empty else np.nan
+# latitude = df['latitude'].mean() if 'latitude' in df.columns else df['lat'].mean() if 'lat' in df.columns else np.nan
+# longitude = df['longitude'].mean() if 'longitude' in df.columns else df['lon'].mean() if 'lon' in df.columns else np.nan
+
+# # Calculate photon height range
+# photon_height_min = df['photon_height'].min()
+# photon_height_max = df['photon_height'].max()
+
+# # Check for sufficient data range
+# if np.isnan(photon_height_min) or np.isnan(photon_height_max) or photon_height_min == photon_height_max:
+# return pd.DataFrame({'lat_bins': [lat_bin_value], 'kd': [np.nan], 'e0': [np.nan]})
+
+# height_bins_range = abs(photon_height_max - photon_height_min)
+# height_bins_number = round(height_bins_range / vertical_res)
+
+# # Ensure there are enough bins
+# if height_bins_number < 5:
+# return pd.DataFrame({'lat_bins': [lat_bin_value], 'kd': [np.nan], 'e0': [np.nan]})
+
+# # Create histogram of photon heights
+# bin_edges = np.linspace(photon_height_min, photon_height_max, num=height_bins_number)
+# counts, _ = np.histogram(df['photon_height'], bins=bin_edges)
+# bin_centers = (bin_edges[:-1] + bin_edges[1:]) / 2
+
+# # Store histogram data
+# hist_df = pd.DataFrame({'zdepth': bin_centers, 'photon_counts': counts})
+
+# # x value for model
+# # Reverse zdepth to align with the MATLAB approach
+# hist_df['zdepth'] = hist_df['zdepth'].max() - hist_df['zdepth']
+
+# # Log-transform photon counts, replacing zeros with NaN
+# # y value for model
+# hist_df['log_photon_counts'] = np.log(hist_df['photon_counts'].replace(0, np.nan))
+# hist_df.loc[np.isinf(hist_df['log_photon_counts']), 'log_photon_counts'] = np.nan
+
+# # Filter out rows with NaNs in either column for regression
+# valid_data = hist_df.dropna(subset=['zdepth', 'log_photon_counts'])
+
+# # Check for enough valid data points
+# # Skip the regression if there are fewer than 5 datapoints
+# if valid_data['log_photon_counts'].notna().sum() > 3:
+# # Drop NaNs for regression
+# zdepth_valid = valid_data['zdepth'].values.reshape(-1, 1)
+# log_counts_valid = valid_data['log_photon_counts'].values
+
+# # Perform linear regression
+# model = LinearRegression()
+# model.fit(zdepth_valid, log_counts_valid)
+
+# # Extract kd as the negative of the slope and e0 from the intercept
+# kd = -model.coef_[0]
+
+# print('zdepth_valid:',zdepth_valid)
+# print('photon_counts:',hist_df['photon_counts'])
+# print('kd:',kd)
+
+# e0 = np.exp(model.intercept_)
+
+# # Set kd to NaN if negative
+# if kd < 0:
+# kd = np.nan
+# else:
+# kd, e0 = np.nan, np.nan
+
+# return pd.DataFrame({
+# 'lat_bins': [lat_bin_value],
+# 'kd': [kd],
+# 'e0': [e0],
+# 'latitude': [latitude],
+# 'longitude': [longitude]
+# })
+
+
+# # one solution is to adjust the vertical_res to 0.25
+# def CalculateKdFromFilteredSubsurfacePhoton(df, vertical_res=0.25):
+# if df.empty or 'lat_bins' not in df.columns:
+# return pd.DataFrame({'lat_bins': [np.nan], 'kd': [np.nan], 'e0': [np.nan], 'latitude': [np.nan], 'longitude': [np.nan]})
+
+# # Get the latitude bin value
+# lat_bin_value = df['lat_bins'].iloc[0] if not df['lat_bins'].empty else np.nan
+# latitude = df['latitude'].mean() if 'latitude' in df.columns else df['lat'].mean() if 'lat' in df.columns else np.nan
+# longitude = df['longitude'].mean() if 'longitude' in df.columns else df['lon'].mean() if 'lon' in df.columns else np.nan
+
+# # Calculate photon height range
+# photon_height_min = df['photon_height'].min()
+# photon_height_max = df['photon_height'].max()
+
+# # Check for sufficient data range
+# if np.isnan(photon_height_min) or np.isnan(photon_height_max) or photon_height_min == photon_height_max:
+# return pd.DataFrame({'lat_bins': [lat_bin_value], 'kd': [np.nan], 'e0': [np.nan]})
+
+# height_bins_range = abs(photon_height_max - photon_height_min)
+# height_bins_number = round(height_bins_range / vertical_res)
+
+# # Ensure there are enough bins
+# if height_bins_number < 5:
+# return pd.DataFrame({'lat_bins': [lat_bin_value], 'kd': [np.nan], 'e0': [np.nan]})
+
+# # Create histogram of photon heights
+# bin_edges = np.linspace(photon_height_min, photon_height_max, num=height_bins_number)
+# counts, _ = np.histogram(df['photon_height'], bins=bin_edges)
+# bin_centers = (bin_edges[:-1] + bin_edges[1:]) / 2
+
+# # Store histogram data
+# hist_df = pd.DataFrame({'zdepth': bin_centers, 'photon_counts': counts})
+
+# # x value for model
+# # Reverse zdepth to align with the MATLAB approach
+# hist_df['zdepth'] = hist_df['zdepth'].max() - hist_df['zdepth']
+
+# # Log-transform photon counts, replacing zeros with NaN
+# # y value for model
+# hist_df['log_photon_counts'] = np.log(hist_df['photon_counts'].replace(0, np.nan))
+# hist_df.loc[np.isinf(hist_df['log_photon_counts']), 'log_photon_counts'] = np.nan
+
+# # Filter out rows with NaNs in either column for regression
+# valid_data = hist_df.dropna(subset=['zdepth', 'log_photon_counts'])
+
+# # Check for enough valid data points
+# # Skip the regression if there are fewer than 5 datapoints
+# if valid_data['log_photon_counts'].notna().sum() > 3:
+# # Drop NaNs for regression
+# zdepth_valid = valid_data['zdepth'].values.reshape(-1, 1)
+# log_counts_valid = valid_data['log_photon_counts'].values
+
+# # Perform linear regression
+# model = LinearRegression()
+# model.fit(zdepth_valid, log_counts_valid)
+
+# # Extract kd as the negative of the slope and e0 from the intercept
+# kd = -model.coef_[0]
+
+# print('zdepth_valid:',zdepth_valid)
+# print('photon_counts:',hist_df['photon_counts'])
+# print('kd:',kd)
+
+# e0 = np.exp(model.intercept_)
+
+# # Set kd to NaN if negative
+# if kd < 0:
+# kd = np.nan
+# else:
+# kd, e0 = np.nan, np.nan
+
+# return pd.DataFrame({
+# 'lat_bins': [lat_bin_value],
+# 'kd': [kd],
+# 'e0': [e0],
+# 'latitude': [latitude],
+# 'longitude': [longitude]
+# })
+
+
+# another solution is to calculate kd without hist
+def CalculateKdFromFilteredSubsurfacePhoton(df, vertical_res=0.8):
+ # Early exit if DataFrame is empty or missing required column
+ if df.empty or 'lat_bins' not in df.columns:
+ return pd.DataFrame({'lat_bins': [np.nan], 'kd': [np.nan], 'e0': [np.nan], 'latitude': [np.nan], 'longitude': [np.nan]})
+
+ # Retrieve latitude and longitude
+ lat_bin_value = df['lat_bins'].iloc[0] if not df['lat_bins'].empty else np.nan
+ latitude = df['latitude'].mean() if 'latitude' in df.columns else df['lat'].mean() if 'lat' in df.columns else np.nan
+ longitude = df['longitude'].mean() if 'longitude' in df.columns else df['lon'].mean() if 'lon' in df.columns else np.nan
+
+ # Use value_counts to get photon counts in each height bin
+ height_counts = df['height_bins'].value_counts().sort_index()
+ bin_centers = height_counts.index.astype(float)
+
+ # Create a DataFrame for the height bins and counts
+ hist_df = pd.DataFrame({'zdepth': bin_centers, 'photon_counts': height_counts.values})
+
+ # Reverse zdepth for model alignment
+ hist_df['zdepth'] = hist_df['zdepth'].max() - hist_df['zdepth']
+
+ # Log-transform photon counts, replacing zeros with NaN for regression
+ hist_df['log_photon_counts'] = np.log(hist_df['photon_counts'].replace(0, np.nan))
+ hist_df.loc[np.isinf(hist_df['log_photon_counts']), 'log_photon_counts'] = np.nan
+
+ # Filter for rows without NaNs for regression
+ valid_data = hist_df.dropna(subset=['zdepth', 'log_photon_counts'])
+
+ # Perform regression if there are sufficient valid data points
+ if valid_data['log_photon_counts'].notna().sum() > 3:
+ zdepth_valid = valid_data['zdepth'].values.reshape(-1, 1)
+ log_counts_valid = valid_data['log_photon_counts'].values
+
+ # Perform linear regression
+ model = LinearRegression()
+ model.fit(zdepth_valid, log_counts_valid)
+
+ # Calculate kd and e0
+ kd = -model.coef_[0]
+ e0 = np.exp(model.intercept_)
+
+ # Set kd to NaN if negative
+ if kd < 0:
+ kd = np.nan
+ else:
+ kd, e0 = np.nan, np.nan
+
+ return pd.DataFrame({
+ 'lat_bins': [lat_bin_value],
+ 'kd': [kd],
+ 'e0': [e0],
+ 'latitude': [latitude],
+ 'longitude': [longitude]
+ })
+
+
+# Original kd calculation function remains unchanged
+def calculate_kd(filtered_seafloor_subsurface_photon_dataset):
+ logging.info("Calculating Kd from filtered subsurface photon dataset")
+ SubsurfacePhotonDFAddedKd = filtered_seafloor_subsurface_photon_dataset\
+ .groupby('lat_bins', observed=False)\
+ .apply(CalculateKdFromFilteredSubsurfacePhoton, include_groups=True)
+
+
+ # Remove the index without resetting it if 'lat_bins' already exists
+ SubsurfacePhotonDFAddedKd = SubsurfacePhotonDFAddedKd.droplevel(0)
+ return SubsurfacePhotonDFAddedKd
+
+
+# Updated function to apply kd calculation beam-by-beam
+def process_kd_calculation(Final_filtered_subsurface_photon_dataset):
+ # Initialize list to store results for each beam
+ kd_beam_datasets = []
+
+ # Group by 'beam_id' to process each beam independently
+ for beam_id, beam_data in Final_filtered_subsurface_photon_dataset.groupby('beam_id'):
+ logging.info(f"Calculating Kd for beam: {beam_id}")
+
+ # Apply the calculate_kd function to the current beam's dataset
+ SubsurfacePhotonDFAddedKd = calculate_kd(beam_data)
+
+ # Add a column to track the beam_id in the results
+ SubsurfacePhotonDFAddedKd['beam_id'] = beam_id
+
+ # Append the result to the list
+ kd_beam_datasets.append(SubsurfacePhotonDFAddedKd)
+
+ # Combine results from all beams into a single DataFrame
+ combined_kd_dataset = pd.concat(kd_beam_datasets, ignore_index=True)
+
+ return combined_kd_dataset
\ No newline at end of file
diff --git a/icesat2_kdph-main/kd_utils/SeafloorFilterByGEBCO_Module.py b/icesat2_kdph-main/kd_utils/SeafloorFilterByGEBCO_Module.py
new file mode 100644
index 0000000..46f6a58
--- /dev/null
+++ b/icesat2_kdph-main/kd_utils/SeafloorFilterByGEBCO_Module.py
@@ -0,0 +1,108 @@
+import rasterio
+import numpy as np
+import pandas as pd
+from rtree import index
+from shapely.geometry import box, Point
+
+# 1. Function to create an R-tree spatial index for raster bounds
+def create_spatial_index(gebco_paths):
+ """
+ Create an R-tree spatial index for raster bounds to quickly find relevant rasters.
+
+ Parameters:
+ gebco_paths (list): List of paths to GEBCO raster files.
+
+ Returns:
+ raster_data_dict (dict): Dictionary containing loaded rasters and their respective data.
+ spatial_index (rtree.index.Index): R-tree spatial index for raster bounds.
+ """
+ idx = index.Index()
+ raster_data_dict = {}
+ for i, path in enumerate(gebco_paths):
+ with rasterio.Env(GTIFF_SRS_SOURCE='EPSG'):
+ gebco_raster = rasterio.open(path)
+ raster_data = gebco_raster.read(1)
+ raster_data_dict[path] = (gebco_raster, raster_data)
+ bounds = gebco_raster.bounds
+ idx.insert(i, (bounds.left, bounds.bottom, bounds.right, bounds.top), obj=path)
+ return raster_data_dict, idx
+
+# 2. Function to determine which rasters are needed for a given set of coordinates using spatial index in a batch manner
+def get_relevant_rasters_using_index(lons, lats, raster_data_dict, spatial_index):
+ """
+ Determine which raster datasets are relevant for the given coordinates using spatial index.
+ This function uses a more efficient approach by performing a bounding box query for batches of points.
+
+ Parameters:
+ lons (numpy.ndarray): Array of longitudes.
+ lats (numpy.ndarray): Array of latitudes.
+ raster_data_dict (dict): Dictionary containing raster datasets and their data.
+ spatial_index (rtree.index.Index): R-tree spatial index for raster bounds.
+
+ Returns:
+ relevant_rasters (list): List of relevant raster datasets and their respective data.
+ """
+ # Create a bounding box that covers all points
+ min_lon, max_lon = lons.min(), lons.max()
+ min_lat, max_lat = lats.min(), lats.max()
+ bounding_box = box(min_lon, min_lat, max_lon, max_lat)
+
+ # Get all rasters that intersect with the bounding box
+ matches = list(spatial_index.intersection((bounding_box.bounds), objects=True))
+ relevant_paths = {match.object for match in matches}
+ relevant_rasters = [(raster_data_dict[path][0], raster_data_dict[path][1]) for path in relevant_paths]
+ return relevant_rasters
+
+# 3. Function to get seafloor elevation from the relevant rasters in a vectorized manner
+def get_seafloor_elevation(lons, lats, relevant_rasters):
+ """
+ Get seafloor elevations for a batch of points based on longitude and latitude from relevant rasters.
+
+ Parameters:
+ lons (numpy.ndarray): Array of longitudes.
+ lats (numpy.ndarray): Array of latitudes.
+ relevant_rasters (list): List of relevant raster datasets and their respective data.
+
+ Returns:
+ seafloor_elevations (numpy.ndarray): Array of seafloor elevations.
+ """
+ points = np.vstack((lons, lats)).T
+ seafloor_elevations = np.full(len(lons), np.nan)
+
+ for gebco_raster, raster_data in relevant_rasters:
+ # Use rasterio.sample to get values for multiple points in a batch
+ values = list(gebco_raster.sample(points))
+ for idx, value in enumerate(values):
+ if np.isnan(seafloor_elevations[idx]) and value is not None:
+ seafloor_elevations[idx] = value[0]
+
+ return seafloor_elevations
+
+# 4. The main process function that ties everything together
+def process_seafloor_data(gebco_paths, sea_photon_dataset):
+ """
+ Main function to process the seafloor data.
+
+ Parameters:
+ gebco_paths (list): List of paths to GEBCO raster files.
+ sea_photon_dataset (pandas.DataFrame): Dataset containing longitude, latitude, and photon height.
+
+ Returns:
+ filtered_sea_photon_dataset (pandas.DataFrame): Filtered dataset containing points above the seafloor.
+ """
+ # Create spatial index and load GEBCO Raster Data
+ raster_data_dict, spatial_index = create_spatial_index(gebco_paths)
+
+ # Get the relevant rasters using spatial index
+ lons = sea_photon_dataset['longitude'].values
+ lats = sea_photon_dataset['latitude'].values
+ relevant_rasters = get_relevant_rasters_using_index(lons, lats, raster_data_dict, spatial_index)
+
+ # Get seafloor elevation for all points
+ sea_photon_dataset['seafloor_elevation'] = get_seafloor_elevation(lons, lats, relevant_rasters)
+
+ # Filter out points below the seafloor
+ filtered_sea_photon_dataset = sea_photon_dataset[sea_photon_dataset['photon_height'] > sea_photon_dataset['seafloor_elevation']]
+ # filtered_sea_photon_dataset.drop(columns=['seafloor_elevation'], inplace=True)
+
+ return filtered_sea_photon_dataset
\ No newline at end of file
diff --git a/icesat2_kdph-main/kd_utils/__init__.py b/icesat2_kdph-main/kd_utils/__init__.py
new file mode 100644
index 0000000..0c3915c
--- /dev/null
+++ b/icesat2_kdph-main/kd_utils/__init__.py
@@ -0,0 +1,8 @@
+# utils/__init__.py
+
+from .data_processing import load_data, extract_file_params, Extract_sea_photons, create_photon_dataframe
+from .visualization import plot_photon_height, plot_kd_photons
+from .Kd_analysis import CalculateKdFromFilteredSubsurfacePhoton
+from .interpolation import interpolate_labels, apply_interpolation, geoid_correction, refraction_correction
+from .bathy_processing import *
+from .sea_photons_analysis import *
\ No newline at end of file
diff --git a/icesat2_kdph-main/kd_utils/__pycache__/Kd_analysis.cpython-311.pyc b/icesat2_kdph-main/kd_utils/__pycache__/Kd_analysis.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e38c95451af5038452490da6bb7c52fb580ac0b7
GIT binary patch
literal 4693
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
Qz3BGSy*t#yg{jv6046{nXaE2J
literal 0
HcmV?d00001
diff --git a/icesat2_kdph-main/kd_utils/__pycache__/__init__.cpython-311.pyc b/icesat2_kdph-main/kd_utils/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2ba5ecee2b95143a2a9a919eb5763e8953a7a415
GIT binary patch
literal 792
zcmah`%We}f6t(kClW9WBYsZ2G3X4W!OI0Bux~YVa%E}wd89Ny__IPA_D#CYEfNTT=2e$BVl
z=zZ*Mt1)~#=V;RX2@24p75d6BPC4@|9EuO#veeVLRDu@FGVQ|Qn>*48MvKgNle_RJ
zwSsx5spGnP4%K4P2nU5Sev`
zo!kqf_}jFwCKb-fd|{ig6WfZ=j?e)J$)$89Q}QE=BW*V(dNDCL#3if*79-5yOdqs8>XT&`F?m7tUP7j(&sYzpfv
zy;N>WVGYt#dQ_}#d&k=FQi&7$7~10#yUzgEO^oq%2jL4`A^C4xqm$}ywnne2U0b7N
U^*>vqC)LK*=xMcU_92M-1ucgFF#rGn
literal 0
HcmV?d00001
diff --git a/icesat2_kdph-main/kd_utils/__pycache__/bathy_processing.cpython-311.pyc b/icesat2_kdph-main/kd_utils/__pycache__/bathy_processing.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..11c0e30dde7347c154c301123d4816a1bc41821c
GIT binary patch
literal 7444
zcmcgxU2NOd6~2@xiL#{Fsbf1<9EXWpC#q{XaU3Ue(kyNKv*xd{x_yEvtJOi|u
z4+3rBn}BZTsVNi-eT4_U5TmU2IYCV*0+&$oa*9g|iFqMCH?P7MUs~ja#hAzP&Pt1x
z@1m3z)g)D(Fn$E#_QL(>=kWGAQmei#xaFI`a0_nxDo|-u@Tfkgj*y0K0`D!Ce-yp(
zn=2reg111cfePOO?UZ@ywx_nu5k#RHUblaZuH`KFG~c@4>8bk3d+Rv;noskmJeo(N
zPXMFlTX1Jn2x!zgQ{CDrYhEp|faO9iD3h(n6)1=7x1=0)$|+i-Z__tHj<>KZ$%Qu(
z|J?*R+;UU|)+mO0&>^JIZ+jNKucNmq3cU_*DYW_#%#uoZU}OE|6PC@@i&@O#u%p3mM@WC#q#O
zB~H2}