{"id":49082,"date":"2022-12-09T18:09:50","date_gmt":"2022-12-09T18:09:50","guid":{"rendered":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/?p=49082"},"modified":"2023-12-07T14:04:06","modified_gmt":"2023-12-07T14:04:06","slug":"how-to-make-brightness-temperature-difference-fields-with-geo2grid","status":"publish","type":"post","link":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/archives\/49082","title":{"rendered":"How to make Brightness Temperature Difference fields with Geo2grid"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2500\" height=\"1500\" src=\"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-content\/uploads\/sites\/5\/2022\/12\/GOES-16_ABI_RadC_wvdif_airmassRGB_20221209_000117_GOES-East_toggle.gif\" alt=\"\" class=\"wp-image-49116\"\/><figcaption class=\"wp-element-caption\">Water Vapor Difference field (with values between 0.6 (maximum) and -26.2 (minimum)) as a greyscale, and as a red field, and the airmass RGB, all created with geo2grid software (click to enlarge)<\/figcaption><\/figure>\n\n\n\n<p>Previous blog posts have documented <a href=\"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/archives\/49010\">how to display imagery using geo2grid<\/a>, and <a href=\"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/archives\/41471\">how to create new RGB products<\/a>.  (Note:  geo2grid v1.1 is now available <a href=\"https:\/\/cimss.ssec.wisc.edu\/csppgeo\/geo2grid_v1.1.0.html\">at this link<\/a>)  This blog post will detail the steps needed to create a brightness temperature difference field.  For that to occur, information must be entered into these two files within the geo2grid file structure: <code>$GEO2GRID_HOME\/libexec\/python_runtime\/etc\/polar2grid\/<strong>enhancements<\/strong>\/abi.yaml<\/code> and <code>$GEO2GRID_HOME\/libexec\/python_runtime\/etc\/polar2grid\/<strong>composites<\/strong>\/abi.yaml<\/code>.  For this example, I created a Water Vapor Brightness temperature difference field (named &#8216;wvdif&#8217;), as used with the airmass RGB (<a href=\"https:\/\/rammb.cira.colostate.edu\/training\/visit\/quick_guides\/QuickGuide_GOESR_AirMassRGB_final.pdf\">Here&#8217;s a Quick Guide for that RGB<\/a>).  The information added to the <code>$GEO2GRID_HOME\/libexec\/python_runtime\/etc\/polar2grid\/<strong>composites<\/strong><\/code> directory in the <strong>abi.yaml <\/strong>file (defining the bands used to create the product) is shown below.  Indentations are important here; the &#8216;wvdif&#8217; line is indented two spaces!  In plain language, Band 10 (low level water vapor, 7.3 \u00b5m) is subtracted from Band 8 (upper level water vapor (6.19 \u00b5m).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  wvdif:\n    compositor: !!python\/name:satpy.composites.DifferenceCompositor\n    prerequisites:\n      - name: C08\n      - name: C10\n    standard_name: wvdif<\/code><\/pre>\n\n\n\n<p>Information added to <strong>abi.yaml<\/strong> file in the <code>$GEO2GRID_HOME\/libexec\/python_runtime\/etc\/polar2grid\/<strong>enhancements<\/strong><\/code> directory (indentations are important here; the &#8216;wvdif&#8217; line is indented two spaces) is shown below.  This gives the range of values that are of interest;  in the RGB, values of the Water Vapor Brightness Temperature difference range from -26.2<sup>o<\/sup>C to 0.6<sup>o<\/sup>C.  Note that &#8216;max_stretch&#8217; and &#8216;min_stretch&#8217; correspond to values with the greatest and smallest, respectively, amounts of red in the RGB.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  wvdif:\n    standard_name: wvdif\n    operations:\n      - name: stretch\n        method: !!python\/name:satpy.enhancements.stretch\n        kwargs:\n          stretch: crude\n          min_stretch: -26.2\n          max_stretch: 0.6\n<\/code><\/pre>\n\n\n\n<p>The geo2grid software calls that creates the temperature difference field, and color-enhances it, and applies coastlines and a latitude\/longitude grid are shown below (this geo2grid call also makes the airmass RGB, the RGB that uses the water vapor difference field as the red component of the RGB).  Note that because a color bar is not added by the add_coastlines.sh script (as discussed in <a href=\"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/archives\/49010\">this blog post<\/a>), multiple .tif files can be referenced.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$GEO2GRID_HOME\/bin\/geo2grid.sh -r abi_l1b -w geotiff -p airmass wvdif -f \/path\/to\/ABIdata\/L1b\/RadC\/*s20223430001*\n\n$GEO2GRID_HOME\/bin\/add_colormap.sh \/path\/to\/enhancements\/Red1.txt   GOES-16_ABI_RadC_C13_20221209_000117_GOES-East.tif\n\n$GEO2GRID_HOME\/bin\/add_coastlines.sh --add-coastlines --coastlines-resolution f --coastlines-level 5 --add-grid --grid-D 10.0 10.0 --grid-d 10. 10.  --grid-text-size 14 *1209_0001*.tif<\/code><\/pre>\n\n\n\n<p>The animation at the top shows the airmass RGB, the greyscaled water vapor difference field, and the water vapor difference field enhanced to show how much red will be in the airmass RGB.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Previous blog posts have documented how to display imagery using geo2grid, and how to create new RGB products. (Note: geo2grid v1.1 is now available at this link) This blog post will detail the steps needed to create a brightness temperature difference field. For that to occur, information must be entered into these two files within [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":49117,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[109,39],"tags":[],"class_list":["post-49082","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","category-training"],"acf":[],"_links":{"self":[{"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/posts\/49082","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=49082"}],"version-history":[{"count":5,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/posts\/49082\/revisions"}],"predecessor-version":[{"id":55847,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/posts\/49082\/revisions\/55847"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/media\/49117"}],"wp:attachment":[{"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/media?parent=49082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/categories?post=49082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cimss.ssec.wisc.edu\/satellite-blog\/wp-json\/wp\/v2\/tags?post=49082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}