Skip to content

Commit e3032f8

Browse files
author
David Lonie
committed
Merge pull request #860 from UV-CDAT/issue_628_regridder_regird2_mthod_gens_nan
Issue 628 regridder regird2 mthod gens nan
2 parents 1f0cd28 + 26dff4f commit e3032f8

3 files changed

Lines changed: 39 additions & 0 deletions

File tree

Packages/cdms2/Lib/tvariable.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ def ascontiguousarray(self):
7373
m= numpy.ascontiguousarray(m)
7474
out = TransientVariable(out,mask=m,attributes=self.attributes)
7575
out.setAxisList(self.getAxisList())
76+
out.setMissing(self.getMissing())
7677
return out
7778

7879
ascontiguous = ascontiguousarray

testing/cdms2/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11

22
# cdms2 tests
33

4+
add_test("test_ascontiguous_regrid_nan_issue"
5+
${CMAKE_INSTALL_PREFIX}/bin/python
6+
${cdat_SOURCE_DIR}/testing/cdms2/test_ascontiguous_regrid_nan_issue.py
7+
)
48
add_test("test_dim_unlimited"
59
${CMAKE_INSTALL_PREFIX}/bin/python
610
${cdat_SOURCE_DIR}/testing/cdms2/test_dim_unlimited.py
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import cdms2,MV2,regrid2,cdutil
2+
3+
4+
a=MV2.reshape(MV2.sin(MV2.arange(20000)),(2,1,100,100))
5+
6+
lon=cdms2.createAxis(MV2.arange(100)*3.6)
7+
lon.designateLongitude()
8+
lon.units="degrees_east"
9+
lon.id="longitude"
10+
11+
lat = cdms2.createAxis(MV2.arange(100)*1.8-90.)
12+
lat.id="latitude"
13+
lat.designateLatitude()
14+
lat.units="degrees_north"
15+
16+
lev = cdms2.createAxis([1000.])
17+
lev.id="plev"
18+
lev.designateLevel()
19+
lev.units="hPa"
20+
21+
t=cdms2.createAxis([0,31.])
22+
t.id="time"
23+
t.designateTime()
24+
t.units="days since 2014"
25+
26+
cdutil.setTimeBoundsMonthly(t)
27+
a.setAxisList((t,lev,lat,lon))
28+
a=MV2.masked_less(a,.5)
29+
grd=cdms2.createGaussianGrid(64)
30+
31+
a=a.ascontiguous()
32+
a=a.regrid(grd,regridTool="regrid2")
33+
a=cdutil.averager(a,axis='txy')
34+
assert a[0]==0.7921019540305255

0 commit comments

Comments
 (0)