示例#1
0
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]
示例#2
0
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]
示例#3
0
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)
示例#5
0
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',\