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

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/qesdi/geoplot/trunk/lib/geoplot/tests/create_national_grid_var.py@7577
Revision 7577, 2.3 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 
1import time
2
3from cdms_utils.cdms_compat import N, cdms
4from geoplot.mpl_imports import basemap
5
6from geoplot.plot_national_grid import PlotNationalGrid
7
8Basemap = basemap.Basemap
9
10
11falseOrigin = (-400000, 100000)
12trueOrigin = (358.0, 49.0)
13rsphere = [6378137.00, 6356752.3142]
14
15bm_national = Basemap(projection='tmerc',
16                 lon_0=trueOrigin[0],
17                 lat_0=trueOrigin[1],
18                 llcrnrlon=-15.0,
19                 llcrnrlat=45.0,
20                 urcrnrlon=9.0,
21                 urcrnrlat=64.0,
22                 resolution='c',
23                 rsphere = rsphere,
24                 suppress_ticks=False)
25
26def createNationalGridVar(boxSize=5, 
27                          reverseNorthings=False, 
28                          reverseEastings=False,
29                          varId='var'
30                          ):
31    boxSize = boxSize * 1000.0
32
33    x = N.arange(0., 700000 + boxSize, boxSize)
34    y = N.arange(0., 1300000 + boxSize, boxSize)
35
36    #reversed axis
37    if reverseEastings == True:
38        x = x[::-1]
39   
40    if reverseNorthings == True:
41        y = y[::-1]
42
43    axisX = cdms.createAxis(x)
44    axisX.id = 'eastings'
45   
46    axisY = cdms.createAxis(y)
47    axisY.id = 'northings'
48   
49    a = N.array(range(len(axisX) * len(axisY)), dtype=N.float64)
50    a.resize((len(axisY), len(axisX)))
51   
52    if reverseEastings == True:
53        for j in range(len(y)):
54            row =  N.array(a[j,::-1])
55            a[j,:] = row
56           
57    if reverseNorthings == True:
58        for i in range(len(x)):
59            col = N.array(a[::-1, i])
60            a[:,i] = col
61   
62    var = cdms.createVariable(a, id=varId, axes=[axisY, axisX])
63   
64    return var
65
66if __name__ == '__main__':
67   
68    import geoplot.log_util
69    geoplot.log_util.setGeoplotHandlerToStdOut()
70   
71    var = createNationalGridVar(boxSize=100, 
72                                reverseEastings=False,
73                                reverseNorthings=False,
74                                )
75   
76    plot = PlotNationalGrid(var, 
77                            xLimits=(-10.0, 6.0), 
78                            yLimits=(49.0, 63.0),
79                            valueFormat="%i",
80                            showGridLines=True,
81                            drawValues=True,
82                            )
83    plot.drawMap("out.png")
Note: See TracBrowser for help on using the repository browser.