|
12 | 12 | from proj import Proj
|
13 | 13 | import matplotlib.numerix as NX
|
14 | 14 | from matplotlib.numerix import ma
|
15 |
| -from matplotlib.mlab import linspace |
| 15 | +from numpy import linspace |
16 | 16 | from matplotlib.numerix.mlab import squeeze
|
17 | 17 | from matplotlib.cbook import popd, is_scalar
|
18 | 18 | from shapelib import ShapeFile
|
@@ -2175,12 +2175,11 @@ def transform_vector(self,uin,vin,lons,lats,nx,ny,returnxy=False,checkbounds=Fal
|
2175 | 2175 | uin = interp(uin,lons,lats,lonsout,latsout,checkbounds=checkbounds,order=order,masked=masked)
|
2176 | 2176 | vin = interp(vin,lons,lats,lonsout,latsout,checkbounds=checkbounds,order=order,masked=masked)
|
2177 | 2177 | # rotate from geographic to map coordinates.
|
2178 |
| - delta = 0.1 # incement in latitude used to estimate derivatives. |
| 2178 | + delta = 0.1 # increment in latitude used to estimate derivatives. |
2179 | 2179 | xn,yn = self(lonsout,NX.where(latsout+delta<90.,latsout+delta,latsout-delta))
|
2180 |
| - dxdlat = NX.where(latsout+delta<90.,(xn-x)/(latsout+delta),(x-xn)/(latsout+delta)) |
2181 |
| - dydlat = NX.where(latsout+delta<90.,(yn-y)/(latsout+delta),(y-yn)/(latsout+delta)) |
2182 | 2180 | # northangle is the angle between true north and the y axis.
|
2183 |
| - northangle = NX.arctan2(dxdlat,dydlat) |
| 2181 | + northangle = NX.where(lats+delta<90, NX.arctan2(xn-x, yn-y), |
| 2182 | + NX.arctan2(x-xn, y-yn)) |
2184 | 2183 | uout = uin*NX.cos(northangle) + vin*NX.sin(northangle)
|
2185 | 2184 | vout = vin*NX.cos(northangle) - uin*NX.sin(northangle)
|
2186 | 2185 | if returnxy:
|
@@ -2211,12 +2210,10 @@ def rotate_vector(self,uin,vin,lons,lats,returnxy=False):
|
2211 | 2210 | """
|
2212 | 2211 | x, y = self(lons, lats)
|
2213 | 2212 | # rotate from geographic to map coordinates.
|
2214 |
| - delta = 0.1 # incement in latitude used to estimate derivatives. |
| 2213 | + delta = 0.1 # increment in latitude used to estimate derivatives. |
2215 | 2214 | xn,yn = self(lons,NX.where(lats+delta<90.,lats+delta,lats-delta))
|
2216 |
| - dxdlat = NX.where(lats+delta<90.,(xn-x)/(lats+delta),(x-xn)/(lats+delta)) |
2217 |
| - dydlat = NX.where(lats+delta<90.,(yn-y)/(lats+delta),(y-yn)/(lats+delta)) |
2218 |
| - # northangle is the angle between true north and the y axis. |
2219 |
| - northangle = NX.arctan2(dxdlat,dydlat) |
| 2215 | + northangle = NX.where(lats+delta<90, NX.arctan2(xn-x, yn-y), |
| 2216 | + NX.arctan2(x-xn, y-yn)) |
2220 | 2217 | uout = uin*NX.cos(northangle) + vin*NX.sin(northangle)
|
2221 | 2218 | vout = vin*NX.cos(northangle) - uin*NX.sin(northangle)
|
2222 | 2219 | if returnxy:
|
|
0 commit comments