Skip to content

Commit

Permalink
fix setGrid (#193)
Browse files Browse the repository at this point in the history
* fix setGrid

* add squeeze array to MV2

* pinned libnetcdf=4.4.1.1=9

* pinned libnetcdf=4.4.1.1=9 for MAC

* fix documentation for squeeze

* fix ci machines

* flake8
  • Loading branch information
dnadeau4 authored and doutriaux1 committed Nov 16, 2017
1 parent a8eeeff commit 5d21511
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 8 deletions.
6 changes: 3 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ before_install:
script:
#- conda install -c uvcdat/label/nightly -c conda-forge -c uvcdat libcf distarray cdtime libcdms cdat_info numpy esmf esmpy libdrs_f pyopenssl nose requests flake8
- conda create -n py3 python=3.6
- conda install -n py3 -c conda-forge -c uvcdat libcf distarray cdtime libcdms cdat_info numpy libdrs_f pyopenssl nose requests flake8 myproxyclient
- conda install -n py3 -c conda-forge -c uvcdat libcf distarray cdtime libcdms cdat_info numpy libdrs_f pyopenssl nose requests flake8 myproxyclient libnetcdf netcdf-fortran=4.4.4=3
- source activate py3
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then conda install -n py3 -c nesii/channel/dev-esmf -c conda-forge esmpy=7.1.0.dev34; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then conda install -n py3 -c nesii/channel/dev-esmf -c conda-forge esmpy=7.1.0.dev34 netcdf-fortran=4.4.4=3; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then conda install -n py3 -c nadeau1 -c conda-forge esmf esmpy; fi
- export UVCDAT_ANONYMOUS_LOG=False
- echo $TRAVIS_BRANCH
Expand All @@ -38,7 +38,7 @@ script:
- conda create -n py2 python=2.7
- source activate py2
- which python
- conda install -c conda-forge -c uvcdat libcf distarray cdtime libcdms cdat_info numpy esmf esmpy libdrs_f pyopenssl nose requests flake8
- conda install -c conda-forge -c uvcdat libcf distarray cdtime libcdms cdat_info numpy esmf esmpy libdrs_f pyopenssl nose requests flake8 netcdf-fortran=4.4.4=3
- export UVCDAT_ANONYMOUS_LOG=False
- python setup.py install
- python run_tests.py -v2 -s
Expand Down
11 changes: 10 additions & 1 deletion Lib/MV2.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import numpy
from numpy import character, float, float32, float64 # noqa
from numpy import int, int8, int16, int32, int64, byte # noqa
from numpy import ubyte, uint8, uint16, uint32, uint64, long # noqa
from numpy import ubyte, uint8, uint16, uint32, uint64, long # noqa
from numpy.ma import allclose, allequal, common_fill_value # noqa
from numpy.ma import make_mask_none, dot, filled # noqa
from numpy.ma import getmask, getmaskarray, identity # noqa
Expand Down Expand Up @@ -341,6 +341,15 @@ def _conv_axis_arg(axis):
return axis


def squeeze(x):
"call numpy.squeeze on ndarray and rebuild tvariable."
# ta = _makeMaskedArg(x)
maresult = numpy.squeeze(x._data)
axes, attributes, id, grid = _extractMetadata(x)
return TransientVariable(
maresult, axes=axes, attributes=attributes, grid=grid, id=id)


def is_masked(x):
"Is x a 0-D masked value?"
return isMaskedArray(x) and x.size == 1 and x.ndim == 0 and x.mask.item()
Expand Down
3 changes: 3 additions & 0 deletions Lib/avariable.py
Original file line number Diff line number Diff line change
Expand Up @@ -1497,6 +1497,9 @@ def getGridIndices(self):

# numpy.ma overrides

def squeeze(self):
return(MV.squeeze(self))

def __getitem__(self, key):
if isinstance(key, tuple):
speclist = self._process_specs(key, {})
Expand Down
2 changes: 1 addition & 1 deletion Lib/hgrid.py
Original file line number Diff line number Diff line change
Expand Up @@ -676,7 +676,7 @@ def isClose(self, g):
def checkAxes(self, axes):
"""Return 1 iff every element of self.getAxisList() is in the list 'axes'."""
for item in self.getAxisList():
if item not in axes:
if item.shape not in [axis.shape for axis in axes]:
result = 0
break
else:
Expand Down
2 changes: 2 additions & 0 deletions Lib/tvariable.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,8 @@ def __array_finalize__(self, obj):
def __copy__(self):
return numpy.ma.MaskedArray.copy(self)

squeeze = AbstractVariable.squeeze

__mul__ = AbstractVariable.__mul__
__rmul__ = AbstractVariable.__rmul__
__imul__ = AbstractVariable.__imul__
Expand Down
6 changes: 3 additions & 3 deletions ci-support/circleci_mac_dep.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ echo $cmd
$cmd

# Create Python 3 environment
cmd="conda create -n py3 -c uvcdat/label/nightly -c conda-forge -c uvcdat libcf distarray cdtime libcdms cdat_info numpy libdrs_f pyopenssl nose requests flake8 myproxyclient"
cmd="conda create -n py3 -c uvcdat/label/nightly -c conda-forge -c uvcdat libcf distarray cdtime libcdms cdat_info numpy libdrs_f pyopenssl nose requests flake8 myproxyclient libnetcdf netcdf-fortran=4.4.4=3"
echo $cmd
$cmd

cmd="conda install -n py3 -c nadeau1 -c conda-forge esmf esmpy"
cmd="conda install -n py3 -c nadeau1 -c conda-forge esmf esmpy netcdf-fortran=4.4.4=3"
echo $cmd
$cmd

Expand All @@ -30,7 +30,7 @@ cmd="source activate py2"
echo $cmd
$cmd

cmd="conda install -n py2 -c uvcdat/label/nightly -c conda-forge -c uvcdat libcf distarray cdtime libcdms cdat_info numpy esmf esmpy libdrs_f pyopenssl nose requests flake8 myproxyclient"
cmd="conda install -n py2 -c uvcdat/label/nightly -c conda-forge -c uvcdat libcf distarray cdtime libcdms cdat_info numpy esmf esmpy libdrs_f pyopenssl nose requests flake8 myproxyclient netcdf-fortran=4.4.4=3"
echo $cmd
$cmd

Expand Down

0 comments on commit 5d21511

Please sign in to comment.