{"id":51777,"date":"2023-04-20T15:10:00","date_gmt":"2023-04-20T15:10:00","guid":{"rendered":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/?p=51777"},"modified":"2023-04-20T16:47:01","modified_gmt":"2023-04-20T16:47:01","slug":"creating-a-tropical-air-mass-rgb-in-geo2grid","status":"publish","type":"post","link":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/archives\/51777","title":{"rendered":"Creating a Tropical Air Mass RGB in Geo2grid"},"content":{"rendered":"\n<p>Geo2grid includes a series of shell scripts that manipulate various satellite inputs to create (beautiful!) full-resolution high-qulality imagery.  Geo2grid version 1.1 was <a href=\"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/archives\/49010\">released in late 2022<\/a> and this blog post shows how to create a new RGB definition and display the data.  The <a href=\"https:\/\/www.eumetsat.int\/media\/43301\">Tropical Version of the Airmass RGB<\/a> is useful because if has better contrast (than in the traditional <a href=\"https:\/\/rammb.cira.colostate.edu\/training\/visit\/quick_guides\/QuickGuide_GOESR_AirMassRGB_final.pdf\">airmass RGB<\/a>) in mid\/high-level clouds, giving a 24-hour view of cold cloud tops (that you might view in daytime with the Convection RGB, for example).  The Pacific Tropical Air Mass RGB in use at the NWS in Guam, for example, has the same Red and Blue RGB components as the Air Mass RGB:  Red is the Split Water Vapor Difference (Band 8 &#8211; Band 10, with values from -26.2 to 0.6<sup>o<\/sup>C; Blue is the Upper-Level water vapor brightness temperature, from -29.25 to -64.45<sup>o<\/sup>C). However, the Green Band values, Band 12 &#8211; Band 13, are changed from -43.2 to 6.7<sup>o<\/sup>C for the airmass RGB to -26.2 to 27.4<sup>o<\/sup>C for the Pacific Tropical Airmass RGB.  How is this new definition implemented?<\/p>\n\n\n\n<p>The images displayed below are from Himawari-9 AHI data.  New RGB definitions must be input in two different files within geo2grid, in <code>$GEO2GRID_HOME\/etc\/polar2grid\/enhancements\/ahi.yaml<\/code> and <code>$GEO2GRID_HOME\/etc\/polar2grid\/composites\/ahi.yaml<\/code> ; if you were creating definitions for ABI data, then <code>abi.yaml<\/code> files would have to be changed.  The addition to the ahi.yaml file in the composites directory is shown below.  The name of the RGB is &#8216;pactropicalairmass&#8217; and its three components are the B08 &#8211; B10 difference, the B12 &#8211; B13 difference, and Band 08.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  pactropicalairmass:\n    compositor: !!python\/name:satpy.composites.GenericCompositor\n    prerequisites:\n      - compositor: !!python\/name:satpy.composites.DifferenceCompositor\n        prerequisites:\n        - name: B08\n        - name: B10\n      - compositor: !!python\/name:satpy.composites.DifferenceCompositor\n        prerequisites:\n        - name: B12\n        - name: B13\n      - name: B08\n    standard_name: pactropicalairmass<\/code><\/pre>\n\n\n\n<p>The ahi.yaml file in the enhancement directory must be amended, as shown below.  This snippet of code describes a stretch of the data for the three RGB components:  from -26.2 to 0.6, from -26.2 to 27.4, and from 243.9 to 208.5 for Red, Green and Blue, respectively.  Note in this case that the blue stretch is actually inverted, from warm to cold.  If brightness temperature difference fields are being described, use <sup>o<\/sup>C.  If simple brightness temperatures are being described, use Kelvin.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  pactropicalairmass_ahi:\n    standard_name: polartropicalairmass\n    name: polartropicalairmass\n    operations: \n      - name: stretch\n        method: !!python\/name:satpy.enhancements.stretch\n        kwargs:\n          stretch: crude\n          min_stretch: &#91;-26.2, -26.2, 243.9]\n          max_stretch: &#91;0.6, 27.4, 208.5]<\/code><\/pre>\n\n\n\n<p>It&#8217;s always a good idea to test geo2grid with the &#8211;list-products-all flag, to see if the input definition is understood, and indeed, when that was done, the output (that has been edited) below was produced.  The &#8216;pactropicalairmass&#8217; RGB is understood.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>..\/geo2grid.sh -r ahi_hsd -w geotiff --list-products-all  -f \/path_to_data\/himawari09\/ahi\/2023\/2023_04_19_109\/0000\/*FLDK*\nINFO     : Sorting and reading input files...\nINFO     : Loading product metadata from files...\n\n### Custom User Products\n*<strong>pactropicalairmass<\/strong>\n*true_color_night\n\n### Non-standard Satpy Products\n&#91;long list snipped to save space]\n\n\n### Standard Available Geo2Grid Products\nB01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 B16\nairmass ash dust fog natural_color night_microphysics true_color\n<\/code><\/pre>\n\n\n\n<p>The geo2grid call below will create both the &#8216;regular&#8217; airmass RGB and the &#8216;pactropical&#8217; airmass RGB, in this case on 20 April 2023 at 0000 UTC for a pre-defined &#8216;Guam&#8217; map (the p2g_grid_helper.sh call that created the Guam map is in <a href=\"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/archives\/49010\">this blog post<\/a>).  The output are geotiff files.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>..\/geo2grid.sh -r ahi_hsd -w geotiff -p pactropicalairmass airmass -g Guam --grid-configs $GEO2GRID_HOME\/Guam.yaml -f \/path_to_HSD_data\/2023_04_20_110\/0000\/*FLDK*<\/code><\/pre>\n\n\n\n<p>The toggle below compares the two fields from 0000 UTC 20 April 2023.  Coastlines and lat\/lon grid lines were added using this command within the geo2grid package:  <code>add_coastlines.sh --add-coastlines --add-grid --grid-d 10.0 10.0 --grid-D 10.0 10.0 --grid-text-size 14 *.t<\/code>if<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-content\/uploads\/sites\/5\/2023\/04\/HIMAWARI-9_AHI_airmasspactropicalairmass_20230420_000000toggle.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-content\/uploads\/sites\/5\/2023\/04\/HIMAWARI-9_AHI_airmasspactropicalairmass_20230420_000000toggle.gif\" alt=\"\" class=\"wp-image-51779\" width=\"1120\" height=\"840\"\/><\/a><figcaption class=\"wp-element-caption\">AIrmass RGB and Pacific Tropical Airmass RGB, 0000 UTC on 20 April 2023 (Click to enlarge)<\/figcaption><\/figure>\n\n\n\n<p>CSPP Geo2grid (free!) software is available for download <a href=\"https:\/\/cimss.ssec.wisc.edu\/csppgeo\/geo2grid.html\">here<\/a>.  A one-time registration is required.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Geo2grid includes a series of shell scripts that manipulate various satellite inputs to create (beautiful!) full-resolution high-qulality imagery. Geo2grid version 1.1 was released in late 2022 and this blog post shows how to create a new RGB definition and display the data. The Tropical Version of the Airmass RGB is useful because if has better [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":51781,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[73,109,39],"tags":[],"class_list":["post-51777","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-himawari-9","category-software","category-training"],"acf":[],"_links":{"self":[{"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/posts\/51777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/comments?post=51777"}],"version-history":[{"count":5,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/posts\/51777\/revisions"}],"predecessor-version":[{"id":51803,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/posts\/51777\/revisions\/51803"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/media\/51781"}],"wp:attachment":[{"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/media?parent=51777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/categories?post=51777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/tags?post=51777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}