Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suman #180

Open
wants to merge 54 commits into
base: main
Choose a base branch
from
Open

Suman #180

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
85e0947
first push
jhbravo Jun 11, 2024
f37be54
Update 01_geosat_GOESR.ipynb
brianmapes Jun 11, 2024
7c0c239
Create 00_satpy_getGOESR_URLs.ipynb
brianmapes Jun 11, 2024
01d7a83
Update 00_satpy_getGOESR_URLs.ipynb
brianmapes Jun 11, 2024
ddc1741
update notebooks
jhbravo Jun 12, 2024
c338f2d
removed text
jhbravo Jun 12, 2024
648fcfe
Create 00_satpy_getGOESR_URLs.ipynb
brianmapes Jun 12, 2024
66f7fca
Update 00_satpy_getGOESR_URLs.ipynb
brianmapes Jun 12, 2024
1eae98f
Update environment.yml
khider Jun 12, 2024
12a5a35
Merge branch 'jhbravo:main' into main
brianmapes Jun 12, 2024
6906757
Merge remote-tracking branch 'upstream/main' into brianmapes
brianmapes Jun 12, 2024
17cad68
Update 00_satpy_getGOESR_URLs.ipynb
brianmapes Jun 12, 2024
47845cf
Update 00_satpy_getGOESR_URLs.ipynb
brianmapes Jun 12, 2024
51ddc70
renamed 00_satpy notebook
brianmapes Jun 12, 2024
f8b8161
Update .gitignore
brianmapes Jun 12, 2024
21db3d7
Merge pull request #1 from brianmapes/brianmapes
brianmapes Jun 12, 2024
8e31528
Update .gitignore
brianmapes Jun 13, 2024
fdffb8e
Create 10_image_timeseries_fromAWS.ipynb
brianmapes Jun 13, 2024
96f486d
Merge pull request #2 from brianmapes/brianmapes
brianmapes Jun 13, 2024
d1f3284
Merge branch 'jhbravo:main' into main
brianmapes Jun 13, 2024
3c0304d
Merge pull request #3 from brianmapes/main
brianmapes Jun 13, 2024
ecc8ba6
Notebook to access data from AWS
Sumanshekhar17 Jun 13, 2024
b1f41ab
Merge pull request #4 from Sumanshekhar17/suman
jhbravo Jun 13, 2024
09b8d5a
uploading temporary file
jhbravo Jun 13, 2024
ebafa2c
minimal added
jhbravo Jun 13, 2024
47b26c7
Update 10_image_timeseries_fromAWS.ipynb
brianmapes Jun 13, 2024
d66d327
Merge branch 'jhbravo:main' into main
brianmapes Jun 13, 2024
ced084f
updated code
Sumanshekhar17 Jun 13, 2024
e6257b4
Merge pull request #5 from brianmapes/main
brianmapes Jun 13, 2024
1515325
Merge pull request #6 from Sumanshekhar17/suman
Sumanshekhar17 Jun 13, 2024
2f10826
Interactively choose field to show
sriharisundar Jun 13, 2024
5cbf40a
Merge pull request #7 from sriharisundar/hari/interactive_viz
sriharisundar Jun 13, 2024
4500eb7
readme updated
jhbravo Jun 13, 2024
6092ea7
Merge branch 'main' of https://github.com/jhbravo/cookbook-geosat
jhbravo Jun 13, 2024
07716e9
readme updated
jhbravo Jun 13, 2024
9554783
'update'
jhbravo Jun 13, 2024
7b425a3
Update README.md
brianmapes Jun 14, 2024
b40c436
link in notebooks
jhbravo Jun 14, 2024
e58e8f0
Merge branch 'main' of https://github.com/jhbravo/cookbook-geosat
jhbravo Jun 14, 2024
57253be
reducing size in 00
jhbravo Jun 14, 2024
5c8bb06
Delete 00_satpy_getGOESR_URLs.ipynb
brianmapes Jun 14, 2024
bd598a1
Merge branch 'ProjectPythia:main' into main
brianmapes Jun 14, 2024
64c2b4e
fixed pythia logo image pathname
brianmapes Jun 14, 2024
eb5c7be
Add files via upload
Sumanshekhar17 Jun 14, 2024
89ee5bb
Merge branch 'main' of https://github.com/brianmapes/cookbook-geosat
brianmapes Jun 14, 2024
3202e29
Merge pull request #10 from Sumanshekhar17/suman
Sumanshekhar17 Jun 14, 2024
36328b5
Merge pull request #11 from brianmapes/main
brianmapes Jun 14, 2024
eff1bdf
Create __init__.py
Sumanshekhar17 Jun 14, 2024
d056bda
Add files via upload
Sumanshekhar17 Jun 14, 2024
11ab3a1
Merge branch 'ProjectPythia:main' into suman
Sumanshekhar17 Jun 14, 2024
fddbab9
Merge pull request #12 from Sumanshekhar17/suman
Sumanshekhar17 Jun 14, 2024
7b20bab
Delete AWS_access_cookbook.ipynb
Sumanshekhar17 Jun 14, 2024
d909e8c
Add files via upload
Sumanshekhar17 Jun 14, 2024
6a473bc
Update CITATION.cff
Sumanshekhar17 Jun 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -134,3 +134,12 @@ dmypy.json

# Ephemeral .nfs files
.nfs*

# Data files
*.nc
*.bz2
*.nc.json
notebooks/Downloaded_data/.DS_Store
notebooks/Downloaded_data/ABI-L1b-RadF/.DS_Store
notebooks/.DS_Store
notebooks/Downloaded_data/ABI-L1b-RadC/.DS_Store
10 changes: 5 additions & 5 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ authors:
orcid: https://orcid.org/0000-0002-5611-8986
website: https://github.com/jukent
affiliation: UCAR/NCAR
- family-names: Tyle
given-names: Kevin
orcid: https://orcid.org/0000-0001-5249-9665
website: https://github.com/ktyle
affiliation: University at Albany (State University of New York)
- family-names: Shekhar
given-names: Suman
orcid: https://orcid.org/0009-0007-1962-6264
website: https://github.com/Sumanshekhar17
affiliation: Rutgers University, The state university of New Jersey
- family-names: Clyne
given-names: John
orcid: https://orcid.org/0000-0003-2788-9017
Expand Down
66 changes: 49 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,70 @@
<img src="thumbnail.png" alt="thumbnail" width="300"/>
<img src="notebooks/images/logos/ncar_pythia.png" alt="pythia ncar" />

# (Replace_with_your_title) Cookbook
# Geostationary satellite Cookbook

[![nightly-build](https://github.com/ProjectPythia/cookbook-template/actions/workflows/nightly-build.yaml/badge.svg)](https://github.com/ProjectPythia/cookbook-template/actions/workflows/nightly-build.yaml)
[![Binder](https://binder.projectpythia.org/badge_logo.svg)](https://binder.projectpythia.org/v2/gh/ProjectPythia/cookbook-template/main?labpath=notebooks)
[![DOI](https://zenodo.org/badge/475509405.svg)](https://zenodo.org/badge/latestdoi/475509405)

This Project Pythia Cookbook covers ... (replace `...` with the main subject of your cookbook ... e.g., _working with radar data in Python_)

This **"Pythia Cookbook"** was started during the **Project Pythia June 11-14 2024 in Boulder, CO at the NCAR Mesa Lab**. The **"COOKBOOK GEOSAT"** aims to provide a comprehensive guide for utilizing Satpy to analyze geostationary satellite data of the sensor Advanced Baseline Imager ([ABI](https://www.goes-r.gov/spacesegment/abi.html)) on [GOES-R](https://www.goes-r.gov) (west and east), sensor Advanced Himawari Imager ([AHI](https://www.data.jma.go.jp/mscweb/en/himawari89/space_segment/spsg_ahi.html)) on [HIMAWARI](https://www.jma.go.jp/jma/jma-eng/satellite/himawari89.html), and sensor Advance Meteorological Imager (AMI) on [Geo-KOMPSAT-2A](https://nmsc.kma.go.kr/enhome/html/base/cmm/selectPage.do?page=satellite.gk2a.intro) (GK2A). [Satpy](https://satpy.readthedocs.io/en/stable/) is a powerful Python library specifically designed for processing and analyzing satellite data, offering capabilities for data visualization, manipulation, and analysis.

<img align="center" src="notebooks/images/logos/all_sats.png" alt="pythia ncar" />

## Motivation

(Add a few sentences stating why this cookbook will be useful. What skills will you, "the chef", gain once you have reached the end of the cookbook?)
<p>
<img align="left" src="https://registry.opendata.aws/img/logos/noaa-logo.png" width="100" height="100" >
Public access to NOAA's geostationary satellite data, including GOES-16, GOES-17, and GOES-18, is made possible through the NOAA Open Data Dissemination <a href="https://www.noaa.gov/information-technology/open-data-dissemination">NODD</a> Program on commercial cloud platforms like Microsoft Azure, Amazon Web Services, and Google Cloud Platform. Amazon Web Services also hosts data from two other geostationary satellites HIMAWARI and Geo-KOMPSAT-2A. NODD's partnerships with top cloud providers enable near real-time access to to all these satellites, as well as long archives.</p>
<p>
Global weather, climate, and environmental phenomena monitoring is greatly aided by geostationary satellites such as GOES-R, HIMAWARI, and GK2A. The need for thorough tools and resources to efficiently analyze and interpret satellite data is growing as the use of such data for scientific research, weather forecasting, and environmental monitoring grows.
</p>

<p>
<img align="left" src="https://avatars.githubusercontent.com/u/13004956?s=200&v=4" width="100" height="100" >
A Python library called Satpy was created specifically for handling data from satellite instruments that observe the Earth. Remote-sensing data can be read, modified, and written with it. Geophysical parameters can be converted from various file formats into Xarray DataArray and Dataset classes, which allow for easy integration with other scientific Python libraries. Satpy combines data from various instrument bands or products to make it easier to create RGB images and composite types. In order to enhance the quality and usefulness of images, it has features for atmospheric corrections and visual improvements. Several formats, including PNG, GeoTIFF, and CF standard NetCDF files, are available for saving output data. Users can resample data to geographic projected grids (areas) using Satpy as well.Although there are already guides and tutorials available for using Satpy, there isn't much thorough advice that is tailored specifically to the analysis
of the three geostationary satellites that can be accessed freely from AWS buckets <a href="https://registry.opendata.aws/noaa-goes/">AWS_GOES-R</a>, <a href="https://registry.opendata.aws/noaa-himawari/">AWS_HIMAWARI</a>, and <a href="https://registry.opendata.aws/noaa-gk2a-pds/">AWS_GK2A</a>. Users can gain access to structured tutorials, detailed instructions, and sample workflows that are specifically designed to meet the needs and distinctive features of these satellites by creating a cookbook specifically for them.</p>





## Authors

[First Author](@first-author), [Second Author](@second-author), etc. _Acknowledge primary content authors here_
[jhbravo](jhbravo), [Second Author](@second-author), etc. _Acknowledge primary content authors here_

### Contributors

<a href="https://github.com/ProjectPythia/cookbook-template/graphs/contributors">
<img src="https://contrib.rocks/image?repo=ProjectPythia/cookbook-template" />
</a>



## Structure
This development cookbook serves as an example of how to gather, handle, and present various geostationary satellite data types.

### Foundations
The ABI on the GOES-R series, the AHI on the Himawari satellites, and the AMI on the Geo-KOMPSAT-2A satellites all provide multi-channel visibility through their respective 16 spectral bands.

These sensors have several similarities in their spectral band configurations:

(State one or more sections that will comprise the notebook. E.g., _This cookbook is broken up into two main sections - "Foundations" and "Example Workflows."_ Then, describe each section below.)
- All three instruments have bands covering the visible, near-infrared, and infrared portions of the electromagnetic spectrum.
- The central wavelengths of the spectral bands are comparable across the ABI, AHI, and AMI, enabling similar meteorological and environmental observations.
- The spatial resolutions of the bands also exhibit similarities, with the visible bands typically having finer spatial resolution

### Section 1 ( Replace with the title of this section, e.g. "Foundations" )
### Example workflows

(Add content for this section, e.g., "The foundational content includes ... ")
Several notebooks with the following structure can be found in the notebooks directory:

### Section 2 ( Replace with the title of this section, e.g. "Example workflows" )
- [00_geosat_explaining_steps.ipynb](notebooks/00_geosat_explaining_steps.ipynb):: provides a detailed explanation on how to download data and use Satpy to display it.

(Add content for this section, e.g., "Example workflows include ... ")
Given that you have read the 00_geosat_explaining_steps.ipynb and have a basic understanding of how to use Satpy, the following notebooks are designed without providing an explanation of the various sensors on each satellite.
- [99_auxiliar_dowloading.ipynb](notebooks/99_auxiliar_dowloading.ipynb): In order to run the subsequent notebooks, data must be downloaded from this notebook.
- [01_geosat_ABI_GOES_east.ipynb](notebooks/01_geosat_ABI_GOES_east.ipynb): notebook to read ABI sensor data locally on GOES-east
- [02_geosat_ABI_GOES_west.ipynb](notebooks/02_geosat_ABI_GOES_west.ipynb): notebook to read ABI sensor data locally on GOES-west
- [03_geosat_AHI_HIMAWARI.ipynb](notebooks/03_geosat_AHI_HIMAWARI.ipynb): notebook to read AHI sensor data locally on HIMAWARI
- [04_geosat_AMI_GK2A.ipynb](notebooks/04_geosat_AMI_GK2A.ipynb): notebook for reading AMI sensor data locally on GeoKomposat

## Running the Notebooks

Expand All @@ -51,30 +83,30 @@ on the rocket ship icon, (see figure below), and be sure to select
notebook that you can interact with. I.e. you’ll be able to execute
and even change the example programs. You’ll see that the code cells
have no output at first, until you execute them by pressing
{kbd}`Shift`\+{kbd}`Enter`. Complete details on how to interact with
{kbd}`Shift`/+{kbd}`Enter`. Complete details on how to interact with
a live Jupyter notebook are described in [Getting Started with
Jupyter](https://foundations.projectpythia.org/foundations/getting-started-jupyter.html).

### Running on Your Own Machine

If you are interested in running this material locally on your computer, you will need to follow this workflow:

(Replace "cookbook-example" with the title of your cookbooks)
(Replace "cookbook-geosat" with the title of your cookbooks)

1. Clone the `https://github.com/ProjectPythia/cookbook-example` repository:
1. Clone the `https://github.com/ProjectPythia/cookbook-geosat` repository:

```bash
git clone https://github.com/ProjectPythia/cookbook-example.git
git clone https://github.com/ProjectPythia/cookbook-geosat.git
```

1. Move into the `cookbook-example` directory
1. Move into the `cookbook-geosat` directory
```bash
cd cookbook-example
cd cookbook-geosat
```
1. Create and activate your conda environment from the `environment.yml` file
```bash
conda env create -f environment.yml
conda activate cookbook-example
conda activate cookbook-geosat
```
1. Move into the `notebooks` directory and start up Jupyterlab
```bash
Expand Down
16 changes: 16 additions & 0 deletions channel_paths.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C01_G16_s20241652130208_e20241652139516_c20241652139548.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C02_G16_s20241652130208_e20241652139516_c20241652139560.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C03_G16_s20241652130208_e20241652139516_c20241652139572.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C04_G16_s20241652130208_e20241652139516_c20241652139539.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C05_G16_s20241652130208_e20241652139516_c20241652139575.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C06_G16_s20241652130208_e20241652139522_c20241652139556.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C07_G16_s20241652130208_e20241652139528_c20241652139568.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C08_G16_s20241652130208_e20241652139516_c20241652139564.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C09_G16_s20241652130208_e20241652139521_c20241652139566.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C10_G16_s20241652130208_e20241652139527_c20241652139558.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C11_G16_s20241652130208_e20241652139516_c20241652139562.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C12_G16_s20241652130208_e20241652139522_c20241652139549.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C13_G16_s20241652130208_e20241652139527_c20241652139577.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C14_G16_s20241652130208_e20241652139516_c20241652139573.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C15_G16_s20241652130208_e20241652139522_c20241652139581.nc
ABI-L1b-RadF/2024/165/21/OR_ABI-L1b-RadF-M6C16_G16_s20241652130208_e20241652139527_c20241652139570.nc
4 changes: 4 additions & 0 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@ dependencies:
- jupyter-book
- jupyterlab
- sphinx-pythia-theme
- xarray
- satpy
- matplotlib
- pandas
Loading
Loading