Skip to content

Commit

Permalink
Fix merge conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
gbrener committed Nov 6, 2017
2 parents e182deb + 7a5bd38 commit 8ac7273
Show file tree
Hide file tree
Showing 17 changed files with 96 additions and 573 deletions.
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ env:
global:
- EARTHIO_TEST_ENV=earth-test-env
- ELM_EXAMPLE_DATA_PATH=/tmp/elm-data
- EARTHIO_CHANNEL_STR=" -c ioam -c conda-forge -c scitools/label/dev "
- EARTHIO_CHANNEL_STR=" -c ioam -c conda-forge -c scitools/label/dev -c elm -c elm/label/dev "

matrix:
- PYTHON=3.6 NUMPY=1.12
Expand All @@ -23,7 +23,7 @@ install:
script:
- cd $EARTHIO_BUILD_DIR
- . activate $EARTHIO_TEST_ENV
- py.test -m 'not slow and not requires_elm' -v earthio/tests
- py.test -v earthio/tests
- rm -rf $ELM_EXAMPLE_DATA_PATH/*

notifications:
Expand Down
7 changes: 4 additions & 3 deletions build_earthio_env.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
source deactivate
which deactivate && source deactivate

export EARTHIO_BUILD_DIR=`pwd -P`
export EARTHIO_CHANNEL_STR="${EARTHIO_CHANNEL_STR:- -c ioam -c conda-forge -c scitools/label/dev }"
export EARTHIO_CHANNEL_STR="${EARTHIO_CHANNEL_STR:- -c elm -c elm/label/dev -c ioam -c conda-forge -c scitools/label/dev }"
export EARTHIO_TEST_ENV="${EARTHIO_TEST_ENV:-earth-env-test}"
export EARTHIO_INSTALL_METHOD="${EARTHIO_INSTALL_METHOD:-conda}"
export ELM_EXAMPLE_DATA_PATH="${ELM_EXAMPLE_DATA_PATH:-${EARTHIO_BUILD_DIR}/../elm-data}";
export PYTHON=${PYTHON:-3.5}
export NUMPY=${NUMPY:-1.11}
export ANACONDA_UPLOAD_USER="${ANACONDA_UPLOAD_USER:-elm}"

if [ -n "$MAKE_MINICONDA" ]; then
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
Expand All @@ -27,7 +28,7 @@ else
fi

if [ -z "$IGNORE_ELM_DATA_DOWNLOAD" ]; then
conda install -c conda-forge 'gdal=2.1.*'
conda install -c conda-forge 'gdal=2.1.*' requests python-magic pytest
mkdir -p $ELM_EXAMPLE_DATA_PATH
pushd $ELM_EXAMPLE_DATA_PATH && python "$EARTHIO_BUILD_DIR/scripts/download_test_data.py" --files hdf4.tar.bz2 tif.tar.bz2 && popd
fi
Expand Down
3 changes: 2 additions & 1 deletion conda.recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ requirements:
- setuptools

run:
- attrs
- bokeh
- cartopy
- colorcet
Expand All @@ -36,13 +35,15 @@ requirements:
- pyproj
- pytables
- python
- python-magic
- rasterio
- requests
- scipy
- shapely
- statsmodels
- tblib
- xarray
- xarray_filters
- yaml
- six

Expand Down
27 changes: 0 additions & 27 deletions conda.recipe/run_test.py

This file was deleted.

1 change: 0 additions & 1 deletion earthio/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
from earthio.netcdf import *
from earthio.tif import *
from earthio.util import *
from earthio.reshape import *
from earthio.load_layers import *
from earthio.local_file_iterators import *

13 changes: 6 additions & 7 deletions earthio/hdf4.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
geotransform_to_coords,
row_col_to_xy,
_np_arr_to_coords_dims,
Canvas,
LayerSpec,
READ_ARRAY_KWARGS,
take_geo_transform_from_meta,
Expand Down Expand Up @@ -85,15 +84,16 @@ def load_hdf4_array(datafile, meta, layer_specs=None):
layer_order_info = []
if layer_specs:
for layer_meta, s in zip(layer_metas, sds):
#layer_meta['name'] = s[0]
for idx, layer_spec in enumerate(layer_specs):
if match_meta(layer_meta, layer_spec):
layer_order_info.append((idx, layer_meta, s, layer_spec))
break

layer_order_info.sort(key=lambda x:x[0])
if not len(layer_order_info):
if len(layer_order_info) != len(layer_specs):
raise ValueError('No matching layers with '
'layer_specs {}'.format(layer_specs))
'layer_specs {} (meta = {})'.format(layer_specs, layer_meta))
else:
layer_order_info = [(idx, layer_meta, s, 'layer_{}'.format(idx))
for idx, (layer_meta, s) in enumerate(zip(layer_metas, sds))]
Expand Down Expand Up @@ -124,10 +124,9 @@ def load_hdf4_array(datafile, meta, layer_specs=None):
geo_transform=geo_transform,
layer_meta=layer_meta,
handle=handle)
np_arr, coords, dims, canvas, geo_transform = out
attrs['geo_transform'] = geo_transform
attrs['canvas'] = canvas
elm_store_data[name] = xr.DataArray(raster,
np_arr, coords, dims, attrs2 = out
attrs.update(attrs2)
elm_store_data[name] = xr.DataArray(np_arr,
coords=coords,
dims=dims,
attrs=attrs)
Expand Down
13 changes: 5 additions & 8 deletions earthio/hdf5.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@

from earthio.util import (geotransform_to_bounds,
geotransform_to_coords,
Canvas,
LayerSpec,
row_col_to_xy,
_np_arr_to_coords_dims,
Expand Down Expand Up @@ -83,13 +82,11 @@ def load_subdataset(subdataset, attrs, layer_spec, **reader_kwargs):
layer_spec,
reader_kwargs,
geo_transform=None,
layer_meta=layer_meta,
handle=handle)
np_arr, coords, dims, canvas, geo_transform = out
attrs['canvas'] = canvas
attrs['geo_transform'] = geo_transform

return xr.DataArray(data=raster,
layer_meta=attrs,
handle=data_file)
np_arr, coords, dims, attrs2 = out
attrs.update(attrs2)
return xr.DataArray(data=np_arr,
coords=coords,
dims=dims,
attrs=attrs)
Expand Down
21 changes: 13 additions & 8 deletions earthio/metadata_selection.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,20 @@ def match_meta(meta, layer_spec):
'''
if not isinstance(layer_spec, LayerSpec):
raise ValueError('layer_spec must be earthio.LayerSpec object')

dir_re = dir(re)
search_key = layer_spec.search_key or 'name'
search_value = layer_spec.search_value or ''
for mkey in meta:
key_re_flags = [getattr(re, att)
for att in (layer_spec.key_re_flags or [])]
value_re_flags = [getattr(re, att)
for att in (layer_spec.value_re_flags or [])]

if bool(re.search(layer_spec.search_key, mkey, *key_re_flags)):
if bool(re.search(layer_spec.search_value, meta[mkey], *value_re_flags)):
key_re = layer_spec.key_re_flags or []
if isinstance(key_re, string_types):
key_re = [key_re]
value_re = layer_spec.value_re_flags or []
if isinstance(value_re, string_types):
value_re = [value_re]
key_re_flags = [getattr(re, att) for att in key_re if att in dir_re]
value_re_flags = [getattr(re, att) for att in value_re if att in dir_re]
if bool(re.search(search_key, mkey, *key_re_flags)):
if bool(re.search(search_value, meta[mkey], *value_re_flags)):
return True
return False

Expand Down
Loading

0 comments on commit 8ac7273

Please sign in to comment.