source: qesdi/geoplot/trunk/lib/geoplot/tests/create_lat_lon_grid_var.py @ 7577

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/qesdi/geoplot/trunk/lib/geoplot/tests/create_lat_lon_grid_var.py@7577
Revision 7577, 2.2 KB checked in by astephen, 10 years ago (diff)

Committed changes to be compatible with Matplotlib and Basemap versions
1.0.0. Note that these changes "should" be backwards compatible.
Egg created from this version.

Line 
1from cdms_utils.cdms_compat import N, cdms
2from geoplot.mpl_imports import basemap
3
4from geoplot.plot_lat_lon import PlotLatLon
5
6Basemap = basemap.Basemap
7
8
9falseOrigin = (-400000, 100000)
10trueOrigin = (358.0, 49.0)
11rsphere = [6378137.00, 6356752.3142]
12
13bm_national = Basemap(projection='tmerc',
14                 lon_0=trueOrigin[0],
15                 lat_0=trueOrigin[1],
16                 llcrnrlon=-15.0,
17                 llcrnrlat=45.0,
18                 urcrnrlon=9.0,
19                 urcrnrlat=60.0,
20                 resolution='c',
21                 rsphere = rsphere,
22                 suppress_ticks=False)
23
24def createLatLonVar(boxSize=0.5, 
25                          reverseLon=False, 
26                          reverseLat=False,
27                          varId='var'
28                          ):
29
30    x = N.arange(-10.0, 3.0 + boxSize, boxSize)
31    y = N.arange(49.0, 60.0 + boxSize, boxSize)
32
33    #reversed axis
34    if reverseLon == True:
35        x = x[::-1]
36   
37    if reverseLat == True:
38        y = y[::-1]
39
40    axisX = cdms.createAxis(x)
41    axisX.id = 'longitude'
42    axisX.axis = 'X'
43   
44    axisY = cdms.createAxis(y)
45    axisY.id = 'latitude'
46    axisY.axes = 'Y'
47   
48    a = N.array(range(len(axisX) * len(axisY)), dtype=N.float64)
49    a.resize((len(axisY), len(axisX)))
50   
51    if reverseLon == True:
52        for j in range(len(y)):
53            row =  N.array(a[j,::-1])
54            a[j,:] = row
55           
56    if reverseLat == True:
57        for i in range(len(x)):
58            col = N.array(a[::-1, i])
59            a[:,i] = col
60   
61    var = cdms.createVariable(a, id=varId, axes=[axisY, axisX])
62   
63    return var
64
65if __name__ == '__main__':
66   
67    import geoplot.log_util
68    geoplot.log_util.setGeoplotHandlerToStdOut()
69   
70    var = createLatLonVar(boxSize=1, 
71                        reverseLon=True,
72                        reverseLat=True,
73                                )
74   
75    plot = PlotLatLon(var, 
76                            xLimits=(-11.0, 4.0), 
77                            yLimits=(48.0, 61.0),
78                            valueFormat="%i",
79                            showGridLines=True,
80                            drawValues=True,
81                            )
82    plot.drawMap("out.png")
Note: See TracBrowser for help on using the repository browser.