Skip to content

Commit 804abe8

Browse files
author
David Lonie
committed
Merge pull request #985 from UV-CDAT/issue_984_criteriaargclim
fix #984
2 parents 45d9879 + 4386f6a commit 804abe8

File tree

3 files changed

+38
-1
lines changed

3 files changed

+38
-1
lines changed

Packages/cdutil/Lib/times.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1356,7 +1356,7 @@ def climatology(self,slab,criteriaarg=None,criteriaargclim=None,statusbar=None,s
13561356
'''
13571357
cdat_info.pingPCMDIdb("cdat","cdutil.times.Seasons.climatology -%s-" % self.seasons)
13581358
u=self.month_fix(slab)
1359-
if criteriaargclim is None: criteriaargclim=criteriaarg
1359+
#if criteriaargclim is None: criteriaargclim=criteriaarg
13601360
order=slab.getOrder(ids=1)
13611361
initialgrid = slab.getGrid()
13621362

testing/cdutil/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ if(CDAT_DOWNLOAD_SAMPLE_DATA)
4949
add_test("test_years"
5050
"${PYTHON_EXECUTABLE}"
5151
${cdat_SOURCE_DIR}/testing/cdutil/test_years.py)
52+
add_test("test_djf_criteria"
53+
"${PYTHON_EXECUTABLE}"
54+
${cdat_SOURCE_DIR}/testing/cdutil/test_djf_criteria.py)
5255
endif()
5356

5457
# Tests which should fail
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import cdms2
2+
import numpy
3+
4+
data = [1,]*12+[2,]*12
5+
6+
print data
7+
8+
months = range(24)
9+
10+
t=cdms2.createAxis(months)
11+
t.designateTime()
12+
t.units="months since 2014"
13+
14+
import cdutil
15+
16+
cdutil.setTimeBoundsMonthly(t)
17+
import MV2,numpy
18+
data = numpy.array(data)
19+
data=MV2.array(data)
20+
data.setAxis(0,t)
21+
print t.asComponentTime()
22+
djf = cdutil.times.DJF(data)
23+
djfc = cdutil.times.DJF.climatology(data)
24+
print djf
25+
assert(numpy.allclose(djf[0],1.) and numpy.allclose(djf[1],1.6666667) and numpy.allclose(djf[2],2.))
26+
print djfc
27+
assert(numpy.allclose(djfc,1.625))
28+
djf = cdutil.times.DJF(data,criteriaarg=[.5,None])
29+
djfc = cdutil.times.DJF.climatology(data,criteriaarg=[.5,None])
30+
31+
print djf
32+
assert(numpy.ma.allclose(djf[0],1.) and numpy.ma.allclose(djf[1],1.6666667) and numpy.ma.allclose(djf[2],numpy.ma.masked))
33+
print djfc
34+
assert(numpy.allclose(djfc,1.4))

0 commit comments

Comments
 (0)