! !################################################################## !################################################################## !###### ###### !###### SUBROUTINE GRIBTBLS ###### !###### ###### !###### Developed by ###### !###### Center for Analysis and Prediction of Storms ###### !###### University of Oklahoma ###### !###### ###### !################################################################## !################################################################## ! SUBROUTINE gribtbls ! !----------------------------------------------------------------------- ! ! PURPOSE: ! ! Load the tables for encoding/decoding GRIB Edition 2 parameters. ! These are used to translate cryptic GRIB message numbers into ! understandable meteorological descriptions of variables. ! !----------------------------------------------------------------------- ! ! AUTHOR: Craig A. Mattocks ! 6/1/1995. ! ! MODIFICATION HISTORY: ! ! 6/1/1995, version 1.0 (C. Mattocks) ! Wrote original subroutine. ! ! 12/14/1995 (Yuhe Liu) ! Changed the subroutine name from TABLES to GRIBTBLS. ! ! Removed arguments and moved the table declarations to include ! file gribcst.inc. ! ! Used some original undefined variable parameters to define ARPS ! variables. ! !----------------------------------------------------------------------- ! ! OUTPUT: ! ! The following arrays are loaded as per the GRIB tables and ! carried by a COMMON block, grib001, defined in gribcst.inc: ! ! Center Names of oringinating meteorological centers ! SbCenter Names of oringinating meteorological sub-centers ! Model Names of numerical models/generating processes ! VarName Names of GRIB variables ! VarUnit Units of GRIB variables ! VarAbbr Abbreviations for GRIB variables ! VarLvl Levels of GRIB variables ! TimeUnit Forecast time units ! TimeRang Time range indicators ! Proj Names of map projections ! Scan Directional scanning modes ! !----------------------------------------------------------------------- ! ! Variable Declarations. ! !----------------------------------------------------------------------- ! IMPLICIT NONE ! !----------------------------------------------------------------------- ! ! Misc. local variables: ! !----------------------------------------------------------------------- ! INTEGER :: n ! Loop index CHARACTER (LEN=2) :: endstr ! End-of-string marker DATA endstr/' '/ ! !----------------------------------------------------------------------- ! ! Include files: ! !----------------------------------------------------------------------- ! INCLUDE 'gribcst.inc' ! !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ! ! Beginning of executable code... ! !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ! ! !----------------------------------------------------------------------- ! ! Originating meteorological operational center names: ! !----------------------------------------------------------------------- ! ! CHARACTER STRING 10 20 30 40 ! RULER: ----+----+----+----+----+----+----+----+ center ( 1) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr center ( 2) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr center ( 3) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr center ( 4) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr center ( 5) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr center ( 6) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr center ( 7) = 'US NWS - National Meteorological Center' // endstr center ( 8) = 'US NWS - Telecomms Gateway' // endstr center ( 9) = 'US NWS - Field Stations' // endstr DO n = 10, 33 center (n) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr END DO center ( 34) = 'Japanese Meteorological Agency - Tokyo' // endstr DO n = 35, 51 center (n) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr END DO center ( 52) = 'National Hurricane Center/TPC, Miami' // endstr center ( 53) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr center ( 54) = 'Canadian Met Service - Montreal' // endstr center ( 55) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr center ( 56) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr center ( 57) = 'U.S. Air Force - Global Weather Center' // endstr center ( 58) = 'US Navy - Fleet Numerical Ocean Center' // endstr center ( 59) = 'NOAA Forecast Systems Lab, Boulder CO' // endstr center ( 60) = 'NCAR, Boulder CO' // endstr DO n = 61, 73 center (n) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr END DO center ( 74) = 'U.K. Met Office - Bracknell' // endstr DO n = 75, 84 center (n) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr END DO center ( 85) = 'French Weather Service - Toulouse' // endstr DO n = 86, 96 center (n) = 'UNDEFINED METEOROLOGICAL CENTER' // endstr END DO center ( 97) = 'European Space Agency (ESA)' // endstr center ( 98) = 'Eur Ctr for Medium-Range Weather Forcsts'// endstr center ( 99) = 'DeBilt, Netherlands' // endstr ! !----------------------------------------------------------------------- ! ! Originating meteorological operational sub-center names: ! !----------------------------------------------------------------------- ! ! CHARACTER STRING 10 20 30 40 ! RULER: ----+----+----+----+----+----+----+----+ sbcenter( 0)= 'RESERVED METEOROLOGICAL SUB-CENTER' // endstr sbcenter( 1)= 'NMC Re-Analysis Project' // endstr DO n = 2, 149 sbcenter (n) = 'UNDEFINED METEOROLOGICAL SUB-CENTER' // endstr END DO sbcenter(150) = 'Arkansas-Red River RFC, Tulsa OK' // endstr sbcenter(151) = 'Alaska RFC, Anchorage, AK ' // endstr sbcenter(152) = 'Colorado Basin RFC, Salt Lake City, UT' // endstr sbcenter(153) = 'California-Nevada RFC, Sacramento, CA' // endstr sbcenter(154) = 'Lower Mississippi RFC, Slidel, LA' // endstr sbcenter(155) = 'Middle Atlantic RFC, State College, PA' // endstr sbcenter(156) = 'Missouri Basin RFC, Kansas City, MO' // endstr sbcenter(157) = 'North Central RFC, Minneapolis, MN' // endstr sbcenter(158) = 'Northeast RFC, Hartford, CT' // endstr sbcenter(159) = 'Northwest RFC, Portland, OR' // endstr sbcenter(160) = 'Ohio Basin RFC, Cincinnati, OH' // endstr sbcenter(161) = 'Southeast RFC, Atlanta, GA' // endstr sbcenter(162) = 'West Gulf RFC, Fort Worth, TX' // endstr DO n = 163, 169 sbcenter (n) = 'UNDEFINED METEOROLOGICAL SUB-CENTER' // endstr END DO sbcenter(170) = 'Norman, OK WFO' // endstr ! !----------------------------------------------------------------------- ! ! Names of numerical model or generating process: ! !----------------------------------------------------------------------- ! ! CHARACTER STRING 10 20 30 40 ! RULER: ----+----+----+----+----+----+----+----+ model ( 1) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 2) = 'Ultra-Violet Potential Index Model' // endstr model ( 3) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 4) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 5) = 'IR Satellite-Derived Precip and Temp' // endstr model ( 6) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 7) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 8) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 9) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 10) = 'Global Wind-Wave Forecast Model' // endstr DO n = 11, 18 model (n) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr END DO model ( 19) = 'Limited-area Fine Mesh (LFM) analysis' // endstr DO n = 20, 24 model (n) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr END DO model ( 25) = 'Snow Cover Analysis' // endstr DO n = 26, 38 model (n) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr END DO model ( 39) = 'Nested Grid forecast Model (NGM)' // endstr model ( 40) = 'ECMWF 213-wave triang, 31-level Spectral'// endstr model ( 41) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 42) = 'Global OI Analysis from Aviation run' // endstr model ( 43) = 'Global OI Analysis from Final run' // endstr model ( 44) = 'Sea Surface Temperature (SST) Analysis' // endstr model ( 45) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 46) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 47) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 48) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 49) = 'Ozone Analysis - TIROS Sat Observations' // endstr model ( 50) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 51) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 52) = 'Ozone Analysis - Nimbus 7 Observations' // endstr model ( 53) = 'LFM Fourth-Order Forecast Model' // endstr DO n = 54, 63 model (n) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr END DO model ( 64) = 'Regional Optimum Interpolation Analysis' // endstr model ( 65) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 66) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 67) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 68) = '80-wave triang, 18-layer Spectral AVN' // endstr model ( 69) = '80-wave triang, 18 layer Spectral MRF' // endstr model ( 70) = 'Quasi-Lagrangian Hurricane Model (QLM)' // endstr model ( 71) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 72) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr model ( 73) = 'Fog Forecast model - Ocean Prod. Center' // endstr model ( 74) = 'Gulf of Mexico Wind/Wave' // endstr model ( 75) = 'Gulf of Alaska Wind/Wave' // endstr model ( 76) = 'Bias-corrected Medium Range Forecast' // endstr model ( 77) = '126-wave triang, 28-layer Spectral AVN' // endstr model ( 78) = '126-wave triang, 28-layer Spectral MRF' // endstr model ( 79) = 'Backup from the previous run' // endstr model ( 80) = '62-wave triang, 18-layer Spectral MRF' // endstr model ( 81) = 'Spectral Statistical Interpolation AVN' // endstr model ( 82) = 'Spectral Statistical Interpolation FINAL'// endstr model ( 83) = 'ETA Model - 80 km version' // endstr model ( 84) = 'ETA Model - 40 km version' // endstr model ( 85) = 'ETA Model - 30 km version' // endstr model ( 86) = 'RUC/MAPS Hybrid Sigma/Theta Model, FSL' // endstr model ( 87) = 'CAC Ensemble Forecasts - Spectral Model' // endstr model ( 88) = 'Ocean Wave Model with add Physics (PWAV)'// endstr DO n = 89, 149 model (n) = 'UNDEFINED NUMERICAL MODEL/PROCESS' // endstr END DO model (150) = 'NWS River Forecast System (NWSRFS)' // endstr model (151) = 'NWS Flash Flood Guidance Systm (NWSFFGS)'// endstr model (152) = 'WSR-88D Stage II Precipitation Analysis' // endstr model (153) = 'WSR-88D Stage III Precipitation Analysis'// endstr ! !----------------------------------------------------------------------- ! ! GRIB variable names: ! !----------------------------------------------------------------------- ! ! CHARACTER STRING 10 20 30 40 ! RULER: ----+----+----+----+----+----+----+----+ varname( 0) = 'RESERVED' // endstr varname( 1) = 'Pressure' // endstr varname( 2) = 'Pressure reduced to MSL' // endstr varname( 3) = 'Pressure tendency' // endstr varname( 4) = 'UNDEFINED VARIABLE' // endstr varname( 5) = 'UNDEFINED VARIABLE' // endstr varname( 6) = 'Geopotential' // endstr varname( 7) = 'Geopotential height' // endstr varname( 8) = 'Geometric height' // endstr varname( 9) = 'Standard deviation of height' // endstr varname( 10) = 'UNDEFINED VARIABLE' // endstr varname( 11) = 'Temperature' // endstr varname( 12) = 'Virtual temperature' // endstr varname( 13) = 'Potential temperature' // endstr varname( 14) = 'Equivalent potential temperature' // endstr varname( 15) = 'Maximum temperature' // endstr varname( 16) = 'Minimum temperature' // endstr varname( 17) = 'Dew point temperature' // endstr varname( 18) = 'Dew point depression' // endstr varname( 19) = 'Lapse rate' // endstr varname( 20) = 'Visibility' // endstr varname( 21) = 'Radar Spectra (1)' // endstr varname( 22) = 'Radar Spectra (2)' // endstr varname( 23) = 'Radar Spectra (3)' // endstr varname( 24) = 'Total Ozone' // endstr varname( 25) = 'Temperature anomaly' // endstr varname( 26) = 'Pressure anomaly' // endstr varname( 27) = 'Geopotential height anomaly' // endstr varname( 28) = 'Wave Spectra (1)' // endstr varname( 29) = 'Wave Spectra (2)' // endstr varname( 30) = 'Wave Spectra (3)' // endstr varname( 31) = 'Wind direction' // endstr varname( 32) = 'Wind speed' // endstr varname( 33) = 'u-component of wind' // endstr varname( 34) = 'v-component of wind' // endstr varname( 35) = 'Stream function' // endstr varname( 36) = 'Velocity potential' // endstr varname( 37) = 'Montgomery stream function' // endstr varname( 38) = 'Sigma coordinate vertical velocity' // endstr varname( 39) = 'Pressure vertical velocity' // endstr varname( 40) = 'Geometric vertical velocity' // endstr varname( 41) = 'Absolute vorticity' // endstr varname( 42) = 'Absolute divergence' // endstr varname( 43) = 'Relative vorticity' // endstr varname( 44) = 'Relative divergence' // endstr varname( 45) = 'Vertical u-component shear' // endstr varname( 46) = 'Vertical v-component shear' // endstr varname( 47) = 'Direction of current' // endstr varname( 48) = 'Speed of current' // endstr varname( 49) = 'u-component of current' // endstr varname( 50) = 'v-component of current' // endstr varname( 51) = 'Specific humidity' // endstr varname( 52) = 'Relative humidity' // endstr varname( 53) = 'Humidity mixing ratio' // endstr varname( 54) = 'Precipitable water' // endstr varname( 55) = 'Vapor pressure' // endstr varname( 56) = 'Saturation deficit' // endstr varname( 57) = 'Evaporation' // endstr varname( 58) = 'Cloud Ice' // endstr varname( 59) = 'Precipitation rate' // endstr varname( 60) = 'Thunderstorm probability' // endstr varname( 61) = 'Total precipitation' // endstr varname( 62) = 'Large scale precipitation (non-conv)' // endstr varname( 63) = 'Convective precipitation' // endstr varname( 64) = 'Snowfall rate water equivalent' // endstr varname( 65) = 'Water equiv of accum snow depth' // endstr varname( 66) = 'Snow depth' // endstr varname( 67) = 'Mixed layer depth' // endstr varname( 68) = 'Transient thermocline depth' // endstr varname( 69) = 'Main thermocline depth' // endstr varname( 70) = 'Main thermocline anomaly' // endstr varname( 71) = 'Total cloud cover' // endstr varname( 72) = 'Convective cloud cover' // endstr varname( 73) = 'Low cloud cover' // endstr varname( 74) = 'Medium cloud cover' // endstr varname( 75) = 'High cloud cover' // endstr varname( 76) = 'Cloud water' // endstr varname( 77) = 'Condensation pressure' // endstr varname( 78) = 'Convective snow' // endstr varname( 79) = 'Large scale snow' // endstr varname( 80) = 'Water Temperature' // endstr varname( 81) = 'Land-sea mask (land=1;sea=0)' // endstr varname( 82) = 'Deviation of sea level from mean' // endstr varname( 83) = 'Surface roughness' // endstr varname( 84) = 'Albedo' // endstr varname( 85) = 'Soil temperature' // endstr varname( 86) = 'Soil moisture content' // endstr varname( 87) = 'Vegetation' // endstr varname( 88) = 'Salinity' // endstr varname( 89) = 'Density' // endstr varname( 90) = 'Water runoff' // endstr varname( 91) = 'Ice concentration (ice=1;no ice=0)' // endstr varname( 92) = 'Ice thickness' // endstr varname( 93) = 'Direction of ice drift' // endstr varname( 94) = 'Speed of ice drift' // endstr varname( 95) = 'u-component of ice drift' // endstr varname( 96) = 'v-component of ice drift' // endstr varname( 97) = 'Ice growth rate' // endstr varname( 98) = 'Ice divergence' // endstr varname( 99) = 'Snow melt' // endstr varname(100) = 'Significant height of wind waves + swell'// endstr varname(101) = 'Direction of wind waves' // endstr varname(102) = 'Significant height of wind waves' // endstr varname(103) = 'Mean period of wind waves' // endstr varname(104) = 'Direction of swell waves' // endstr varname(105) = 'Significant height of swell waves' // endstr varname(106) = 'Mean period of swell waves' // endstr varname(107) = 'Primary wave direction' // endstr varname(108) = 'Primary wave mean period' // endstr varname(109) = 'Secondary wave direction' // endstr varname(110) = 'Secondary wave mean period' // endstr varname(111) = 'Net short-wave radiation (surface)' // endstr varname(112) = 'Net long-wave radiation (surface)' // endstr varname(113) = 'Net short-wave radiation (top of atm)' // endstr varname(114) = 'Net long-wave radiation (top of atm)' // endstr varname(115) = 'Long wave radiation' // endstr varname(116) = 'Short wave radiation' // endstr varname(117) = 'Global radiation' // endstr varname(118) = 'UNDEFINED VARIABLE' // endstr varname(119) = 'UNDEFINED VARIABLE' // endstr varname(120) = 'UNDEFINED VARIABLE' // endstr varname(121) = 'Latent heat net flux' // endstr varname(122) = 'Sensible heat net flux' // endstr varname(123) = 'Boundary layer dissipation' // endstr varname(124) = 'Momentum flux, u component' // endstr varname(125) = 'Momentum flux, v component' // endstr varname(126) = 'Wind mixing energy' // endstr varname(127) = 'Image data' // endstr varname(128) = 'Mean Sea Level Pressure (STD atm red)' // endstr varname(129) = 'Mean Sea Level Pressure (MAPS atm red)' // endstr varname(130) = 'Mean Sea Level Pressure (ETA model red)' // endstr varname(131) = 'Surface lifted index' // endstr varname(132) = 'Best (4 layer) lifted index' // endstr varname(133) = 'K index' // endstr varname(134) = 'Sweat index' // endstr varname(135) = 'Horizontal moisture divergence' // endstr varname(136) = 'Vertical speed shear' // endstr varname(137) = '3-hr pressure tendency (STD atm red)' // endstr varname(138) = 'Brunt-Vaisala frequency (squared)' // endstr varname(139) = 'Potential vorticity (density weighted)' // endstr varname(140) = 'Categorical rain (yes=1; no=0)' // endstr varname(141) = 'Categorical freezing rain (yes=1; no=0)' // endstr varname(142) = 'Categorical ice pellets (yes=1; no=0)' // endstr varname(143) = 'Categorical snow (yes=1; no=0)' // endstr varname(144) = 'Volumetric soil moisture content' // endstr varname(145) = 'Potential evaporation rate' // endstr varname(146) = 'Cloud work function' // endstr varname(147) = 'Zonal flux of gravity wave stress' // endstr varname(148) = 'Meridonal flux of gravity wave stress' // endstr varname(149) = 'Potential vorticity' // endstr varname(150) = 'UV covariance' // endstr varname(151) = 'UT covariance' // endstr varname(152) = 'VT covariance' // endstr varname(153) = 'Mass Flux Divergence' // endstr varname(154) = 'UNDEFINED VARIABLE' // endstr varname(155) = 'Ground Heat Flux' // endstr varname(156) = 'Convective inhibition' // endstr varname(157) = 'Convective Available Potential Energy' // endstr varname(158) = 'Turbulent Kinetic Energy' // endstr varname(159) = 'Condensation pressure of lifted parcel' // endstr varname(160) = 'Clear Sky Upward Solar Flux' // endstr varname(161) = 'Clear Sky Downward Solar Flux' // endstr varname(162) = 'Clear Sky upward long wave flux' // endstr varname(163) = 'Clear Sky downward long wave flux' // endstr varname(164) = 'Cloud forcing net solar flux' // endstr varname(165) = 'Cloud forcing net long wave flux' // endstr varname(166) = 'Visible beam downward solar flux' // endstr varname(167) = 'Visible diffuse downward solar flux' // endstr varname(168) = 'Near IR beam downward solar flux' // endstr varname(169) = 'Near IR diffuse downward solar flux' // endstr varname(170) = 'u-component of friction velocity' // endstr varname(171) = 'v-component of friction velocity' // endstr varname(172) = 'Momentum flux' // endstr varname(173) = 'Mass point model surface' // endstr varname(174) = 'Velocity point model surface' // endstr varname(175) = 'Model layer number (from bottom up)' // endstr varname(176) = 'Latitude north (-90 to +90)' // endstr varname(177) = 'Longitude east (0 to 360)' // endstr varname(178) = 'UNDEFINED VARIABLE' // endstr varname(179) = 'UNDEFINED VARIABLE' // endstr varname(180) = 'UNDEFINED VARIABLE' // endstr varname(181) = 'x-gradient of log pressure' // endstr varname(182) = 'y-gradient of log pressure' // endstr varname(183) = 'x-gradient of height' // endstr varname(184) = 'y-gradient of height' // endstr ! !----------------------------------------------------------------------- ! ! The following are defined for ARPS model. They were not defined ! in the original WMO/NMC table 2 ! !----------------------------------------------------------------------- ! varname(185) = 'Horizontal turbulence Mixing coefficient'// endstr varname(186) = 'Hail mixing ratio' // endstr varname(187) = 'Soil type' // endstr varname(188) = 'Vegetation type' // endstr varname(189) = 'Leaf Area Index' // endstr varname(190) = 'Volumetric soil moisture' // endstr varname(191) = 'Amount of liquid water on canopy' // endstr varname(192) = 'Vertical turbulence Mixing coefficient' // endstr varname(193) = 'UNDEFINED VARIABLE' // endstr varname(194) = 'UNDEFINED VARIABLE' // endstr varname(195) = 'UNDEFINED VARIABLE' // endstr varname(196) = 'UNDEFINED VARIABLE' // endstr varname(197) = 'UNDEFINED VARIABLE' // endstr varname(198) = 'UNDEFINED VARIABLE' // endstr varname(199) = 'UNDEFINED VARIABLE' // endstr varname(200) = 'UNDEFINED VARIABLE' // endstr varname(201) = 'Ice-free water surface' // endstr varname(202) = 'UNDEFINED VARIABLE' // endstr varname(203) = 'UNDEFINED VARIABLE' // endstr varname(204) = 'Downward short wave radiation flux' // endstr varname(205) = 'Downward long wave radiation flux' // endstr varname(206) = 'Ultra-violet index (1 hr @ solar noon)' // endstr varname(207) = 'Moisture availability' // endstr varname(208) = 'Exchange coefficient' // endstr varname(209) = 'Number of mixed layers next to surface' // endstr varname(210) = 'UNDEFINED VARIABLE' // endstr varname(211) = 'Upward short wave radiation flux' // endstr varname(212) = 'Upward long wave radiation flux' // endstr varname(213) = 'Amount of non-convective cloud' // endstr varname(214) = 'Convective Precipitation rate' // endstr varname(215) = 'Temperature tendency by all physics' // endstr varname(216) = 'Temperature tendency by all radiation' // endstr varname(217) = 'Temperature tendency by non-rad physics' // endstr varname(218) = 'Precipitation index (0.00-1.00)' // endstr varname(219) = 'Std. dev. of IR T over 1x1 deg area' // endstr varname(220) = 'Natural logarithm of surface pressure' // endstr varname(221) = 'UNDEFINED VARIABLE' // endstr varname(222) = '5-wave geopotential height' // endstr varname(223) = 'Plant canopy surface water' // endstr varname(224) = 'UNDEFINED VARIABLE' // endstr varname(225) = 'UNDEFINED VARIABLE' // endstr varname(226) = 'Blackadar mixing length scale' // endstr varname(227) = 'Asymptotic mixing length scale' // endstr varname(228) = 'Potential evaporation' // endstr varname(229) = 'Snow phase-change heat flux' // endstr varname(230) = 'UNDEFINED VARIABLE' // endstr varname(231) = 'Convective cloud mass flux' // endstr varname(232) = 'Downward total radiation flux' // endstr varname(233) = 'Upward total radiation flux' // endstr varname(234) = 'Baseflow-groundwater runoff' // endstr varname(235) = 'Storm surface runoff' // endstr varname(236) = 'UNDEFINED VARIABLE' // endstr varname(237) = 'UNDEFINED VARIABLE' // endstr varname(238) = 'Snow cover' // endstr varname(239) = 'Snow temperature' // endstr varname(240) = 'UNDEFINED VARIABLE' // endstr varname(241) = 'Large scale condensational heating rate' // endstr varname(242) = 'Deep convective heating rate' // endstr varname(243) = 'Deep convective moistening rate' // endstr varname(244) = 'Shallow convective heating rate' // endstr varname(245) = 'Shallow convective moistening rate' // endstr varname(246) = 'Vertical diffusion heating rate' // endstr varname(247) = 'Vertical diffusion zonal acceleration' // endstr varname(248) = 'Vertical diffusion merid acceleration' // endstr varname(249) = 'Vertical diffusion moistening rate' // endstr varname(250) = 'Solar radiative heating rate' // endstr varname(251) = 'Long wave radiative heating rate' // endstr varname(252) = 'Drag coefficient' // endstr varname(253) = 'Friction velocity' // endstr varname(254) = 'Richardson number' // endstr varname(255) = 'MISSING VARIABLE' // endstr ! !----------------------------------------------------------------------- ! ! GRIB variable units: ! !----------------------------------------------------------------------- ! ! CHARACTER STRING 10 20 30 40 ! RULER ----+----+----+----+----+----+----+----+ varunit( 0) = 'RESERVED UNITS' // endstr varunit( 1) = 'Pa' // endstr varunit( 2) = 'Pa' // endstr varunit( 3) = 'Pa/s' // endstr varunit( 4) = 'UNDEFINED UNITS' // endstr varunit( 5) = 'UNDEFINED UNITS' // endstr varunit( 6) = 'm2/s2' // endstr varunit( 7) = 'gpm' // endstr varunit( 8) = 'm' // endstr varunit( 9) = 'm' // endstr varunit( 10) = 'UNDEFINED UNITS' // endstr varunit( 11) = 'K' // endstr varunit( 12) = 'K' // endstr varunit( 13) = 'K' // endstr varunit( 14) = 'K' // endstr varunit( 15) = 'K' // endstr varunit( 16) = 'K' // endstr varunit( 17) = 'K' // endstr varunit( 18) = 'K' // endstr varunit( 19) = 'K/m' // endstr varunit( 20) = 'm' // endstr varunit( 21) = '-' // endstr varunit( 22) = '-' // endstr varunit( 23) = '-' // endstr varunit( 24) = 'Dobson units' // endstr varunit( 25) = 'K' // endstr varunit( 26) = 'Pa' // endstr varunit( 27) = 'gpm' // endstr varunit( 28) = '-' // endstr varunit( 29) = '-' // endstr varunit( 30) = '-' // endstr varunit( 31) = 'deg' // endstr varunit( 32) = 'm/s' // endstr varunit( 33) = 'm/s' // endstr varunit( 34) = 'm/s' // endstr varunit( 35) = 'm2/s' // endstr varunit( 36) = 'm2/s' // endstr varunit( 37) = 'm2/s2' // endstr varunit( 38) = '1/s' // endstr varunit( 39) = 'Pa/s' // endstr varunit( 40) = 'm/s' // endstr varunit( 41) = '1/s' // endstr varunit( 42) = '1/s' // endstr varunit( 43) = '1/s' // endstr varunit( 44) = '1/s' // endstr varunit( 45) = '1/s' // endstr varunit( 46) = '1/s' // endstr varunit( 47) = 'deg' // endstr varunit( 48) = 'm/s' // endstr varunit( 49) = 'm/s' // endstr varunit( 50) = 'm/s' // endstr varunit( 51) = 'kg/kg' // endstr varunit( 52) = '%' // endstr varunit( 53) = 'kg/kg' // endstr varunit( 54) = 'kg/m2' // endstr varunit( 55) = 'Pa' // endstr varunit( 56) = 'Pa' // endstr varunit( 57) = 'kg/m2' // endstr varunit( 58) = 'kg/m2' // endstr varunit( 59) = 'kg/m2/s' // endstr varunit( 60) = '%' // endstr varunit( 61) = 'kg/m2' // endstr varunit( 62) = 'kg/m2' // endstr varunit( 63) = 'kg/m2' // endstr varunit( 64) = 'kg/m2/s' // endstr varunit( 65) = 'kg/m2' // endstr varunit( 66) = 'm' // endstr varunit( 67) = 'm' // endstr varunit( 68) = 'm' // endstr varunit( 69) = 'm' // endstr varunit( 70) = 'm' // endstr varunit( 71) = '%' // endstr varunit( 72) = '%' // endstr varunit( 73) = '%' // endstr varunit( 74) = '%' // endstr varunit( 75) = '%' // endstr varunit( 76) = 'kg/m2' // endstr varunit( 77) = 'Pa' // endstr varunit( 78) = 'kg/m2' // endstr varunit( 79) = 'kg/m2' // endstr varunit( 80) = 'K' // endstr varunit( 81) = 'fraction' // endstr varunit( 82) = 'm' // endstr varunit( 83) = 'm' // endstr varunit( 84) = '%' // endstr varunit( 85) = 'K' // endstr varunit( 86) = 'kg/m2' // endstr varunit( 87) = '%' // endstr varunit( 88) = 'kg/kg' // endstr varunit( 89) = 'kg/m3' // endstr varunit( 90) = 'kg/m2' // endstr varunit( 91) = 'fraction' // endstr varunit( 92) = 'm' // endstr varunit( 93) = 'deg true' // endstr varunit( 94) = 'm/s' // endstr varunit( 95) = 'm/s' // endstr varunit( 96) = 'm/s' // endstr varunit( 97) = 'm/s' // endstr varunit( 98) = '1/s' // endstr varunit( 99) = 'kg/m2' // endstr varunit(100) = 'm' // endstr varunit(101) = 'deg true' // endstr varunit(102) = 'm' // endstr varunit(103) = 's' // endstr varunit(104) = 'deg true' // endstr varunit(105) = 'm' // endstr varunit(106) = 's' // endstr varunit(107) = 'deg true' // endstr varunit(108) = 's' // endstr varunit(109) = 'deg true' // endstr varunit(110) = 's' // endstr varunit(111) = 'W/m2' // endstr varunit(112) = 'W/m2' // endstr varunit(113) = 'W/m2' // endstr varunit(114) = 'W/m2' // endstr varunit(115) = 'W/m2' // endstr varunit(116) = 'W/m2' // endstr varunit(117) = 'W/m2' // endstr varunit(118) = 'UNDEFINED UNITS' // endstr varunit(119) = 'UNDEFINED UNITS' // endstr varunit(120) = 'UNDEFINED UNITS' // endstr varunit(121) = 'W/m2' // endstr varunit(122) = 'W/m2' // endstr varunit(123) = 'W/m2' // endstr varunit(124) = 'N/m2' // endstr varunit(125) = 'N/m2' // endstr varunit(126) = 'J' // endstr varunit(127) = '-' // endstr varunit(128) = 'Pa' // endstr varunit(129) = 'Pa' // endstr varunit(130) = 'Pa' // endstr varunit(131) = 'K' // endstr varunit(132) = 'K' // endstr varunit(133) = 'K' // endstr varunit(134) = 'K' // endstr varunit(135) = 'kg/kg/s' // endstr varunit(136) = '1/s' // endstr varunit(137) = 'Pa/s' // endstr varunit(138) = '1/s2' // endstr varunit(139) = '1/s/m' // endstr varunit(140) = 'non-dim' // endstr varunit(141) = 'non-dim' // endstr varunit(142) = 'non-dim' // endstr varunit(143) = 'non-dim' // endstr varunit(144) = 'fraction' // endstr varunit(145) = 'W/m2' // endstr varunit(146) = 'J/kg' // endstr varunit(147) = 'N/m2' // endstr varunit(148) = 'N/m2' // endstr varunit(149) = 'm2/s/kg' // endstr varunit(150) = 'm2/s2' // endstr varunit(151) = 'K*m/s' // endstr varunit(152) = 'K*m/s' // endstr varunit(153) = 'UNDEFINED UNITS' // endstr varunit(154) = 'UNDEFINED UNITS' // endstr varunit(155) = 'W/m2' // endstr varunit(156) = 'J/kg' // endstr varunit(157) = 'J/kg' // endstr varunit(158) = 'J/kg' // endstr varunit(159) = 'Pa' // endstr varunit(160) = 'W/m2' // endstr varunit(161) = 'W/m2' // endstr varunit(162) = 'W/m2' // endstr varunit(163) = 'W/m2' // endstr varunit(164) = 'W/m2' // endstr varunit(165) = 'W/m2' // endstr varunit(166) = 'W/m2' // endstr varunit(167) = 'W/m2' // endstr varunit(168) = 'W/m2' // endstr varunit(169) = 'W/m2' // endstr varunit(170) = 'm/s' // endstr varunit(171) = 'm/s' // endstr varunit(172) = 'N/m2' // endstr varunit(173) = 'non-dim' // endstr varunit(174) = 'non-dim' // endstr varunit(175) = 'non-dim' // endstr varunit(176) = 'deg' // endstr varunit(177) = 'deg' // endstr varunit(178) = 'UNDEFINED UNITS' // endstr varunit(179) = 'UNDEFINED UNITS' // endstr varunit(180) = 'UNDEFINED UNITS' // endstr varunit(181) = '1/m' // endstr varunit(182) = '1/m' // endstr varunit(183) = 'm/m' // endstr varunit(184) = 'm/m' // endstr varunit(185) = 'm**2/s' // endstr varunit(186) = '(kg/kg)' // endstr varunit(187) = ' ' // endstr varunit(188) = ' ' // endstr varunit(189) = ' ' // endstr varunit(190) = 'm**3/m**3' // endstr varunit(191) = 'm' // endstr varunit(192) = 'UNDEFINED UNITS' // endstr varunit(193) = 'UNDEFINED UNITS' // endstr varunit(194) = 'UNDEFINED UNITS' // endstr varunit(195) = 'UNDEFINED UNITS' // endstr varunit(196) = 'UNDEFINED UNITS' // endstr varunit(197) = 'UNDEFINED UNITS' // endstr varunit(198) = 'UNDEFINED UNITS' // endstr varunit(199) = 'UNDEFINED UNITS' // endstr varunit(200) = 'UNDEFINED UNITS' // endstr varunit(201) = '%' // endstr varunit(202) = 'UNDEFINED UNITS' // endstr varunit(203) = 'UNDEFINED UNITS' // endstr varunit(204) = 'W/m2' // endstr varunit(205) = 'W/m2' // endstr varunit(206) = 'J/m2' // endstr varunit(207) = '%' // endstr varunit(208) = '(kg/m3)(m/s)' // endstr varunit(209) = 'integer' // endstr varunit(210) = 'UNDEFINED UNITS' // endstr varunit(211) = 'W/m2' // endstr varunit(212) = 'W/m2' // endstr varunit(213) = '%' // endstr varunit(214) = 'kg/m2/s' // endstr varunit(215) = 'K/s' // endstr varunit(216) = 'K/s' // endstr varunit(217) = 'K/s' // endstr varunit(218) = 'fraction' // endstr varunit(219) = 'K' // endstr varunit(220) = 'Ln(kPa)' // endstr varunit(221) = 'UNDEFINED UNITS' // endstr varunit(222) = 'gpm' // endstr varunit(223) = 'kg/m2' // endstr varunit(224) = 'UNDEFINED UNITS' // endstr varunit(225) = 'UNDEFINED UNITS' // endstr varunit(226) = 'm' // endstr varunit(227) = 'm' // endstr varunit(228) = 'kg/m2' // endstr varunit(229) = 'W/m2' // endstr varunit(230) = 'UNDEFINED UNITS' // endstr varunit(231) = 'Pa/s' // endstr varunit(232) = 'W/m2' // endstr varunit(233) = 'W/m2' // endstr varunit(234) = 'kg/m2' // endstr varunit(235) = 'kg/m2' // endstr varunit(236) = 'UNDEFINED UNITS' // endstr varunit(237) = 'UNDEFINED UNITS' // endstr varunit(238) = 'percent' // endstr varunit(239) = 'K' // endstr varunit(240) = 'UNDEFINED UNITS' // endstr varunit(241) = 'K/s' // endstr varunit(242) = 'K/s' // endstr varunit(243) = 'kg/kg/s' // endstr varunit(244) = 'K/s' // endstr varunit(245) = 'kg/kg/s' // endstr varunit(246) = 'K/s' // endstr varunit(247) = 'm/s2' // endstr varunit(248) = 'm/s2' // endstr varunit(249) = 'kg/kg/s' // endstr varunit(250) = 'K/s' // endstr varunit(251) = 'K/s' // endstr varunit(252) = 'non-dim' // endstr varunit(253) = 'm/s' // endstr varunit(254) = 'non-dim' // endstr varunit(255) = 'MISSING UNITS' // endstr ! !----------------------------------------------------------------------- ! ! GRIB variable abbreviations: ! !----------------------------------------------------------------------- ! ! CHARACTER STRING 10 20 30 40 ! RULER ----+----+----+----+----+----+----+----+ varabbr( 0) = 'RESERVED ABBREVIATION' // endstr varabbr( 1) = 'PRES' // endstr varabbr( 2) = 'PRMSL' // endstr varabbr( 3) = 'PTEND' // endstr varabbr( 4) = 'UNDEFINED ABBREVIATION' // endstr varabbr( 5) = 'UNDEFINED ABBREVIATION' // endstr varabbr( 6) = 'GP' // endstr varabbr( 7) = 'HGT' // endstr varabbr( 8) = 'DIST' // endstr varabbr( 9) = 'HSTDV' // endstr varabbr( 10) = 'HVAR' // endstr varabbr( 11) = 'TMP' // endstr varabbr( 12) = 'VTMP' // endstr varabbr( 13) = 'POT' // endstr varabbr( 14) = 'EPOT' // endstr varabbr( 15) = 'T MAX' // endstr varabbr( 16) = 'T MIN' // endstr varabbr( 17) = 'DPT' // endstr varabbr( 18) = 'DEPR' // endstr varabbr( 19) = 'LAPR' // endstr varabbr( 20) = 'VIS' // endstr varabbr( 21) = 'RDSP1' // endstr varabbr( 22) = 'RDSP2' // endstr varabbr( 23) = 'RDSP3' // endstr varabbr( 24) = 'TOTO3' // endstr varabbr( 25) = 'TMP A' // endstr varabbr( 26) = 'PRESA' // endstr varabbr( 27) = 'GP A' // endstr varabbr( 28) = 'WVSP1' // endstr varabbr( 29) = 'WVSP2' // endstr varabbr( 30) = 'WVSP3' // endstr varabbr( 31) = 'WDIR' // endstr varabbr( 32) = 'WIND' // endstr varabbr( 33) = 'U GRD' // endstr varabbr( 34) = 'V GRD' // endstr varabbr( 35) = 'STRM' // endstr varabbr( 36) = 'V POT' // endstr varabbr( 37) = 'MNTSF' // endstr varabbr( 38) = 'SGCVV' // endstr varabbr( 39) = 'V VEL' // endstr varabbr( 40) = 'DZDT' // endstr varabbr( 41) = 'ABS V' // endstr varabbr( 42) = 'ABS D' // endstr varabbr( 43) = 'REL V' // endstr varabbr( 44) = 'REL D' // endstr varabbr( 45) = 'VUCSH' // endstr varabbr( 46) = 'VVCSH' // endstr varabbr( 47) = 'DIR C' // endstr varabbr( 48) = 'SP C' // endstr varabbr( 49) = 'UOGRD' // endstr varabbr( 50) = 'VOGRD' // endstr varabbr( 51) = 'SPF H' // endstr varabbr( 52) = 'R H' // endstr varabbr( 53) = 'MIXR' // endstr varabbr( 54) = 'P WAT' // endstr varabbr( 55) = 'VAPP' // endstr varabbr( 56) = 'SAT D' // endstr varabbr( 57) = 'EVP' // endstr varabbr( 58) = 'C ICE' // endstr varabbr( 59) = 'PRATE' // endstr varabbr( 60) = 'TSTM' // endstr varabbr( 61) = 'A PCP' // endstr varabbr( 62) = 'NCPCP' // endstr varabbr( 63) = 'ACPCP' // endstr varabbr( 64) = 'SRWEQ' // endstr varabbr( 65) = 'WEASD' // endstr varabbr( 66) = 'SNO D' // endstr varabbr( 67) = 'MIXHT' // endstr varabbr( 68) = 'TTHDP' // endstr varabbr( 69) = 'MTHD' // endstr varabbr( 70) = 'MTH A' // endstr varabbr( 71) = 'T CDC' // endstr varabbr( 72) = 'CDCON' // endstr varabbr( 73) = 'L CDC' // endstr varabbr( 74) = 'M CDC' // endstr varabbr( 75) = 'H CDC' // endstr varabbr( 76) = 'C WAT' // endstr varabbr( 77) = 'CNDP' // endstr varabbr( 78) = 'SNO C' // endstr varabbr( 79) = 'SNO L' // endstr varabbr( 80) = 'WTMP' // endstr varabbr( 81) = 'LAND' // endstr varabbr( 82) = 'DSL M' // endstr varabbr( 83) = 'SFC R' // endstr varabbr( 84) = 'ALBDO' // endstr varabbr( 85) = 'TSOIL' // endstr varabbr( 86) = 'SOIL M' // endstr varabbr( 87) = 'VEG' // endstr varabbr( 88) = 'SALTY' // endstr varabbr( 89) = 'DEN' // endstr varabbr( 90) = 'WATR' // endstr varabbr( 91) = 'ICE C' // endstr varabbr( 92) = 'ICETK' // endstr varabbr( 93) = 'DICED' // endstr varabbr( 94) = 'SICED' // endstr varabbr( 95) = 'U ICE' // endstr varabbr( 96) = 'V ICE' // endstr varabbr( 97) = 'ICE G' // endstr varabbr( 98) = 'ICE D' // endstr varabbr( 99) = 'SNO M' // endstr varabbr(100) = 'HTSGW' // endstr varabbr(101) = 'WVDIR' // endstr varabbr(102) = 'WVHGT' // endstr varabbr(103) = 'WVPER' // endstr varabbr(104) = 'SWDIR' // endstr varabbr(105) = 'SWELL' // endstr varabbr(106) = 'SWPER' // endstr varabbr(107) = 'DIRPW' // endstr varabbr(108) = 'PERPW' // endstr varabbr(109) = 'DIRSW' // endstr varabbr(110) = 'PERSW' // endstr varabbr(111) = 'NSWRS' // endstr varabbr(112) = 'NLWRS' // endstr varabbr(113) = 'NSWRT' // endstr varabbr(114) = 'NLWRT' // endstr varabbr(115) = 'LWAVR' // endstr varabbr(116) = 'SWAVR' // endstr varabbr(117) = 'G RAD' // endstr varabbr(118) = 'UNDEFINED ABBREVIATION' // endstr varabbr(119) = 'UNDEFINED ABBREVIATION' // endstr varabbr(120) = 'UNDEFINED ABBREVIATION' // endstr varabbr(121) = 'LHTFL' // endstr varabbr(122) = 'SHTFL' // endstr varabbr(123) = 'BLYDP' // endstr varabbr(124) = 'U FLX' // endstr varabbr(125) = 'V FLX' // endstr varabbr(126) = 'WMIXE' // endstr varabbr(127) = 'IMG D' // endstr varabbr(128) = 'MSLSA' // endstr varabbr(129) = 'MSLMA' // endstr varabbr(130) = 'MSLET' // endstr varabbr(131) = 'LFT X' // endstr varabbr(132) = '4LFTX' // endstr varabbr(133) = 'K X' // endstr varabbr(134) = 'S X' // endstr varabbr(135) = 'MCONV' // endstr varabbr(136) = 'VW SH' // endstr varabbr(137) = 'TSLSA' // endstr varabbr(138) = 'BVF 2' // endstr varabbr(139) = 'PV MW' // endstr varabbr(140) = 'CRAIN' // endstr varabbr(141) = 'CFRZRN' // endstr varabbr(142) = 'CICEPL' // endstr varabbr(143) = 'CSNOW' // endstr varabbr(144) = 'SOILW' // endstr varabbr(145) = 'PEVPR' // endstr varabbr(146) = 'CWORK' // endstr varabbr(147) = 'U-GWD' // endstr varabbr(148) = 'V-GWD' // endstr varabbr(149) = 'PV' // endstr varabbr(150) = 'COVMZ' // endstr varabbr(151) = 'COVTZ' // endstr varabbr(152) = 'COVTM' // endstr varabbr(153) = 'MFXDV' // endstr varabbr(154) = 'UNDEFINED ABBREVIATION' // endstr varabbr(155) = 'GFLUX' // endstr varabbr(156) = 'CIN' // endstr varabbr(157) = 'CAPE' // endstr varabbr(158) = 'TKE' // endstr varabbr(159) = 'CONDP' // endstr varabbr(160) = 'CSUSF' // endstr varabbr(161) = 'CSDSF' // endstr varabbr(162) = 'CSULF' // endstr varabbr(163) = 'CSDLF' // endstr varabbr(164) = 'CFNSF' // endstr varabbr(165) = 'CFNLF' // endstr varabbr(166) = 'VBDSF' // endstr varabbr(167) = 'VDDSF' // endstr varabbr(168) = 'NBDSF' // endstr varabbr(169) = 'NDDSF' // endstr varabbr(170) = 'USTR' // endstr varabbr(171) = 'VSTR' // endstr varabbr(172) = 'M FLX' // endstr varabbr(173) = 'LMH' // endstr varabbr(174) = 'LMV' // endstr varabbr(175) = 'MLYNO' // endstr varabbr(176) = 'NLAT' // endstr varabbr(177) = 'ELON' // endstr varabbr(178) = 'UMAS' // endstr varabbr(179) = 'VMAS' // endstr varabbr(180) = 'UNDEFINED ABBREVIATION' // endstr varabbr(181) = 'LPS X' // endstr varabbr(182) = 'LPS Y' // endstr varabbr(183) = 'HGT X' // endstr varabbr(184) = 'HGT Y' // endstr varabbr(185) = 'STDZ' // endstr varabbr(186) = 'STDU' // endstr varabbr(187) = 'STDV' // endstr varabbr(188) = 'STDQ' // endstr varabbr(189) = 'STDT' // endstr varabbr(190) = 'CBUW' // endstr varabbr(191) = 'CBVW' // endstr varabbr(192) = 'CBUQ' // endstr varabbr(193) = 'CBVQ' // endstr varabbr(194) = 'CBTW' // endstr varabbr(195) = 'CBQW' // endstr varabbr(196) = 'CBMZW' // endstr varabbr(197) = 'CBTZW' // endstr varabbr(198) = 'CBTMW' // endstr varabbr(199) = 'STDRH' // endstr varabbr(200) = 'SDTZ' // endstr varabbr(201) = 'ICWAT' // endstr varabbr(202) = 'SDTU' // endstr varabbr(203) = 'SDTV' // endstr varabbr(204) = 'DSWRF' // endstr varabbr(205) = 'DLWRF' // endstr varabbr(206) = 'UVI' // endstr varabbr(207) = 'MSTAV' // endstr varabbr(208) = 'SFEXC' // endstr varabbr(209) = 'MIXLY' // endstr varabbr(210) = 'SDTT' // endstr varabbr(211) = 'USWRF' // endstr varabbr(212) = 'ULWRF' // endstr varabbr(213) = 'CDLYR' // endstr varabbr(214) = 'CPRAT' // endstr varabbr(215) = 'TTDIA' // endstr varabbr(216) = 'TTRAD' // endstr varabbr(217) = 'TTPHY' // endstr varabbr(218) = 'PREIX' // endstr varabbr(219) = 'TSD1D' // endstr varabbr(220) = 'NLGSP' // endstr varabbr(221) = 'SDTRH' // endstr varabbr(222) = '5WAVH' // endstr varabbr(223) = 'C WAT' // endstr varabbr(224) = 'PLTRS' // endstr varabbr(225) = 'UNDEFINED ABBREVIATION' // endstr varabbr(226) = 'BMIXL' // endstr varabbr(227) = 'AMIXL' // endstr varabbr(228) = 'PEVAP' // endstr varabbr(229) = 'SNOHF' // endstr varabbr(230) = 'UNDEFINED ABBREVIATION' // endstr varabbr(231) = 'MFLUX' // endstr varabbr(232) = 'DTRF' // endstr varabbr(233) = 'UTRF' // endstr varabbr(234) = 'BGRUN' // endstr varabbr(235) = 'SSRUN' // endstr varabbr(236) = 'UNDEFINED ABBREVIATION' // endstr varabbr(237) = 'OZONE' // endstr varabbr(238) = 'SNO C' // endstr varabbr(239) = 'SNO T' // endstr varabbr(240) = 'GLCR' // endstr varabbr(241) = 'LRGHR' // endstr varabbr(242) = 'CNVHR' // endstr varabbr(243) = 'CNVMR' // endstr varabbr(244) = 'SHAHR' // endstr varabbr(245) = 'SHAMR' // endstr varabbr(246) = 'VDFHR' // endstr varabbr(247) = 'VDFUA' // endstr varabbr(248) = 'VDFVA' // endstr varabbr(249) = 'VDFMR' // endstr varabbr(250) = 'SWHR' // endstr varabbr(251) = 'LWHR' // endstr varabbr(252) = 'CD' // endstr varabbr(253) = 'FRICV' // endstr varabbr(254) = 'RI' // endstr varabbr(255) = 'MISSING ABBREVIATION' // endstr ! !----------------------------------------------------------------------- ! ! GRIB variable levels/layers: ! !----------------------------------------------------------------------- ! ! CHARACTER STRING 10 20 30 40 ! RULER: ----+----+----+----+----+----+----+----+ varlvl ( 0) = 'RESERVED LEVEL' // endstr varlvl ( 1) = 'surface of the Earth' // endstr varlvl ( 2) = 'cloud base level' // endstr varlvl ( 3) = 'cloud top level' // endstr varlvl ( 4) = 'deepest 0 deg (C) isotherm level' // endstr varlvl ( 5) = 'adiabatic lifted condensation level' // endstr varlvl ( 6) = 'maximum wind speed level' // endstr varlvl ( 7) = 'tropopause' // endstr varlvl ( 8) = 'nominal top of atmosphere' // endstr varlvl ( 9) = 'sea bottom' // endstr varlvl ( 10) = 'throughout atmospheric column' // endstr varlvl ( 11) = 'UNDEFINED LEVEL' // endstr varlvl ( 12) = 'low cloud base level' // endstr varlvl ( 13) = 'low cloud top level' // endstr varlvl ( 14) = 'within low cloud layer' // endstr DO n = 15, 21 varlvl (n) = 'RESERVED LEVEL' // endstr END DO varlvl ( 22) = 'middle cloud base level' // endstr varlvl ( 23) = 'middle cloud top level' // endstr varlvl ( 24) = 'within middle cloud layer' // endstr DO n = 25, 31 varlvl (n) = 'RESERVED LEVEL' // endstr END DO varlvl ( 32) = 'high cloud base level' // endstr varlvl ( 33) = 'high cloud top level' // endstr varlvl ( 34) = 'within high cloud layer' // endstr DO n = 35, 99 varlvl (n) = 'RESERVED LEVEL' // endstr END DO varlvl (100) = 'millibars (hPa) isobaric level' // endstr varlvl (101) = 'kPa @ top:bottom of pressure layer' // endstr varlvl (102) = 'mean sea level (MSL)' // endstr varlvl (103) = 'meters above mean sea level (MSL)' // endstr varlvl (104) = 'meters above MSL @ top:bottom of Z layer'// endstr varlvl (105) = 'meters above ground level (AGL)' // endstr varlvl (106) = 'meters AGL @ top:bottom of Z layer' // endstr varlvl (107) = 'sigma level value (1/10000)' // endstr varlvl (108) = 'top:bottom of sigma layer (1/100)' // endstr varlvl (109) = 'hybrid level number' // endstr varlvl (110) = 'top:bottom of hybrid layer (level #)' // endstr varlvl (111) = 'centimeters below land surface' // endstr varlvl (112) = 'centimeters BGL @ top:bottom of Z layer'// endstr varlvl (113) = 'degrees K isentropic level' // endstr varlvl (114) = 'top:bot isentropic layer (475-theta K)' // endstr DO n = 115, 120 varlvl (n) = 'UNDEFINED LEVEL' // endstr END DO varlvl (121) = 'hPa @ top:bot of pressure layer (1100-p)'// endstr varlvl (122) = 'UNDEFINED LEVEL' // endstr varlvl (123) = 'UNDEFINED LEVEL' // endstr varlvl (124) = 'UNDEFINED LEVEL' // endstr varlvl (125) = 'centimeters above ground level (AGL)' // endstr varlvl (126) = 'UNDEFINED LEVEL' // endstr varlvl (127) = 'UNDEFINED LEVEL' // endstr varlvl (128) = 'top:bot sigma layer (1.1-sigma, 1/1000)'// endstr DO n = 129, 140 varlvl (n) = 'UNDEFINED LEVEL' // endstr END DO varlvl (141) = 'top:bot pressure layer (kPa, 1100-p hPa)'// endstr DO n = 142, 159 varlvl (n) = 'UNDEFINED LEVEL' // endstr END DO varlvl (160) = 'meters below mean sea level (MSL)' // endstr DO n = 161, 199 varlvl (n) = 'UNDEFINED LEVEL' // endstr END DO varlvl (200) = 'throughout atmospheric column' // endstr varlvl (201) = 'throughout water column' // endstr varlvl (202) = 'UNDEFINED LEVEL' // endstr varlvl (203) = 'UNDEFINED LEVEL' // endstr varlvl (204) = 'highest tropospheric freezing level' // endstr DO n = 205, 211 varlvl (n) = 'UNDEFINED LEVEL' // endstr END DO varlvl (212) = 'low cloud base level' // endstr varlvl (213) = 'low cloud top level' // endstr varlvl (214) = 'within low cloud layer' // endstr DO n = 215, 221 varlvl (n) = 'UNDEFINED LEVEL' // endstr END DO varlvl (222) = 'middle cloud base level' // endstr varlvl (223) = 'middle cloud top level' // endstr varlvl (224) = 'within middle cloud layer' // endstr DO n = 225, 231 varlvl (n) = 'UNDEFINED LEVEL' // endstr END DO varlvl (232) = 'high cloud base level' // endstr varlvl (233) = 'high cloud top level' // endstr varlvl (234) = 'within high cloud layer' // endstr DO n = 235, 255 varlvl (n) = 'UNDEFINED LEVEL' // endstr END DO ! !----------------------------------------------------------------------- ! ! Forecast time units: ! !----------------------------------------------------------------------- ! ! CHARACTER STRING 10 20 30 40 ! RULER: ----+----+----+----+----+----+----+----+ timeunit( 0)= 'minutes' // endstr timeunit( 1)= 'hours' // endstr timeunit( 2)= 'days' // endstr timeunit( 3)= 'months' // endstr timeunit( 4)= 'years' // endstr timeunit( 5)= 'decades' // endstr timeunit( 6)= 'normals (30 years)' // endstr timeunit( 7)= 'centuries' // endstr DO n = 8, 253 timeunit(n)= 'RESERVED TIME UNIT' // endstr END DO timeunit(254)= 'seconds' // endstr ! !----------------------------------------------------------------------- ! ! Time range indicators: ! !----------------------------------------------------------------------- ! ! CHARACTER STRING 10 20 30 40 ! RULER: ----+----+----+----+----+----+----+----+ timerang( 0)= 'Product valid @ ref time + P1 (P1 > 0)' // endstr timerang( 1)= 'Analysis product valid @ ref time (P1=0)'// endstr timerang( 2)= 'Product valid @ ref time + (P1,...,P2)' // endstr timerang( 3)= 'Average of ref time + (P1,...,P2)' // endstr timerang( 4)= 'Accumulation of ref time + (P1,...,P2)' // endstr timerang( 5)= 'Difference: (reftime+P2) - (reftime+P1)'// endstr DO n = 6, 9 timeunit(n)='RESERVED TIME RANGE INDICATOR' // endstr END DO timerang( 10)= 'Product valid @ reference time + P1' // endstr DO n = 11, 50 timeunit(n)='RESERVED TIME RANGE INDICATOR' // endstr END DO timerang( 51)= 'Climatological mean value: R,...,R+P2' // endstr DO n = 52, 112 timeunit(n)='RESERVED TIME RANGE INDICATOR' // endstr END DO timerang(113)= 'Avg of N forecasts: period=P1, intrvl=P2'// endstr timerang(114)= 'Sum of N forecasts: period=P1, intrvl=P2'// endstr timerang(115)= 'Avg of N forecasts: P1+P2+...+(N-1)P2 @R'// endstr timerang(116)= 'Sum of N forecasts: P1+P2+...+(N-1)P2 @R'// endstr timerang(117)= 'Avg of N: P1+(P1-P2)+...+(N-1)(P1-P2)' // endstr timerang(118)= 'Covariance of N analyses:R,...,R+(N-1)P2'// endstr timerang(119)= 'RESERVED TIME RANGE INDICATOR' // endstr timerang(120)= 'RESERVED TIME RANGE INDICATOR' // endstr timerang(121)= 'RESERVED TIME RANGE INDICATOR' // endstr timerang(122)= 'RESERVED TIME RANGE INDICATOR' // endstr timerang(123)= 'Avg of N analyses: R,R+P2+...,R+(N-1)P2'// endstr timerang(124)= 'Sum of N analyses: R,R+P2+...,R+(N-1)P2'// endstr DO n = 125, 254 timeunit(n)='RESERVED TIME RANGE INDICATOR' // endstr END DO ! !----------------------------------------------------------------------- ! ! Names of map projections: ! !----------------------------------------------------------------------- ! ! CHARACTER STRING 10 20 30 40 ! RULER: ----+----+----+----+----+----+----+----+ projs ( 0) = 'Latitude/Longitude Grid' // endstr projs ( 1) = 'Mercator Projection Grid' // endstr projs ( 2) = 'Gnomonic Projection Grid' // endstr projs ( 3) = 'Lambert Conformal Projection Grid' // endstr projs ( 4) = 'Gaussian Latitude/Longitude Grid' // endstr projs ( 5) = 'Polar Stereographic Projection Grid' // endstr projs ( 6) = 'RESERVED PROJECTION' // endstr projs ( 7) = 'RESERVED PROJECTION' // endstr projs ( 8) = 'RESERVED PROJECTION' // endstr projs ( 9) = 'RESERVED PROJECTION' // endstr projs ( 10) = 'Latitude/Longitude Grid' // endstr projs ( 11) = 'RESERVED PROJECTION' // endstr projs ( 12) = 'RESERVED PROJECTION' // endstr projs ( 13) = 'Oblique Lambert Conformal Projection' // endstr projs ( 14) = 'Gaussian Latitude/Longitude Grid' // endstr projs ( 15) = 'RESERVED PROJECTION' // endstr projs ( 16) = 'RESERVED PROJECTION' // endstr projs ( 17) = 'RESERVED PROJECTION' // endstr projs ( 18) = 'RESERVED PROJECTION' // endstr projs ( 19) = 'RESERVED PROJECTION' // endstr projs ( 20) = 'Latitude/Longitude Grid' // endstr projs ( 21) = 'RESERVED PROJECTION' // endstr projs ( 22) = 'RESERVED PROJECTION' // endstr projs ( 23) = 'RESERVED PROJECTION' // endstr projs ( 24) = 'Gaussian Latitude/Longitude Grid' // endstr projs ( 25) = 'RESERVED PROJECTION' // endstr projs ( 26) = 'RESERVED PROJECTION' // endstr projs ( 27) = 'RESERVED PROJECTION' // endstr projs ( 28) = 'RESERVED PROJECTION' // endstr projs ( 29) = 'RESERVED PROJECTION' // endstr projs ( 30) = 'Latitude/Longitude Grid' // endstr projs ( 31) = 'RESERVED PROJECTION' // endstr projs ( 32) = 'RESERVED PROJECTION' // endstr projs ( 33) = 'RESERVED PROJECTION' // endstr projs ( 34) = 'Gaussian Latitude/Longitude Grid' // endstr DO n = 35, 49 projs( n) = 'RESERVED PROJECTION' // endstr END DO projs ( 50) = 'Spherical Harmonic Coefficients' // endstr DO n = 51, 59 projs( n) = 'RESERVED PROJECTION' // endstr END DO projs ( 60) = 'Spherical Harmonic Coefficients' // endstr DO n = 61, 69 projs( n) = 'RESERVED PROJECTION' // endstr END DO projs ( 70) = 'Spherical Harmonic Coefficients' // endstr DO n = 71, 79 projs( n) = 'RESERVED PROJECTION' // endstr END DO projs ( 80) = 'Spherical Harmonic Coefficients' // endstr DO n = 81, 89 projs( n) = 'RESERVED PROJECTION' // endstr END DO projs ( 90) = 'Space view perspective/orthographic grid'// endstr DO n = 91, 191 projs( n) = 'RESERVED PROJECTION' // endstr END DO DO n = 192, 200 projs( n) = 'PROJECTION AVAILABLE - Consult NWS/NMC.'// endstr END DO projs (201) = 'Arakawa semi-staggerd E-grid rot lat,lon'// endstr projs (202) = 'Arakawa filled E-grid rotated lat,lon' // endstr DO n = 203, 254 projs( n) = 'PROJECTION AVAILABLE - Consult NWS/NMC.'// endstr END DO ! !----------------------------------------------------------------------- ! ! Description of directional scanning modes: ! !----------------------------------------------------------------------- ! ! CHARACTER STRING 10 20 30 40 ! RULER: ----+----+----+----+----+----+----+----+ scans (0,1) = 'Grid points scan in +X direction '// endstr scans (1,1) = 'Grid points scan in -X direction '// endstr scans (0,2) = 'Grid points scan in -Y direction '// endstr scans (1,2) = 'Grid points scan in +Y direction '// endstr scans (0,3) = 'Consecutive points are in i direction '// endstr scans (1,3) = 'Consecutive points are in j direction '// endstr scans (0,4) = 'RESERVED SCANNING MODE '// endstr scans (1,4) = 'RESERVED SCANNING MODE '// endstr scans (0,5) = 'RESERVED SCANNING MODE '// endstr scans (1,5) = 'RESERVED SCANNING MODE '// endstr scans (0,6) = 'RESERVED SCANNING MODE '// endstr scans (1,6) = 'RESERVED SCANNING MODE '// endstr scans (0,7) = 'RESERVED SCANNING MODE '// endstr scans (1,7) = 'RESERVED SCANNING MODE '// endstr scans (0,8) = 'RESERVED SCANNING MODE '// endstr scans (1,8) = 'RESERVED SCANNING MODE '// endstr RETURN END SUBROUTINE gribtbls ! !################################################################## !################################################################## !###### ###### !###### SUBROUTINE GRBGRID ###### !###### ###### !###### Developed by ###### !###### Center for Analysis and Prediction of Storms ###### !###### University of Oklahoma ###### !###### ###### !################################################################## !################################################################## ! SUBROUTINE grbgrid(gridtyp, gdsflg, igds, & 1 gridesc, iproj, gthin, & ni,nj,np, nk,zk, npeq,nit, & pi,pj,ipole, di,dj, & latsw,lonsw, latne,lonne, & latrot,lonrot,angrot, & latstr,lonstr,facstr, & lattru1,lattru2,lontrue, & scanmode, iscan,jscan,kscan, & ires,iearth,icomp, & jpenta,kpenta,mpenta,ispect,icoeff, & xp,yp, xo,yo,zo) ! !----------------------------------------------------------------------- ! ! PURPOSE: ! ! Set grid parameters according to GRIB Table B or as defined in ! Section 2 - the Grid Description Section (GDS). ! !----------------------------------------------------------------------- ! ! AUTHOR: Craig A. Mattocks ! 6/1/1995. ! ! MODIFICATION HISTORY: ! ! 6/1/1995, version 1.0 (C. Mattocks) ! Wrote original subroutine. ! ! 01/05/1996 (Yuhe Liu) ! Modified for NMC GRIB standard and ARPS ext2arps ! !----------------------------------------------------------------------- ! ! INPUT: ! ! gridtyp Grid identifier ! gdsflg Flag for GDS ! igds Integer array for Section 2 of GRIB message, GDS ! ! OUTPUT: ! ! gridesc Grid description string ! ! Gthin Indicator of whether the grid is "thinned" ! (quasi-regular) ! ! iProj Projection indicator - WMO Section 2 (GDS) octet #7 ! ! Ni Number of points along x-axis ! Nj Number of points along y-axis ! Np Total number of horizontal grid points ! ! Nk Number of vertical coordinate parameters ! Zk Vertical coordinate parameters ! ! Npeq Number of latitude circles from pole to equator ! Nit Number of points along x-axis for thinned grid ! ! Pi x-coordinate of pole point ! Pj y-coordinate of pole point ! iPole Projection center flag ! ! Di x-direction increment or grid length ! Dj y-direction increment or grid length ! ! LatSW Latitude of South West corner point ! LonSW Longitude of South West corner point ! LatNE Latitude of North East corner point ! LonNE Longitude of North East corner point ! ! LatRot Latitude of southern pole of rotation ! LonRot Longitude of southern pole of rotation ! AngRot Angle of rotation ! ! LatStr Latitude of the pole of stretching ! LonStr Longitude of the pole of stretching ! FacStr Stretching factor ! ! LatTru1 Latitude (1st) at which map projection is "true" ! LatTru2 Latitude (2nd) at which map projection is "true" ! LonTrue Longitude at which map projection is "true" ! ! ScanMode Scanning indicator ! iScan x-direction scanning indicator ! jScan y-direction scanning indicator ! kScan FORTRAN index scanning indicator ! ! iRes Resolution direction increments indicator ! iEarth Earth shape indicator: spherical or oblate? ! iComp (u,v) components decomposition indicator ! ! jPenta J-Pentagonal resolution parameter ! kPenta K-Pentagonal resolution parameter ! mPenta M-Pentagonal resolution parameter ! ! iSpect Spectral representation type ! iCoeff Spectral coefficient storage mode ! ! Xp X coordinate of sub-satellite point ! Yp Y coordinate of sub-satellite point ! Xo X coordinate of image sector origin ! Yo Y coordinate of image sector origin ! Zo Camera altitude from center of Earth ! !----------------------------------------------------------------------- ! ! Variable Declarations. ! !----------------------------------------------------------------------- ! IMPLICIT NONE ! !----------------------------------------------------------------------- ! ! GRIB section parameters: ! !----------------------------------------------------------------------- ! INTEGER :: gridtyp ! Grid indentifier INTEGER :: gdsflg ! GDS indicator INTEGER :: igds(*) ! Integer array for GDS CHARACTER (LEN=42) :: gridesc ! Grid description string INTEGER :: gthin ! Indicator of whether the grid is "thinned" INTEGER :: iproj ! Map projection indicator INTEGER :: ni ! Number of points along x-axis INTEGER :: nj ! Number of points along y-axis INTEGER :: np ! Total number of horizontal grid points INTEGER :: nk ! Number of vertical parameters REAL :: zk(*) ! Vertical coordinate parameters INTEGER :: npeq ! Number of lat circles from pole to equator INTEGER :: nit(*) ! Number of x-points for thinned grid REAL :: pi ! x-coordinate of pole point REAL :: pj ! y-coordinate of pole point INTEGER :: ipole ! Projection center flag REAL :: di ! x-direction increment or grid length REAL :: dj ! y-direction increment or grid length REAL :: latsw ! Latitude of South West corner point REAL :: lonsw ! Longitude of South West corner point REAL :: latne ! Latitude of North East corner point REAL :: lonne ! Longitude of North East corner point REAL :: lattru1 ! Latitude (1st) at which projection is true REAL :: lattru2 ! Latitude (2nd) at which projection is true REAL :: lontrue ! Longitude at which projection is true REAL :: latrot ! Latitude of southern pole of rotation REAL :: lonrot ! Longitude of southern pole of rotation REAL :: angrot ! Angle of rotation REAL :: latstr ! Latitude of the pole of stretching REAL :: lonstr ! Longitude of the pole of stretching REAL :: facstr ! Stretching factor INTEGER :: scanmode ! Scanning indicator INTEGER :: iscan ! x-direction scanning indicator INTEGER :: jscan ! y-direction scanning indicator INTEGER :: kscan ! FORTRAN index scanning indicator INTEGER :: ires ! Resolution direction increments indicator INTEGER :: iearth ! Earth shape indicator: spherical or oblate? INTEGER :: icomp ! (u,v) components decomposition indicator INTEGER :: jpenta ! J-Pentagonal resolution parameter INTEGER :: kpenta ! K-Pentagonal resolution parameter INTEGER :: mpenta ! M-Pentagonal resolution parameter INTEGER :: ispect ! Spectral representation type INTEGER :: icoeff ! Spectral coefficient storage mode REAL :: xp ! X coordinate of sub-satellite point REAL :: yp ! Y coordinate of sub-satellite point REAL :: xo ! X coordinate of image sector origin REAL :: yo ! Y coordinate of image sector origin REAL :: zo ! Camera altitude from center of Earth REAL :: missing ! Flag to denote a missing datum DATA missing/999.0/ CHARACTER (LEN=2) :: endstr DATA endstr/' '/ INTEGER :: i,j,jj ! Loop indices ! !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ! ! Beginning of executable code... ! !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ! ! !----------------------------------------------------------------------- ! ! Flag variables initially as missing. ! !----------------------------------------------------------------------- ! gthin = nint(missing) ni = nint(missing) nj = nint(missing) np = nint(missing) nk = nint(missing) npeq = nint(missing) pi = missing pj = missing ipole = nint(missing) di = missing dj = missing latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = missing lattru2 = missing lontrue = missing latrot = missing lonrot = missing angrot = missing latstr = missing lonstr = missing facstr = missing iscan = nint(missing) jscan = nint(missing) kscan = nint(missing) ires = nint(missing) iearth = nint(missing) icomp = nint(missing) jpenta = nint(missing) kpenta = nint(missing) mpenta = nint(missing) ispect = nint(missing) icoeff = nint(missing) xp = missing yp = missing xo = missing yo = missing zo = missing ! !----------------------------------------------------------------------- ! ! Table B. Grid Identification - Master List of NMC Storage Grids, ! designated by Parameter Description Section (PDS) octet #7 in ! Section 1 of GRIB message. ! ! NOTE: (1) Grids 21-26 and 61-64 are International Exchange grids. ! (2) Grids 37-44 are 1.25 x 1.25 degree (lat,lon) "thinned" ! grids, covering the globe by octants of 3447 points. ! The number of points on each latitudinal row is given ! by the formula: ! Npoints = ifix ( 2 + (90/1.25) * cos(Lat) ) ! The latitudinal increment is always 1.25 degrees; this ! results in 73 rows for each octant. In GRIB terms, ! these are also known as "quasi-regular" grids. ! (3) Grids 67-71 and 72-74 are OFFICE NOTE 84 grid types, ! for local use by NMC. They are NOT International. ! (4) Grids 201-2nn are AWIPS grids. ! (5) A grid ID of 255 indicates that the grid is not defined ! and its description is provided in the Grid Description ! Section (GDS). ! !----------------------------------------------------------------------- ! GO TO ( 1, 2, 3, 4, 5, 6,254,254,254,254,254,254,254,254,254, & 254,254,254,254,254, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, & 254,254, 33, 34,254,254, 37, 38, 39, 40, 41, 42, 43, 44, 45, & 254,254,254,254, 50,254,254,254,254, 55, 56,254,254,254,254, & 61, 62, 63, 64,254,254, 67, 68, 69, 70, 71, 72, 73, 74, 75, & 76, 77,254,254,254,254,254,254,254, 85, 86, 87,254,254, 90, & 91, 92, 93, 94, 95, 96, 97, 98,254,100,101,254,103,104,105, & 106,107,254,254,254,254,254,254,254,254,254,254,254,254,254, & 254,254,254,254,254,126,254,254,254,254,254,254,254,254,254, & 254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, & 254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, & 254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, & 254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, & 254,254,254,254,254,201,202,203,204,205,206,207,208,209,210, & 211,212,213,214,254,254,254,254,254,254,254,254,254,254,254, & 254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, & 254,254,254,254,254,254,254,254,254,254,254,254,254,254,255) & gridtyp ! !----------------------------------------------------------------------- ! ! Mercator Tropical Strip 5 deg Longitude ! !----------------------------------------------------------------------- ! 1 CONTINUE gridesc = 'Mercator Tropical Strip 5 deg Longitude'//endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 1 gthin = 0 ni = 73 nj = 23 np = ni * nj pi = missing pj = missing di = 513669. dj = 513669. latsw = -48.09 lonsw = 0.00 latne = 48.09 lonne = 360.00 lattru1 = 22.50 lattru2 = missing lontrue = 0.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Global 2.5 degree Longitude,Latitude ! !----------------------------------------------------------------------- ! 2 CONTINUE gridesc = 'Global 2.5 degree Longitude,Latitude' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 144 nj = 73 np = ni * nj pi = missing pj = missing di = 2.50 dj = 2.50 latsw = -90.00 lonsw = 0.00 latne = 90.00 lonne = -2.50 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 0 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Global 1.0 degree Longitude,Latitude ! !----------------------------------------------------------------------- ! 3 CONTINUE gridesc = 'Global 1.0 degree Longitude,Latitude' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 360 nj = 181 np = ni * nj pi = missing pj = missing di = 1.00 dj = 1.00 latsw = -90.00 lonsw = 0.00 latne = 90.00 lonne = -1.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 0 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Global 0.5 degree Longitude,Latitude ! !----------------------------------------------------------------------- ! 4 CONTINUE gridesc = 'Global 0.5 degree Longitude,Latitude' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 720 nj = 361 np = ni * nj pi = missing pj = missing di = 0.50 dj = 0.50 latsw = -90.00 lonsw = 0.00 latne = 90.00 lonne = -0.50 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 0 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! LFM Analysis N Hem Polar Stereo 190.5 km ! !----------------------------------------------------------------------- ! 5 CONTINUE gridesc = 'LFM Analysis N Hem Polar Stereo 190.5 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 53 nj = 57 np = ni * nj pi = 27. pj = 49. di = 190500. dj = 190500. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Grid = 'LFM Forecast N Hem Polar Stereo 190.5 km ! !----------------------------------------------------------------------- ! 6 CONTINUE gridesc = 'LFM Forecast N Hem Polar Stereo 190.5 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 53 nj = 45 np = ni * nj pi = 27. pj = 49. di = 190500. dj = 190500. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Grid = 'Int Exchange FOS 5 by 2.5 degree Lon,Lat ! !----------------------------------------------------------------------- ! 21 CONTINUE gridesc = 'Int Exchange FOS 5 by 2.5 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 37 nj = 37 np = 1333 pi = missing pj = missing di = 5.00 dj = 2.50 latsw = 0.00 lonsw = 0.00 latne = 90.00 lonne = 180.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Grid = 'Int Exchange FOS 5 by 2.5 degree Lon,Lat ! !----------------------------------------------------------------------- ! 22 CONTINUE gridesc = 'Int Exchange FOS 5 by 2.5 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 37 nj = 37 np = 1333 pi = missing pj = missing di = 5.00 dj = 2.50 latsw = 0.00 lonsw = -180.00 latne = 90.00 lonne = 0.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Grid = 'Int Exchange FOS 5 by 2.5 degree Lon,Lat ! !----------------------------------------------------------------------- ! 23 CONTINUE gridesc = 'Int Exchange FOS 5 by 2.5 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 38 nj = 36 np = 1333 pi = missing pj = missing di = 5.00 dj = 2.50 latsw = -90.00 lonsw = 0.00 latne = 0.00 lonne = 180.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Int Exchange FOS 5 by 2.5 degree Lon,Lat ! !----------------------------------------------------------------------- ! 24 CONTINUE gridesc = 'Int Exchange FOS 5 by 2.5 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 38 nj = 36 np = 1333 pi = missing pj = missing di = 5.00 dj = 2.50 latsw = -90.00 lonsw = -180.00 latne = 0.00 lonne = 0.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Grid = 'Int Exchange FOS 5 by 5 degree Lon,Lat ! !----------------------------------------------------------------------- ! 25 CONTINUE gridesc = 'Int Exchange FOS 5 by 5 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 72 nj = 19 np = 1297 pi = missing pj = missing di = 5.00 dj = 5.00 latsw = 0.00 lonsw = 0.00 latne = 90.00 lonne = 355.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Int Exchange FOS 5 by 5 degree Lon,Lat ! !----------------------------------------------------------------------- ! 26 CONTINUE gridesc = 'Int Exchange FOS 5 by 5 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 73 nj = 18 np = 1297 pi = missing pj = missing di = 5.00 dj = 5.00 latsw = -90.00 lonsw = 0.00 latne = 0.00 lonne = 355.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! North Hemis Polar Stereographic 381 km ! !----------------------------------------------------------------------- ! 27 CONTINUE gridesc = 'North Hemis Polar Stereographic 381 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 65 nj = 65 np = ni * nj pi = 33. pj = 33. di = 381000. dj = 381000. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -80.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! South Hemis Polar Stereographic 381 km ! !----------------------------------------------------------------------- ! 28 CONTINUE gridesc = 'South Hemis Polar Stereographic 381 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 65 nj = 65 np = ni * nj pi = 33. pj = 33. di = 381000. dj = 381000. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = -60.00 lattru2 = missing lontrue = 100.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Northern Hemisphere 2.5 degree Lat,Lon ! !----------------------------------------------------------------------- ! 29 CONTINUE gridesc = 'Northern Hemisphere 2.5 degree Lat,Lon' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 145 nj = 37 np = ni * nj pi = missing pj = missing di = 2.50 dj = 2.50 latsw = 0.00 lonsw = 0.00 latne = 90.00 lonne = 360.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Southern Hemisphere 2.5 degree Lat,Lon ! !----------------------------------------------------------------------- ! 30 CONTINUE gridesc = 'Southern Hemisphere 2.5 degree Lat,Lon' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 145 nj = 37 np = ni * nj pi = missing pj = missing di = 2.50 dj = 2.50 latsw = -90.00 lonsw = 0.00 latne = 0.00 lonne = 360.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Northern Hemisphere 2.0 degree Lat,Lon ! !----------------------------------------------------------------------- ! 33 CONTINUE gridesc = 'Northern Hemisphere 2.0 degree Lat,Lon' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 181 nj = 46 np = ni * nj pi = missing pj = missing di = 2.00 dj = 2.00 latsw = 0.00 lonsw = 0.00 latne = 90.00 lonne = 360.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Southern Hemisphere 2.0 degree Lat,Lon ! !----------------------------------------------------------------------- ! 34 CONTINUE gridesc = 'Southern Hemisphere 2.0 degree Lat,Lon' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 181 nj = 46 np = ni * nj pi = missing pj = missing di = 2.00 dj = 2.00 latsw = -90.00 lonsw = 0.00 latne = 0.00 lonne = 360.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Int Xch FOS-I 1.25x1.25 deg thin Lon,Lat ! !----------------------------------------------------------------------- ! 37 CONTINUE gridesc = 'Int Xch FOS-I 1.25x1.25 deg thin Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 1 ni = 73 nj = 73 np = 3447 pi = missing pj = missing di = 1.25 dj = 1.25 latsw = 0.00 lonsw = -30.00 latne = 90.00 lonne = 60.00 lattru1 = 0.00 lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Int Xch FOS-J 1.25x1.25 deg thin Lon,Lat ! !----------------------------------------------------------------------- ! 38 CONTINUE gridesc = 'Int Xch FOS-J 1.25x1.25 deg thin Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 1 ni = 73 nj = 73 np = 3447 pi = missing pj = missing di = 1.25 dj = 1.25 latsw = 0.00 lonsw = 60.00 latne = 90.00 lonne = 150.00 lattru1 = 0.00 lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Int Xch FOS-K 1.25x1.25 deg thin Lon,Lat ! !----------------------------------------------------------------------- ! 39 CONTINUE gridesc = 'Int Xch FOS-K 1.25x1.25 deg thin Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 1 ni = 73 nj = 73 np = 3447 pi = missing pj = missing di = 1.25 dj = 1.25 latsw = 0.00 lonsw = 150.00 latne = 90.00 lonne = -120.00 lattru1 = 0.00 lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Int Xch FOS-L 1.25x1.25 deg thin Lon,Lat ! !----------------------------------------------------------------------- ! 40 CONTINUE gridesc = 'Int Xch FOS-L 1.25x1.25 deg thin Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 1 ni = 73 nj = 73 np = 3447 pi = missing pj = missing di = 1.25 dj = 1.25 latsw = 0.00 lonsw = -120.00 latne = 90.00 lonne = -30.00 lattru1 = 0.00 lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Int Xch FOS-M 1.25x1.25 deg thin Lon,Lat ! !----------------------------------------------------------------------- ! 41 CONTINUE gridesc = 'Int Xch FOS-M 1.25x1.25 deg thin Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 1 ni = 73 nj = 73 np = 3447 pi = missing pj = missing di = 1.25 dj = 1.25 latsw = -90.00 lonsw = -30.00 latne = 0.00 lonne = 60.00 lattru1 = 0.00 lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Int Xch FOS-N 1.25x1.25 deg thin Lon,Lat ! !----------------------------------------------------------------------- ! 42 CONTINUE gridesc = 'Int Xch FOS-N 1.25x1.25 deg thin Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 1 ni = 73 nj = 73 np = 3447 pi = missing pj = missing di = 1.25 dj = 1.25 latsw = -90.00 lonsw = 60.00 latne = 0.00 lonne = 150.00 lattru1 = 0.00 lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Int Xch FOS-O 1.25x1.25 deg thin Lon,Lat ! !----------------------------------------------------------------------- ! 43 CONTINUE gridesc = 'Int Xch FOS-O 1.25x1.25 deg thin Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 1 ni = 73 nj = 73 np = 3447 pi = missing pj = missing di = 1.25 dj = 1.25 latsw = -90.00 lonsw = 150.00 latne = 0.00 lonne = -120.00 lattru1 = 0.00 lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Int Xch FOS-P 1.25x1.25 deg thin Lon,Lat ! !----------------------------------------------------------------------- ! 44 CONTINUE gridesc = 'Int Xch FOS-P 1.25x1.25 deg thin Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 1 ni = 73 nj = 73 np = 3447 pi = missing pj = missing di = 1.25 dj = 1.25 latsw = -90.00 lonsw = -120.00 latne = 0.00 lonne = -30.00 lattru1 = 0.00 lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Global 1.25 degree Latitude,Longitude ! !----------------------------------------------------------------------- ! 45 CONTINUE gridesc = 'Global 1.25 degree Latitude,Longitude' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 288 nj = 145 np = ni * nj pi = missing pj = missing di = 1.25 dj = 1.25 latsw = -90.00 lonsw = 0.00 latne = 90.00 lonne = -1.25 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 0 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Int Exch FOS 2.5x1.25 deg USthin Lon,Lat ! !----------------------------------------------------------------------- ! 50 CONTINUE gridesc = 'Int Exch FOS 2.5x1.25 deg USthin Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 1 ni = 36 nj = 33 np = 964 pi = missing pj = missing di = 5.00 dj = 1.25 latsw = 20.00 lonsw = -140.00 latne = 60.00 lonne = -52.50 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! North Amer SFC Anal Polar Stereo 254 km ! !----------------------------------------------------------------------- ! 55 CONTINUE gridesc = 'North Amer SFC Anal Polar Stereo 254 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 87 nj = 71 np = ni * nj pi = 44. pj = 38. di = 254000. dj = 254000. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! North Amer Sfc Anal Polar Stereo 127 km ! !----------------------------------------------------------------------- ! 56 CONTINUE gridesc = 'North Amer Sfc Anal Polar Stereo 127 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 87 nj = 71 np = ni * nj pi = 40. pj = 73. di = 127000. dj = 127000. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Int Exchange FOS 2 by 2 degree Lon,Lat ! !----------------------------------------------------------------------- ! 61 CONTINUE gridesc = 'Int Exchange FOS 2 by 2 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 0 ni = 91 nj = 46 np = 4096 pi = missing pj = missing di = 2.00 dj = 2.00 latsw = 0.00 lonsw = 0.00 latne = 90.00 lonne = 180.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Int Exchange FOS 2 by 2 degree Lon,Lat ! !----------------------------------------------------------------------- ! 62 CONTINUE gridesc = 'Int Exchange FOS 2 by 2 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 0 ni = 91 nj = 46 np = 4096 pi = missing pj = missing di = 2.00 dj = 2.00 latsw = 0.00 lonsw = -180.00 latne = 90.00 lonne = 0.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Int Exchange FOS 2 by 2 degree Lon,Lat ! !----------------------------------------------------------------------- ! 63 CONTINUE gridesc = 'Int Exchange FOS 2 by 2 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 0 ni = 92 nj = 45 np = 4096 pi = missing pj = missing di = 2.00 dj = 2.00 latsw = -90.00 lonsw = 0.00 latne = 0.00 lonne = 180.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Int Exchange FOS 2 by 2 degree Lon,Lat ! !----------------------------------------------------------------------- ! 64 CONTINUE gridesc = 'Int Exchange FOS 2 by 2 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 4 gthin = 0 ni = 92 nj = 45 np = 4096 pi = missing pj = missing di = 2.00 dj = 2.00 latsw = -90.00 lonsw = -180.00 latne = 0.00 lonne = 0.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! NW Atlantic Polar Stereo 23.8125 km ! !----------------------------------------------------------------------- ! 67 CONTINUE gridesc = 'NW Atlantic Polar Stereo 23.8125 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 117 nj = 117 np = ni * nj pi = 9. pj = 317. di = 23812.5 dj = 23812.5 latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -80.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Gulf of Mexico Polar Stereo 23.8125 km ! !----------------------------------------------------------------------- ! 68 CONTINUE gridesc = 'Gulf of Mexico Polar Stereo 23.8125 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 117 nj = 117 np = ni * nj pi = -35. pj = 361. di = 23812.5 dj = 23812.5 latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Gulf of Alaska Polar Stereo 23.8125 km ! !----------------------------------------------------------------------- ! 69 CONTINUE gridesc = 'Gulf of Alaska Polar Stereo 23.8125 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 117 nj = 117 np = ni * nj pi = 177. pj = 209. di = 23812.5 dj = 23812.5 latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Calif Pacific Polar Stereo 23.8125 km ! !----------------------------------------------------------------------- ! 70 CONTINUE gridesc = 'Calif Pacific Polar Stereo 23.8125 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 117 nj = 117 np = ni * nj pi = 169. pj = 285. di = 23812.5 dj = 23812.5 latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Mexican Pacific Polar Stereo 23.8125 km ! !----------------------------------------------------------------------- ! 71 CONTINUE gridesc = 'Mexican Pacific Polar Stereo 23.8125 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 117 nj = 117 np = ni * nj pi = 137. pj = 377. di = 23812.5 dj = 23812.5 latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Mercator 2.5 degree Longitude ! !----------------------------------------------------------------------- ! 72 CONTINUE gridesc = 'Mercator 2.5 degree Longitude' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 1 gthin = 0 ni = 29 nj = 14 np = ni * nj pi = missing pj = missing di = 2.50 dj = 2.50 latsw = 46.40 lonsw = 170.00 latne = 64.40 lonne = -120.00 lattru1 = 22.50 lattru2 = missing lontrue = 0.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! Global Gaussian R40 wave trans Lon,Lat ! !----------------------------------------------------------------------- ! 73 CONTINUE gridesc = 'Global Gaussian R40 wave trans Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 50 gthin = 0 ni = 128 nj = 102 np = ni * nj pi = missing pj = missing di = missing dj = missing latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 0 kscan = 0 ires = 0 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! North Hemisphere 2 by 1.5 degree Lon,Lat ! !----------------------------------------------------------------------- ! 74 CONTINUE gridesc = 'North Hemisphere 2 by 1.5 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 180 nj = 60 np = ni * nj pi = missing pj = missing di = 2.00 dj = 1.50 latsw = 0.00 lonsw = 0.00 latne = 90.00 lonne = 0.00 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! QLM Hurricane NH Lambert Conformal 40 km ! !----------------------------------------------------------------------- ! 75 CONTINUE gridesc = 'QLM Hurricane NH Lambert Conformal 40 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 3 gthin = 0 ni = 111 nj = 111 np = ni * nj pi = missing pj = missing di = 40000. dj = 40000. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 30.00 lattru2 = 60.00 lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! QLM Hurricane SH Lambert Conformal 40 km ! !----------------------------------------------------------------------- ! 76 CONTINUE gridesc = 'QLM Hurricane SH Lambert Conformal 40 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 3 gthin = 0 ni = 111 nj = 111 np = ni * nj pi = missing pj = missing di = 40000. dj = 40000. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = -30.00 lattru2 = -60.00 lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! QLM Hurricane North Hemis Mercator 40 km ! !----------------------------------------------------------------------- ! 77 CONTINUE gridesc = 'QLM Hurricane North Hemis Mercator 40 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 3 gthin = 0 ni = 111 nj = 111 np = ni * nj pi = missing pj = missing di = 40000. dj = 40000. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = -22.5 lattru2 = 22.5 lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Northern Hemisphere 1.0 degree Lon,Lat ! !----------------------------------------------------------------------- ! 85 CONTINUE gridesc = 'Northern Hemisphere 1.0 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 360 nj = 90 np = ni * nj pi = missing pj = missing di = 1.00 dj = 1.00 latsw = 0.50 lonsw = 0.50 latne = 89.50 lonne = -0.50 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Southern Hemisphere 1.0 degree Lon,Lat ! !----------------------------------------------------------------------- ! 86 CONTINUE gridesc = 'Southern Hemisphere 1.0 degree Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 0 gthin = 0 ni = 360 nj = 90 np = ni * nj pi = missing pj = missing di = 1.00 dj = 1.00 latsw = -89.50 lonsw = 0.50 latne = -0.50 lonne = -0.50 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! RUC/MAPS NH Polar Stereo 60 km @ 60N ! !----------------------------------------------------------------------- ! 87 CONTINUE gridesc = 'RUC/MAPS NH Polar Stereo 60 km @ 60N' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 81 nj = 62 np = ni * nj pi = 31.91 pj = 112.53 di = 68153. dj = 68153. latsw = 22.8756 lonsw =-120.4911 latne = 46.0172 lonne = -60.8284 lattru1 = 40.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Eta SS 80 km rot 15/26x14/26 deg Lon,Lat ! !----------------------------------------------------------------------- ! 90 CONTINUE gridesc = 'Eta SS 80 km rot 15/26x14/26 deg Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 201 gthin = 1 ni = 92 nj = 141 ! Np = Ni * Nj - Nj/2 ! Arakawa E-Grid Staggering np = 12902 pi = missing pj = missing di = 15./26. dj = 14./26. latsw = 0.182 lonsw = -149.887 latne = missing lonne = missing lattru1 = 52.00 lattru2 = missing lontrue = -111.00 iscan = 0 jscan = 1 kscan = 0 ires = 0 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Eta F 80 km rot 15/26x14/26 deg Lon,Lat ! !----------------------------------------------------------------------- ! 91 CONTINUE gridesc = 'Eta F 80 km rot 15/26x14/26 deg Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 202 gthin = 0 ni = 183 nj = 141 ! Np = Ni * Nj ! Arakawa E-Grid Filled np = 25803 pi = missing pj = missing di = 15./26. dj = 14./26. latsw = 0.182 lonsw = -149.887 latne = missing lonne = missing lattru1 = 52.00 lattru2 = missing lontrue = -111.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Eta SS 40 km rot 5/18x15/57 deg Lon,Lat ! !----------------------------------------------------------------------- ! 92 CONTINUE gridesc = 'Eta SS 40 km rot 5/18x15/57 deg Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 201 gthin = 1 ni = 127 nj = 191 ! Np = Ni * Nj - Nj/2 ! Arakawa E-Grid Staggering np = 24162 pi = missing pj = missing di = 5./18. dj = 15./57. latsw = 9.678 lonsw = -128.826 latne = missing lonne = missing lattru1 = 41.00 lattru2 = missing lontrue = -97.00 iscan = 0 jscan = 1 kscan = 0 ires = 0 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Eta F 40 km rot 5/18 x 15/57 deg Lon,Lat ! !----------------------------------------------------------------------- ! 93 CONTINUE gridesc = 'Eta F 40 km rot 5/18 x 15/57 deg Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 202 gthin = 0 ni = 253 nj = 191 ! Np = Ni * Nj ! Arakawa E-Grid Filled np = 48323 pi = missing pj = missing di = 5./18. dj = 15./57. latsw = 9.678 lonsw = -128.826 latne = missing lonne = missing lattru1 = 41.00 lattru2 = missing lontrue = -97.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Eta SS 29 km rot 7/36 x 5/27 deg Lon,Lat ! !----------------------------------------------------------------------- ! 94 CONTINUE gridesc = 'Eta SS 29 km rot 7/36 x 5/27 deg Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 201 gthin = 1 ni = 181 nj = 271 ! Np = Ni * Nj - Nj/2 ! Arakawa E-Grid Staggering np = 48916 pi = missing pj = missing di = 7./36. dj = 5./27. latsw = 9.678 lonsw = -128.826 latne = missing lonne = missing lattru1 = 41.00 lattru2 = missing lontrue = -97.00 iscan = 0 jscan = 1 kscan = 0 ires = 0 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Eta F 29 km rot 7/36 x 5/27 deg Lon,Lat ! !----------------------------------------------------------------------- ! 95 CONTINUE gridesc = 'Eta F 29 km rot 7/36 x 5/27 deg Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 202 gthin = 0 ni = 361 nj = 271 ! Np = Ni * Nj ! Arakawa E-Grid Filled np = 97831 pi = missing pj = missing di = 7./36. dj = 5./27. latsw = 9.678 lonsw = -128.826 latne = missing lonne = missing lattru1 = 41.00 lattru2 = missing lontrue = -97.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Eta SS 48 km rot 1/3 x 4/13 deg Lon,Lat ! !----------------------------------------------------------------------- ! 96 CONTINUE gridesc = 'Eta SS 48 km rot 1/3 x 4/13 deg Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 201 gthin = 1 ni = 160 nj = 261 ! Np = Ni * Nj - Nj/2 ! Arakawa E-Grid Staggering np = 41630 pi = missing pj = missing di = 1./3. dj = 4./13. latsw = -3.441 lonsw = -148.799 latne = missing lonne = missing lattru1 = 50.00 lattru2 = missing lontrue = -110.00 iscan = 0 jscan = 1 kscan = 0 ires = 0 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Eta F 48 km rot 1/3 x 4/13 deg Lon,Lat ! !----------------------------------------------------------------------- ! 97 CONTINUE gridesc = 'Eta F 48 km rot 1/3 x 4/13 deg Lon,Lat' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 202 gthin = 0 ni = 319 nj = 261 ! Np = Ni * Nj ! Arakawa E-Grid Filled np = 83259 pi = missing pj = missing di = 1./3. dj = 4./13. latsw = -3.441 lonsw = -148.799 latne = missing lonne = missing lattru1 = 50.00 lattru2 = missing lontrue = -110.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Global Gaussian T62 wave 1.875 degree ! !----------------------------------------------------------------------- ! 98 CONTINUE gridesc = 'Global Gaussian T62 wave 1.875 degree' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 50 gthin = 0 ni = 192 nj = 94 np = ni * nj pi = missing pj = missing di = 1.875 dj = 1.875 latsw = -88.542 lonsw = 0.000 latne = 88.542 lonne = -1.875 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 0 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! NGM Original-C Polar Stereo 91.452 km ! !----------------------------------------------------------------------- ! 100 CONTINUE gridesc = 'NGM Original-C Polar Stereo 91.452 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 83 nj = 83 np = ni * nj pi = 40.5 pj = 88.5 di = 91452. dj = 91452. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! NGM Big-C Polar Stereographic 91.452 km ! !----------------------------------------------------------------------- ! 101 CONTINUE gridesc = 'NGM Big-C Polar Stereographic 91.452 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 113 nj = 91 np = ni * nj pi = 58.5 pj = 92.5 di = 91452. dj = 91452. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! ARL Northrn Hemis Polar Stereo 91.452 km ! !----------------------------------------------------------------------- ! 103 CONTINUE gridesc = 'ARL Northrn Hemis Polar Stereo 91.452 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 65 nj = 56 np = ni * nj pi = 25.5 pj = 84.5 di = 91452. dj = 91452. latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! NGM Super-C NH Polar Stereo 90.75464 km ! !----------------------------------------------------------------------- ! 104 CONTINUE gridesc = 'NGM Super-C NH Polar Stereo 90.75464 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 147 nj = 110 np = ni * nj pi = 75.5 pj = 109.5 di = 90754.64 dj = 90754.64 latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Eta Super-C NH Polar Stereo 90.75464 km ! !----------------------------------------------------------------------- ! 105 CONTINUE gridesc = 'Eta Super-C NH Polar Stereo 90.75464 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 83 nj = 83 np = ni * nj pi = 40.5 pj = 88.5 di = 90754.64 dj = 90754.64 latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Eta Super-C2 NH Polar Stereo 45.37732 km ! !----------------------------------------------------------------------- ! 106 CONTINUE gridesc = 'Eta Super-C2 NH Polar Stereo 45.37732 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 165 nj = 117 np = ni * nj pi = 80. pj = 176. di = 45377.32 dj = 45377.32 latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! RUC Super-C2 NH Polar Stereo 45.37732 km ! !----------------------------------------------------------------------- ! 107 CONTINUE gridesc = 'RUC Super-C2 NH Polar Stereo 45.37732 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 120 nj = 92 np = ni * nj pi = 46. pj = 167. di = 45377.32 dj = 45377.32 latsw = missing lonsw = missing latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! Global Gaussian T126 wave 0.9375 degree ! !----------------------------------------------------------------------- ! 126 CONTINUE gridesc = 'Global Gaussian T126 wave 0.9375 degree' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 50 gthin = 0 ni = 384 nj = 190 np = ni * nj pi = missing pj = missing di = 0.9375 dj = 0.9375 latsw = -89.2770 lonsw = 0.0000 latne = 89.2770 lonne = -0.9375 lattru1 = missing lattru2 = missing lontrue = missing iscan = 0 jscan = 0 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-A North Hemis Polar Stereo 381 km ! !----------------------------------------------------------------------- ! 201 CONTINUE gridesc = 'AWIPS-A North Hemis Polar Stereo 381 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 65 nj = 65 np = ni * nj pi = 33. pj = 33. di = 381000. dj = 381000. latsw = -20.826 lonsw = -150.000 latne = missing lonne = missing lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-I Nat-CONUS Polar Stereo 190.5 km ! !----------------------------------------------------------------------- ! 202 CONTINUE gridesc = 'AWIPS-I Nat-CONUS Polar Stereo 190.5 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 65 nj = 43 np = ni * nj pi = 33. pj = 45. di = 190500. dj = 190500. latsw = 7.838 lonsw = -141.028 latne = 35.617 lonne = -18.576 lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-J Nat-Alaska Polar Stereo 190.5 km ! !----------------------------------------------------------------------- ! 203 CONTINUE gridesc = 'AWIPS-J Nat-Alaska Polar Stereo 190.5 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 45 nj = 39 np = ni * nj pi = 27. pj = 37. di = 190500. dj = 190500. latsw = 19.132 lonsw = 174.163 latne = 57.634 lonne = -53.660 lattru1 = 60.00 lattru2 = missing lontrue = -150.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-K Hawaii Mercator 1.531 deg 160 km ! !----------------------------------------------------------------------- ! 204 CONTINUE gridesc = 'AWIPS-K Hawaii Mercator 1.531 deg 160 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 1 gthin = 0 ni = 93 nj = 68 np = ni * nj pi = missing pj = missing di = 160000. dj = 160000. latsw = -25.000 lonsw = 110.000 latne = 60.644 lonne = -109.129 lattru1 = 20.00 lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-L PuertoRico Polar Stereo 190.5 km ! !----------------------------------------------------------------------- ! 205 CONTINUE gridesc = 'AWIPS-L PuertoRico Polar Stereo 190.5 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 45 nj = 39 np = ni * nj pi = 27. pj = 57. di = 190500. dj = 190500. latsw = 0.616 lonsw = -84.904 latne = 45.620 lonne = -15.000 lattru1 = 60.00 lattru2 = missing lontrue = -60.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-M US-MARD Lambert Conf 81.2705 km ! !----------------------------------------------------------------------- ! 206 CONTINUE gridesc = 'AWIPS-M US-MARD Lambert Conf 81.2705 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 3 gthin = 0 ni = 51 nj = 41 np = ni * nj pi = 30.000 pj = 169.745 di = 81270.5 dj = 81270.5 latsw = 22.289 lonsw = -117.991 latne = 51.072 lonne = -73.182 lattru1 = 25.00 lattru2 = 25.00 lontrue = -95.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-N Reg-Alaska Polar Stereo 95.25 km ! !----------------------------------------------------------------------- ! 207 CONTINUE gridesc = 'AWIPS-N Reg-Alaska Polar Stereo 95.25 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 49 nj = 35 np = ni * nj pi = 25. pj = 51. di = 95250. dj = 95250. latsw = 42.085 lonsw = -175.641 latne = 63.976 lonne = -93.689 lattru1 = 60.00 lattru2 = missing lontrue = -150.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-O Hawaii Mercator 0.766 deg 80 km ! !----------------------------------------------------------------------- ! 208 CONTINUE gridesc = 'AWIPS-O Hawaii Mercator 0.766 deg 80 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 1 gthin = 0 ni = 29 nj = 27 np = ni * nj pi = missing pj = missing di = 80000. dj = 80000. latsw = 9.343 lonsw = -167.315 latne = 28.092 lonne = -145.878 lattru1 = 20.00 lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-S RegMARD Lambert Conf 40.63525 km ! !----------------------------------------------------------------------- ! 209 CONTINUE gridesc = 'AWIPS-S RegMARD Lambert Conf 40.63525 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 3 gthin = 0 ni = 101 nj = 81 np = ni * nj pi = 59.00 pj = 338.49 di = 40635.25 dj = 40635.25 latsw = 22.289 lonsw = -117.991 latne = 51.072 lonne = -73.182 lattru1 = 25.00 lattru2 = 25.00 lontrue = -95.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-P PuertoRico Mercator .766deg 80km ! !----------------------------------------------------------------------- ! 210 CONTINUE gridesc = 'AWIPS-P PuertoRico Mercator .766deg 80km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 1 gthin = 0 ni = 25 nj = 25 np = ni * nj pi = missing pj = missing di = 80000. dj = 80000. latsw = 9.000 lonsw = -77.000 latne = 26.422 lonne = -58.625 lattru1 = 20.00 lattru2 = missing lontrue = missing iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 0 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-Q RegCONUS Lambert Conf 81.2705 km ! !----------------------------------------------------------------------- ! 211 CONTINUE gridesc = 'AWIPS-Q RegCONUS Lambert Conf 81.2705 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 3 gthin = 0 ni = 93 nj = 65 np = ni * nj pi = 53.000 pj = 178.745 di = 81270.5 dj = 81270.5 latsw = 12.190 lonsw = -133.459 latne = 57.290 lonne = -49.385 lattru1 = 25.00 lattru2 = 25.00 lontrue = -95.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-R RegCONUS Lambert Conf 40.63525km ! !----------------------------------------------------------------------- ! 212 CONTINUE gridesc = 'AWIPS-R RegCONUS Lambert Conf 40.63525km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 3 gthin = 0 ni = 185 nj = 129 np = ni * nj pi = 105.00 pj = 356.49 di = 40635.25 dj = 40635.25 latsw = 12.190 lonsw = -133.459 latne = 57.290 lonne = -49.385 lattru1 = 25.00 lattru2 = 25.00 lontrue = -95.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-H Nat-CONUS Polar Stereo 95.250 km ! !----------------------------------------------------------------------- ! 213 CONTINUE gridesc = 'AWIPS-H Nat-CONUS Polar Stereo 95.250 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 129 nj = 85 np = ni * nj pi = 65. pj = 89. di = 95250. dj = 95250. latsw = 7.838 lonsw = -141.028 latne = 35.617 lonne = -18.577 lattru1 = 60.00 lattru2 = missing lontrue = -105.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! AWIPS-T RegAlaska Polar Stereo 47.625 km ! !----------------------------------------------------------------------- ! 214 CONTINUE gridesc = 'AWIPS-T RegAlaska Polar Stereo 47.625 km' // endstr IF ( gdsflg == 1 ) GO TO 256 ! Use GDS to get grid information iproj = 5 gthin = 0 ni = 97 nj = 69 np = ni * nj pi = 49. pj = 101. di = 47625. dj = 47625. latsw = 42.085 lonsw = -175.641 latne = 63.975 lonne = -93.689 lattru1 = 60.00 lattru2 = missing lontrue = -150.00 iscan = 0 jscan = 1 kscan = 0 ires = 1 iearth = 0 icomp = 8 RETURN ! !----------------------------------------------------------------------- ! ! UNDEFINED NMC STORAGE GRID - CONSULT GDS ! !----------------------------------------------------------------------- ! 254 CONTINUE gridesc = 'UNDEFINED NMC STORAGE GRID - CONSULT GDS' // endstr GO TO 256 ! !----------------------------------------------------------------------- ! ! NON-STANDARD GRID - CONSULT GDS ! !----------------------------------------------------------------------- ! 255 CONTINUE gridesc = 'NON-STANDARD GRID - CONSULT GDS' // endstr ! !----------------------------------------------------------------------- ! ! Grid is NOT in the Master List of NMC Storage Grids! Crack GDS. ! !----------------------------------------------------------------------- ! 256 CONTINUE ! End of computed GOTO gridtyp ! !----------------------------------------------------------------------- ! ! Section 2 (GDS) octet mapping depends on type of projection. ! ! NOTE: GRIBEX decoder locations offset from WMO/NMC standard !!! ! !----------------------------------------------------------------------- ! iproj = IABS(igds(1)) ! !----------------------------------------------------------------------- ! ! Latitude/Longitude grid: ! !----------------------------------------------------------------------- ! IF (iproj == 0 .OR. iproj == 10 .OR. iproj == 20 .OR. iproj == 30) THEN gthin = igds(17) ni = igds(2) nj = igds(3) np = ni * nj latsw = .001 * FLOAT(MIN0(igds(4),igds(7))) latne = .001 * FLOAT(MAX0(igds(4),igds(7))) IF (MOD(igds(5)+360000,360000) <= MOD(igds(8)+360000,360000) ) THEN lonsw = .001 * FLOAT(igds(5)) lonne = .001 * FLOAT(igds(8)) ELSE lonsw = .001 * FLOAT(igds(8)) lonne = .001 * FLOAT(igds(5)) END IF ires = IAND(igds(6),128)/128 iearth = IAND(igds(6), 64)/64 icomp = IAND(igds(6), 8)/8 IF ( ires == 1 ) THEN di = .001 * FLOAT(igds( 9)) dj = .001 * FLOAT(igds(10)) ELSE di = missing dj = missing END IF scanmode = igds(11) iscan = IAND(scanmode,128)/128 jscan = IAND(scanmode, 64)/64 kscan = IAND(scanmode, 32)/32 ! !----------------------------------------------------------------------- ! ! Gaussian grid: ! !----------------------------------------------------------------------- ! ELSE IF (iproj == 4 .OR. iproj == 14 .OR. & iproj == 24 .OR. iproj == 34) THEN ! !----------------------------------------------------------------------- ! ! Quasi-regular (thinned) grids introduced in Edition 1. ! !----------------------------------------------------------------------- ! nj = igds( 3) gthin = igds(17) ! IF (Gthin .eq. 0 .or. iEdit .lt. 1) THEN IF (gthin == 0 ) THEN ni = igds(2) ELSE DO jj = 1, nj nit(jj) = 0 END DO j = 0 DO jj = 1, nj j = j + 1 IF (j > nj) GO TO 310 IF (j == nj) THEN nit(j) = igds(j+22) GO TO 310 END IF i = 0 300 i = i + 1 IF (igds(j+22+1) == igds(j+22)) THEN j = j + 1 GO TO 300 END IF nit(j) = igds(j+22) END DO 310 ni = 0 np = 0 DO jj = 1, nj ni = MAX0(ni,nit(jj)) np = np + nit(jj) END DO END IF latsw = .001 * FLOAT(MIN0(igds(4),igds(7))) latne = .001 * FLOAT(MAX0(igds(4),igds(7))) IF (MOD(igds(5)+360000,360000) <= MOD(igds(8)+360000,360000) ) THEN lonsw = .001 * FLOAT(igds(5)) lonne = .001 * FLOAT(igds(8)) ELSE lonsw = .001 * FLOAT(igds(8)) lonne = .001 * FLOAT(igds(5)) END IF ires = IAND(igds(6),128)/128 iearth = IAND(igds(6), 64)/64 icomp = IAND(igds(6), 8)/8 IF ( ires == 1 ) THEN di = .001 * FLOAT(igds(9)) dj = di npeq = igds(10) ELSE di = missing dj = missing npeq = nint(missing) END IF scanmode = igds(11) iscan = IAND(scanmode,128)/128 jscan = IAND(scanmode, 64)/64 kscan = IAND(scanmode, 32)/32 ! !----------------------------------------------------------------------- ! ! Spherical harmonic coefficients grid: ! !----------------------------------------------------------------------- ! ELSE IF (iproj == 50 .OR. iproj == 60 .OR. & iproj == 70 .OR. iproj == 80) THEN jpenta = igds( 2) kpenta = igds( 3) mpenta = igds( 4) ispect = igds( 5) icoeff = igds( 6) ! !----------------------------------------------------------------------- ! ! Polar stereographic grid: ! !----------------------------------------------------------------------- ! ELSE IF (iproj == 5) THEN gthin = igds(17) ni = igds(2) nj = igds(3) np = ni * nj latsw = .001 * FLOAT(igds(4)) lonsw = .001 * FLOAT(igds(5)) latne = missing lonne = missing lattru2 = missing lontrue = .001 * FLOAT(igds(7)) di = igds(8) dj = igds(9) ipole = IAND(igds(10),128)/128 IF ( ipole == 0 ) THEN lattru1 = 60. ELSE lattru1 = -60. END IF ires = IAND(igds(6),128)/128 iearth = IAND(igds(6), 64)/64 icomp = IAND(igds(6), 8)/8 scanmode = igds(11) iscan = IAND(scanmode,128)/128 jscan = IAND(scanmode, 64)/64 kscan = IAND(scanmode, 32)/32 ! !----------------------------------------------------------------------- ! ! Mercator grid: ! !----------------------------------------------------------------------- ! ELSE IF (iproj == 1) THEN gthin = igds(17) ni = igds(2) nj = igds(3) np = ni * nj latsw = .001 * FLOAT(igds(4)) lonsw = .001 * FLOAT(igds(5)) latne = .001 * FLOAT(igds(7)) lonne = .001 * FLOAT(igds(8)) lattru1 = .001 * FLOAT(igds(9)) lattru2 = missing lontrue = .001 * FLOAT(igds(7)) ires = IAND(igds(6),128)/128 iearth = IAND(igds(6), 64)/64 icomp = IAND(igds(6), 8)/8 IF ( ires == 1 ) THEN di = igds(13) dj = igds(14) ELSE di = missing dj = missing END IF scanmode = igds(11) iscan = IAND(scanmode,128)/128 jscan = IAND(scanmode, 64)/64 kscan = IAND(scanmode, 32)/32 ! !----------------------------------------------------------------------- ! ! Lambert conformal, secant or tangent, conical or bi-polar ! (normal or oblique) or ! Albers equal-area, secant or tangent, conical or bi-polar ! (normal or oblique) grid: ! !----------------------------------------------------------------------- ! ELSE IF (iproj == 3 .OR. iproj == 13) THEN gthin = igds(17) ni = igds(2) nj = igds(3) np = ni * nj latsw = .001 * FLOAT(igds(4)) lonsw = .001 * FLOAT(igds(5)) latne = missing lonne = missing lontrue = .001 * FLOAT(igds(7)) di = igds(8) dj = igds(9) ipole = IAND(igds(10),128)/128 lattru1 = .001 * FLOAT(igds(12)) lattru2 = .001 * FLOAT(igds(13)) pi = .001 * FLOAT(igds(21)) ! Longitude of South Pole pj = .001 * FLOAT(igds(20)) ! Latitude of South Pole ires = IAND(igds(6),128)/128 iearth = IAND(igds(6), 64)/64 icomp = IAND(igds(6), 8)/8 scanmode = igds(11) iscan = IAND(scanmode,128)/128 jscan = IAND(scanmode, 64)/64 kscan = IAND(scanmode, 32)/32 ! !----------------------------------------------------------------------- ! ! Semi-staggered or filled rotated Arakawa E-grid: ! !----------------------------------------------------------------------- ! ! ELSEIF (iProj .eq. 201 .or. iProj .eq. 202) THEN ! Gthin = igds(17) ! Ni = igds(7) ! Nj = igds(8) ! Np = igds(2) ! LatSW = .001 * Float(igds(4)) ! LonSW = .001 * Float(igds(5)) ! LatNE = Missing ! LonNE = Missing ! iRes = iand(igds(6),128)/128 ! iEarth = iand(igds(6), 64)/64 ! iComp = iand(igds(6), 8)/8 ! IF ( iRes.eq.1 ) THEN ! Di = .001 * Float(igds( 9)) ! Dj = .001 * Float(igds(10)) ! ELSE ! Di = Missing ! Dj = Missing ! ENDIF ! ScanMode = igds(11) ! iScan = iand(ScanMode,128)/128 ! jScan = iand(ScanMode, 64)/64 ! kScan = iand(ScanMode, 32)/32 ! !----------------------------------------------------------------------- ! ! Space view perspective or orthographic. ! !----------------------------------------------------------------------- ! ! ELSEIF (iProj .eq. 90) THEN ! Gthin = igds(17) ! Ni = igds(2) ! Nj = igds(3) ! Np = Ni * Nj ! LatSW = .001 * Float(igds(4)) ! Lat of sub-satellite point ! LonSW = .001 * Float(igds(5)) ! Lon of sub-satellite point ! LatNE = Missing ! LonNE = Missing ! LonTrue = .001 * Float(igds(13)) ! Di = igds(7) ! Diameter of the earth in x direction ! Dj = igds(8) ! Diameter of the earth in y direction ! iRes = iand(igds(6),128)/128 ! iEarth = iand(igds(6), 64)/64 ! iComp = iand(igds(6), 8)/8 ! ScanMode = igds(11) ! iScan = iand(ScanMode,128)/128 ! jScan = iand(ScanMode, 64)/64 ! kScan = iand(ScanMode, 32)/32 ! Xp = Float(igds( 9)) ! Yp = Float(igds(10)) ! Xo = Float(igds(15)) ! Yo = Float(igds(16)) ! Zo = Float(igds(14)) ! !----------------------------------------------------------------------- ! ! Reserved or undefined projection: ! !----------------------------------------------------------------------- ! ELSE RETURN END IF ! !----------------------------------------------------------------------- ! ! Extract vertical coordinate parameters: ! !----------------------------------------------------------------------- ! ! IF (igds(12) .ne. 0) THEN ! Nk = igds(12) ! Do i = 1, Nk ! Zk(i) = psec2(i+10) ! End Do ! ELSE ! Nk = Nint(Missing) ! ENDIF ! !----------------------------------------------------------------------- ! ! Rotated and stretched grids were introduced in Edition 1. ! !----------------------------------------------------------------------- ! ! IF (iEdit .ge. 1) THEN ! !----------------------------------------------------------------------- ! ! Check for rotated grid information. ! !----------------------------------------------------------------------- ! IF (iproj == 10 .OR. iproj == 30 .OR. iproj == 14 .OR. iproj == 34 .OR. & iproj == 60 .OR. iproj == 80) THEN latrot = .001 * FLOAT(igds(13)) lonrot = .001 * FLOAT(igds(14)) ! AngRot = .001 * psec2( 1) END IF ! !----------------------------------------------------------------------- ! ! Check for stretched grid information. ! !----------------------------------------------------------------------- ! IF (iproj == 20 .OR. iproj == 30 .OR. iproj == 24 .OR. iproj == 34 .OR. & iproj == 70 .OR. iproj == 80) THEN latstr = .001 * FLOAT(igds(15)) lonstr = .001 * FLOAT(igds(16)) ! FacStr = psec2(2) END IF ! ENDIF RETURN END SUBROUTINE grbgrid