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

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

Moved QESDI tree from DCIP repository
 http://proj.badc.rl.ac.uk/svn/dcip/qesdi@3900.

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