-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Adding MRMS GRIB2 tables. This commit provides support for MRMS GRIB2 tables. MRMS uses the GRIB2 discipline value of 209. The included UserTable_MRMS_v12.2.csv contains more information than what is needed, so in time, other attributes from the table can be added. This commit references issue #120 * Adding section4_discipline209.py This commit adds section4_discipline209.py which contains the MRMS variable parameter dictionaries. This commit references issue #120 * Adding support for Gzip GRIB2 files. This commit added support for reading GRIB2 files that have also been gzipped. Some datasets gzip GRIB2 files even though there is no benefit in doing so. When using the grib2io xarray backend, an error will be raised when using Gzipped GIRB2 files. This is a restiction within xarray. This commit references issue #119 * Set kwargs["_xarray_backend"], an assert to ValueError, removed if. (#126) If not using the xarray backend, in some situations the kwargs["_xarray_backend"] throws a KeyError. Fixed that if not available setting to False, which is the default. If opening a GRIB v1 file, there was an AssertionError which is changed to raise an error and offer an error message. Removed an unnecessary if block that tested for a header which is now done in a loop immediately before. Co-authored-by: Tim Cera <tim@cerazone.net> --------- Co-authored-by: Eric Engle <EricEngle-NOAA@users.noreply.github.com> Co-authored-by: TimothyCera-NOAA <154259143+TimothyCera-NOAA@users.noreply.github.com> Co-authored-by: Tim Cera <tim@cerazone.net>
- Loading branch information
1 parent
556cc32
commit eee3f21
Showing
6 changed files
with
404 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,182 @@ | ||
table_4_2_209_2 = { | ||
'0':['CG Average Lightning Density 1-min - NLDN','flashes/km^2/min','NLDN_CG_001min_AvgDensity'], | ||
'1':['CG Average Lightning Density 5-min - NLDN','flashes/km^2/min','NLDN_CG_005min_AvgDensity'], | ||
'2':['CG Average Lightning Density 15-min - NLDN','flashes/km^2/min','NLDN_CG_015min_AvgDensity'], | ||
'3':['CG Average Lightning Density 30-min - NLDN','flashes/km^2/min','NLDN_CG_030min_AvgDensity'], | ||
'5':['Lightning Probability 0-30 minutes - NLDN','%','LightningProbabilityNext30minGrid'], | ||
'6':['Lightning Probability 0-30 minutes - NLDN','%','LightningProbabilityNext60minGrid'], | ||
'7':['Rapid lightning increases and decreases ','non-dim','LightningJumpGrid'], | ||
'8':['Rapid lightning increases and decreases over 5-minutes ','non-dim','LightningJumpGrid_Max_005min'], | ||
} | ||
|
||
table_4_2_209_3 = { | ||
'0':['Azimuth Shear 0-2km AGL','0.001/s','MergedAzShear0to2kmAGL'], | ||
'1':['Azimuth Shear 3-6km AGL','0.001/s','MergedAzShear3to6kmAGL'], | ||
'2':['Rotation Track 0-2km AGL 30-min','0.001/s','RotationTrack30min'], | ||
'3':['Rotation Track 0-2km AGL 60-min','0.001/s','RotationTrack60min'], | ||
'4':['Rotation Track 0-2km AGL 120-min','0.001/s','RotationTrack120min'], | ||
'5':['Rotation Track 0-2km AGL 240-min','0.001/s','RotationTrack240min'], | ||
'6':['Rotation Track 0-2km AGL 360-min','0.001/s','RotationTrack360min'], | ||
'7':['Rotation Track 0-2km AGL 1440-min','0.001/s','RotationTrack1440min'], | ||
'14':['Rotation Track 3-6km AGL 30-min','0.001/s','RotationTrackML30min'], | ||
'15':['Rotation Track 3-6km AGL 60-min','0.001/s','RotationTrackML60min'], | ||
'16':['Rotation Track 3-6km AGL 120-min','0.001/s','RotationTrackML120min'], | ||
'17':['Rotation Track 3-6km AGL 240-min','0.001/s','RotationTrackML240min'], | ||
'18':['Rotation Track 3-6km AGL 360-min','0.001/s','RotationTrackML360min'], | ||
'19':['Rotation Track 3-6km AGL 1440-min','0.001/s','RotationTrackML1440min'], | ||
'26':['Severe Hail Index','index','SHI'], | ||
'27':['Prob of Severe Hail','%','POSH'], | ||
'28':['Maximum Estimated Size of Hail (MESH)','mm','MESH'], | ||
'29':['MESH Hail Swath 30-min','mm','MESHMax30min'], | ||
'30':['MESH Hail Swath 60-min','mm','MESHMax60min'], | ||
'31':['MESH Hail Swath 120-min','mm','MESHMax120min'], | ||
'32':['MESH Hail Swath 240-min','mm','MESHMax240min'], | ||
'33':['MESH Hail Swath 360-min','mm','MESHMax360min'], | ||
'34':['MESH Hail Swath 1440-min','mm','MESHMax1440min'], | ||
'37':['VIL Swath 120-min','kg/m^2','VIL_Max_120min'], | ||
'40':['VIL Swath 1440-min','kg/m^2','VIL_Max_1440min'], | ||
'41':['Vertically Integrated Liquid','kg/m^2','VIL'], | ||
'42':['Vertically Integrated Liquid Density','g/m^3','VIL_Density'], | ||
'43':['Vertically Integrated Ice','kg/m^2','VII'], | ||
'44':['Echo Top - 18 dBZ','km MSL','EchoTop_18'], | ||
'45':['Echo Top - 30 dBZ','km MSL','EchoTop_30'], | ||
'46':['Echo Top - 50 dBZ','km MSL','EchoTop_50'], | ||
'47':['Echo Top - 60 dBZ','km MSL','EchoTop_60'], | ||
'48':['Thickness [50 dBZ top - (-20C)]','km','H50AboveM20C'], | ||
'49':['Thickness [50 dBZ top - 0C]','km','H50Above0C'], | ||
'50':['Thickness [60 dBZ top - (-20C)]','km','H60AboveM20C'], | ||
'51':['Thickness [60 dBZ top - 0C]','km','H60Above0C'], | ||
'52':['Isothermal Reflectivity at 0C','dBZ','Reflectivity_0C'], | ||
'53':['Isothermal Reflectivity at -5C','dBZ','Reflectivity_-5C'], | ||
'54':['Isothermal Reflectivity at -10C','dBZ','Reflectivity_-10C'], | ||
'55':['Isothermal Reflectivity at -15C','dBZ','Reflectivity_-15C'], | ||
'56':['Isothermal Reflectivity at -20C','dBZ','Reflectivity_-20C'], | ||
'57':['ReflectivityAtLowestAltitude','dBZ','ReflectivityAtLowestAltitude'], | ||
'57':['ReflectivityAtLowestAltitude resampled from 1 to 5km resolution','dBZ','ReflectivityAtLowestAltitude5km'], | ||
'58':['Non Quality Controlled Reflectivity At Lowest Altitude','dBZ','MergedReflectivityAtLowestAltitude'], | ||
} | ||
|
||
table_4_2_209_6 = { | ||
'0':['Surface Precipitation Type (Convective, Stratiform, Tropical, Hail, Snow)','flag','PrecipFlag'], | ||
'1':['Radar Precipitation Rate','mm/hr','PrecipRate'], | ||
'2':['Radar precipitation accumulation 1-hour','mm','RadarOnly_QPE_01H'], | ||
'3':['Radar precipitation accumulation 3-hour','mm','RadarOnly_QPE_03H'], | ||
'4':['Radar precipitation accumulation 6-hour','mm','RadarOnly_QPE_06H'], | ||
'5':['Radar precipitation accumulation 12-hour','mm','RadarOnly_QPE_12H'], | ||
'6':['Radar precipitation accumulation 24-hour','mm','RadarOnly_QPE_24H'], | ||
'7':['Radar precipitation accumulation 48-hour','mm','RadarOnly_QPE_48H'], | ||
'8':['Radar precipitation accumulation 72-hour','mm','RadarOnly_QPE_72H'], | ||
'30':['Multi-sensor accumulation 1-hour (1-hour latency)','mm','MultiSensor_QPE_01H_Pass1'], | ||
'31':['Multi-sensor accumulation 3-hour (1-hour latency)','mm','MultiSensor_QPE_03H_Pass1'], | ||
'32':['Multi-sensor accumulation 6-hour (1-hour latency)','mm','MultiSensor_QPE_06H_Pass1'], | ||
'33':['Multi-sensor accumulation 12-hour (1-hour latency)','mm','MultiSensor_QPE_12H_Pass1'], | ||
'34':['Multi-sensor accumulation 24-hour (1-hour latency)','mm','MultiSensor_QPE_24H_Pass1'], | ||
'35':['Multi-sensor accumulation 48-hour (1-hour latency)','mm','MultiSensor_QPE_48H_Pass1'], | ||
'36':['Multi-sensor accumulation 72-hour (1-hour latency)','mm','MultiSensor_QPE_72H_Pass1'], | ||
'37':['Multi-sensor accumulation 1-hour (2-hour latency)','mm','MultiSensor_QPE_01H_Pass2'], | ||
'38':['Multi-sensor accumulation 3-hour (2-hour latency)','mm','MultiSensor_QPE_03H_Pass2'], | ||
'39':['Multi-sensor accumulation 6-hour (2-hour latency)','mm','MultiSensor_QPE_06H_Pass2'], | ||
'40':['Multi-sensor accumulation 12-hour (2-hour latency)','mm','MultiSensor_QPE_12H_Pass2'], | ||
'41':['Multi-sensor accumulation 24-hour (2-hour latency)','mm','MultiSensor_QPE_24H_Pass2'], | ||
'42':['Multi-sensor accumulation 48-hour (2-hour latency)','mm','MultiSensor_QPE_48H_Pass2'], | ||
'43':['Multi-sensor accumulation 72-hour (2-hour latency)','mm','MultiSensor_QPE_72H_Pass2'], | ||
'44':['Method IDs for blended single and dual-pol derived precip rates ','flag','SyntheticPrecipRateID'], | ||
'45':['Radar precipitation accumulation 15-minute','mm','RadarOnly_QPE_15M'], | ||
'46':['Radar precipitation accumulation since 12Z','mm','RadarOnly_QPE_Since12Z'], | ||
} | ||
|
||
table_4_2_209_7 = { | ||
'0':['Model Surface temperature','C','Model_SurfaceTemp'], | ||
'1':['Model Surface wet bulb temperature','C','Model_WetBulbTemp'], | ||
'2':['Probability of warm rain','%','WarmRainProbability'], | ||
'3':['Model Freezing Level Height','m MSL','Model_0degC_Height'], | ||
'4':['Brightband Top Height','m AGL','BrightBandTopHeight'], | ||
'5':['Brightband Bottom Height','m AGL','BrightBandBottomHeight'], | ||
} | ||
|
||
table_4_2_209_8 = { | ||
'0':['Radar Quality Index','non-dim','RadarQualityIndex'], | ||
'1':['Gauge Influence Index for 1-hour QPE (1-hour latency)','non-dim','GaugeInflIndex_01H_Pass1'], | ||
'2':['Gauge Influence Index for 3-hour QPE (1-hour latency)','non-dim','GaugeInflIndex_03H_Pass1'], | ||
'3':['Gauge Influence Index for 6-hour QPE (1-hour latency)','non-dim','GaugeInflIndex_06H_Pass1'], | ||
'4':['Gauge Influence Index for 12-hour QPE (1-hour latency)','non-dim','GaugeInflIndex_12H_Pass1'], | ||
'5':['Gauge Influence Index for 24-hour QPE (1-hour latency)','non-dim','GaugeInflIndex_24H_Pass1'], | ||
'6':['Gauge Influence Index for 48-hour QPE (1-hour latency)','non-dim','GaugeInflIndex_48H_Pass1'], | ||
'7':['Gauge Influence Index for 72-hour QPE (1-hour latency)','non-dim','GaugeInflIndex_72H_Pass1'], | ||
'8':['Seamless Hybrid Scan Reflectivity with VPR correction','dBZ','SeamlessHSR'], | ||
'9':['Height of Seamless Hybrid Scan Reflectivity','km AGL','SeamlessHSRHeight'], | ||
'10':['Radar 1-hour QPE Accumulation Quality','non-dim','RadarAccumulationQualityIndex_01H'], | ||
'11':['Radar 3-hour QPE Accumulation Quality','non-dim','RadarAccumulationQualityIndex_03H'], | ||
'12':['Radar 6-hour QPE Accumulation Quality','non-dim','RadarAccumulationQualityIndex_06H'], | ||
'13':['Radar 12-hour QPE Accumulation Quality','non-dim','RadarAccumulationQualityIndex_12H'], | ||
'14':['Radar 24-hour QPE Accumulation Quality','non-dim','RadarAccumulationQualityIndex_24H'], | ||
'15':['Radar 48-hour QPE Accumulation Quality','non-dim','RadarAccumulationQualityIndex_48H'], | ||
'16':['Radar 72-hour QPE Accumulation Quality','non-dim','RadarAccumulationQualityIndex_72H'], | ||
'17':['Gauge Influence Index for 1-hour QPE (2-hour latency)','non-dim','GaugeInflIndex_01H_Pass2'], | ||
'18':['Gauge Influence Index for 3-hour QPE (2-hour latency)','non-dim','GaugeInflIndex_03H_Pass2'], | ||
'19':['Gauge Influence Index for 6-hour QPE (2-hour latency)','non-dim','GaugeInflIndex_06H_Pass2'], | ||
'20':['Gauge Influence Index for 12-hour QPE (2-hour latency)','non-dim','GaugeInflIndex_12H_Pass2'], | ||
'21':['Gauge Influence Index for 24-hour QPE (2-hour latency)','non-dim','GaugeInflIndex_24H_Pass2'], | ||
'22':['Gauge Influence Index for 48-hour QPE (2-hour latency)','non-dim','GaugeInflIndex_48H_Pass2'], | ||
'23':['Gauge Influence Index for 72-hour QPE (2-hour latency)','non-dim','GaugeInflIndex_72H_Pass2'], | ||
} | ||
|
||
table_4_2_209_9 = { | ||
'0':['3D Reflectivty Mosaic - 33 CAPPIS (500-19000m)','dBZ','MergedReflectivityQC'], | ||
'3':['3D RhoHV Mosaic - 33 CAPPIS (500-19000m)','non-dim','MergedRhoHV'], | ||
'4':['3D Zdr Mosaic - 33 CAPPIS (500-19000m)','dB','MergedZdr'], | ||
} | ||
|
||
table_4_2_209_10 = { | ||
'0':['Composite Reflectivity Mosaic (optimal method)','dBZ','MergedReflectivityQCComposite'], | ||
'0':['Composite Reflectivity Mosaic (optimal method) resampled from 1 to 5km','dBZ','MergedReflectivityQCComposite5km'], | ||
'1':['Height of Composite Reflectivity Mosaic (optimal method)','m MSL','HeightCompositeReflectivity'], | ||
'2':['Low-Level Composite Reflectivity Mosaic (0-4km)','dBZ','LowLevelCompositeReflectivity'], | ||
'3':['Height of Low-Level Composite Reflectivity Mosaic (0-4km)','m MSL','HeightLowLevelCompositeReflectivity'], | ||
'4':['Layer Composite Reflectivity Mosaic 0-24kft (low altitude)','dBZ','LayerCompositeReflectivity_Low'], | ||
'5':['Layer Composite Reflectivity Mosaic 24-60 kft (highest altitude)','dBZ','LayerCompositeReflectivity_High'], | ||
'6':['Layer Composite Reflectivity Mosaic 33-60 kft (super high altitude)','dBZ','LayerCompositeReflectivity_Super'], | ||
'7':['Composite Reflectivity Hourly Maximum','dBZ','CREF_1HR_MAX'], | ||
'9':['Layer Composite Reflectivity Mosaic (2-4.5km) (for ANC)','dBZ','LayerCompositeReflectivity_ANC'], | ||
'10':['Base Reflectivity Hourly Maximum','dBZ','BREF_1HR_MAX'], | ||
} | ||
|
||
table_4_2_209_11 = { | ||
'0':['Base Reflectivity Mosaic (optimal method)','dBZ','MergedBaseReflectivityQC'], | ||
'1':['Raw Composite Reflectivity Mosaic (max ref)','dBZ','MergedReflectivityComposite'], | ||
'2':['Composite Reflectivity Mosaic (max ref)','dBZ','MergedReflectivityQComposite'], | ||
'3':['Raw Base Reflectivity Mosaic (optimal method)','dBZ','MergedBaseReflectivity'], | ||
} | ||
|
||
table_4_2_209_12 = { | ||
'0':['FLASH QPE-CREST Unit Streamflow','m^3/s/km^2','FLASH_CREST_MAXUNITSTREAMFLOW'], | ||
'1':['FLASH QPE-CREST Streamflow','m^3/s','FLASH_CREST_MAXSTREAMFLOW'], | ||
'2':['FLASH QPE-CREST Soil Saturation','%','FLASH_CREST_MAXSOILSAT'], | ||
'4':['FLASH QPE-SAC Unit Streamflow','m^3/s/km^2','FLASH_SAC_MAXUNITSTREAMFLOW'], | ||
'5':['FLASH QPE-SAC Streamflow','m^3/s','FLASH_SAC_MAXSTREAMFLOW'], | ||
'6':['FLASH QPE-SAC Soil Saturation','%','FLASH_SAC_MAXSOILSAT'], | ||
'14':['FLASH QPE Average Recurrence Interval 30-min','years','FLASH_QPE_ARI30M'], | ||
'15':['FLASH QPE Average Recurrence Interval 01H','years','FLASH_QPE_ARI01H'], | ||
'16':['FLASH QPE Average Recurrence Interval 03H','years','FLASH_QPE_ARI03H'], | ||
'17':['FLASH QPE Average Recurrence Interval 06H','years','FLASH_QPE_ARI06H'], | ||
'18':['FLASH QPE Average Recurrence Interval 12H','years','FLASH_QPE_ARI12H'], | ||
'19':['FLASH QPE Average Recurrence Interval 24H','years','FLASH_QPE_ARI24H'], | ||
'20':['FLASH QPE Average Recurrence Interval Maximum','years','FLASH_QPE_ARIMAX'], | ||
'26':['FLASH QPE-to-FFG Ratio 01H','non-dim','FLASH_QPE_FFG01H'], | ||
'27':['FLASH QPE-to-FFG Ratio 03H','non-dim','FLASH_QPE_FFG03H'], | ||
'28':['FLASH QPE-to-FFG Ratio 06H','non-dim','FLASH_QPE_FFG06H'], | ||
'29':['FLASH QPE-to-FFG Ratio Maximum','non-dim','FLASH_QPE_FFGMAX'], | ||
'39':['FLASH QPE-Hydrophobic Unit Streamflow','m^3/s/km^2','FLASH_HP_MAXUNITSTREAMFLOW'], | ||
'40':['FLASH QPE-Hydrophobic Streamflow','m^3/s','FLASH_HP_MAXSTREAMFLOW'], | ||
} | ||
|
||
table_4_2_209_13 = { | ||
'0':['Likelihood of convection over the next 01H','non-dim','ANC_ConvectiveLikelihood'], | ||
'1':['01H reflectivity forecast','dBZ','ANC_FinalForecast'], | ||
} | ||
|
||
table_4_2_209_14 = { | ||
'0':['Level III High Resolution Enhanced Echo Top mosaic','kft','LVL3_HREET'], | ||
'1':['Level III High Resouion VIL mosaic','kg/m^2','LVL3_HighResVIL'], | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
Flag,Description | ||
-3,no coverage | ||
0,no precipitation | ||
1,warm stratiform rain | ||
3,snow | ||
6,convective rain | ||
7,rain mixed with hail | ||
10,cold stratiform rain | ||
91,tropical/stratiform rain mix | ||
96,tropical/convective rain mix |
Oops, something went wrong.