def loadDataYear(year, model, var , latindex = -1, lonindex = -1, reallat = -1, reallon = -1): data1d = [] lat=[] lon=[] baseDir = 'data/' + model + '/' + var + '/' for i in range(1,13): t = "" if i < 10: t = var + '_' + str(year) + '_0' + str(i) + '_01' else: t = var + '_' + str(year) + '_' + str(i) + '_01' data = scipy.io.loadmat(baseDir + t + '.mat') data = data[t][0] if latindex == -1 and lonindex == -1 and (reallat != -1 and reallon != -1): latindex = LatLonIndex.findLatIndex(reallat, data) latindex = latindex[0] lonindex = LatLonIndex.findLonIndex(reallon, data) lonindex = lonindex[1] if len(lat)==0: lat=data[0] lon=data[1] for d in range(0, len(data[2][latindex,lonindex])): data1d.append(data[2][latindex,lonindex,d]) return [lat[latindex,lonindex],lon[latindex,lonindex],data1d]
def loadDataYear(year, model, var, latindex=-1, lonindex=-1, reallat=-1, reallon=-1): data1d = [] lat = [] lon = [] baseDir = 'data/' + model + '/' + var + '/' for i in range(1, 13): t = "" if i < 10: t = var + '_' + str(year) + '_0' + str(i) + '_01' else: t = var + '_' + str(year) + '_' + str(i) + '_01' data = scipy.io.loadmat(baseDir + t + '.mat') data = data[t][0] if latindex == -1 and lonindex == -1 and (reallat != -1 and reallon != -1): latindex = LatLonIndex.findLatIndex(reallat, data) latindex = latindex[0] lonindex = LatLonIndex.findLonIndex(reallon, data) lonindex = lonindex[1] if len(lat) == 0: lat = data[0] lon = data[1] for d in range(0, len(data[2][latindex, lonindex])): data1d.append(data[2][latindex, lonindex, d]) return [lat[latindex, lonindex], lon[latindex, lonindex], data1d]
def getDataMap(latRange, lonRange, year, model, var): # load test data file testdata = scipy.io.loadmat(str('data/' + model + '/' + var + '/' + var + '_' + str(year) + '_01' + '_01')) testdata = testdata[str(var + '_' + str(year) + '_01' + '_01')][0] latLonRange = LatLonIndex.findLatLonRange(latRange, lonRange, testdata) dataMap = [] lat=[] lon=[] for i in latLonRange[0]: row = [] latrow=[] lonrow=[] for j in latLonRange[1]: x = LoadDataYear.loadDataYear(year, model, var, latindex = i, lonindex = j) latrow.append(x[0]) lonrow.append(x[1]) row.append(x[2]) dataMap.append(row) lat.append(latrow) lon.append(lonrow) return [lat,lon,dataMap]
@author: ethan """ from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt import numpy as np import scipy import LatLonIndex import GetDataMap upLat = 40 lowLat = 20 lftLon = 70 rgtLon = 100 latLonRange = LatLonIndex.findLatLonRange([lowLat, upLat], [lftLon, rgtLon], []) latRange = latLonRange[0] lonRange = latLonRange[1] Data = GetDataMap.getDataMap(latRange,lonRange,2004,"tasmax") print len(Data[2]) print len(Data[2][0]) Data_average = GetDataMap.getTimeAvg(Data[2]) tempDataLat = Data[0] tempDataLon = Data[1] tempDataData = Data_average[2] flatTLat = np.array(tempDataLat) flatTLon = np.array(tempDataLon) flatTData = np.array(tempDataData)
from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt import numpy as np import scipy import LatLonIndex import GetDataMap upLat = 40 lowLat = 20 lftLon = 70 rgtLon = 100 latLonRange = LatLonIndex.findLatLonRange([lowLat, upLat], [lftLon, rgtLon], []) latRange = latLonRange[0] lonRange = latLonRange[1] Data = GetDataMap.getDataMap(latRange, lonRange, 2004, "tasmax") print len(Data[2]) print len(Data[2][0]) Data_average = GetDataMap.getTimeAvg(Data[2]) tempDataLat = Data[0] tempDataLon = Data[1] tempDataData = Data_average[2] flatTLat = np.array(tempDataLat) flatTLon = np.array(tempDataLon) flatTData = np.array(tempDataData) m = Basemap(width=10000000/5,height=7000000/5, resolution='l',projection='stere',\