-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ValueError: crs not understood #152
Comments
Can you send:
This works with latest salem for me, works on linux, and works on the docs, so it's hard for me to assess what could go wrong... |
I have the same issue:
Salem 0.2.4 |
Can you try to install from master, and update pyproj as well in the process?
|
Just tried with master. Same issue. Same error also when running the
I'll try and provide example with dataset - but it's the same as with the mwe from @nickbsb |
Can you share the output of following: import xarray as xr
import salem
import geopandas
import pyproj
print(xr.__version__)
print(salem.__version__)
print(geopandas.__version__)
print(pyproj.__version__) This is working on our relatively recent binder envs with versions:
|
0.12.3 |
Same issue. Even tried with a clean environment (on Windows). |
OK, so I can only assume some upstream issue with windows / conda, most likely because of changes in pyproj. I've added a specific test for this case in #156 and it passes on travis, both with pyproj versions before and after 2.0 (pyproj changes have been quite tough on library maintainers lately). That being said, there is a pattern in salem that makes debugging your case quite difficult: we silently catch pyproj exceptions, and shouldn't do that. I'll try to think about a better pattern. |
I've made an attempt to display a more informative error message in #157 Can you try on latest master again? |
thanks @fmaussion
|
On a fresh Ubuntu (19.10) installation with Python 3.7.5 I suddenly (it worked before) had the same Error ('Series' object has no attribute 'to_numpy'). I check my versions: xarray version: 0.12.1 When I update xarray to version 0.15.0, it works again: The problem occured when I tried to use the "read_shapefile_to_grid" function: |
Yes you are right, xarray was not the problem pandas was.
Output:
The problem is at the moment I can not reproduce the error, that happened one our before. :-) What I did was update xarray (and xarray updated pandas automatically). |
it's possible that something is broken with pandas > 1.0 that we are missing in our test suite. Please let me know when this happens again |
I had the same error message using geopandas version 0.7.0, downgrading to 0.5.1 fixed it |
Since #164 I hope to have solved issues with geopandas compatibility (it landed on master but not yet on PyPI). If issues remain they are not tested for, so it would be good to know ;-) |
jupyter docker: upgrade birdy, pin pandas and geopandas for Era5 Raven notebooks This is to productize all the manual `pip install --user` we had to do to demo Era5 Raven notebook PR: Ouranosinc/raven#200 Latest birdy 0.6.9 is working flawlessly with existing old Finch 0.2.7 and existing recently released Raven 0.10.0. See Jenkins run http://jenkins.ouranos.ca/job/PAVICS-e2e-workflow-tests/job/install-birdy-from-source/9/console for Finch testing. Raven test done manually. So I'll release this Jupyter env so at least the Raven notebooks works without manually hacking the Jupyter env. Old Finch is not broken anymore so no regression there. birdy updated for Raven, then for Finch. Pinning of pandas and geopandas is due to salem not supporting geopandas >= 0.7 as in this issue fmaussion/salem#152 so can unpin once there are new release of salem. scikit-image was also need by Raven notebook `gridded_data_subset.ipynb`. The ipyleaflet marker do not display in Raven `Region_selection.ipynb` but can be moved and its coordinate can be extracted. Not sure why, maybe relate to jupyter-widgets/ipyleaflet#91. Possibly also due to the freshly released jupyterlab-2.0 but downgrading jupyterlab means downgrading all the other jupyter extensions we used, too much work to just fix one broken extension so did not follow that road. The marker was working fine in the previous image `pavics/workflow-tests:200120` which had jupyterlab-1.2.5 which further support the theory that jupyterlab-2.0 broke it. Noticeable Jupyter env changes: ```diff < - birdy=v0.6.6=py_0 > - birdhouse-birdy==0.6.9 (install from Pypi instead of Conda to fix DockerHub failure !) < - geopandas=0.7.0=py_1 > - geopandas=0.6.2=py_0 < - pandas=1.0.1=py37hb3f55d8_0 > - pandas=0.25.3=py37hb3f55d8_0 > - scikit-image=0.16.2=py37hb3f55d8_0 ``` Full conda env export Diff: [200309-200310-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4315141/200309-200310-conda-env-export.diff.txt) [200310-200312-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4326073/200310-200312-conda-env-export.diff.txt) [200309-200312-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4326058/200309-200312-conda-env-export.diff.txt) ```diff 15d14 < - birdy=v0.6.6=py_0 18d16 < - boltons=20.0.0=py_0 28c26 < - certifi=2019.11.28=py37_0 --- > - certifi=2019.11.28=py37hc8dfbb8_1 36a35 > - cloudpickle=1.3.0=py_0 39c38 < - coverage=5.0.3=py37h516909a_0 --- > - coverage=5.0.3=py37h8f50634_1 42a42,43 > - cytoolz=0.10.1=py37h516909a_0 > - dask-core=2.12.0=py_0 60d60 < - funcsigs=1.0.2=py_3 65,66c65,66 < - geopandas=0.7.0=py_1 < - geos=3.8.0=he1b5a44_0 --- > - geopandas=0.6.2=py_0 > - geos=3.8.0=he1b5a44_1 81a82 > - imageio=2.8.0=py_0 97c98 < - jupyter_console=6.0.0=py_0 --- > - jupyter_console=6.1.0=py_0 106,107c107,108 < - kealib=1.4.10=h58c409b_1005 < - kiwisolver=1.1.0=py37hc9558a2_0 --- > - kealib=1.4.12=hec59c27_0 > - kiwisolver=1.1.0=py37h99015e2_1 138c139 < - libspatialite=4.3.0a=hd318ce7_1035 --- > - libspatialite=4.3.0a=hd318ce7_1036 153c154 < - markupsafe=1.1.1=py37h516909a_0 --- > - markupsafe=1.1.1=py37h8f50634_1 162c163 < - nbdime=1.1.0=py37_0 --- > - nbdime=2.0.0=py37hc8dfbb8_0 168a170 > - networkx=2.4=py_1 173c175 < - numpy=1.18.1=py37h95a1406_0 --- > - numpy=1.18.1=py37h8960a57_0 183c185 < - pandas=1.0.1=py37hb3f55d8_0 --- > - pandas=0.25.3=py37hb3f55d8_0 223a226 > - pywavelets=1.1.1=py37hc1659b7_0 234a238 > - scikit-image=0.16.2=py37hb3f55d8_0 237,239c241,243 < - setuptools=46.0.0=py37_0 < - shapely=1.7.0=py37h5d51c17_0 < - six=1.14.0=py37_0 --- > - setuptools=46.0.0=py37hc8dfbb8_2 > - shapely=1.7.0=py37hb106bac_1 > - six=1.14.0=py_1 243c247 < - sqlalchemy=1.3.13=py37h516909a_0 --- > - sqlalchemy=1.3.15=py37h8f50634_1 251,252c255,257 < - tornado=6.0.4=py37h516909a_0 < - traitlets=4.3.3=py37_0 --- > - toolz=0.10.0=py_0 > - tornado=6.0.4=py37h8f50634_1 > - traitlets=4.3.3=py37hc8dfbb8_1 266d270 < - wrapt=1.12.1=py37h516909a_0 287a292 > - birdhouse-birdy==0.6.9 288a294 > - boltons==20.0.0 291d296 < - cloudpickle==1.3.0 293d297 < - dask==2.12.0 295a300 > - funcsigs==1.0.2 316d320 < - toolz==0.10.0 317a322 > - wrapt==1.12.1 ``` Full new conda env export: [200310-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4315142/200310-conda-env-export.yml.txt) [200312-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4326061/200312-conda-env-export.yml.txt) ``` name: birdy channels: - cdat - conda-forge - defaults dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=0_gnu - affine=2.3.0=py_0 - alembic=1.4.1=py_0 - async_generator=1.10=py_0 - attrs=19.3.0=py_0 - backcall=0.1.0=py_0 - beautifulsoup4=4.8.2=py37_0 - bleach=3.1.1=py_0 - blinker=1.4=py_1 - boost-cpp=1.72.0=h8e57a91_0 - branca=0.3.1=py_0 - bzip2=1.0.8=h516909a_2 - ca-certificates=2019.11.28=hecc5488_0 - cairo=1.16.0=hfb77d84_1002 - cartopy=0.17.0=py37h39d8c00_1011 - cdat_info=8.2=py_7 - cdtime=3.1.3=py37h1ac8016_0 - cdutil=8.2=py_2 - certifi=2019.11.28=py37hc8dfbb8_1 - certipy=0.1.3=py_0 - cffi=1.14.0=py37hd463f26_0 - cfitsio=3.470=hb60a0a2_2 - cftime=1.0.4.2=py37hc1659b7_0 - chardet=3.0.4=py37_1003 - click=7.0=py_0 - click-plugins=1.1.1=py_0 - cligj=0.5.0=py_0 - cloudpickle=1.3.0=py_0 - colorama=0.4.3=py_0 - configurable-http-proxy=4.2.0=node13_he01fd0c_2 - coverage=5.0.3=py37h8f50634_1 - cryptography=2.8=py37h72c5cf5_1 - curl=7.68.0=hf8cf82a_0 - cycler=0.10.0=py_2 - cytoolz=0.10.1=py37h516909a_0 - dask-core=2.12.0=py_0 - dbus=1.13.6=he372182_0 - decorator=4.4.2=py_0 - defusedxml=0.6.0=py_0 - descartes=1.1.0=py_4 - distarray=2.12.2=py_1 - docopt=0.6.2=py_1 - dv3d=8.2=py_0 - entrypoints=0.3=py37_1000 - esgf-compute-api=2.2.3=py_0 - esmf=8.0.0=nompi_he6d0a24_5 - esmpy=8.0.0=nompi_py37hf0e99fa_1 - expat=2.2.9=he1b5a44_2 - ffmpeg=4.2=h167e202_0 - fiona=1.8.13=py37h900e953_0 - fontconfig=2.13.1=h86ecdb6_1001 - freetype=2.10.0=he983fc9_1 - freexl=1.0.5=h14c3975_1002 - future=0.18.2=py37_0 - g2clib=1.6.0=hf3f1b0b_9 - gdal=3.0.4=py37hbb6b9fb_1 - genutil=8.2=py37hc1659b7_3 - geopandas=0.6.2=py_0 - geos=3.8.0=he1b5a44_1 - geotiff=1.5.1=hcbe54f9_9 - gettext=0.19.8.1=hc5be6a0_1002 - ghostscript=9.22=hf484d3e_1001 - giflib=5.2.1=h516909a_2 - gitdb=4.0.2=py_0 - gitpython=3.1.0=py_0 - glib=2.58.3=py37h6f030ca_1002 - gmp=6.2.0=he1b5a44_2 - gnutls=3.6.5=hd3a4fd2_1002 - gst-plugins-base=1.14.5=h0935bb2_2 - gstreamer=1.14.5=h36ae1b5_2 - hdf4=4.2.13=hf30be14_1003 - hdf5=1.10.5=nompi_h3c11f04_1104 - icu=64.2=he1b5a44_1 - idna=2.9=py_1 - imageio=2.8.0=py_0 - importlib_metadata=1.5.0=py37_0 - ipykernel=5.1.4=py37h5ca1d4c_0 - ipyleaflet=0.12.3=py_1 - ipython=7.13.0=py37h5ca1d4c_0 - ipython_genutils=0.2.0=py_1 - ipywidgets=7.5.1=py_0 - jasper=1.900.1=h07fcdf6_1006 - jedi=0.16.0=py37_0 - jinja2=2.11.1=py_0 - jpeg=9c=h14c3975_1001 - json-c=0.13.1=h14c3975_1001 - json5=0.9.0=py_0 - jsonschema=3.2.0=py37_0 - jupyter=1.0.0=py_2 - jupyter_client=6.0.0=py_0 - jupyter_console=6.1.0=py_0 - jupyter_core=4.6.3=py37_0 - jupyter_server=0.1.1=py37_0 - jupyter_telemetry=0.0.5=py_0 - jupyterhub=1.1.0=py37_2 - jupyterhub-base=1.1.0=py37_2 - jupyterlab=2.0.1=py_0 - jupyterlab_pygments=0.1.0=py_0 - jupyterlab_server=1.0.7=py_0 - kealib=1.4.12=hec59c27_0 - kiwisolver=1.1.0=py37h99015e2_1 - krb5=1.16.4=h2fd8d38_0 - lame=3.100=h14c3975_1001 - lazy-object-proxy=1.4.3=py37h516909a_1 - ld_impl_linux-64=2.33.1=h53a641e_8 - libblas=3.8.0=11_openblas - libcblas=3.8.0=11_openblas - libcdms=3.1.2=ha54dda3_8 - libcf=1.0.3=py37hdee1361_5 - libclang=9.0.1=default_hde54327_0 - libcurl=7.68.0=hda55be3_0 - libdap4=3.20.4=hd3bb157_0 - libdrs=3.1.2=h9b7ed86_9 - libdrs_f=3.1.2=h322d3c2_5 - libedit=3.1.20170329=hf8c457e_1001 - libffi=3.2.1=he1b5a44_1006 - libgcc-ng=9.2.0=h24d8f2e_2 - libgdal=3.0.4=h022d3c0_1 - libgfortran-ng=7.3.0=hdf63c60_5 - libgomp=9.2.0=h24d8f2e_2 - libiconv=1.15=h516909a_1005 - libidn2=2.3.0=h516909a_0 - libkml=1.3.0=hb574062_1011 - liblapack=3.8.0=11_openblas - libllvm9=9.0.1=hc9558a2_0 - libnetcdf=4.7.3=nompi_h9f9fd6a_101 - libopenblas=0.3.6=h6e990d7_6 - libpng=1.6.37=hed695b0_0 - libpq=12.2=hae5116b_0 - libsodium=1.0.17=h516909a_0 - libspatialindex=1.9.3=he1b5a44_3 - libspatialite=4.3.0a=hd318ce7_1036 - libssh2=1.8.2=h22169c7_2 - libstdcxx-ng=9.2.0=hdf63c60_2 - libtiff=4.1.0=hc3755c2_3 - libunistring=0.9.10=h14c3975_0 - libuuid=2.32.1=h14c3975_1000 - libuv=1.34.0=h516909a_0 - libwebp=1.0.2=h56121f0_5 - libxcb=1.13=h14c3975_1002 - libxkbcommon=0.10.0=he1b5a44_0 - libxml2=2.9.10=hee79883_0 - libxslt=1.1.33=h31b3aaa_0 - lxml=4.5.0=py37h7ec2d77_0 - lz4-c=1.8.3=he1b5a44_1001 - mako=1.1.0=py_0 - markupsafe=1.1.1=py37h8f50634_1 - matplotlib=3.2.0=1 - matplotlib-base=3.2.0=py37h250f245_1 - mechanicalsoup=0.12.0=py_0 - mesalib=18.3.1=h590aaf7_0 - mistune=0.8.4=py37h516909a_1000 - more-itertools=8.2.0=py_0 - munch=2.5.0=py_0 - nbconvert=5.6.1=py37_0 - nbdime=2.0.0=py37hc8dfbb8_0 - nbformat=5.0.4=py_0 - nbval=0.9.5=py_0 - ncurses=6.1=hf484d3e_1002 - netcdf-fortran=4.5.2=nompi_h09cde99_103 - netcdf4=1.5.3=nompi_py37hd35fb8e_102 - nettle=3.4.1=h1bed415_1002 - networkx=2.4=py_1 - nodejs=13.9.0=h10a4023_0 - notebook=6.0.3=py37_0 - nspr=4.25=he1b5a44_0 - nss=3.47=he751ad9_0 - numpy=1.18.1=py37h8960a57_0 - oauthlib=3.0.1=py_0 - olefile=0.46=py_0 - openblas=0.3.6=h6e990d7_6 - openh264=1.8.0=hdbcaa40_1000 - openjpeg=2.3.1=h981e76c_3 - openssl=1.1.1d=h516909a_0 - owslib=0.19.1=py_0 - packaging=20.1=py_0 - pamela=1.0.0=py_0 - pandas=0.25.3=py37hb3f55d8_0 - pandoc=2.9.2=0 - pandocfilters=1.4.2=py_1 - parso=0.6.2=py_0 - pcre=8.44=he1b5a44_0 - pexpect=4.8.0=py37_0 - pickleshare=0.7.5=py37_1000 - pillow=7.0.0=py37hefe7db6_0 - pip=20.0.2=py_2 - pixman=0.38.0=h516909a_1003 - pluggy=0.13.0=py37_0 - poppler=0.67.0=h14e79db_8 - poppler-data=0.4.9=1 - postgresql=12.2=hf1211e9_0 - proj=6.3.1=hc80f0dc_1 - prometheus_client=0.7.1=py_0 - prompt_toolkit=2.0.10=py_0 - pthread-stubs=0.4=h14c3975_1001 - ptyprocess=0.6.0=py_1001 - py=1.8.1=py_0 - pycparser=2.20=py_0 - pycurl=7.43.0.5=py37h16ce93b_0 - pydap=3.2.2=py37_1000 - pyepsg=0.4.0=py_0 - pygments=2.6.1=py_0 - pyjwt=1.7.1=py_0 - pykdtree=1.3.1=py37hc1659b7_1002 - pyopenssl=19.1.0=py_1 - pyparsing=2.4.6=py_0 - pyproj=2.5.0=py37he3cd046_1 - pyqt=5.12.3=py37hcca6a23_1 - pyrsistent=0.15.7=py37h516909a_0 - pyshp=2.1.0=py_0 - pysocks=1.7.1=py37_0 - pytest=5.3.5=py37_1 - python=3.7.6=h357f687_4_cpython - python-dateutil=2.8.1=py_0 - python-editor=1.0.4=py_0 - python-json-logger=0.1.11=py_0 - python_abi=3.7=1_cp37m - pytz=2019.3=py_0 - pywavelets=1.1.1=py37hc1659b7_0 - pyzmq=19.0.0=py37h1768529_0 - qt=5.12.5=hd8c4c69_1 - qtconsole=4.7.1=py_0 - qtpy=1.9.0=py_0 - rasterio=1.1.3=py37h900e953_0 - readline=8.0=hf8c457e_0 - regionmask=0.5.0=py_1 - requests=2.23.0=py37_0 - rtree=0.9.4=py37h7b0cdae_0 - ruamel.yaml=0.16.6=py37h516909a_0 - ruamel.yaml.clib=0.2.0=py37h516909a_0 - scikit-image=0.16.2=py37hb3f55d8_0 - scipy=1.4.1=py37h921218d_0 - send2trash=1.5.0=py_0 - setuptools=46.0.0=py37hc8dfbb8_2 - shapely=1.7.0=py37hb106bac_1 - six=1.14.0=py_1 - smmap=3.0.1=py_0 - snuggs=1.4.7=py_0 - soupsieve=1.9.4=py37_0 - sqlalchemy=1.3.15=py37h8f50634_1 - sqlite=3.30.1=hcee41ef_0 - tbb=2018.0.5=h2d50403_0 - terminado=0.8.3=py37_0 - testpath=0.4.4=py_0 - threddsclient=0.4.2=py_0 - tiledb=1.7.0=hcde45ca_2 - tk=8.6.10=hed695b0_0 - toolz=0.10.0=py_0 - tornado=6.0.4=py37h8f50634_1 - traitlets=4.3.3=py37hc8dfbb8_1 - traittypes=0.2.1=py_1 - tzcode=2019a=h516909a_1002 - udunits2=2.2.27.6=h4e0c4b3_1001 - urllib3=1.25.7=py37_0 - vcs=8.2=py_2 - voila=0.1.21=py_0 - vtk-cdat=8.2.0.8.2=py37_mesalibhead77ed_0 - wcwidth=0.1.8=py_0 - webencodings=0.5.1=py_1 - webob=1.8.6=py_0 - wget=1.20.1=h22169c7_0 - wheel=0.34.2=py_1 - widgetsnbextension=3.5.1=py37_0 - x264=1!152.20180806=h14c3975_0 - xarray=0.15.0=py_0 - xerces-c=3.2.2=h8412b87_1004 - xorg-kbproto=1.0.7=h14c3975_1002 - xorg-libice=1.0.10=h516909a_0 - xorg-libsm=1.2.3=h84519dc_1000 - xorg-libx11=1.6.9=h516909a_0 - xorg-libxau=1.0.9=h14c3975_0 - xorg-libxdmcp=1.1.3=h516909a_0 - xorg-libxext=1.3.4=h516909a_0 - xorg-libxrender=0.9.10=h516909a_1002 - xorg-renderproto=0.11.1=h14c3975_1002 - xorg-xextproto=7.3.0=h14c3975_1002 - xorg-xproto=7.0.31=h14c3975_1007 - xz=5.2.4=h14c3975_1001 - zeromq=4.3.2=he1b5a44_2 - zipp=3.1.0=py_0 - zlib=1.2.11=h516909a_1006 - zstd=1.4.4=h3b9ef0a_1 - pip: - astunparse==1.6.3 - birdhouse-birdy==0.6.9 - bokeh==2.0.0 - boltons==20.0.0 - bottleneck==1.3.2 - cdms2==3.1.4 - colour==0.1.5 - distributed==2.12.0 - fsspec==0.6.2 - funcsigs==1.0.2 - geojson==2.5.0 - heapdict==1.0.1 - joblib==0.14.1 - locket==0.2.0 - markdown==3.2.1 - mpld3==0.3 - msgpack==1.0.0 - partd==1.1.0 - pint==0.11 - pixiedust==1.1.18 - psutil==5.7.0 - pyqt5-sip==4.19.18 - pyqtwebengine==5.12.1 - pyyaml==5.3 - regrid2==3.1.4 - requests-magpie==0.1.1 - salem==0.2.4 - scikit-learn==0.22.2.post1 - sortedcontainers==2.1.0 - tblib==1.6.0 - typing-extensions==3.7.4.1 - wrapt==1.12.1 - xclim==0.14.0 - zict==2.0.0 prefix: /usr/local/envs/birdy ```
import numpy as np
import xarray as xr
import salem
da = xr.DataArray(np.arange(20).reshape(4, 5), dims=['lat', 'lon'],
coords={'lat':np.linspace(0, 30, 4),
'lon':np.linspace(-20, 20, 5)})
da.salem.quick_map()
But the errors show ' ValueError: crs not understood',how to solve this ?
The text was updated successfully, but these errors were encountered: