``` #!python import numpy as np from ufpy.dataaccess import DataAccessLayer #Initiate a new DataRequest request = DataAccessLayer.newDataRequest() #Set the datatype to grid so it knows what plugin to route the request too request.setDatatype("grid") #Use setLocationNames to set the model we want data from request.setLocationNames('RUC130') #Next we set the variable and level of data we want request.setParameters("T") request.setLevels("850MB") #getAvailableTimes allows us to query what times are available based off of the #model, parameter, and levels we have previously identified. These are of the type #dynamicserialize.dstypes.com.raytheon.uf.common.time.DataTime.DataTime. t = DataAccessLayer.getAvailableTimes(request) print t #Loop through each DataTime object in our returned list and print the RefTime and ValidPeriod #See dynamicserialize.dstypes.com.raytheon.uf.common.time.DataTime.DataTime for methods available #with this object for each in t: print each.getRefTime(),each.getValidPeriod() ``` getAvailableTimes() returns a list of !DataTime objects and the print statement above would show something like this: ``` [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ] ``` There are methods on the !DataTime object to pull out specific information...for example in the loop above we go through each !DataTime object and print out the !RefTime and !ValidPeriod ``` Apr 28 15 07:00:00 GMT (Apr 28 15 07:00:00 , Apr 28 15 07:00:00 ) Apr 28 15 08:00:00 GMT (Apr 28 15 08:00:00 , Apr 28 15 08:00:00 ) Apr 28 15 07:00:00 GMT (Apr 28 15 08:00:00 , Apr 28 15 08:00:00 ) Apr 28 15 09:00:00 GMT (Apr 28 15 09:00:00 , Apr 28 15 09:00:00 ) Apr 28 15 08:00:00 GMT (Apr 28 15 09:00:00 , Apr 28 15 09:00:00 ) Apr 28 15 07:00:00 GMT (Apr 28 15 09:00:00 , Apr 28 15 09:00:00 ) Apr 28 15 10:00:00 GMT (Apr 28 15 10:00:00 , Apr 28 15 10:00:00 ) Apr 28 15 09:00:00 GMT (Apr 28 15 10:00:00 , Apr 28 15 10:00:00 ) Apr 28 15 08:00:00 GMT (Apr 28 15 10:00:00 , Apr 28 15 10:00:00 ) Apr 28 15 07:00:00 GMT (Apr 28 15 10:00:00 , Apr 28 15 10:00:00 ) Apr 28 15 11:00:00 GMT (Apr 28 15 11:00:00 , Apr 28 15 11:00:00 ) Apr 28 15 10:00:00 GMT (Apr 28 15 11:00:00 , Apr 28 15 11:00:00 ) Apr 28 15 09:00:00 GMT (Apr 28 15 11:00:00 , Apr 28 15 11:00:00 ) Apr 28 15 08:00:00 GMT (Apr 28 15 11:00:00 , Apr 28 15 11:00:00 ) Apr 28 15 07:00:00 GMT (Apr 28 15 11:00:00 , Apr 28 15 11:00:00 ) Apr 28 15 12:00:00 GMT (Apr 28 15 12:00:00 , Apr 28 15 12:00:00 ) Apr 28 15 11:00:00 GMT (Apr 28 15 12:00:00 , Apr 28 15 12:00:00 ) Apr 28 15 10:00:00 GMT (Apr 28 15 12:00:00 , Apr 28 15 12:00:00 ) Apr 28 15 09:00:00 GMT (Apr 28 15 12:00:00 , Apr 28 15 12:00:00 ) Apr 28 15 08:00:00 GMT (Apr 28 15 12:00:00 , Apr 28 15 12:00:00 ) Apr 28 15 07:00:00 GMT (Apr 28 15 12:00:00 , Apr 28 15 12:00:00 ) Apr 28 15 13:00:00 GMT (Apr 28 15 13:00:00 , Apr 28 15 13:00:00 ) Apr 28 15 12:00:00 GMT (Apr 28 15 13:00:00 , Apr 28 15 13:00:00 ) ... ```