array( 'ID' => 'GEOCOLOR', // channels 'text' => 'GeoColor', // channelText 'descr' => 'True Color daytime, multispectral IR at night', // channelDescr 'descrShort' => 'True color day / IR night', // channelDescrShort 'channelHover' => '', // channelHover 'BandDetails' => '

GeoColor is a multispectral product composed of True Color (using a simulated green component) during the daytime, and an Infrared product that uses bands 7 and 13 at night. During the day, the imagery looks approximately as it would appear when viewed with human eyes from space. At night, the blue colors represent liquid water clouds such as fog and stratus, while gray to white indicate higher ice clouds, and the city lights come from a static database that was derived from the VIIRS Day Night Band.

Geocolor was developed at the Cooperative Institute for Research in the Atmosphere (CIRA) and STAR\'s Regional and Mesoscale Meteorology Branch (RAMMB).

', 'BandLinks' => 'documents/QuickGuide_CIRA_Geocolor_20171019.pdf', 'BandLinkTitles' => 'CIRA GeoColor Product Quick Guide', 'latlonColor' => 'yellow' // not used, built in if produced ), 'TRUECOLOR' => array( 'ID' => 'TRUECOLOR', 'text' => 'TrueColor', 'descr' => 'CIMSS True Color - CIMSS Natural true color', 'descrShort' => 'CIMSS True Color', 'channelHover' => '', 'BandDetails' => '

CIMSS Natural True Color is a multispectral product composed of bands 1 (blue), 2 (red), and a simulated green component made by mixing 1, 2, and 3 to mimic the absent green channel. TrueColor was developed at the Cooperative Institute for Research in the Atmosphere (CIRA) and STAR\'s Regional and Mesoscale Meteorology Branch (RAMMB).

', 'BandLinks' => 'documents/ABIQuickGuide_CIMSSRGB_v2.pdf', 'BandLinkTitles' => 'CIMSS Natural True Color Guide', 'latlonColor' => 'yellow' // likely not used, since mesos & floaters have built in lat/lons ), '01' => array( 'ID' => '01', 'text' => '1', 'descr' => '0.47 µm - Blue visible', 'descrShort' => 'Visible: blue', 'channelHover' => '', 'BandDetails' => '

0.47 µm - "Blue" Band - 1 km resolution - Visible band 1 is in the blue portion of the spectrum. It is particularly useful for detecting atmospheric aerosols such as smoke and dust. (daytime only)

', 'BandLinks' => 'documents/ABIQuickGuide_Band01.pdf', 'BandLinkTitles' => 'Band 1 - ABI Quick Information Guide', 'latlonColor' => 'white' ), '02' => array( 'ID' => '02', 'text' => '2', 'descr' => '0.64 µm - Red visible', 'descrShort' => 'Visible: red', 'channelHover' => 'corresponds approximately to GOES-13 visible channel', 'BandDetails' => '

0.64 µm - "Red" Band - 0.5 km resolution - Visible band 2 is in the red portion of the spectrum and has the highest resolution of any ABI band at 0.5 km, and for that reason is the primary visible band. It is used primarily to monitor the evolution of clouds throughout the daylight hours.

GOES-16 Band 2 corresponds approximately to the old GOES-13 visible channel.

', 'BandLinks' => 'documents/ABIQuickGuide_Band02.pdf', 'BandLinkTitles' => 'Band 2 - ABI Quick Information Guide', 'latlonColor' => 'white' ), '03' => array( 'ID' => '03', 'text' => '3', 'descr' => '0.86 µm - Veggie band - Near IR', 'descrShort' => 'Near IR: "Veggie"', 'channelHover' => '', 'BandDetails' => '

0.86 µm - "Veggie" Band - 1 km resolution - Combining band 3 (a near-infrared or "reflective" band), along with the 0.64 µm ("red") ABI Band 2, will be used for detecting daytime clouds, fog, and aerosols and for calculating a normalized difference vegetation index (NDVI), hence its nickname the "veggie" band.

', 'BandLinks' => 'documents/ABIQuickGuide_Band03.pdf', 'BandLinkTitles' => 'Band 3 - ABI Quick Information Guide', 'latlonColor' => 'white' ), '04' => array( 'ID' => '04', 'text' => '4', 'descr' => '1.37 µm - Cirrus - Near IR', 'descrShort' => 'Near IR: Cirrus', 'channelHover' => '', 'BandDetails' => '

1.37 µm - "Cirrus" Band - 2 km resolution - Band 4 will detect very thin cirrus clouds during the day. This band is centered in a strong water vapor absorption spectral region. It does not routinely sense the lower troposphere, where there is substantial water vapor, and thus provides excellent daytime sensitivity to high, very thin cirrus under most circumstances.

', 'BandLinks' => 'documents/ABIQuickGuide_Band04.pdf', 'BandLinkTitles' => 'Band 4 - ABI Quick Information Guide', 'latlonColor' => 'white' ), '05' => array( 'ID' => '05', 'text' => '5', 'descr' => '1.6 µm - Snow/Ice - Near IR', 'descrShort' => 'Near IR: Snow/Ice', 'channelHover' => '', 'BandDetails' => '

1.6 µm - Snow/Ice Band - 1 km resolution - During the day band 5 can be used to differentiate ice clouds and snow (relatively dark) from liquid water clouds (relatively bright), such as fog and stratus. It can also detect very hot fires both day and night.

', 'BandLinks' => 'documents/ABIQuickGuide_Band05.pdf', 'BandLinkTitles' => 'Band 5 - ABI Quick Information Guide', 'latlonColor' => 'white' ), '06' => array( 'ID' => '06', 'text' => '6', 'descr' => '2.2 µm - Cloud particle size - Near IR', 'descrShort' => 'Near IR: Cloud particle', 'channelHover' => '', 'BandDetails' => '

2.2 µm - "Cloud Particle Size" Band - 2 km resolution - in conjunction with other bands, Band 6 will enable cloud particle size estimation. Cloud particle growth is an indication of cloud development and intensity of that development. Other applications include: use in aerosol particle size estimation, cloud screening, hot-spot detection, and snow detection.

', 'BandLinks' => 'documents/ABIQuickGuide_Band06.pdf', 'BandLinkTitles' => 'Band 6 - ABI Quick Information Guide', 'latlonColor' => 'white' ), '07' => array( 'ID' => '07', 'text' => '7', 'descr' => '3.9 µm - Shortwave IR window', 'descrShort' => 'IR: Shortwave', 'channelHover' => 'corresponds approximately to GOES-13 infrared channel', 'BandDetails' => '

3.9 µm - "Shortwave Window" Band - 2 km resolution - Band 7 has a variety of applications, including fire detection, cloud particle size retrievals, and differentiating between liquid water and ice clouds. Fire hot spots will show up as relatively small dark gray to black pixels.

GOES-16 band 7 corresponds approximately to the old GOES-13 infrared channel.

', 'BandLinks' => 'documents/ABIQuickGuide_Band07.pdf', 'BandLinkTitles' => 'Band 7 - ABI Quick Information Guide', 'latlonColor' => 'magenta' ), '08' => array( 'ID' => '08', 'text' => '8', 'descr' => '6.2 µm - Upper-level water vapor - IR', 'descrShort' => 'IR: Water Vapor - Upper', 'channelHover' => 'corresponds approximately to GOES-13 water vapor channel', 'BandDetails' => '

6.2 µm - "Upper-level Water Vapor" Band - 2 km resolution - Band 8 will be used for upper-level tropospheric water vapor tracking, jet stream identification, hurricane track forecasting, mid-latitude storm forecasting, severe weather analysis, upper mid-level moisture estimation (for legacy vertical moisture profiles) and turbulence detection.

The imager on GOES-16 features three mid-level water vapor bands instead of the single water vapor band on the GOES-13 Imager. The single water vapor band on GOES-13 contained a mixture of water vapor features over many levels of the troposphere, but GOES-16 enables us to focus on water vapor in the upper troposphere (band 8), the middle troposphere (band 9), or the lower troposphere (band 10). The GOES-13 Imager water vapor channel falls between ABI bands 8 and 9.

', 'BandLinks' => 'documents/ABIQuickGuide_Band08.pdf', 'BandLinkTitles' => 'Band 8 - ABI Quick Information Guide', 'latlonColor' => 'yellow' ), '09' => array( 'ID' => '09', 'text' => '9', 'descr' => '6.9 µm - Mid-level water vapor - IR', 'descrShort' => 'IR: Water Vapor - Mid', 'channelHover' => '', 'BandDetails' => '

6.2 µm - "Upper-level Water Vapor" Band - 2 km resolution - Band 8 will be used for upper-level tropospheric water vapor tracking, jet stream identification, hurricane track forecasting, mid-latitude storm forecasting, severe weather analysis, upper mid-level moisture estimation (for legacy vertical moisture profiles) and turbulence detection.

The imager on GOES-16 features three mid-level water vapor bands instead of the single water vapor band on the GOES-13 Imager. The single water vapor band on GOES-13 contained a mixture of water vapor features over many levels of the troposphere, but GOES-16 enables us to focus on water vapor in the upper troposphere (band 8), the middle troposphere (band 9), or the lower troposphere (band 10). The GOES-13 Imager water vapor channel falls between ABI bands 8 and 9.

', 'BandLinks' => 'documents/ABIQuickGuide_Band09.pdf', 'BandLinkTitles' => 'Band 9 - ABI Quick Information Guide', 'latlonColor' => 'white' ), '10' => array( 'ID' => '10', 'text' => '10', 'descr' => '7.3 µm - Lower-level water vapor - IR', 'descrShort' => 'IR: Water Vapor - Lower', 'channelHover' => '', 'BandDetails' => '

7.3 µm - "Lower-level Water Vapor" Band - 2 km resolution - Band 10 is a water vapor band, meaning it is capable of detecting water vapor at middle to lower portions of the atmosphere, in addition to high clouds. It can detect water vapor lower in the troposphere compared to the water vapor band on the legacy GOES-13 and -15 imager.

The imager on GOES-16 features three mid-level water vapor bands instead of the single water vapor band on the GOES-13 Imager. The single water vapor band on GOES-13 contained a mixture of water vapor features over many levels of the troposphere, but GOES-16 enables us to focus on water vapor in the upper troposphere (band 8), the middle troposphere (band 9), or the lower troposphere (band 10). The GOES-13 Imager water vapor channel is between ABI bands 8 and 9.

', 'BandLinks' => 'documents/ABIQuickGuide_Band10.pdf', 'BandLinkTitles' => 'Band 10 - ABI Quick Information Guide', 'latlonColor' => 'white' ), '11' => array( 'ID' => '11', 'text' => '11', 'descr' => '8.4 µm - Cloud-top phase - IR', 'descrShort' => 'IR: Cloud-top phase', 'channelHover' => '', 'BandDetails' => '

8.4 µm - "Cloud-top Phase" Band - 2 km resolution - Band 11 is used in combination with the 11.2 and 12.3 µm bands to derive cloud phase and type products. This band is similar to the "traditional" IR longwave window band, although the 8.4 µm band assists in determining the microphysical properties of clouds.

', 'BandLinks' => 'documents/ABIQuickGuide_Band11.pdf', 'BandLinkTitles' => 'Band 11 - ABI Quick Information Guide', 'latlonColor' => 'magenta' ), '12' => array( 'ID' => '12', 'text' => '12', 'descr' => '9.6 µm - Ozone - IR', 'descrShort' => 'IR: Ozone', 'channelHover' => '', 'BandDetails' => '

9.6 µm - "Ozone" Band - 2 km resolution - Band 12 will provide information both day and night about the dynamics of the atmosphere near the tropopause with high spatial and temporal resolutions. For clear (cloud-free) scenes of view, this band is cooler than the IR window bands because of absorption due to ozone.

', 'BandLinks' => 'documents/ABIQuickGuide_Band12.pdf', 'BandLinkTitles' => 'Band 12 - ABI Quick Information Guide', 'latlonColor' => 'magenta' ), '13' => array( 'ID' => '13', 'text' => '13', 'descr' => '10.3 µm - Clean longwave IR window', 'descrShort' => 'IR: Clean longwave', 'channelHover' => 'corresponds approximately to GOES-13 IR cloud channel', 'BandDetails' => '

10.3 µm - "Clean" Longwave IR Window Band - 2 km resolution - Band 13 at 10.3 µm is an infrared window, meaning it is not strongly affected by atmospheric water vapor. This channel is useful for detecting clouds all times of day and night and is particularly useful in retrievals of cloud top height.

GOES-16 Band 13 corresponds approximately to the old GOES-13 IR cloud channel.

', 'BandLinks' => 'documents/ABIQuickGuide_Band13.pdf', 'BandLinkTitles' => 'Band 13 - ABI Quick Information Guide', 'latlonColor' => 'magenta' ), '14' => array( 'ID' => '14', 'text' => '14', 'descr' => '11.2 µm - IR longwave window', 'descrShort' => 'IR: Longwave', 'channelHover' => '', 'BandDetails' => '

11.2 µm - IR Longwave Window Band - 2 km resolution - the traditional longwave infrared window band, is used to diagnose discrete clouds and organized features for general weather forecasting, analysis, and broadcasting applications. Observations from this IR window channel characterize atmospheric processes associated with extratropical cyclones and also in single thunderstorms and convective complexes.

', 'BandLinks' => 'documents/ABIQuickGuide_Band14.pdf', 'BandLinkTitles' => 'Band 14 - ABI Quick Information Guide', 'latlonColor' => 'magenta' ), '15' => array( 'ID' => '15', 'text' => '15', 'descr' => '12.3 µm - Dirty longwave IR window', 'descrShort' => 'IR: Dirty longwave', 'channelHover' => '', 'BandDetails' => '

12.3 µm - "Dirty" Longwave IR Window Band - 2 km resolution - Band 15 at 12.3 µm offers nearly continuous monitoring for numerous applications, though usually through a split window difference with a cleaner window channel. These differences can better estimate low-level moisture, volcanic ash, airborne dust/sand, sea surface temperature, and cloud particle size.

', 'BandLinks' => 'documents/ABIQuickGuide_Band15.pdf', 'BandLinkTitles' => 'Band 15 - ABI Quick Information Guide', 'latlonColor' => 'magenta' ), '16' => array( 'ID' => '16', 'text' => '16', 'descr' => '13.3 µm - CO₂ longwave IR', 'descrShort' => 'IR: CO₂ longwave', 'channelHover' => 'corresponds approximately to GOES-13 longwave IR channel', 'BandDetails' => '

12.3 µm - "Dirty" Longwave IR Window Band - 2 km resolution - Band 15 at 12.3 µm offers nearly continuous monitoring for numerous applications, though usually through a split window difference with a cleaner window channel. These differences can better estimate low-level moisture, volcanic ash, airborne dust/sand, sea surface temperature, and cloud particle size.

', 'BandLinks' => 'documents/ABIQuickGuide_Band16.pdf', 'BandLinkTitles' => 'Band 16 - ABI Quick Information Guide', 'latlonColor' => 'magenta' ) ); // these lists are subset selectors to run against channelsAllInfo and sectorsAllInfo to get needed values $GLOBALS['sectors'] = array('ak','hi','tpw','wus','eep','cam','nsa','ssa','can','pnw','nr','umv','cgl','ne','psw','sr','sp','smv','se','gm','car','eus','pr','taw'); $GLOBALS['USSectors'] = array('ak','can','wus','pnw','nr','umv','cgl','ne','psw','sr','sp','smv','se','eus'); $GLOBALS['CarSectors'] = array('gm','car','eus','pr','taw'); $GLOBALS['PacSectors'] = array('ak','hi','wus','pnw','psw','tpw','eep'); $GLOBALS['SASectors'] = array('eep','cam','tpw','taw','nsa','ssa'); $GLOBALS['sectorText'] = array('Pacific Northwest','Northern Rockies','Upper Mississippi Valley','Great Lakes','Northeast','Pacific Southwest','Southern Rockies','Southern Plains','Southern Mississippi Valley','Southeast','Gulf of Mexico', 'Caribbean', 'U.S. Atlantic Coast', 'Puerto Rico', 'Tropical Atlantic'); $GLOBALS['sectorsAllInfo'] = array( 'fulldisk' => array ( 'source' => 'fulldisk', 'sectorText' => 'Full Disk', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '678x678', 'popupRes' => '1808x1808', 'width' => '678', 'height' => '678' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'FD', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '510px' // height of box for error messages on summary page ), 'sourceView' => 'FD', 'viewport' => 'FD', 'sectorInterval' => '15', // refresh interval: minutes 'sectorTimeout' => '3600' // seconds - timeout ), 'conus' => array ( 'source' => 'conus', 'sectorText' => 'CONUS', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '625x375', 'popupRes' => '2500x1500', 'width' => '625', 'height' => '375' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'CONUS', 'TNBoxHeight' => '168px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '400px' // height of box for error messages on summary page ), 'sourceView' => 'CONUS', 'viewport' => 'CONUS', 'sectorInterval' => '5', // refresh interval: minutes 'sectorTimeout' => '1800' // seconds - timeout ), 'floater' => array ( 'source' => 'both', 'sectorText' => 'Floater', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '500x500', 'popupRes' => '2400x2400', 'width' => '500', 'height' => '500' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'MESO', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'FD', // also sourced from CONUS when storms get close 'viewport' => 'FLOATER', 'sectorInterval' => '15', // refresh interval: minutes; will change to 10 when Mode 6 'sectorTimeout' => '1800' // seconds - timeout ), 'meso' => array ( 'source' => 'both', 'sectorText' => 'Mesoscale view', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '500x500', 'popupRes' => '2400x2400', 'width' => '500', 'height' => '500' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'MESO', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'MESO', 'viewport' => 'MESO', 'sectorInterval' => '1', // refresh interval given in minutes; sometimes 30 sec for MESO 'sectorTimeout' => '1800' // seconds - timeout ), 'pnw' => array( 'source' => 'G17', 'sectorText' => 'Pacific Northwest', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '600x600', 'popupRes' => '2400x2400', 'width' => '600', 'height' => '600' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '5', // refresh interval given in minutes 'sectorTimeout' => '1800' // seconds - timeout for not updated warning ), 'nr' => array( 'source' => 'G16', 'sectorText' => 'Northern Rockies', 'sectorResolutions' => array( 'animRes' => '600x600', 'popupRes' => '1200x1200', 'width' => '600', 'height' => '600' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '5', 'sectorTimeout' => '1800' ), 'umv' => array( 'source' => 'G16', 'sectorText' => 'Upper Mississippi Valley', 'sectorResolutions' => array( 'thumbnailStyle' => 'sector', 'animRes' => '600x600', 'popupRes' => '1200x1200', 'width' => '600', 'height' => '600' ), 'sectorStyleSizes' => array( 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '5', 'sectorTimeout' => '1800' ), 'cgl' => array( 'source' => 'G16', 'sectorText' => 'Great Lakes', 'sectorResolutions' => array( 'animRes' => '600x600', 'popupRes' => '1200x1200', 'width' => '600', 'height' => '600' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '5', 'sectorTimeout' => '1800' ), 'ne' => array( 'source' => 'G16', 'sourceView' => 'CONUS', 'sectorText' => 'Northeast', 'sectorResolutions' => array( 'animRes' => '600x600', 'popupRes' => '1200x1200', 'width' => '600', 'height' => '600' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'viewport' => 'SECTOR', 'sectorInterval' => '5', 'sectorTimeout' => '1800' ), 'psw' => array( 'source' => 'G17', 'sectorText' => 'Pacific Southwest', 'sectorResolutions' => array( 'animRes' => '600x600', 'popupRes' => '2400x2400', 'width' => '600', 'height' => '600' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '5', 'sectorTimeout' => '1800' ), 'sr' => array( 'source' => 'G16', 'sectorText' => 'Southern Rockies', 'sectorResolutions' => array( 'animRes' => '600x600', 'popupRes' => '1200x1200', 'width' => '600', 'height' => '600' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '5', 'sectorTimeout' => '1800' ), 'sp' => array( 'source' => 'G16', 'sectorText' => 'Southern Plains', 'sectorResolutions' => array( 'animRes' => '600x600', 'popupRes' => '1200x1200', 'width' => '600', 'height' => '600' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '5', 'sectorTimeout' => '1800' ), 'smv' => array( 'source' => 'G16', 'sectorText' => 'Southern Mississippi Valley', 'sectorResolutions' => array( 'animRes' => '600x600', 'popupRes' => '1200x1200', 'width' => '600', 'height' => '600' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '5', 'sectorTimeout' => '1800' ), 'se' => array( 'source' => 'G16', 'sectorText' => 'Southeast', 'sectorResolutions' => array( 'animRes' => '600x600', 'popupRes' => '1200x1200', 'width' => '600', 'height' => '600' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '5', 'sectorTimeout' => '1800' ), 'can' => array( 'source' => 'G16', 'sectorText' => 'Canada', 'sectorResolutions' => array( 'animRes' => '1125x560', 'popupRes' => '2250x1125', 'width' => '1125', 'height' => '560' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'CONUS', 'TNBoxHeight' => '140px', // rectilinear taw type 'TNBoxWidth' => '280px', // these values not yet derived 'errorBlockSize' => '374px' ), 'sourceView' => 'FD', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ), 'gm' => array( 'source' => 'G16', 'sectorText' => 'Gulf of Mexico', 'sectorResolutions' => array( 'animRes' => '500x500', 'popupRes' => '1000x1000', 'width' => '500', 'height' => '500' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '5', 'sectorTimeout' => '1800' ), 'car' => array( 'source' => 'G16', 'sectorText' => 'Caribbean', 'sectorResolutions' => array( 'animRes' => '500x500', 'popupRes' => '2000x2000', 'width' => '500', 'height' => '500' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' // height of box for error messages on summary page ), 'sourceView' => 'FD', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ), 'eus' => array( 'source' => 'G16', 'sectorText' => 'U.S. Atlantic Coast', 'sectorResolutions' => array( 'animRes' => '500x500', 'popupRes' => '2001x2000', 'width' => '500', 'height' => '500' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '5', 'sectorTimeout' => '1800' ), 'pr' => array( 'source' => 'G16', 'sectorText' => 'Puerto Rico', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '600x600', 'popupRes' => '1200x1200', 'width' => '600', 'height' => '600' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' ), 'sourceView' => 'CONUS', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ), 'taw' => array( 'source' => 'G16', 'sectorText' => 'Tropical Atlantic', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '900x540', 'popupRes' => '3600x2160', 'width' => '900', 'height' => '540' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'CONUS', 'TNBoxHeight' => '168px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '400px' ), 'sourceView' => 'FD', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ), 'ssa' => array( 'source' => 'G16', 'sectorText' => 'South America - Southern', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '900x540', 'popupRes' => '3600x2160', 'width' => '900', 'height' => '540' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'CONUS', 'TNBoxHeight' => '168px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '400px' ), 'sourceView' => 'FD', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ), 'nsa' => array( 'source' => 'G16', 'sectorText' => 'South America - Northern', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '900x540', 'popupRes' => '3600x2160', 'width' => '900', 'height' => '540' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'CONUS', 'TNBoxHeight' => '168px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '400px' ), 'sourceView' => 'FD', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ), 'ak' => array( 'source' => 'G17', 'sectorText' => 'Alaska', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '500x500', 'popupRes' => '2000x2000', 'width' => '500', 'height' => '500' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' ), 'sourceView' => 'FD', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ), 'hi' => array( 'source' => 'G17', 'sectorText' => 'Hawaii', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '500x500', 'popupRes' => '2000x2000', 'width' => '500', 'height' => '500' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' ), 'sourceView' => 'FD', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ), 'tpw' => array( 'source' => 'G17', 'sectorText' => 'Tropical Pacific', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '900x540', 'popupRes' => '3600x2160', 'width' => '900', 'height' => '540' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'CONUS', 'TNBoxHeight' => '168px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '400px' ), 'sourceView' => 'FD', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ), 'wus' => array( 'source' => 'G17', 'sectorText' => 'U.S. Pacific Coast', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '500x500', 'popupRes' => '2000x2000', 'width' => '500', 'height' => '500' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' ), 'sourceView' => 'FD', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ), 'eep' => array( 'source' => 'G16', 'sectorText' => 'Eastern East Pacific', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '500x500', 'popupRes' => '2000x2000', 'width' => '500', 'height' => '500' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' ), 'sourceView' => 'FD', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ), 'cam' => array( 'source' => 'G16', 'sectorText' => 'Central America', 'sectorResolutions' => array( // resolutions for animations 'animRes' => '500x500', 'popupRes' => '2000x2000', 'width' => '500', 'height' => '500' ), 'sectorStyleSizes' => array( 'thumbnailStyle' => 'sector', 'TNBoxHeight' => '280px', 'TNBoxWidth' => '280px', 'errorBlockSize' => '512px' ), 'sourceView' => 'FD', 'viewport' => 'SECTOR', 'sectorInterval' => '15', 'sectorTimeout' => '3600' ) ); // END of 'sectorsAllInfo' $noScript = ''; // $noFlyList is an array of meso LatLon pairs that should NOT be included in the meso Index page // because of data problems or whatever. // syntax: lat-lon, just like the foldername for the images $GLOBALS['NoFlyList'] = array( // '8N-80W' // glom the lat & lon together with a hyphen to make a simple comparable string ); $GLOBALS['footerHTML'] = "\n"; $GLOBALS['SatName'] = "GOES-East WRONG SOURCE"; $GLOBALS['satVars'] = array( 'G16' => array( 'SatName' => 'GOES-East', 'GIFCatalog' => 'G16_AnimationGIFs.json', 'GEOTIFFCatalog' => 'G16_GEOTIFFs.json', 'mesoCatalog' => 'https://cdn.star.nesdis.noaa.gov/GOES16/catalogs/GOES16/MESO_ALL_catalog.json', 'floaterCatalog' => 'https://cdn.star.nesdis.noaa.gov/GOES16/catalogs/FLOATER/FLOATER_ALL_catalog.json', 'canonicalFloaterCatalogPath' => 'https://cdn.star.nesdis.noaa.gov/GOES16/catalogs/GOES16/', 'canonicalFloaterImagePath' => 'https://cdn.star.nesdis.noaa.gov/GOES16/ABI/', 'canonicalCatalogPath' => 'https://cdn.star.nesdis.noaa.gov/GOES16/catalogs/GOES16/', 'canonicalImagePath' => 'https://cdn.star.nesdis.noaa.gov/GOES16/ABI/' ), 'G17' => array( 'SatName' => 'GOES-17', 'GIFCatalog' => 'G17_AnimationGIFs.json', 'GEOTIFFCatalog' => 'G17_GEOTIFFs.json', 'mesoCatalog' => 'https://cdn.star.nesdis.noaa.gov/GOES17/catalogs/GOES17/MESO_ALL_catalog.json', 'floaterCatalog' => 'https://cdn.star.nesdis.noaa.gov/GOES17/catalogs/FLOATER/FLOATER_ALL_catalog.json', 'canonicalFloaterCatalogPath' => 'https://cdn.star.nesdis.noaa.gov/GOES17/catalogs/GOES17/', 'canonicalFloaterImagePath' => 'https://cdn.star.nesdis.noaa.gov/GOES17/ABI/', 'canonicalCatalogPath' => 'https://cdn.star.nesdis.noaa.gov/GOES17/catalogs/GOES17/', 'canonicalImagePath' => 'https://cdn.star.nesdis.noaa.gov/GOES17/ABI/' ) ); function renderTime() { echo "\n
\n
\n"; date_default_timezone_set("America/New_York"); echo date("j M Y - H:i T")."
\n"; echo gmdate("j M Y - H:i"); echo " UTC
\n
\n"; } function renderTimeNav() { echo "\n

\n"; date_default_timezone_set("America/New_York"); echo date("j M Y - H:i T")."
\n"; echo gmdate("j M Y - H:i"); echo " UTC

\n"; } // regex for URL input validation $GLOBALS['latPattern'] = '/^(1[0-8][0-9]|[0-9][0-9]|[0-9])[S|N|s|n]$/'; $GLOBALS['lonPattern'] = '/(^([0-9]|[0-9][0-9]|1[0-8][0-9])[W|w]$)/'; $GLOBALS['bandPattern'] = '/^[0-9][0-9]$|^GEOCOLOR$|^Geocolor$|^GeoColor$|^geocolor$|^TRUECOLOR$|^TrueColor$|^truecolor$/'; $GLOBALS['lenPattern'] = '/^(?!00|01)([0-9]{2,3})$/'; $GLOBALS['sectorPattern'] = '/^[a-zA-Z]{3}$|^[a-zA-Z]{2}$/'; $GLOBALS['stormidPattern'] = '/^(AL|EP)\d\d20\d\d$/'; $GLOBALS['outageMessage'] = " images are temporarily not updating. We are working to restore image production as quickly as possible. For now, you may refer to the other GOES imagery sites listed on our resources page. Thank you for your patience."; $seconds_to_cache = 100000; $ts = gmdate('D, d M Y H:i:s', time() + $seconds_to_cache) . ' UTC'; // header("Expires: $ts"); // header('Pragma: cache'); // header("Cache-Control: max-age=$seconds_to_cache"); // header('Cache-Control: no-cache'); // header('Pragma: no-cache'); header('Cache-Control: no-cache, no-store, must-revalidate'); header('Pragma: no-cache'); header('Expires: 0'); function extensionMaker($sourceFileName) { $fileLength = strlen($sourceFileName); $wherePeriod = strrpos($sourceFileName,'.'); $extLength = ($fileLength - $wherePeriod)-1; $extension = strtoupper(substr($sourceFileName,-$extLength,$extLength)); return $extension; } // format and code links but RETURN the result, rather than emit it directly. function linkMasterReturn($URL,$title) { // show big files in MB, little files in KB. $MBSize = filesize($URL)/1000000; $KBSize = filesize($URL)/1000; if ($MBSize < 1) { $sizeText = (round($KBSize)); $sizeText = $sizeText ." KB"; } else { $sizeText = round($MBSize,2); $sizeText = $sizeText ." MB"; } $fileExt = extensionMaker($URL); $fileExtLength = strlen($fileExt); if (file_exists($URL) == false) { $linkText = "" . $title . ""; } else { $linkText = "".$title.", (". $fileExt .", ". $sizeText.")"; } return $linkText; } /* Produce the label text given an integer for winds */ $labelList = array( 0 => "GOES-16 Long-Wave Infrared Derived Winds - CONUS", 1 => "GOES-16 Water Vapor Derived Winds - CONUS", 2 => "GOES-16 Short Wave Infrared Derived Winds - CONUS", 3 => "GOES-16 Visual Cloud Derived Winds - CONUS", 4 => "GOES-16 Clear Sky WV Channel 8 Derived Winds - CONUS", 5 => "GOES-16 Clear Sky WV Channel 9 Derived Winds - CONUS", 6 => "GOES-16 Clear Sky WV Channel 10 Derived Winds - CONUS", 7 => "GOES-16 Long-Wave Infrared Derived Winds - Full Disk", 8 => "GOES-16 Water Vapor Derived Winds - Full Disk", 9 => "GOES-16 Short Wave Infrared Derived Winds - Full Disk", 10 => "GOES-16 Visual Cloud Derived Winds - Full Disk", 11 => "GOES-16 Clear Sky WV Channel 8 Derived Winds - Full Disk", 12 => "GOES-16 Clear Sky WV Channel 9 Derived Winds - Full Disk", 13 => "GOES-16 Clear Sky WV Channel 10 Derived Winds - Full Disk", 14 => "GOES-17 Long-Wave Infrared Derived Winds - CONUS", 15 => "GOES-17 Water Vapor Derived Winds - CONUS", 16 => "GOES-17 Short Wave Infrared Derived Winds - CONUS", 17 => "GOES-17 Visual Cloud Derived Winds - CONUS", 18 => "GOES-17 Clear Sky WV Channel 8 Derived Winds - CONUS", 19 => "GOES-17 Clear Sky WV Channel 9 Derived Winds - CONUS", 20 => "GOES-17 Clear Sky WV Channel 10 Derived Winds - CONUS", 21 => "GOES-17 Long-Wave Infrared Derived Winds - Full Disk", 22 => "GOES-17 Water Vapor Derived Winds - Full Disk", 23 => "GOES-17 Short Wave Infrared Derived Winds - Full Disk", 24 => "GOES-17 Visual Cloud Derived Winds - Full Disk", 25 => "GOES-17 Clear Sky WV Channel 8 Derived Winds - Full Disk", 26 => "GOES-17 Clear Sky WV Channel 9 Derived Winds - Full Disk", 27 => "GOES-17 Clear Sky WV Channel 10 Derived Winds - Full Disk" ); ?>