DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu")#access URLrequest=DataAccessLayer.newDataRequest()# make request from created URLrequest.setDatatype("grid")#filter to grid datarequest.setLocationNames("RAP13")#filter to specific locationrequest.setParameters("T")#filter to parameter/variablerequest.setLevels("2.0FHAG")#filter to level
In [3]:
cycles=DataAccessLayer.getAvailableTimes(request,True)#(request = request from above, what data/etc. we want, True = only unique times returned, no forecast hourtimes=DataAccessLayer.getAvailableTimes(request)#now gets forecast hours for request abovefcstRun=DataAccessLayer.getForecastRun(cycles[-1],times)# Get the most recent grid dataresponse=DataAccessLayer.getGridData(request,[fcstRun[0]])
In [52]:
response;#output - [<awips.dataaccess.PyGridData.PyGridData at 0x1086612d0>]request;#output - <dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.impl.DefaultDataRequest.DefaultDataRequest at 0x108cdf250>grid=response[0]#output - <awips.dataaccess.PyGridData.PyGridData at 0x1086612d0>grid.getUnit()#output = 'K'data=grid.getRawData()#output = array with len 337lons,lats=grid.getLatLonCoords()#output = array with len 337 for both#first element is a numpy array of lons#second element is a numpy array of lats# Convert temp from Kelvin to FdestUnit='F'data=convert_temperature(data,'K',destUnit)
In [38]:
x_da=xr.DataArray(x_coords)y_da=xr.DataArray(y_coords)temp_da=xr.DataArray(data)#data is dataset from original EDEX request/response