Skip to content

Commit 4690756

Browse files
committed
Merge branch 'master' of github.com:Unidata/python-awips
2 parents f9feb28 + c6ce0b8 commit 4690756

File tree

3 files changed

+366
-41
lines changed

3 files changed

+366
-41
lines changed

awips/gempak/GridInfoRetriever.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ def __init__(self, server, pluginName, modelId, cycle=None, forecast=None):
1818
self.client = ThriftClient.ThriftClient(self.host, self.port)
1919

2020
def getInfo(self):
21+
import sys
2122
""" Sends ThriftClient request and writes out received files."""
2223
req = GetGridInfoRequest()
2324
req.setPluginName(self.pluginName)

docs/source/datatypes.rst

Lines changed: 48 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -10,33 +10,58 @@ Available Data Types
1010

1111

1212

13+
satellite
14+
---------
15+
16+
- 2-D NumPy Array
17+
- returned by: `awips.dataaccess.DataAccessLayer.getGridData(request, times=[])`_
18+
- example::
19+
20+
# Contrust a full satellite product tree
21+
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu)
22+
request = DataAccessLayer.newDataRequest("satellite")
23+
creatingEntities = DataAccessLayer.getIdentifierValues(request, "creatingEntity")
24+
for entity in creatingEntities:
25+
print(entity)
26+
request = DataAccessLayer.newDataRequest("satellite")
27+
request.addIdentifier("creatingEntity", entity)
28+
availableSectors = DataAccessLayer.getAvailableLocationNames(request)
29+
availableSectors.sort()
30+
for sector in availableSectors:
31+
print(" - " + sector)
32+
request.setLocationNames(sector)
33+
availableProducts = DataAccessLayer.getAvailableParameters(request)
34+
availableProducts.sort()
35+
for product in availableProducts:
36+
print(" - " + product)
37+
38+
---
39+
1340
binlightning
1441
------------
1542

1643
- Shapely Point::
1744

1845
POINT (-65.65293884277344 -16.94915580749512)
1946

20-
- returned by `awips.dataaccess.DataAccessLayer.getGeometryData(request, times=[])`_
47+
- returned by: `awips.dataaccess.DataAccessLayer.getGeometryData(request, times=[])`_
2148
- example (GLM)::
2249

23-
request = DataAccessLayer.newDataRequest()
24-
request.setDatatype("binlightning")
50+
request = DataAccessLayer.newDataRequest("binlightning")
2551
request.addIdentifier("source", "GLMgr")
2652
request.setParameters("intensity")
2753
times = DataAccessLayer.getAvailableTimes(request)
2854
response = DataAccessLayer.getGeometryData(request, times[-10:-1])
2955
for ob in response:
30-
dir(ob.getGeometry())
56+
geom = ob.getGeometry()
3157

32-
33-
------------------
58+
---
3459

3560

3661
grid
3762
----
3863

39-
- NumPy Array
64+
- 2-D NumPy Array
4065
- returned by: `awips.dataaccess.DataAccessLayer.getGridData(request, times=[])`_
4166
- example::
4267

@@ -54,7 +79,7 @@ grid
5479
lons, lats = grid.getLatLonCoords()
5580

5681

57-
------------------
82+
---
5883

5984
warning
6085
-------
@@ -67,7 +92,7 @@ warning
6792
(-92.274543999 46.652773000, ..., -92.280511999 46.656933000),
6893
(-92.285491999 46.660741000, ..., -92.285491999 46.660741000))
6994

70-
- returned by `awips.dataaccess.DataAccessLayer.getGeometryData(request, times=[])`_
95+
- returned by: `awips.dataaccess.DataAccessLayer.getGeometryData(request, times=[])`_
7196
- example::
7297

7398
request = DataAccessLayer.newDataRequest()
@@ -82,41 +107,23 @@ warning
82107
ref = ob.getDataTime().getRefTime()
83108

84109

85-
------------------
110+
---
86111

87112
radar
88113
-----
89114

90-
- NumPy Array
91-
- returned by: `RadarCommon.get_hdf5_data(idra)`_
115+
- 2-D NumPy Array
116+
- returned by: `awips.dataaccess.DataAccessLayer.getGridData(request, times=[])`_
117+
- also returned by: `RadarCommon.get_hdf5_data(idra)`_
92118
- example::
93119

94-
request = DataAccessLayer.newDataRequest()
95-
request.setDatatype("radar")
96-
request.setLocationNames("klzk")
97-
# Get latest time for site
98-
datatimes = DataAccessLayer.getAvailableTimes(request)
99-
dateTimeStr = str(datatimes[-1])
100-
#dateTimeStr = "2017-02-02 03:53:03"
101-
buffer = 60 # seconds
102-
dateTime = datetime.strptime(dateTimeStr, '%Y-%m-%d %H:%M:%S')
103-
# Build timerange +/- buffer
104-
beginRange = dateTime - timedelta(0, buffer)
105-
endRange = dateTime + timedelta(0, buffer)
106-
timerange = TimeRange(beginRange, endRange)
107-
client = ThriftClient.ThriftClient("edex-cloud.unidata.ucar.edu")
108-
request = GetRadarDataRecordRequest()
109-
request.setTimeRange(timerange)
110-
request.setRadarId("klzk")
111-
request.setProductCode("94") # N0Q
112-
request.setPrimaryElevationAngle("0.5")
113-
response = client.sendRequest(request)
114-
for record in response.getData():
115-
# Get record hdf5 data
116-
idra = record.getHdf5Data()
117-
rdat,azdat,depVals,threshVals = RadarCommon.get_hdf5_data(idra)
118-
dim = rdat.getDimension()
119-
lat,lon = float(record.getLatitude()),float(record.getLongitude())
120-
radials,rangeGates = rdat.getSizes()
121-
# Convert raw byte to pixel value
122-
rawValue=np.array(rdat.getByteData())
120+
request = DataAccessLayer.newDataRequest("radar")
121+
request.setLocationNames("kmhx")
122+
request.setParameters("Digital Hybrid Scan Refl")
123+
availableLevels = DataAccessLayer.getAvailableLevels(request)
124+
times = DataAccessLayer.getAvailableTimes(request)
125+
response = DataAccessLayer.getGridData(request, [times[-1]])
126+
for image in response:
127+
data = image.getRawData()
128+
lons, lats = image.getLatLonCoords()
129+

examples/notebooks/Precip_Accumulation-Region_Of_Interest.ipynb

Lines changed: 317 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)