diff --git a/Src/Cdunifmodule.c b/Src/Cdunifmodule.c index ddfb81df..400ba4f9 100644 --- a/Src/Cdunifmodule.c +++ b/Src/Cdunifmodule.c @@ -3089,7 +3089,9 @@ static int PyCdunifVariableObject_ass_subscript(PyCdunifVariableObject *self, if (PySlice_Check(index)) { Py_ssize_t slicelen; int length; - if( self->dimensions[0] == self->file->recdim ){ + length = INT_MAX; + if( self->dimids[0]== self->file->recdim && + self->dimensions[0] == 0){ length = INT_MAX; } else { length = self->dimensions[0]; @@ -3097,6 +3099,10 @@ static int PyCdunifVariableObject_ass_subscript(PyCdunifVariableObject *self, PySlice_GetIndicesEx((PySliceObject *) index, length, &indices->start, &indices->stop, &indices->stride, &slicelen); + + if(indices->stop == indices->start){ + indices->stop = indices->start + indices->stride; + } return PyCdunifVariable_WriteArray(self, indices, value); } if (PyTuple_Check(index)) { diff --git a/regrid2/Lib/esmf.py b/regrid2/Lib/esmf.py index f1521b19..5862332c 100644 --- a/regrid2/Lib/esmf.py +++ b/regrid2/Lib/esmf.py @@ -614,7 +614,7 @@ def __call__(self, srcField=None, dstField=None, zero_region=None): # default is keep the masked values intact zeroregion = ESMF.Region.SELECT if self.regridMethod == CONSERVE: - zeroregion = None # will initalize to zero + zeroregion = None # will initalize to zero self.regridHandle( srcfield=srcField.field, diff --git a/regrid2/Lib/mvESMFRegrid.py b/regrid2/Lib/mvESMFRegrid.py index 235e1fd5..9310a608 100644 --- a/regrid2/Lib/mvESMFRegrid.py +++ b/regrid2/Lib/mvESMFRegrid.py @@ -315,7 +315,7 @@ def apply(self, srcData, dstData, rootPe, globalIndexing=False, **args): zero_region = ESMF.Region.SELECT if 'zero_region' in args.keys(): - zero_region=args.get('zero_region') + zero_region = args.get('zero_region') self.srcFld.field.data[:] = srcData.T self.dstFld.field.data[:] = dstData.T