Skip to content

Commit

Permalink
Merge pull request #562 from ssec/dockathys
Browse files Browse the repository at this point in the history
  • Loading branch information
djhoese authored Dec 2, 2022
2 parents 9c725a6 + 8d65ea2 commit 7e1a1d8
Show file tree
Hide file tree
Showing 37 changed files with 529 additions and 322 deletions.
14 changes: 14 additions & 0 deletions NEWS_GEO2GRID.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
Release Notes
=============

Version 1.1 (2022-11-25)
------------------------

* GOES-18 ABI reader support added
* ABI Level 2 (abi_l2_nc) reader added
* Gridded GLM (glm_l2) reader added
* GEO-KOMPSAT AMI (ami_l1b) reader added
* FY-4A AGRI (agri_fy4a_l1) reader added
* FY-4B AGRI (agri_fy4b_l1) reader added
* Various optimizations
* Support for additional RGBs
* Use of yaml files for grid definitions
* Various bug fixes

Version 1.0.2 (unreleased)
--------------------------

Expand Down
11 changes: 6 additions & 5 deletions doc/source/compositors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,9 @@ go over some basic examples of how to make your own composites.
$GEO2GRID_HOME/etc/polar2grid/composites/abi.yaml
This ``abi.yaml`` file is meant to hold all custom user composites for the
ABI instrument. There is also an ``ahi.yaml`` file in the same directory
for the AHI instrument. This file contains the ``true_color_night``
ABI instrument. There are separate .yaml configuration files for each supported
instrument available in the ``$GEO2GRID_HOME/etc/polar2grid/composites``
directory. This ``abi.yaml`` file contains the ``true_color_night``
composite recipe which combines the visible reflectance daytime ``true_color``
composite with the nighttime ABI Channel 14 ``C14`` infrared 11 micron
brightness temperatures into one image. The ``abi.yaml`` file contents
Expand All @@ -116,7 +117,7 @@ go over some basic examples of how to make your own composites.
The name of the composite which will be used to request the product
on the command line with the ``-p`` flag. In this example
it is ``true_color_night``. The name for a composite should be unique
within a single file or it may be overwritten.
within a single yaml file or it may be overwritten.
2. Compositor:
The ``compositor`` is a pointer to the python code that does the work
of combining the products together. In this case we are using the
Expand All @@ -135,8 +136,8 @@ go over some basic examples of how to make your own composites.

Once the composite recipe has been added to the ``<instrument>.yaml``
file it will appear in the list of available products when using the
``--list-products`` option. It can then be invoked like any other
product to |script_literal|.
``--list-products`` option under the ``### Custom User Products``
heading. It can then be invoked like any other product to |script_literal|.

The existing ``true_color_night`` composite can be modified directly or
used as a template for additional composites. Make sure to change the
Expand Down
15 changes: 12 additions & 3 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@
"https://bin.ssec.wisc.edu/pub/CSPP/p2g_v_3_0_examples/acspo/noaa20_viirs_sst_20220810_184327_great_lakes.png",
"https://bin.ssec.wisc.edu/pub/CSPP/p2g_v_3_0_examples/acspo/noaa20_viirs_sst_20220810_184327_great_lakes_wcolor.png",
"https://bin.ssec.wisc.edu/pub/CSPP/p2g_v_3_0_examples/acspo/noaa20_viirs_sst_20220810_184327_great_lakes_rescaled_wcolor.png",
"https://bin.ssec.wisc.edu/pub/CSPP/p2g_v_3_0_examples/acspo/noaa20_viirs_sst_20220810_184327_great_lakes_rescaled_wcolor_colortable_resize.png",
"https://bin.ssec.wisc.edu/pub/CSPP/p2g_v_3_0_examples/acspo/noaa20_viirs_sst_20220810_184327_great_lakes_sst_final_resize.png",
"https://bin.ssec.wisc.edu/pub/CSPP/p2g_v_2_1_examples/acspo/npp_viirs_sst_20191216_072134_acspo_sst_rescaled_wcolor.png",
"https://bin.ssec.wisc.edu/pub/CSPP/p2g_v_2_1_examples/acspo/npp_viirs_sst_20191216_072134_acspo_sst_rescaled_wcolor_colortable_resize.png",
"https://bin.ssec.wisc.edu/pub/CSPP/p2g_v_2_1_examples/acspo/npp_viirs_sst_20191216_072134_acspo_sst_final_resize.png",
Expand All @@ -84,12 +86,17 @@
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/ahi/HIMAWARI-8_AHI_true_color_20181112_233020_perth.png",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi/abi_20181219_1745_montage.jpg",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi/GOES-16_ABI_RadC_natural_color_20181219_174215_GOES-East.png",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi/GOES-18_ABI_RadF_natural_color_20221115_183020_GOES-West_cutout.png",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi/GOES-16_ABI_RadC_true_color_20190104_195718_GOES-East.png",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi/GOES-16_ABI_RadF_true_color_night_20181112_123034_GOES-East.jpg",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi/GOES-16_ABI_RadF_true_color_night_20181112_123034_GOES-East_new.png",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi/GOES-16_ABI_RadF_true_color_night_microphysics_20181112_123034_GOES-East.jpg",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi/GOES-16_ABI_RadF_true_color_night_microphysics_20181112_123034_GOES-East_new.png",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi/my_goes16_abi_naturalcolor.png",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi/my_goes18_abi_naturalcolor.png",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi_l2/GOES-17_ABI_TEMP_20221123_183117_GOES-West_original.png",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi_l2/goes17_overlay_true_color_cloud_temperature.png",
"https://bin.ssec.wisc.edu/pub/CSPP/g2g_examples/abi_l2/my_goes17_abi_ctt.png",
"https://bin.ssec.wisc.edu/pub/CSPP/p2g_v_2_1_examples/flood/Flood_Legend.png",
)
script_path = os.path.dirname(os.path.realpath(__file__))
Expand Down Expand Up @@ -185,8 +192,8 @@ def setup(app):
# General information about the project.
if is_geo2grid:
project = "Geo2Grid"
version = "1.0.2"
release = "1.0.2"
version = "1.1"
release = "1.1"
else:
project = "Polar2Grid"

Expand Down Expand Up @@ -266,6 +273,7 @@ def setup(app):
"writers/awips_tiled.rst",
"writers/binary.rst",
"writers/hdf5.rst",
"misc_recipes.rst",
]
)
else:
Expand All @@ -274,6 +282,7 @@ def setup(app):
"compositors.rst",
"data_access.rst",
"examples/abi_example.rst",
"examples/abi_l2_example.rst",
"examples/ahi_example.rst",
"examples/creating_animations_example.rst",
"readers/abi_l1b.rst",
Expand Down Expand Up @@ -451,7 +460,7 @@ def setup(app):
# Documents to append as an appendix to all manuals.
if is_geo2grid:
latex_appendices = [
"misc_recipes",
# "misc_recipes",
"design_overview",
]
else:
Expand Down
10 changes: 6 additions & 4 deletions doc/source/data_access.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@ Data Access
Geo2Grid software is designed with the direct broadcast community
in mind as the target end user. However, the software can be used
by anyone to create images from standard mission compliant input
files. NOAA GOES-16 and GOES-17 ABI data is now freely
available through Amazon Web Services (AWS). More information about
accessing data can be found at this website:
files. NOAA GOES ABI data is now freely available from Cloud
Service Providers (CSPs) including Amazon Web Services (AWS),
Google and Microsoft Azure. More information about accessing
data that is part of NOAA's Open Data Dissemination Program
can be found at this website:

https://registry.opendata.aws/noaa-goes/
https://www.noaa.gov/nodd/datasets

And a very nice interface that allows direct downloads from
the AWS can be found here:
Expand Down
28 changes: 14 additions & 14 deletions doc/source/examples/abi_example.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ GeoTIFF subset image files and adding overlays.
The Basics of Geo2Grid for ABI GeoTIFF File Creation
****************************************************

Find the options available when creating GOES-16 and GOES-17
Find the options available when creating GOES-16, -17 and -18
GeoTIFFs:

``geo2grid.sh -r abi_l1b -w geotiff -h``
Expand All @@ -31,49 +31,49 @@ Create ABI images over the given latitude/longitude region:
``geo2grid.sh -r abi_l1b -w geotiff --ll-bbox <lonmin latmin lonmax latmax> -f <path_to_abi_files>``


Create a natural color full resolution GeoTIFF from GOES-16 ABI CONUS
observations acquired on 19 December 2018, 17:42 UTC over a bounding
box of 95W,40N to 85W,50N. This command assumes that all bands
required to create the false color image are available:
Create a natural color full resolution GeoTIFF from GOES-18 ABI
observations acquired on 15 November 2022, 18:30 UTC over a latitude/
longitude bounding box of 128W,30N to -118W,40N . This command
assumes that all bands required to create the false color image are available:

.. code-block:: bash
geo2grid.sh -r abi_l1b -w geotiff -p natural_color --ll-bbox -95.0 40.0 -85.0 50.0 -f OR_ABI-L1b-RadC*.nc
geo2grid.sh -r abi_l1b -w geotiff -p natural_color --ll-bbox -128 30 -118 40 -f OR_ABI-L1b-RadF-M6C*_G18_s20223191830*.nc
The resulting image is displayed below.

.. raw:: latex

\newpage

.. figure:: ../_static/example_images/GOES-16_ABI_RadC_natural_color_20181219_174215_GOES-East.png
.. figure:: ../_static/example_images/GOES-18_ABI_RadF_natural_color_20221115_183020_GOES-West_cutout.png
:width: 100%
:align: center

ABI Natural color GeoTIFF image (GOES-16_ABI_RadC_natural_color_20181219_174215_GOES-East.tif)
ABI Natural color subset GeoTIFF image (GOES-18_ABI_RadF_natural_color_20221115_183020_GOES-West.tif)

.. raw:: latex

\newpage

Add coastlines, borders and latitude/longitude grid lines to the image, and write the output to the file "my_goes16_abi_naturalcolor.png":
Add coastlines, borders and latitude/longitude grid lines to the image, and write the output to the file "my_goes18_abi_naturalcolor.png":

.. code-block:: bash
add_coastlines.sh --add-coastlines --add-borders --borders-resolution=h --borders-outline='red' --add-grid GOES-16_ABI_RadC_natural_color_20181219_174215_GOES-East.tif -o my_goes16_abi_naturalcolor.png
add_coastlines.sh --add-coastlines --add-borders --borders-resolution=h --borders-outline='red' --add-grid GOES-18_ABI_RadF_natural_color_20221115_183020_GOES-West.tif -o my_goes18_abi_naturalcolor.png
.. figure:: ../_static/example_images/my_goes16_abi_naturalcolor.png
.. figure:: ../_static/example_images/my_goes18_abi_naturalcolor.png
:width: 100%
:align: center

GOES-16 natural color image with overlays (my_goes16_abi_naturalcolor.png).
GOES-18 natural color image with overlays (my_goes18_abi_naturalcolor.png).

Convert the natural color GeoTIFF file into a Google Earth compatible
Keyhole Markup language Zipped (KMZ) file.

.. code-block:: bash
gtiff2kmz.sh GOES-16_ABI_RadC_natural_color_20181219_174215_GOES-East.tif
gtiff2kmz.sh GOES-18_ABI_RadF_natural_color_20221115_183020_GOES-West.tif
which creates the `GOES-16_ABI_RadC_natural_color_20181219_174215_GOES-East.kmz`
which creates the `GOES-18_ABI_RadF_natural_color_20221115_183020_GOES-West.kmz`
file which can then be displayed easily in the Google Earth GeoBrowser.
93 changes: 93 additions & 0 deletions doc/source/examples/abi_l2_example.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
Working with ABI Level 2 Cloud Product Files
--------------------------------------------

This example walks through the creation of GOES ABI
Level 2 GeoTIFF product image files and adding overlays.

The Basics of Geo2Grid ABI L2 GeoTIFF File Creation
***************************************************

Find the options available when creating GOES-16, -17 and -18
ABI Level 2 GeoTIFFs:

``geo2grid.sh -r abi_l2b -w geotiff -h``

List the products that can be created from your ABI dataset:

``geo2grid.sh -r abi_l2 -w geotiff --list-products -f <path_to_files>``

Geo2Grid now supports two different ABI Cloud Products, cloud top
height (HT) and cloud top temperature (TEMP). The height files use product
names ``ACHA`` while the temp files using ``ACHT``. For instance

``CG_ABI-L2-ACHAC-M6_G17_s20223271831172_e20223271833556_c20223271834370.nc``

``CG_ABI-L2-ACHTC-M6_G17_s20223271831172_e20223271833556_c20223271834370.nc``

You can provide Geo2Grid with both files for the same date/time and it will
provide you the option to create both products with one execution.

To create GeoTIFF output files of both products found in this data set,

``geo2grid.sh -r abi_l2 -w geotiff --num-workers 8 -f <path_to_files>``

By default the products are color enhanced using the colormap:

``$GEO2GRID_HOME/colormaps/abi_l2_modified_cloud_top.cmap``.

Create just a Cloud Top Height Geotiff image:

``geo2grid.sh -r abi_l1b -w geotiff -p HT -f <path_to_abi_files>``

Create a Cloud Top Temperature image from the GOES-17 CONUS domain
product created from 23 November 2022, 18:31 UTC ABI observations.

.. code-block:: bash
geo2grid.sh -r abi_l1b -w geotiff -p TEMP -f CG_ABI-L2-ACHTC-M6_G17_s20223271831172_e20223271833556_c20223271834370.nc
The resulting image is displayed below.

.. raw:: latex

\newpage

.. figure:: ../_static/example_images/GOES-17_ABI_TEMP_20221123_183117_GOES-West_original.png
:width: 100%
:align: center

CSPP GEO ABI AIT GOES-17 Cloud Top Temperature GeoTIFF image (GOES-17_ABI_TEMP_20221123_183117_GOES-West.tif)

.. raw:: latex

\newpage

Add a color table, coastlines, borders and latitude/longitude grid lines to the image, and write the output
to the file ``my_goes17_abi_ctt.png`` using the ``add_coastlines.sh`` script. The script provides many options,
including the ability to add a colorbar title using the font of your choice:

.. code-block:: bash
add_coastlines.sh GOES-17_ABI_TEMP_20221123_183117_GOES-West.tif --add-colorbar --colorbar-text-color="black" --colorbar-title="GOES-17 ABI Cloud Top Temperature (°K) 23 November 2022 18:30 UTC" --add-coastlines --coastlines-outline black --coastlines-level 1 --coastlines-resolution=i --add-borders --borders-level 2 --borders-outline gray --coastlines-width 2 --colorbar-tick-marks 10 --colorbar-font /usr/share/fonts/gnu-free/FreeSerifBold.ttf -o my_goes17_abi_ctt.png
.. figure:: ../_static/example_images/my_goes17_abi_ctt.png
:width: 100%
:align: center

CSPP GEO ABI AIT GOES-17 Cloud Top Temperature GeoTIFF image with overlays (my_goes17_abi_ctt.png).

Users can aslo overlay Level 2 images onto other GeoTIFFS. In the example execution below, we
overaly the Cloud Top Temperature GeoTIFF image on top of the GOES-17 true color image from
the same time and name the output GeoTIFF "goes17_overlay_true_color_cloud_temperature.tif".

.. code-block:: bash
overlay.sh GOES-17_ABI_RadC_true_color_20221123_183117_GOES-West.tif GOES-17_ABI_TEMP_20221123_183117_GOES-West.tif goes17_overlay_true_color_cloud_temperature.tif
The new combined GeoTIFF is displayed below.

.. figure:: ../_static/example_images/goes17_overlay_true_color_cloud_temperature.png
:width: 100%
:align: center

CSPP GOES-17 ABI cloud top temperatures overlaid on the coincident true color image from 23 November 2022, 18:31 UTC (goes17_overlay_true_color_cloud_temperature.tif).
Loading

0 comments on commit 7e1a1d8

Please sign in to comment.