#!mamba env create -f '../../environment.yml'
!mamba env update -f '../../environment.yml' --prune
conda-forge/linux-64 Using cache conda-forge/noarch Using cache [+] 0.0s [+] 0.1s pkgs/main/linux-64 ━━━━━━━━━━╸━━━━━━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.1s pkgs/main/noarch ━━━╸━━━━━━━━━━━━━━━╸━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.1s pkgs/free/linux-64 ━━━━━━━━━━━━━━╸━━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.1s pkgs/free/noarch ━━━━━━━━━╸━━━━━━━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.1s pkgs/r/linux-64 ━╸━━━━━━━━━━━━━━━╸━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.1spkgs/free/noarch No change pkgs/main/linux-64 No change pkgs/main/noarch No change [+] 0.2s pkgs/free/linux-64 ━━━━━━━━╸━━━━━━━━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.2s pkgs/r/linux-64 ━━━━╸━━━━━━━━━━━━━━━╸━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.2s pkgs/r/noarch ━━━━━━━━━━╸━━━━━━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.0spkgs/r/linux-64 No change pkgs/free/linux-64 No change pkgs/r/noarch No change Looking for: ['python', 'numpy', 'pandas', 'xarray', 'matplotlib', 'wget', 'requests', 'urllib3', 'dask', 'lxml', 'gdal', 'rasterio', 'rioxarray', 'geopandas', 'shapely', 'contextily', 'earthaccess', 'ipykernel', 'pystac-client', 'planetary-computer', 'odc-stac', 'xee', 'bs4', 'py3dep', 'pip'] Transaction Prefix: /home/eric/miniconda3/envs/easysnowdata Updating specs: - python - numpy - pandas - xarray - matplotlib - wget - requests - urllib3 - dask - lxml - gdal - rasterio - rioxarray - geopandas - shapely - contextily - earthaccess - ipykernel - pystac-client - planetary-computer - odc-stac - xee - bs4 - py3dep - pip Package Version Build Channel Size ─────────────────────────────────────────────────────────────────────────────────────────────────────── Install: ─────────────────────────────────────────────────────────────────────────────────────────────────────── + _libgcc_mutex 0.1 conda_forge conda-forge/linux-64 Cached + _openmp_mutex 4.5 2_gnu conda-forge/linux-64 Cached + affine 2.4.0 pyhd8ed1ab_0 conda-forge/noarch Cached + aiobotocore 2.12.2 pyhd8ed1ab_0 conda-forge/noarch Cached + aiodns 3.0.0 pyhd8ed1ab_0 conda-forge/noarch Cached + aiohttp 3.9.3 py312h98912ed_1 conda-forge/linux-64 Cached + aiohttp-client-cache 0.11.0 pyhd8ed1ab_0 conda-forge/noarch Cached + aioitertools 0.11.0 pyhd8ed1ab_0 conda-forge/noarch Cached + aiosignal 1.3.1 pyhd8ed1ab_0 conda-forge/noarch Cached + aiosqlite 0.19.0 pyhd8ed1ab_0 conda-forge/noarch Cached + alsa-lib 1.2.11 hd590300_1 conda-forge/linux-64 Cached + annotated-types 0.6.0 pyhd8ed1ab_0 conda-forge/noarch Cached + asttokens 2.4.1 pyhd8ed1ab_0 conda-forge/noarch Cached + async-retriever 0.16.0 pyha770c72_0 conda-forge/noarch Cached + attr 2.5.1 h166bdaf_1 conda-forge/linux-64 Cached + attrs 23.2.0 pyh71513ae_0 conda-forge/noarch Cached + aws-c-auth 0.7.17 he0b1f16_2 conda-forge/linux-64 Cached + aws-c-cal 0.6.11 heb1d5e4_0 conda-forge/linux-64 Cached + aws-c-common 0.9.15 hd590300_0 conda-forge/linux-64 Cached + aws-c-compression 0.2.18 hce8ee76_3 conda-forge/linux-64 Cached + aws-c-event-stream 0.4.2 h01f5eca_8 conda-forge/linux-64 Cached + aws-c-http 0.8.1 hdb68c23_10 conda-forge/linux-64 Cached + aws-c-io 0.14.7 hbfbeace_6 conda-forge/linux-64 Cached + aws-c-mqtt 0.10.3 h50844eb_4 conda-forge/linux-64 Cached + aws-c-s3 0.5.7 hb7bd14b_1 conda-forge/linux-64 Cached + aws-c-sdkutils 0.1.15 hce8ee76_3 conda-forge/linux-64 Cached + aws-checksums 0.1.18 hce8ee76_3 conda-forge/linux-64 Cached + aws-crt-cpp 0.26.6 hf567797_4 conda-forge/linux-64 Cached + aws-sdk-cpp 1.11.267 hbf3e495_6 conda-forge/linux-64 Cached + azure-core-cpp 1.11.1 h91d86a7_1 conda-forge/linux-64 Cached + azure-storage-blobs-cpp 12.10.0 h00ab1b0_1 conda-forge/linux-64 Cached + azure-storage-common-cpp 12.5.0 h94269e2_4 conda-forge/linux-64 Cached + beautifulsoup4 4.12.3 pyha770c72_0 conda-forge/noarch Cached + blosc 1.21.5 hc2324a3_1 conda-forge/linux-64 Cached + bokeh 3.4.1 pyhd8ed1ab_0 conda-forge/noarch Cached + botocore 1.34.51 pyge310_1234567_0 conda-forge/noarch Cached + bounded-pool-executor 0.0.3 pyhd8ed1ab_0 conda-forge/noarch Cached + branca 0.7.1 pyhd8ed1ab_0 conda-forge/noarch Cached + brotli 1.1.0 hd590300_1 conda-forge/linux-64 Cached + brotli-bin 1.1.0 hd590300_1 conda-forge/linux-64 Cached + brotli-python 1.1.0 py312h30efb56_1 conda-forge/linux-64 Cached + bs4 4.12.3 hd8ed1ab_0 conda-forge/noarch Cached + bzip2 1.0.8 hd590300_5 conda-forge/linux-64 Cached + c-ares 1.28.1 hd590300_0 conda-forge/linux-64 Cached + ca-certificates 2024.2.2 hbcca054_0 conda-forge/linux-64 Cached + cachetools 5.3.3 pyhd8ed1ab_0 conda-forge/noarch Cached + cairo 1.18.0 h3faef2a_0 conda-forge/linux-64 Cached + cattrs 23.2.3 pyhd8ed1ab_0 conda-forge/noarch Cached + certifi 2024.2.2 pyhd8ed1ab_0 conda-forge/noarch Cached + cffi 1.16.0 py312hf06ca03_0 conda-forge/linux-64 Cached + cfitsio 4.4.0 hbdc6101_1 conda-forge/linux-64 Cached + cftime 1.6.3 py312hc7c0aa3_0 conda-forge/linux-64 Cached + charset-normalizer 3.3.2 pyhd8ed1ab_0 conda-forge/noarch Cached + click 8.1.7 unix_pyh707e725_0 conda-forge/noarch Cached + click-plugins 1.1.1 py_0 conda-forge/noarch Cached + cligj 0.7.2 pyhd8ed1ab_1 conda-forge/noarch Cached + cloudpickle 3.0.0 pyhd8ed1ab_0 conda-forge/noarch Cached + colorama 0.4.6 pyhd8ed1ab_0 conda-forge/noarch Cached + comm 0.2.2 pyhd8ed1ab_0 conda-forge/noarch Cached + contextily 1.6.0 pyhd8ed1ab_0 conda-forge/noarch Cached + contourpy 1.2.1 py312h8572e83_0 conda-forge/linux-64 Cached + cryptography 42.0.5 py312h241aef2_0 conda-forge/linux-64 Cached + cycler 0.12.1 pyhd8ed1ab_0 conda-forge/noarch Cached + cytoolz 0.12.3 py312h98912ed_0 conda-forge/linux-64 Cached + dask 2024.4.1 pyhd8ed1ab_0 conda-forge/noarch Cached + dask-core 2024.4.1 pyhd8ed1ab_0 conda-forge/noarch Cached + dask-expr 1.0.11 pyhd8ed1ab_0 conda-forge/noarch Cached + dataclasses 0.8 pyhc8e2a94_3 conda-forge/noarch Cached + dbus 1.13.6 h5008d03_3 conda-forge/linux-64 Cached + debugpy 1.8.1 py312h30efb56_0 conda-forge/linux-64 Cached + decorator 5.1.1 pyhd8ed1ab_0 conda-forge/noarch Cached + defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge/noarch Cached + distributed 2024.4.1 pyhd8ed1ab_0 conda-forge/noarch Cached + earthaccess 0.9.0 pyhd8ed1ab_0 conda-forge/noarch Cached + earthengine-api 0.1.398 pyhd8ed1ab_0 conda-forge/noarch Cached + exceptiongroup 1.2.0 pyhd8ed1ab_2 conda-forge/noarch Cached + executing 2.0.1 pyhd8ed1ab_0 conda-forge/noarch Cached + expat 2.6.2 h59595ed_0 conda-forge/linux-64 Cached + fiona 1.9.6 py312h66d9856_0 conda-forge/linux-64 Cached + fmt 10.2.1 h00ab1b0_0 conda-forge/linux-64 Cached + folium 0.16.0 pyhd8ed1ab_0 conda-forge/noarch Cached + font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge/noarch Cached + font-ttf-inconsolata 3.000 h77eed37_0 conda-forge/noarch Cached + font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge/noarch Cached + font-ttf-ubuntu 0.83 h77eed37_1 conda-forge/noarch Cached + fontconfig 2.14.2 h14ed4e7_0 conda-forge/linux-64 Cached + fonts-conda-ecosystem 1 0 conda-forge/noarch Cached + fonts-conda-forge 1 0 conda-forge/noarch Cached + fonttools 4.51.0 py312h98912ed_0 conda-forge/linux-64 Cached + freetype 2.12.1 h267a509_2 conda-forge/linux-64 Cached + freexl 2.0.0 h743c826_0 conda-forge/linux-64 Cached + frozenlist 1.4.1 py312h98912ed_0 conda-forge/linux-64 Cached + fsspec 2024.3.1 pyhca7485f_0 conda-forge/noarch Cached + gdal 3.8.4 py312h257dd4b_5 conda-forge/linux-64 Cached + geographiclib 2.0 pyhd8ed1ab_0 conda-forge/noarch Cached + geopandas 0.14.3 pyhd8ed1ab_0 conda-forge/noarch Cached + geopandas-base 0.14.3 pyha770c72_0 conda-forge/noarch Cached + geopy 2.4.1 pyhd8ed1ab_1 conda-forge/noarch Cached + geos 3.12.1 h59595ed_0 conda-forge/linux-64 Cached + geotiff 1.7.1 h6b2125f_15 conda-forge/linux-64 Cached + gettext 0.22.5 h59595ed_2 conda-forge/linux-64 Cached + gettext-tools 0.22.5 h59595ed_2 conda-forge/linux-64 Cached + gflags 2.2.2 he1b5a44_1004 conda-forge/linux-64 Cached + giflib 5.2.2 hd590300_0 conda-forge/linux-64 Cached + glib 2.80.0 hf2295e7_5 conda-forge/linux-64 Cached + glib-tools 2.80.0 hde27a5a_5 conda-forge/linux-64 Cached + glog 0.7.0 hed5481d_0 conda-forge/linux-64 Cached + google-api-core 2.18.0 pyhd8ed1ab_0 conda-forge/noarch Cached + google-api-python-client 2.126.0 pyhd8ed1ab_0 conda-forge/noarch Cached + google-auth 2.29.0 pyhca7485f_0 conda-forge/noarch Cached + google-auth-httplib2 0.2.0 pyhd8ed1ab_0 conda-forge/noarch Cached + google-cloud-core 2.4.1 pyhd8ed1ab_0 conda-forge/noarch Cached + google-cloud-storage 2.16.0 pyhca7485f_0 conda-forge/noarch Cached + google-crc32c 1.1.2 py312h775cd15_5 conda-forge/linux-64 Cached + google-resumable-media 2.7.0 pyhd8ed1ab_0 conda-forge/noarch Cached + googleapis-common-protos 1.63.0 pyhd8ed1ab_0 conda-forge/noarch Cached + graphite2 1.3.13 h59595ed_1003 conda-forge/linux-64 Cached + grpcio 1.62.2 py312hb06c811_0 conda-forge/linux-64 Cached + gst-plugins-base 1.24.1 hfa15dee_1 conda-forge/linux-64 Cached + gstreamer 1.24.1 h98fc4e7_1 conda-forge/linux-64 Cached + harfbuzz 8.3.0 h3d44ed6_0 conda-forge/linux-64 Cached + hdf4 4.2.15 h2a13503_7 conda-forge/linux-64 Cached + hdf5 1.14.3 nompi_h4f84152_100 conda-forge/linux-64 Cached + httplib2 0.22.0 pyhd8ed1ab_0 conda-forge/noarch Cached + icu 73.2 h59595ed_0 conda-forge/linux-64 Cached + idna 3.7 pyhd8ed1ab_0 conda-forge/noarch Cached + importlib-metadata 7.1.0 pyha770c72_0 conda-forge/noarch Cached + importlib_metadata 7.1.0 hd8ed1ab_0 conda-forge/noarch Cached + ipykernel 6.29.3 pyhd33586a_0 conda-forge/noarch Cached + ipython 8.22.2 pyh707e725_0 conda-forge/noarch Cached + itsdangerous 2.2.0 pyhd8ed1ab_0 conda-forge/noarch Cached + jedi 0.19.1 pyhd8ed1ab_0 conda-forge/noarch Cached + jinja2 3.1.3 pyhd8ed1ab_0 conda-forge/noarch Cached + jmespath 1.0.1 pyhd8ed1ab_0 conda-forge/noarch Cached + joblib 1.4.0 pyhd8ed1ab_0 conda-forge/noarch Cached + json-c 0.17 h7ab15ed_0 conda-forge/linux-64 Cached + jupyter_client 8.6.1 pyhd8ed1ab_0 conda-forge/noarch Cached + jupyter_core 5.7.2 py312h7900ff3_0 conda-forge/linux-64 Cached + kealib 1.5.3 h2f55d51_0 conda-forge/linux-64 Cached + keyutils 1.6.1 h166bdaf_0 conda-forge/linux-64 Cached + kiwisolver 1.4.5 py312h8572e83_1 conda-forge/linux-64 Cached + krb5 1.21.2 h659d440_0 conda-forge/linux-64 Cached + lame 3.100 h166bdaf_1003 conda-forge/linux-64 Cached + lcms2 2.16 hb7c19ff_0 conda-forge/linux-64 Cached + ld_impl_linux-64 2.40 h41732ed_0 conda-forge/linux-64 Cached + lerc 4.0.0 h27087fc_0 conda-forge/linux-64 Cached + libabseil 20240116.1 cxx17_h59595ed_2 conda-forge/linux-64 Cached + libaec 1.1.3 h59595ed_0 conda-forge/linux-64 Cached + libarchive 3.7.2 h2aa1ff5_1 conda-forge/linux-64 Cached + libarrow 15.0.2 he70291f_3_cpu conda-forge/linux-64 Cached + libarrow-acero 15.0.2 hac33072_3_cpu conda-forge/linux-64 Cached + libarrow-dataset 15.0.2 hac33072_3_cpu conda-forge/linux-64 Cached + libarrow-flight 15.0.2 hd42f311_3_cpu conda-forge/linux-64 Cached + libarrow-flight-sql 15.0.2 h9241762_3_cpu conda-forge/linux-64 Cached + libarrow-gandiva 15.0.2 hd4ab825_3_cpu conda-forge/linux-64 Cached + libarrow-substrait 15.0.2 h9241762_3_cpu conda-forge/linux-64 Cached + libasprintf 0.22.5 h661eb56_2 conda-forge/linux-64 Cached + libasprintf-devel 0.22.5 h661eb56_2 conda-forge/linux-64 Cached + libblas 3.9.0 22_linux64_openblas conda-forge/linux-64 Cached + libboost-headers 1.84.0 ha770c72_2 conda-forge/linux-64 Cached + libbrotlicommon 1.1.0 hd590300_1 conda-forge/linux-64 Cached + libbrotlidec 1.1.0 hd590300_1 conda-forge/linux-64 Cached + libbrotlienc 1.1.0 hd590300_1 conda-forge/linux-64 Cached + libcap 2.69 h0f662aa_0 conda-forge/linux-64 Cached + libcblas 3.9.0 22_linux64_openblas conda-forge/linux-64 Cached + libclang-cpp15 15.0.7 default_h127d8a8_5 conda-forge/linux-64 Cached + libclang13 18.1.3 default_h5d6823c_0 conda-forge/linux-64 Cached + libcrc32c 1.1.2 h9c3ff4c_0 conda-forge/linux-64 Cached + libcups 2.3.3 h4637d8d_4 conda-forge/linux-64 Cached + libcurl 8.7.1 hca28451_0 conda-forge/linux-64 Cached + libdeflate 1.20 hd590300_0 conda-forge/linux-64 Cached + libedit 3.1.20191231 he28a2e2_2 conda-forge/linux-64 Cached + libev 4.33 hd590300_2 conda-forge/linux-64 Cached + libevent 2.1.12 hf998b51_1 conda-forge/linux-64 Cached + libexpat 2.6.2 h59595ed_0 conda-forge/linux-64 Cached + libffi 3.4.2 h7f98852_5 conda-forge/linux-64 Cached + libflac 1.4.3 h59595ed_0 conda-forge/linux-64 Cached + libgcc-ng 13.2.0 h807b86a_5 conda-forge/linux-64 Cached + libgcrypt 1.10.3 hd590300_0 conda-forge/linux-64 Cached + libgdal 3.8.4 h7c88fdf_5 conda-forge/linux-64 Cached + libgettextpo 0.22.5 h59595ed_2 conda-forge/linux-64 Cached + libgettextpo-devel 0.22.5 h59595ed_2 conda-forge/linux-64 Cached + libgfortran-ng 13.2.0 h69a702a_5 conda-forge/linux-64 Cached + libgfortran5 13.2.0 ha4646dd_5 conda-forge/linux-64 Cached + libglib 2.80.0 hf2295e7_5 conda-forge/linux-64 Cached + libgomp 13.2.0 h807b86a_5 conda-forge/linux-64 Cached + libgoogle-cloud 2.22.0 h9be4e54_1 conda-forge/linux-64 Cached + libgoogle-cloud-storage 2.22.0 hc7a4891_1 conda-forge/linux-64 Cached + libgpg-error 1.48 h71f35ed_0 conda-forge/linux-64 Cached + libgrpc 1.62.2 h15f2491_0 conda-forge/linux-64 Cached + libiconv 1.17 hd590300_2 conda-forge/linux-64 Cached + libidn2 2.3.7 hd590300_0 conda-forge/linux-64 Cached + libjpeg-turbo 3.0.0 hd590300_1 conda-forge/linux-64 Cached + libkml 1.3.0 h01aab08_1018 conda-forge/linux-64 Cached + liblapack 3.9.0 22_linux64_openblas conda-forge/linux-64 Cached + libllvm15 15.0.7 hb3ce162_4 conda-forge/linux-64 Cached + libllvm16 16.0.6 hb3ce162_3 conda-forge/linux-64 Cached + libllvm18 18.1.3 h2448989_0 conda-forge/linux-64 Cached + libnetcdf 4.9.2 nompi_h9612171_113 conda-forge/linux-64 Cached + libnghttp2 1.58.0 h47da74e_1 conda-forge/linux-64 Cached + libnl 3.9.0 hd590300_0 conda-forge/linux-64 Cached + libnsl 2.0.1 hd590300_0 conda-forge/linux-64 Cached + libogg 1.3.4 h7f98852_1 conda-forge/linux-64 Cached + libopenblas 0.3.27 pthreads_h413a1c8_0 conda-forge/linux-64 Cached + libopus 1.3.1 h7f98852_1 conda-forge/linux-64 Cached + libparquet 15.0.2 h6a7eafb_3_cpu conda-forge/linux-64 Cached + libpng 1.6.43 h2797004_0 conda-forge/linux-64 Cached + libpq 16.2 h33b98f1_1 conda-forge/linux-64 Cached + libprotobuf 4.25.3 h08a7969_0 conda-forge/linux-64 Cached + libre2-11 2023.09.01 h5a48ba9_2 conda-forge/linux-64 Cached + librttopo 1.1.0 h8917695_15 conda-forge/linux-64 Cached + libsndfile 1.2.2 hc60ed4a_1 conda-forge/linux-64 Cached + libsodium 1.0.18 h36c2ea0_1 conda-forge/linux-64 Cached + libspatialindex 1.9.3 h9c3ff4c_4 conda-forge/linux-64 Cached + libspatialite 5.1.0 h7bd4643_4 conda-forge/linux-64 Cached + libsqlite 3.45.3 h2797004_0 conda-forge/linux-64 Cached + libssh2 1.11.0 h0841786_0 conda-forge/linux-64 Cached + libstdcxx-ng 13.2.0 h7e041cc_5 conda-forge/linux-64 Cached + libsystemd0 255 h3516f8a_1 conda-forge/linux-64 Cached + libthrift 0.19.0 hb90f79a_1 conda-forge/linux-64 Cached + libtiff 4.6.0 h1dd3fc0_3 conda-forge/linux-64 Cached + libunistring 0.9.10 h7f98852_0 conda-forge/linux-64 Cached + libutf8proc 2.8.0 h166bdaf_0 conda-forge/linux-64 Cached + libuuid 2.38.1 h0b41bf4_0 conda-forge/linux-64 Cached + libvorbis 1.3.7 h9c3ff4c_0 conda-forge/linux-64 Cached + libwebp-base 1.4.0 hd590300_0 conda-forge/linux-64 Cached + libxcb 1.15 h0b41bf4_0 conda-forge/linux-64 Cached + libxcrypt 4.4.36 hd590300_1 conda-forge/linux-64 Cached + libxkbcommon 1.7.0 h662e7e4_0 conda-forge/linux-64 Cached + libxml2 2.12.6 h232c23b_2 conda-forge/linux-64 Cached + libxslt 1.1.39 h76b75d6_0 conda-forge/linux-64 Cached + libzip 1.10.1 h2629f0a_3 conda-forge/linux-64 Cached + libzlib 1.2.13 hd590300_5 conda-forge/linux-64 Cached + locket 1.0.0 pyhd8ed1ab_0 conda-forge/noarch Cached + lxml 5.1.0 py312h37b5203_0 conda-forge/linux-64 Cached + lz4 4.3.3 py312h03f37cb_0 conda-forge/linux-64 Cached + lz4-c 1.9.4 hcb278e6_0 conda-forge/linux-64 Cached + lzo 2.10 h516909a_1000 conda-forge/linux-64 Cached + mapclassify 2.6.1 pyhd8ed1ab_0 conda-forge/noarch Cached + markupsafe 2.1.5 py312h98912ed_0 conda-forge/linux-64 Cached + matplotlib 3.8.4 py312h7900ff3_0 conda-forge/linux-64 Cached + matplotlib-base 3.8.4 py312he5832f3_0 conda-forge/linux-64 Cached + matplotlib-inline 0.1.7 pyhd8ed1ab_0 conda-forge/noarch Cached + mercantile 1.2.1 pyhd8ed1ab_0 conda-forge/noarch Cached + minizip 4.0.5 h0ab5242_0 conda-forge/linux-64 Cached + mpg123 1.32.6 h59595ed_0 conda-forge/linux-64 Cached + msgpack-python 1.0.7 py312h8572e83_0 conda-forge/linux-64 Cached + multidict 6.0.5 py312h98912ed_0 conda-forge/linux-64 Cached + multimethod 1.11 pyhd8ed1ab_1 conda-forge/noarch Cached + munkres 1.1.4 pyh9f0ad1d_0 conda-forge/noarch Cached + mysql-common 8.3.0 hf1915f5_4 conda-forge/linux-64 Cached + mysql-libs 8.3.0 hca2cd23_4 conda-forge/linux-64 Cached + ncurses 6.4.20240210 h59595ed_0 conda-forge/linux-64 Cached + nest-asyncio 1.6.0 pyhd8ed1ab_0 conda-forge/noarch Cached + netcdf4 1.6.5 nompi_py312h26027e0_100 conda-forge/linux-64 Cached + networkx 3.3 pyhd8ed1ab_1 conda-forge/noarch Cached + nspr 4.35 h27087fc_0 conda-forge/linux-64 Cached + nss 3.98 h1d7d5a4_0 conda-forge/linux-64 Cached + numpy 1.26.4 py312heda63a1_0 conda-forge/linux-64 Cached + odc-geo 0.4.3 pyhd8ed1ab_0 conda-forge/noarch Cached + odc-stac 0.3.9 pyhd8ed1ab_0 conda-forge/noarch Cached + openjpeg 2.5.2 h488ebb8_0 conda-forge/linux-64 Cached + openssl 3.2.1 hd590300_1 conda-forge/linux-64 Cached + orc 2.0.0 h17fec99_1 conda-forge/linux-64 Cached + owslib 0.30.0 pyhd8ed1ab_0 conda-forge/noarch Cached + packaging 24.0 pyhd8ed1ab_0 conda-forge/noarch Cached + pandas 2.2.2 py312hfb8ada1_0 conda-forge/linux-64 Cached + parso 0.8.4 pyhd8ed1ab_0 conda-forge/noarch Cached + partd 1.4.1 pyhd8ed1ab_0 conda-forge/noarch Cached + pcre2 10.43 hcad00b1_0 conda-forge/linux-64 Cached + pexpect 4.9.0 pyhd8ed1ab_0 conda-forge/noarch Cached + pickleshare 0.7.5 py_1003 conda-forge/noarch Cached + pillow 10.3.0 py312hdcec9eb_0 conda-forge/linux-64 Cached + pip 24.0 pyhd8ed1ab_0 conda-forge/noarch Cached + pixman 0.43.2 h59595ed_0 conda-forge/linux-64 Cached + planetary-computer 1.0.0 pyhd8ed1ab_0 conda-forge/noarch Cached + platformdirs 4.2.0 pyhd8ed1ab_0 conda-forge/noarch Cached + ply 3.11 pyhd8ed1ab_2 conda-forge/noarch Cached + poppler 24.03.0 h590f24d_0 conda-forge/linux-64 Cached + poppler-data 0.4.12 hd8ed1ab_0 conda-forge/noarch Cached + postgresql 16.2 h82ecc9d_1 conda-forge/linux-64 Cached + pqdm 0.2.0 pyhd8ed1ab_0 conda-forge/noarch Cached + proj 9.3.1 h1d62c97_0 conda-forge/linux-64 Cached + prompt-toolkit 3.0.42 pyha770c72_0 conda-forge/noarch Cached + proto-plus 1.23.0 pyhd8ed1ab_0 conda-forge/noarch Cached + protobuf 4.25.3 py312h72fbbdf_0 conda-forge/linux-64 Cached + psutil 5.9.8 py312h98912ed_0 conda-forge/linux-64 Cached + pthread-stubs 0.4 h36c2ea0_1001 conda-forge/linux-64 Cached + ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge/noarch Cached + pulseaudio-client 17.0 hb77b528_0 conda-forge/linux-64 Cached + pure_eval 0.2.2 pyhd8ed1ab_0 conda-forge/noarch Cached + py3dep 0.16.2 pyhd8ed1ab_0 conda-forge/noarch Cached + pyarrow 15.0.2 py312h3340c41_3_cpu conda-forge/linux-64 Cached + pyarrow-hotfix 0.6 pyhd8ed1ab_0 conda-forge/noarch Cached + pyasn1 0.6.0 pyhd8ed1ab_0 conda-forge/noarch Cached + pyasn1-modules 0.4.0 pyhd8ed1ab_0 conda-forge/noarch Cached + pycares 4.0.0 py312h98912ed_3 conda-forge/linux-64 Cached + pycparser 2.22 pyhd8ed1ab_0 conda-forge/noarch Cached + pydantic 2.7.0 pyhd8ed1ab_0 conda-forge/noarch Cached + pydantic-core 2.18.1 py312h4b3b743_0 conda-forge/linux-64 Cached + pygeoogc 0.16.1 pyhd8ed1ab_0 conda-forge/noarch Cached + pygeoutils 0.16.1 pyhd8ed1ab_0 conda-forge/noarch Cached + pygments 2.17.2 pyhd8ed1ab_0 conda-forge/noarch Cached + pyopenssl 24.0.0 pyhd8ed1ab_0 conda-forge/noarch Cached + pyparsing 3.1.2 pyhd8ed1ab_0 conda-forge/noarch Cached + pyproj 3.6.1 py312h38f1c37_5 conda-forge/linux-64 Cached + pyqt 5.15.9 py312h949fe66_5 conda-forge/linux-64 Cached + pyqt5-sip 12.12.2 py312h30efb56_5 conda-forge/linux-64 Cached + pysocks 1.7.1 pyha2e5f31_6 conda-forge/noarch Cached + pystac 1.10.0 pyhd8ed1ab_0 conda-forge/noarch Cached + pystac-client 0.7.6 pyhd8ed1ab_0 conda-forge/noarch Cached + python 3.12.3 hab00c5b_0_cpython conda-forge/linux-64 Cached + python-cmr 0.10.0 pyhd8ed1ab_0 conda-forge/noarch Cached + python-dateutil 2.9.0 pyhd8ed1ab_0 conda-forge/noarch Cached + python-dotenv 1.0.1 pyhd8ed1ab_0 conda-forge/noarch Cached + python-tzdata 2024.1 pyhd8ed1ab_0 conda-forge/noarch Cached + python_abi 3.12 4_cp312 conda-forge/linux-64 Cached + pytz 2024.1 pyhd8ed1ab_0 conda-forge/noarch Cached + pyu2f 0.1.5 pyhd8ed1ab_0 conda-forge/noarch Cached + pyyaml 6.0.1 py312h98912ed_1 conda-forge/linux-64 Cached + pyzmq 26.0.0 py312h886d080_0 conda-forge/linux-64 Cached + qt-main 5.15.8 hc9dc06e_21 conda-forge/linux-64 Cached + rasterio 1.3.9 py312h26ef92c_2 conda-forge/linux-64 Cached + rdma-core 51.0 hd3aeb46_0 conda-forge/linux-64 Cached + re2 2023.09.01 h7f4b329_2 conda-forge/linux-64 Cached + readline 8.2 h8228510_1 conda-forge/linux-64 Cached + requests 2.31.0 pyhd8ed1ab_0 conda-forge/noarch Cached + requests-cache 1.2.0 pyhd8ed1ab_0 conda-forge/noarch Cached + rioxarray 0.15.4 pyhd8ed1ab_0 conda-forge/noarch Cached + rsa 4.9 pyhd8ed1ab_0 conda-forge/noarch Cached + rtree 1.2.0 py312hb0aae1a_0 conda-forge/linux-64 Cached + s2n 1.4.12 h06160fa_0 conda-forge/linux-64 Cached + s3fs 2024.3.1 pyhd8ed1ab_0 conda-forge/noarch Cached + scikit-learn 1.4.2 py312h394d371_0 conda-forge/linux-64 Cached + scipy 1.13.0 py312heda63a1_0 conda-forge/linux-64 Cached + setuptools 69.5.1 pyhd8ed1ab_0 conda-forge/noarch Cached + shapely 2.0.4 py312h9e6bd2c_0 conda-forge/linux-64 Cached + sip 6.7.12 py312h30efb56_0 conda-forge/linux-64 Cached + six 1.16.0 pyh6c4a22f_0 conda-forge/noarch Cached + snappy 1.2.0 hdb0a2a9_1 conda-forge/linux-64 Cached + snuggs 1.4.7 py_0 conda-forge/noarch Cached + sortedcontainers 2.4.0 pyhd8ed1ab_0 conda-forge/noarch Cached + soupsieve 2.5 pyhd8ed1ab_1 conda-forge/noarch Cached + spdlog 1.12.0 hd2e6256_2 conda-forge/linux-64 Cached + sqlite 3.45.3 h2c6b66d_0 conda-forge/linux-64 Cached + stack_data 0.6.2 pyhd8ed1ab_0 conda-forge/noarch Cached + tblib 3.0.0 pyhd8ed1ab_0 conda-forge/noarch Cached + threadpoolctl 3.4.0 pyhc1e730c_0 conda-forge/noarch Cached + tiledb 2.21.2 h8a5282e_1 conda-forge/linux-64 Cached + tinynetrc 1.3.1 pyhd8ed1ab_0 conda-forge/noarch Cached + tk 8.6.13 noxft_h4845f30_101 conda-forge/linux-64 Cached + toml 0.10.2 pyhd8ed1ab_0 conda-forge/noarch Cached + tomli 2.0.1 pyhd8ed1ab_0 conda-forge/noarch Cached + toolz 0.12.1 pyhd8ed1ab_0 conda-forge/noarch Cached + tornado 6.4 py312h98912ed_0 conda-forge/linux-64 Cached + tqdm 4.66.2 pyhd8ed1ab_0 conda-forge/noarch Cached + traitlets 5.14.2 pyhd8ed1ab_0 conda-forge/noarch Cached + typing-extensions 4.11.0 hd8ed1ab_0 conda-forge/noarch Cached + typing_extensions 4.11.0 pyha770c72_0 conda-forge/noarch Cached + tzcode 2024a h3f72095_0 conda-forge/linux-64 Cached + tzdata 2024a h0c530f3_0 conda-forge/noarch Cached + ucx 1.15.0 ha691c75_8 conda-forge/linux-64 Cached + ujson 5.9.0 py312h30efb56_0 conda-forge/linux-64 Cached + uriparser 0.9.7 h59595ed_1 conda-forge/linux-64 Cached + uritemplate 4.1.1 pyhd8ed1ab_0 conda-forge/noarch Cached + url-normalize 1.4.3 pyhd8ed1ab_0 conda-forge/noarch Cached + urllib3 2.0.7 pyhd8ed1ab_0 conda-forge/noarch Cached + wcwidth 0.2.13 pyhd8ed1ab_0 conda-forge/noarch Cached + wget 1.21.4 hda4d442_0 conda-forge/linux-64 Cached + wheel 0.43.0 pyhd8ed1ab_1 conda-forge/noarch Cached + wrapt 1.16.0 py312h98912ed_0 conda-forge/linux-64 Cached + xarray 2024.3.0 pyhd8ed1ab_0 conda-forge/noarch Cached + xcb-util 0.4.0 hd590300_1 conda-forge/linux-64 Cached + xcb-util-image 0.4.0 h8ee46fc_1 conda-forge/linux-64 Cached + xcb-util-keysyms 0.4.0 h8ee46fc_1 conda-forge/linux-64 Cached + xcb-util-renderutil 0.3.9 hd590300_1 conda-forge/linux-64 Cached + xcb-util-wm 0.4.1 h8ee46fc_1 conda-forge/linux-64 Cached + xee 0.0.12 pyhd8ed1ab_0 conda-forge/noarch Cached + xerces-c 3.2.5 hac6953d_0 conda-forge/linux-64 Cached + xkeyboard-config 2.41 hd590300_0 conda-forge/linux-64 Cached + xorg-kbproto 1.0.7 h7f98852_1002 conda-forge/linux-64 Cached + xorg-libice 1.1.1 hd590300_0 conda-forge/linux-64 Cached + xorg-libsm 1.2.4 h7391055_0 conda-forge/linux-64 Cached + xorg-libx11 1.8.9 h8ee46fc_0 conda-forge/linux-64 Cached + xorg-libxau 1.0.11 hd590300_0 conda-forge/linux-64 Cached + xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge/linux-64 Cached + xorg-libxext 1.3.4 h0b41bf4_2 conda-forge/linux-64 Cached + xorg-libxrender 0.9.11 hd590300_0 conda-forge/linux-64 Cached + xorg-renderproto 0.11.1 h7f98852_1002 conda-forge/linux-64 Cached + xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge/linux-64 Cached + xorg-xf86vidmodeproto 2.3.1 h7f98852_1002 conda-forge/linux-64 Cached + xorg-xproto 7.0.31 h7f98852_1007 conda-forge/linux-64 Cached + xyzservices 2024.4.0 pyhd8ed1ab_0 conda-forge/noarch Cached + xz 5.2.6 h166bdaf_0 conda-forge/linux-64 Cached + yaml 0.2.5 h7f98852_2 conda-forge/linux-64 Cached + yarl 1.9.4 py312h98912ed_0 conda-forge/linux-64 Cached + zeromq 4.3.5 h59595ed_1 conda-forge/linux-64 Cached + zict 3.0.0 pyhd8ed1ab_0 conda-forge/noarch Cached + zipp 3.17.0 pyhd8ed1ab_0 conda-forge/noarch Cached + zlib 1.2.13 hd590300_5 conda-forge/linux-64 Cached + zstd 1.5.5 hfc55251_0 conda-forge/linux-64 Cached Summary: Install: 401 packages Total download: 0 B ─────────────────────────────────────────────────────────────────────────────────────────────────────── Preparing transaction: done Verifying transaction: done Executing transaction: done Installing pip dependencies: | Ran pip subprocess with arguments: ['/home/eric/miniconda3/envs/easysnowdata/bin/python', '-m', 'pip', 'install', '-U', '-r', '/home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt'] Pip subprocess output: Obtaining file:///home/eric/repos/easysnowdata (from -r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) Installing build dependencies: started Installing build dependencies: finished with status 'done' Checking if build backend supports build_editable: started Checking if build backend supports build_editable: finished with status 'done' Getting requirements to build editable: started Getting requirements to build editable: finished with status 'done' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing editable metadata (pyproject.toml): started Preparing editable metadata (pyproject.toml): finished with status 'done' Requirement already satisfied: matplotlib-scalebar in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from -r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 1)) (0.8.1) Requirement already satisfied: matplotlib in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from matplotlib-scalebar->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 1)) (3.8.4) Requirement already satisfied: numpy in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.26.4) Requirement already satisfied: pandas in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.2.2) Requirement already satisfied: geopandas in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.14.3) Requirement already satisfied: rasterio in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.3.9) Requirement already satisfied: xarray in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2024.3.0) Requirement already satisfied: rioxarray in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.15.4) Requirement already satisfied: shapely in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.0.4) Requirement already satisfied: pystac-client in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.7.6) Requirement already satisfied: planetary-computer in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.0.0) Requirement already satisfied: odc-stac in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.3.9) Requirement already satisfied: xee in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.0.11) Requirement already satisfied: bs4 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.0.2) Requirement already satisfied: py3dep in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.16.2) Requirement already satisfied: earthaccess in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.9.0) Requirement already satisfied: contextily in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.6.0) Requirement already satisfied: folium in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.16.0) Requirement already satisfied: mapclassify in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.6.1) Requirement already satisfied: lxml in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (5.1.0) Requirement already satisfied: beautifulsoup4 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from bs4->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (4.12.3) Requirement already satisfied: geopy in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from contextily->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.4.1) Requirement already satisfied: mercantile in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from contextily->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.2.1) Requirement already satisfied: pillow in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from contextily->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (10.3.0) Requirement already satisfied: requests in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from contextily->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.31.0) Requirement already satisfied: joblib in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from contextily->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.4.0) Requirement already satisfied: xyzservices in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from contextily->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2024.4.0) Requirement already satisfied: fsspec>=2022.11 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2024.3.1) Requirement already satisfied: multimethod>=1.8 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.11) Requirement already satisfied: pqdm>=0.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.2.0) Requirement already satisfied: python-cmr>=0.9.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.10.0) Requirement already satisfied: python-dateutil>=2.8.2 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.9.0) Requirement already satisfied: s3fs>=2022.11 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2024.3.1) Requirement already satisfied: tinynetrc<2.0.0,>=1.3.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.3.1) Requirement already satisfied: branca>=0.6.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from folium->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.7.1) Requirement already satisfied: jinja2>=2.9 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from folium->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.1.3) Requirement already satisfied: fiona>=1.8.21 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from geopandas->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.9.6) Requirement already satisfied: packaging in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from geopandas->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (24.0) Requirement already satisfied: pyproj>=3.3.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from geopandas->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.6.1) Requirement already satisfied: pytz>=2020.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pandas->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2024.1) Requirement already satisfied: tzdata>=2022.7 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pandas->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2024.1) Requirement already satisfied: networkx>=2.7 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from mapclassify->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.3) Requirement already satisfied: scikit-learn>=1.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from mapclassify->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.4.2) Requirement already satisfied: scipy>=1.8 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from mapclassify->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.13.0) Requirement already satisfied: contourpy>=1.0.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from matplotlib->matplotlib-scalebar->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 1)) (1.2.1) Requirement already satisfied: cycler>=0.10 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from matplotlib->matplotlib-scalebar->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 1)) (0.12.1) Requirement already satisfied: fonttools>=4.22.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from matplotlib->matplotlib-scalebar->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 1)) (4.51.0) Requirement already satisfied: kiwisolver>=1.3.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from matplotlib->matplotlib-scalebar->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 1)) (1.4.5) Requirement already satisfied: pyparsing>=2.3.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from matplotlib->matplotlib-scalebar->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 1)) (3.1.2) Requirement already satisfied: affine in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.4.0) Requirement already satisfied: odc-geo>=0.3.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.4.3) Requirement already satisfied: dask[array] in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2024.4.1) Requirement already satisfied: pystac<2,>=1.0.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.10.0) Requirement already satisfied: toolz in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.12.1) Requirement already satisfied: attrs in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from rasterio->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (23.2.0) Requirement already satisfied: certifi in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from rasterio->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2024.2.2) Requirement already satisfied: click>=4.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from rasterio->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (8.1.7) Requirement already satisfied: cligj>=0.5 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from rasterio->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.7.2) Requirement already satisfied: snuggs>=1.4.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from rasterio->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.4.7) Requirement already satisfied: click-plugins in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from rasterio->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.1.1) Requirement already satisfied: setuptools in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from rasterio->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (69.5.1) Requirement already satisfied: pydantic>=1.7.3 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from planetary-computer->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.7.0) Requirement already satisfied: python-dotenv in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from planetary-computer->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.0.1) Requirement already satisfied: async-retriever<0.17,>=0.16 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.16.0) Requirement already satisfied: cytoolz in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.12.3) Requirement already satisfied: pygeoogc<0.17,>=0.16.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.16.1) Requirement already satisfied: pygeoutils<0.17,>=0.16.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.16.1) Requirement already satisfied: earthengine-api>=0.1.374 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.1.398) Requirement already satisfied: aiohttp>=3.8.3 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from aiohttp[speedups]>=3.8.3->async-retriever<0.17,>=0.16->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.9.3) Requirement already satisfied: aiohttp-client-cache>=0.8.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from async-retriever<0.17,>=0.16->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.11.0) Requirement already satisfied: aiosqlite in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from async-retriever<0.17,>=0.16->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.19.0) Requirement already satisfied: ujson in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from async-retriever<0.17,>=0.16->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (5.9.0) Requirement already satisfied: google-cloud-storage in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.16.0) Requirement already satisfied: google-api-python-client>=1.12.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.126.0) Requirement already satisfied: google-auth>=1.4.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.29.0) Requirement already satisfied: google-auth-httplib2>=0.0.3 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.2.0) Requirement already satisfied: httplib2<1dev,>=0.9.2 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.22.0) Requirement already satisfied: six in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from fiona>=1.8.21->geopandas->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.16.0) Requirement already satisfied: MarkupSafe>=2.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from jinja2>=2.9->folium->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.1.5) Requirement already satisfied: cachetools in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from odc-geo>=0.3.0->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (5.3.3) Requirement already satisfied: bounded-pool-executor in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pqdm>=0.1->earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.0.3) Requirement already satisfied: tqdm in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pqdm>=0.1->earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (4.66.2) Requirement already satisfied: typing-extensions in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pqdm>=0.1->earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (4.11.0) Requirement already satisfied: annotated-types>=0.4.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pydantic>=1.7.3->planetary-computer->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.6.0) Requirement already satisfied: pydantic-core==2.18.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pydantic>=1.7.3->planetary-computer->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.18.1) Requirement already satisfied: defusedxml in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pygeoogc<0.17,>=0.16.1->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.7.1) Requirement already satisfied: multidict in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pygeoogc<0.17,>=0.16.1->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (6.0.5) Requirement already satisfied: owslib>=0.27.2 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pygeoogc<0.17,>=0.16.1->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.30.0) Requirement already satisfied: requests-cache>=0.9.6 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pygeoogc<0.17,>=0.16.1->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.2.0) Requirement already satisfied: url-normalize>=1.4 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pygeoogc<0.17,>=0.16.1->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.4.3) Requirement already satisfied: urllib3 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pygeoogc<0.17,>=0.16.1->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.0.7) Requirement already satisfied: yarl in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pygeoogc<0.17,>=0.16.1->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.9.4) Requirement already satisfied: netcdf4 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pygeoutils<0.17,>=0.16.1->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.6.5) Requirement already satisfied: jsonschema~=4.18 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pystac[validation]>=1.8.2->pystac-client->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (4.21.1) Requirement already satisfied: charset-normalizer<4,>=2 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from requests->contextily->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.3.2) Requirement already satisfied: idna<4,>=2.5 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from requests->contextily->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.7) Requirement already satisfied: aiobotocore<3.0.0,>=2.5.4 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from s3fs>=2022.11->earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.12.2) Requirement already satisfied: threadpoolctl>=2.0.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from scikit-learn>=1.0->mapclassify->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.4.0) Requirement already satisfied: soupsieve>1.2 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from beautifulsoup4->bs4->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.5) Requirement already satisfied: cloudpickle>=1.5.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.0.0) Requirement already satisfied: partd>=1.2.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.4.1) Requirement already satisfied: pyyaml>=5.3.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (6.0.1) Requirement already satisfied: geographiclib<3,>=1.52 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from geopy->contextily->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.0) Requirement already satisfied: botocore<1.34.52,>=1.34.41 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from aiobotocore<3.0.0,>=2.5.4->s3fs>=2022.11->earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.34.51) Requirement already satisfied: wrapt<2.0.0,>=1.10.10 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from aiobotocore<3.0.0,>=2.5.4->s3fs>=2022.11->earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.16.0) Requirement already satisfied: aioitertools<1.0.0,>=0.5.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from aiobotocore<3.0.0,>=2.5.4->s3fs>=2022.11->earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.11.0) Requirement already satisfied: aiosignal>=1.1.2 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from aiohttp>=3.8.3->aiohttp[speedups]>=3.8.3->async-retriever<0.17,>=0.16->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.3.1) Requirement already satisfied: frozenlist>=1.1.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from aiohttp>=3.8.3->aiohttp[speedups]>=3.8.3->async-retriever<0.17,>=0.16->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.4.1) Requirement already satisfied: itsdangerous>=2.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from aiohttp-client-cache>=0.8.1->async-retriever<0.17,>=0.16->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.2.0) Requirement already satisfied: Brotli in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from aiohttp[speedups]>=3.8.3->async-retriever<0.17,>=0.16->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.1.0) Requirement already satisfied: aiodns in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from aiohttp[speedups]>=3.8.3->async-retriever<0.17,>=0.16->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.0.0) Requirement already satisfied: google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from google-api-python-client>=1.12.1->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.18.0) Requirement already satisfied: uritemplate<5,>=3.0.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from google-api-python-client>=1.12.1->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (4.1.1) Requirement already satisfied: pyasn1-modules>=0.2.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from google-auth>=1.4.1->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.4.0) Requirement already satisfied: rsa<5,>=3.1.4 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from google-auth>=1.4.1->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (4.9) Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from jsonschema~=4.18->pystac[validation]>=1.8.2->pystac-client->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2023.12.1) Requirement already satisfied: referencing>=0.28.4 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from jsonschema~=4.18->pystac[validation]>=1.8.2->pystac-client->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.33.0) Requirement already satisfied: rpds-py>=0.7.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from jsonschema~=4.18->pystac[validation]>=1.8.2->pystac-client->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.18.0) Requirement already satisfied: locket in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from partd>=1.2.0->dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.0.0) Requirement already satisfied: cattrs>=22.2 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from requests-cache>=0.9.6->pygeoogc<0.17,>=0.16.1->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (23.2.3) Requirement already satisfied: platformdirs>=2.5 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from requests-cache>=0.9.6->pygeoogc<0.17,>=0.16.1->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (4.2.0) Requirement already satisfied: pyarrow>=7.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (15.0.2) Requirement already satisfied: pyarrow-hotfix in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.6) Requirement already satisfied: lz4>=4.3.2 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (4.3.3) Requirement already satisfied: google-cloud-core<3.0dev,>=2.3.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from google-cloud-storage->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.4.1) Requirement already satisfied: google-resumable-media>=2.6.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from google-cloud-storage->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.7.0) Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from google-cloud-storage->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.1.2) Requirement already satisfied: cftime in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from netcdf4->pygeoutils<0.17,>=0.16.1->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.6.3) Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from botocore<1.34.52,>=1.34.41->aiobotocore<3.0.0,>=2.5.4->s3fs>=2022.11->earthaccess->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.0.1) Requirement already satisfied: googleapis-common-protos<2.0.dev0,>=1.56.2 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5->google-api-python-client>=1.12.1->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.63.0) Requirement already satisfied: protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5->google-api-python-client>=1.12.1->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (4.25.3) Requirement already satisfied: proto-plus<2.0.0dev,>=1.22.3 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5->google-api-python-client>=1.12.1->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.23.0) Requirement already satisfied: cffi>=1.0.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from google-crc32c<2.0dev,>=1.0->google-cloud-storage->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.16.0) Requirement already satisfied: pyasn1<0.7.0,>=0.4.6 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.4.1->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (0.6.0) Requirement already satisfied: pycares>=4.0.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from aiodns->aiohttp[speedups]>=3.8.3->async-retriever<0.17,>=0.16->py3dep->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (4.0.0) Requirement already satisfied: dask-expr<1.1,>=1.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.0.11) Requirement already satisfied: bokeh>=2.4.2 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.4.1) Requirement already satisfied: distributed==2024.4.1 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2024.4.1) Requirement already satisfied: msgpack>=1.0.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from distributed==2024.4.1->dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (1.0.7) Requirement already satisfied: psutil>=5.7.2 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from distributed==2024.4.1->dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (5.9.8) Requirement already satisfied: sortedcontainers>=2.0.5 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from distributed==2024.4.1->dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.4.0) Requirement already satisfied: tblib>=1.6.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from distributed==2024.4.1->dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.0.0) Requirement already satisfied: tornado>=6.0.4 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from distributed==2024.4.1->dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (6.4) Requirement already satisfied: zict>=3.0.0 in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from distributed==2024.4.1->dask[array]->odc-stac->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (3.0.0) Requirement already satisfied: pycparser in /home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages (from cffi>=1.0.0->google-crc32c<2.0dev,>=1.0->google-cloud-storage->earthengine-api>=0.1.374->xee->easysnowdata==0.0.4->-r /home/eric/repos/easysnowdata/condaenv.hmduwwkz.requirements.txt (line 2)) (2.22) Building wheels for collected packages: easysnowdata Building editable for easysnowdata (pyproject.toml): started Building editable for easysnowdata (pyproject.toml): finished with status 'done' Created wheel for easysnowdata: filename=easysnowdata-0.0.4-0.editable-py2.py3-none-any.whl size=4287 sha256=f5f7b14c6108f2ff8bee5454d4514fc302f400bef6efaafe2dff02ccf9b88557 Stored in directory: /tmp/pip-ephem-wheel-cache-slbcmsf5/wheels/66/ac/e8/cea5c0a707a89e63b53c3c2fda386a07fd1e9d0545fb5ab1a9 Successfully built easysnowdata Installing collected packages: easysnowdata Attempting uninstall: easysnowdata Found existing installation: easysnowdata 0.0.4 Uninstalling easysnowdata-0.0.4: Successfully uninstalled easysnowdata-0.0.4 Successfully installed easysnowdata-0.0.4 done # # To activate this environment, use # # $ conda activate easysnowdata # # To deactivate an active environment, use # # $ conda deactivate Retrieving notices: ...working... done
%load_ext autoreload
%autoreload 2
%aimport easysnowdata
import geopandas as gpd
import rioxarray as rxr
import xarray as xr
import shapely
import dask
import pystac_client
import planetary_computer
import odc.stac
import matplotlib.pyplot as plt
import matplotlib.colors
import datetime
import pandas as pd
import numpy as np
import contextily as ctx
import rasterio as rio
import datetime
today = datetime.datetime.now().strftime("%Y-%m-%d")
from easysnowdata.utils import (
convert_bbox_to_geodataframe,
get_stac_cfg,
HLS_xml_url_to_metadata_df,
)
bbox_gdf = gpd.read_file(
"https://github.com/egagli/easysnowdata/raw/main/docs/examples/mt_rainier.geojson"
)
%%time
forest_cover_fraction = easysnowdata.remote_sensing.get_forest_cover_fraction(bbox_gdf)
forest_cover_fraction
CPU times: user 85.1 ms, sys: 18.1 ms, total: 103 ms Wall time: 16 s
<xarray.DataArray (y: 272, x: 405)> Size: 441kB dask.array<getitem, shape=(272, 405), dtype=float32, chunksize=(272, 405), chunktype=numpy.ndarray> Coordinates: band int64 8B 1 * x (x) float64 3kB -121.9 -121.9 -121.9 ... -121.5 -121.5 -121.5 * y (y) float64 2kB 47.0 47.0 47.0 46.99 ... 46.73 46.73 46.73 spatial_ref int64 8B 0 Attributes: (12/31) archive_facility: VITO NV AREA_OR_POINT: Area copyright: Copernicus Service information 2020 creator: Dr. Marcel Buchhorn (VITO) delivered_product_crs: WGS84 (EPSG:4326) doi: 10.5281/zenodo.3939050 ... ... time_reference_year: 2019 title: Dynamic Land Cover Map 100m 2019-nrt band_crs: WGS84 (EPSG:4326) short_name: Tree-CoverFraction-layer unit: % valid_range: 0, 100
f, ax = plt.subplots(figsize=(7, 7))
forest_cover_fraction.plot(ax=ax, cmap="Greens")
ax.set_title(
"Copernicus Global Land Service Forest Cover Fraction\nLand Cover 100m: collection 3: epoch 2019"
)
Text(0.5, 1.0, 'Copernicus Global Land Service Forest Cover Fraction\nLand Cover 100m: collection 3: epoch 2019')
%%time
snow_classification = easysnowdata.remote_sensing.get_seasonal_snow_classification(bbox_gdf)
snow_classification
CPU times: user 114 ms, sys: 4.98 ms, total: 119 ms Wall time: 7.19 s
<xarray.DataArray (y: 98, x: 146)> Size: 57kB dask.array<getitem, shape=(98, 146), dtype=float32, chunksize=(53, 146), chunktype=numpy.ndarray> Coordinates: band int64 8B 1 * x (x) float64 1kB -121.9 -121.9 -121.9 ... -121.5 -121.5 -121.5 * y (y) float64 784B 47.0 47.0 46.99 46.99 ... 46.73 46.73 46.73 spatial_ref int64 8B 0 Attributes: AREA_OR_POINT: Area Band_1: Band 1 long_name: Band 1 class_info: {1: {'name': 'Tundra', 'color': '#a100c8'}, 2: {'name': '...
f, ax = plt.subplots(figsize=(7, 7))
# Get the class names and class colors from the attributes
class_names = [
class_info["name"]
for class_info in snow_classification.attrs["class_info"].values()
]
class_colors = [
class_info["color"]
for class_info in snow_classification.attrs["class_info"].values()
]
# Create a colormap using the class colors
cmap = plt.cm.colors.ListedColormap(class_colors)
class_values = sorted(list(snow_classification.attrs["class_info"].keys()))
bounds = [
(class_values[i] + class_values[i + 1]) / 2 for i in range(len(class_values) - 1)
]
bounds = [class_values[0] - 0.5] + bounds + [class_values[-1] + 0.5]
norm = matplotlib.colors.BoundaryNorm(bounds, cmap.N)
# Plot the snow_classification DataArray
snow_classification.plot.imshow(ax=ax, cmap=cmap, add_colorbar=False, norm=norm)
# Add a legend with the class names outside of the plot
legend_handles = []
for i, class_name in enumerate(class_names):
legend_handles.append(
plt.Rectangle((0, 0), 1, 1, facecolor=class_colors[i], edgecolor="black")
)
ax.legend(
legend_handles,
class_names,
bbox_to_anchor=(0.5, -0.1),
loc="upper center",
ncol=len(class_names) / 3,
frameon=False,
handlelength=3.5,
handleheight=5,
)
ax.set_title("Seasonal Snow Classification\nfrom Sturm & Liston 2021")
Text(0.5, 1.0, 'Seasonal Snow Classification\nfrom Sturm & Liston 2021')
mountain_snow = easysnowdata.remote_sensing.get_seasonal_mountain_snow_mask(bbox_gdf)
mountain_snow
<xarray.DataArray (y: 33, x: 50)> Size: 7kB dask.array<astype, shape=(33, 50), dtype=float32, chunksize=(33, 50), chunktype=numpy.ndarray> Coordinates: band int64 8B 1 * x (x) float64 400B -121.9 -121.9 -121.9 ... -121.6 -121.5 -121.5 * y (y) float64 264B 47.0 46.99 46.98 46.97 ... 46.75 46.74 46.73 spatial_ref int64 8B 0 Attributes: AREA_OR_POINT: Area RepresentationType: THEMATIC STATISTICS_COVARIANCES: 2.062602261791696 STATISTICS_MAXIMUM: 3 STATISTICS_MEAN: 1.6867135719402 STATISTICS_MINIMUM: 0 STATISTICS_SKIPFACTORX: 1 STATISTICS_SKIPFACTORY: 1 STATISTICS_STDDEV: 1.4361762641792 class_info: {0: {'name': 'Mountains with little-to-no snow',...
f, ax = plt.subplots(figsize=(7, 7))
# Get the class names and class colors from the attributes
class_names = [
class_info["name"]
for class_info in mountain_snow.attrs["class_info"].values()
]
class_colors = [
class_info["color"]
for class_info in mountain_snow.attrs["class_info"].values()
]
# Create a colormap using the class colors
cmap = plt.cm.colors.ListedColormap(class_colors)
class_values = sorted(list(mountain_snow.attrs["class_info"].keys()))
bounds = [
(class_values[i] + class_values[i + 1]) / 2 for i in range(len(class_values) - 1)
]
bounds = [class_values[0] - 0.5] + bounds + [class_values[-1] + 0.5]
norm = matplotlib.colors.BoundaryNorm(bounds, cmap.N)
# Plot the snow_classification DataArray
mountain_snow.plot.imshow(ax=ax, cmap=cmap, add_colorbar=False, norm=norm)
# Add a legend with the class names outside of the plot
legend_handles = []
for i, class_name in enumerate(class_names):
legend_handles.append(
plt.Rectangle((0, 0), 1, 1, facecolor=class_colors[i], edgecolor="black")
)
ax.legend(
legend_handles,
class_names,
bbox_to_anchor=(0.5, -0.1),
loc="upper center",
ncol=2,
frameon=False,
handlelength=3.5,
handleheight=5,
)
ax.set_title("Global seasonal mountain snow mask\nfrom Wrzesien et al 2019")
Text(0.5, 1.0, 'Global seasonal mountain snow mask\nfrom Wrzesien et al 2019')
%%time
esa_worldcover = easysnowdata.remote_sensing.get_esa_worldcover(bbox_gdf)
esa_worldcover
CPU times: user 62.7 ms, sys: 0 ns, total: 62.7 ms Wall time: 1.61 s
<xarray.DataArray 'map' (latitude: 3227, longitude: 4811)> Size: 16MB dask.array<getitem, shape=(3227, 4811), dtype=uint8, chunksize=(3227, 4811), chunktype=numpy.ndarray> Coordinates: * latitude (latitude) float64 26kB 47.0 47.0 47.0 ... 46.73 46.73 46.73 * longitude (longitude) float64 38kB -121.9 -121.9 -121.9 ... -121.5 -121.5 spatial_ref int32 4B 4326 time datetime64[ns] 8B 2021-01-01 Attributes: nodata: 0 class_info: {10: {'name': 'Tree cover', 'color': '#006400'}, 20: {'name'...
f, ax = plt.subplots(figsize=(7, 7))
# Get the class names and class colors from the attributes
class_names = [
class_info["name"] for class_info in esa_worldcover.attrs["class_info"].values()
]
class_colors = [
class_info["color"] for class_info in esa_worldcover.attrs["class_info"].values()
]
# Create a colormap using the class colors
cmap = plt.cm.colors.ListedColormap(class_colors)
class_values = sorted(list(esa_worldcover.attrs["class_info"].keys()))
bounds = [
(class_values[i] + class_values[i + 1]) / 2 for i in range(len(class_values) - 1)
]
bounds = [class_values[0] - 0.5] + bounds + [class_values[-1] + 0.5]
norm = matplotlib.colors.BoundaryNorm(bounds, cmap.N)
# Plot the snow_classification DataArray
esa_worldcover.plot.imshow(ax=ax, cmap=cmap, add_colorbar=False, norm=norm)
# Add a legend with the class names outside of the plot
legend_handles = []
for i, class_name in enumerate(class_names):
legend_handles.append(
plt.Rectangle((0, 0), 1, 1, facecolor=class_colors[i], edgecolor="black")
)
ax.legend(
legend_handles,
class_names,
bbox_to_anchor=(0.5, -0.1),
loc="upper center",
ncol=len(class_names) / 3,
frameon=False,
handlelength=3.5,
handleheight=5,
)
ax.set_title("ESA WorldCover\n2021 v200")
Text(0.5, 1.0, 'ESA WorldCover\n2021 v200')
s2 = easysnowdata.remote_sensing.Sentinel2(
bbox_input=bbox_gdf,
start_date="2022-07-01",
end_date="2022-07-31",
catalog_choice="planetarycomputer",
)
Data searched. Access the returned seach with the .search attribute. Data retrieved. Access with the .data attribute. Data CRS: WGS 84 / UTM zone 10N. Nodata values removed from the data. In doing so, all bands converted to float32. To turn this behavior off, set remove_nodata=False. Data acquired after January 25th, 2022 harmonized to old baseline. To turn this behavior off, set harmonize_to_old=False. Data scaled to reflectance. To turn this behavior off, set scale_data=False. Metadata retrieved. Access with the .metadata attribute.
s2.data
<xarray.Dataset> Size: 8GB Dimensions: (y: 3038, x: 3105, time: 13) Coordinates: * y (y) float64 24kB 5.206e+06 5.206e+06 ... 5.176e+06 5.176e+06 * x (x) float64 25kB 5.804e+05 5.804e+05 ... 6.114e+05 6.115e+05 spatial_ref int32 4B 32610 * time (time) datetime64[ns] 104B 2022-07-01T18:59:19.024000 ... 20... Data variables: (12/16) coastal (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> blue (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> green (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> red (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> rededge (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> rededge2 (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> ... ... swir16 (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> swir22 (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> aot (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> scl (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> wvp (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> visual (time, y, x) float32 491MB dask.array<chunksize=(1, 3038, 3105), meta=np.ndarray> Attributes: band_info: {'B01': {'name': 'coastal', 'description': 'Coastal aero... scl_class_info: {0: {'name': 'No Data (Missing data)', 'color': '#000000...
s2.get_rgb()
s2.rgb
RGB data retrieved. Access with the .rgb attribute.
<xarray.DataArray (band: 3, time: 13, y: 3038, x: 3105)> Size: 1GB dask.array<stack, shape=(3, 13, 3038, 3105), dtype=float32, chunksize=(1, 1, 3038, 3105), chunktype=numpy.ndarray> Coordinates: * y (y) float64 24kB 5.206e+06 5.206e+06 ... 5.176e+06 5.176e+06 * x (x) float64 25kB 5.804e+05 5.804e+05 ... 6.114e+05 6.115e+05 spatial_ref int32 4B 32610 * time (time) datetime64[ns] 104B 2022-07-01T18:59:19.024000 ... 20... * band (band) object 24B 'red' 'green' 'blue' Attributes: band_info: {'B01': {'name': 'coastal', 'description': 'Coastal aero... scl_class_info: {0: {'name': 'No Data (Missing data)', 'color': '#000000...
f = s2.rgb.plot.imshow(col='time',col_wrap=6, robust=True)
for ax, time, in zip(f.axs.flat, s2.rgb.time.values):
local_time = pd.to_datetime(time).tz_localize('UTC').tz_convert('America/Los_Angeles')
ax.set_title(f'{local_time.strftime("%B %d, %Y")}\n{local_time.strftime("%I:%M%p")}')
ax.axis('off')
ax.set_aspect('equal')
f.fig.tight_layout()
f.fig.suptitle('Sentinel-2 RGB', fontsize=16, y=1.02)
Text(0.5, 1.02, 'Sentinel-2 RGB')
/home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages/matplotlib/cm.py:494: RuntimeWarning: invalid value encountered in cast xx = (xx * 255).astype(np.uint8)
s2.data.scl
<xarray.DataArray 'scl' (time: 13, y: 3038, x: 3105)> Size: 491MB dask.array<where, shape=(13, 3038, 3105), dtype=float32, chunksize=(1, 3038, 3105), chunktype=numpy.ndarray> Coordinates: * y (y) float64 24kB 5.206e+06 5.206e+06 ... 5.176e+06 5.176e+06 * x (x) float64 25kB 5.804e+05 5.804e+05 ... 6.114e+05 6.115e+05 spatial_ref int32 4B 32610 * time (time) datetime64[ns] 104B 2022-07-01T18:59:19.024000 ... 20... Attributes: nodata: 0 scl_class_info: {0: {'name': 'No Data (Missing data)', 'color': '#000000...
f,ax=plt.subplots(figsize=(7,7))
# Get the class names and class colors from the attributes
class_names = [class_info['name'] for class_info in s2.data.scl.attrs['scl_class_info'].values()]
class_colors = [class_info['color'] for class_info in s2.data.scl.attrs['scl_class_info'].values()]
# Create a colormap using the class colors
cmap = plt.cm.colors.ListedColormap(class_colors)
class_values = sorted(list(s2.data.scl.attrs['scl_class_info'].keys()))
bounds = [(class_values[i] + class_values[i+1]) / 2 for i in range(len(class_values) - 1)]
bounds = [class_values[0] - 0.5] + bounds + [class_values[-1] + 0.5]
norm = matplotlib.colors.BoundaryNorm(bounds, cmap.N)
# Plot the snow_classification DataArray
s2.data.scl.isel(time=10).plot.imshow(ax=ax,cmap=cmap, add_colorbar=False, norm=norm)
# Add a legend with the class names outside of the plot
legend_handles = []
for i, class_name in enumerate(class_names):
legend_handles.append(plt.Rectangle((0, 0), 1, 1, facecolor=class_colors[i], edgecolor='black'))
ax.legend(legend_handles, class_names, bbox_to_anchor=(0.5, -0.1), loc='upper center',ncol=len(class_names)/4,frameon=False,handlelength=3.5, handleheight=5)
local_time = pd.to_datetime(s2.data.scl.isel(time=10).time.values).tz_localize('UTC').tz_convert('America/Los_Angeles')
ax.set_title(f'Sentinel-2 Scene Classification Layer (SCL)\n{local_time.strftime('%B %d, %Y')}\n{local_time.strftime('%I:%M%p')}')
ax.set_aspect('equal')
f = s2.data.scl.plot.imshow(col='time',col_wrap=6, cmap=cmap, add_colorbar=False, norm=norm)
for ax, time, in zip(f.axs.flat, s2.data.scl.time.values):
local_time = pd.to_datetime(time).tz_localize('UTC').tz_convert('America/Los_Angeles')
ax.set_title(f'{local_time.strftime("%B %d, %Y")}\n{local_time.strftime("%I:%M%p")}')
ax.axis('off')
ax.set_aspect('equal')
f.fig.tight_layout()
f.fig.suptitle('Sentinel-2 SCL time series',fontsize=16,y=1.02)
/home/eric/miniconda3/envs/easysnowdata/lib/python3.12/site-packages/rasterio/warp.py:344: NotGeoreferencedWarning: Dataset has no geotransform, gcps, or rpcs. The identity matrix will be returned. _reproject(
Text(0.5, 1.02, 'Sentinel-2 SCL time series')
s2.mask_data()
Removed pixels with the following scene classification values: No Data (Missing data) Saturated or defective pixel Topographic casted shadows Cloud shadows Cloud medium probability Cloud high probability Thin cirrus
# s2.get_ndsi()
# s2.ndsi
# f = s2.ndsi.plot.imshow(col='time',col_wrap=6)
# for ax, time, in zip(f.axs.flat, s2.ndsi.time.values):
# local_time = pd.to_datetime(time).tz_localize('UTC').tz_convert('America/Los_Angeles')
# ax.set_title(f'{local_time.strftime("%B %d, %Y")}\n{local_time.strftime("%I:%M%p")}')
# ax.axis('off')
# ax.set_aspect('equal')
# f.fig.suptitle('Sentinel-2 NDSI time series',fontsize=16,y=1.02)
# s2.get_ndvi()
# s2.ndvi
# f = s2.ndvi.plot.imshow(col='time',col_wrap=6)
# for ax, time, in zip(f.axs.flat, s2.ndvi.time.values):
# local_time = pd.to_datetime(time).tz_localize('UTC').tz_convert('America/Los_Angeles')
# ax.set_title(f'{local_time.strftime("%B %d, %Y")}\n{local_time.strftime("%I:%M%p")}')
# ax.axis('off')
# ax.set_aspect('equal')
# f.fig.suptitle('Sentinel-2 NDVI time series',fontsize=16,y=1.02)
#!planetarycomputer configure
s1 = easysnowdata.remote_sensing.Sentinel1(
bbox_input=bbox_gdf, start_date="2022-07-01", end_date="2022-07-31", resolution=80
)
Data searched. Access the returned seach with the .search attribute. Data retrieved. Access with the .data attribute. Data CRS: WGS 84 / UTM zone 10N. Metadata retrieved. Access with the .metadata attribute. Border noise removed from the data. Added relative orbit number and orbit state as coordinates to the data. Linear power units converted to dB. Convert back to linear power units using the .db_to_linear() method.
s1.data
<xarray.Dataset> Size: 12MB Dimensions: (y: 380, x: 389, time: 10) Coordinates: * y (y) float64 3kB 5.206e+06 5.206e+06 ... 5.176e+06 * x (x) float64 3kB 5.804e+05 5.805e+05 ... 6.115e+05 spatial_ref int32 4B 32610 * time (time) datetime64[ns] 80B 2022-07-03T14:14:09.704314 ... sat:orbit_state (time) object 80B 'descending' ... 'ascending' sat:relative_orbit (time) int16 20B 115 137 13 64 115 137 13 64 115 137 Data variables: vh (time, y, x) float32 6MB dask.array<chunksize=(10, 380, 389), meta=np.ndarray> vv (time, y, x) float32 6MB dask.array<chunksize=(10, 380, 389), meta=np.ndarray> Attributes: units: dB
f = s1.data['vv'].plot.imshow(col='time',col_wrap=6, vmin=-15, vmax=2, cmap='gray')
for ax, time, in zip(f.axs.flat, s1.data['vv'].time.values):
local_time = pd.to_datetime(time).tz_localize('UTC').tz_convert('America/Los_Angeles')
ax.set_title(f'{local_time.strftime("%B %d, %Y")}\n{local_time.strftime("%I:%M%p")}')
ax.axis('off')
ax.set_aspect('equal')
f.fig.suptitle('Sentinel-1 RTC backscatter time series',fontsize=16,y=1.02)
Text(0.5, 1.02, 'Sentinel-1 RTC backscatter time series')
f, ax = plt.subplots(figsize=(10, 10))
s1.metadata.plot(
"sat:relative_orbit",
ax=ax,
edgecolor="black",
categorical=True,
legend=True,
alpha=0.2,
)
bbox_gdf.plot(ax=ax, edgecolor="black", facecolor="none")
ctx.add_basemap(ax, crs=s1.metadata.crs, source=ctx.providers.Esri.WorldImagery)
# !CPL_VSIL_CURL_USE_HEAD=FALSE
# !GDAL_DISABLE_READDIR_ON_OPEN=YES
# !GDAL_HTTP_COOKIEJAR=/tmp/cookies.txt
# !GDAL_HTTP_COOKIEFILE=/tmp/cookies.txt
# from osgeo import gdal
# gdal.SetConfigOption('GDAL_HTTP_COOKIEFILE','~/cookies.txt')
# gdal.SetConfigOption('GDAL_HTTP_COOKIEJAR', '~/cookies.txt')
# gdal.SetConfigOption('GDAL_DISABLE_READDIR_ON_OPEN','EMPTY_DIR') #gdal.SetConfigOption('GDAL_DISABLE_READDIR_ON_OPEN','YES') EMPTY_DIR
# gdal.SetConfigOption('CPL_VSIL_CURL_ALLOWED_EXTENSIONS','TIF')
# gdal.SetConfigOption('GDAL_HTTP_UNSAFESSL', 'YES')
# gdal.SetConfigOption('GDAL_HTTP_NETRC','True')
hls = easysnowdata.remote_sensing.HLS(
bbox_input=bbox_gdf, start_date="2022-07-01", end_date="2022-07-31"
)
Data searched. Access the returned seach with the .search_landsat or .search_sentinel attribute. Data retrieved. Access with the .data attribute. Data CRS: WGS 84 / UTM zone 10N. Nodata values removed from the data. In doing so, all bands converted to float32. To turn this behavior off, set remove_nodata=False. Data scaled to reflectance. Access with the .data attribute. To turn this behavior off, set scale_data=False. Metadata retrieved. Access with the .metadata attribute. To turn this behavior off, set add_metadata=False. Platform, geometry, cloud cover, browse URLs added to data as coordinates. Access with the .data attribute. To turn this behavior off, set add_platform=False.
hls.data
<xarray.Dataset> Size: 2GB Dimensions: (y: 1013, x: 1035, time: 21) Coordinates: * y (y) float64 8kB 5.206e+06 5.206e+06 ... 5.176e+06 * x (x) float64 8kB 5.804e+05 5.805e+05 ... 6.114e+05 spatial_ref int32 4B 32610 * time (time) datetime64[ns] 168B 2022-07-01T19:11:28... platform (time) <U11 924B 'Sentinel-2B' ... 'Sentinel-2B' eo:cloud_cover_avg (time) int64 168B 25 67 81 85 94 88 ... 0 7 1 0 3 AssociatedBrowseImageUrls (time) object 168B ['https://data.lpdaac.earth... geometry (time) object 168B MULTIPOLYGON (((-120.248915... Data variables: (12/20) coastal aerosol (time, y, x) float32 88MB dask.array<chunksize=(1, 512, 512), meta=np.ndarray> blue (time, y, x) float32 88MB dask.array<chunksize=(1, 512, 512), meta=np.ndarray> green (time, y, x) float32 88MB dask.array<chunksize=(1, 512, 512), meta=np.ndarray> red (time, y, x) float32 88MB dask.array<chunksize=(1, 512, 512), meta=np.ndarray> nir narrow (time, y, x) float32 88MB dask.array<chunksize=(1, 512, 512), meta=np.ndarray> swir 1 (time, y, x) float32 88MB dask.array<chunksize=(1, 512, 512), meta=np.ndarray> ... ... VAA (time, y, x) float32 88MB dask.array<chunksize=(1, 512, 512), meta=np.ndarray> red-edge 1 (time, y, x) float32 88MB dask.array<chunksize=(2, 512, 512), meta=np.ndarray> red-edge 2 (time, y, x) float32 88MB dask.array<chunksize=(2, 512, 512), meta=np.ndarray> red-edge 3 (time, y, x) float32 88MB dask.array<chunksize=(2, 512, 512), meta=np.ndarray> nir broad (time, y, x) float32 88MB dask.array<chunksize=(2, 512, 512), meta=np.ndarray> water vapor (time, y, x) float32 88MB dask.array<chunksize=(2, 512, 512), meta=np.ndarray>
hls.get_rgb()
hls.rgb
RGB data retrieved. Access with the .rgb attribute.
<xarray.DataArray (band: 3, time: 21, y: 1013, x: 1035)> Size: 264MB dask.array<stack, shape=(3, 21, 1013, 1035), dtype=float32, chunksize=(1, 1, 512, 512), chunktype=numpy.ndarray> Coordinates: * y (y) float64 8kB 5.206e+06 5.206e+06 ... 5.176e+06 * x (x) float64 8kB 5.804e+05 5.805e+05 ... 6.114e+05 spatial_ref int32 4B 32610 * time (time) datetime64[ns] 168B 2022-07-01T19:11:28... platform (time) <U11 924B 'Sentinel-2B' ... 'Sentinel-2B' eo:cloud_cover_avg (time) int64 168B 25 67 81 85 94 88 ... 0 7 1 0 3 AssociatedBrowseImageUrls (time) object 168B ['https://data.lpdaac.earth... geometry (time) object 168B MULTIPOLYGON (((-120.248915... * band (band) object 24B 'red' 'green' 'blue'
f = hls.rgb.plot.imshow(col='time',col_wrap=6,robust=True)
for ax, time, platform in zip(f.axes.flat, hls.rgb.time.values, hls.rgb.platform.values):
local_time = pd.to_datetime(time).tz_localize('UTC').tz_convert('America/Los_Angeles')
ax.set_title(f'{local_time.strftime("%B %d, %Y")}\n{local_time.strftime("%I:%M%p")}\n{platform}')
ax.axis('off')
ax.set_aspect('equal')
f.fig.subplots_adjust(hspace=0.3)
f.fig.suptitle('Harmonized Landsat Sentinel-2 (HLS) time series',fontsize=16,y=1.04)
Text(0.5, 1.04, 'Harmonized Landsat Sentinel-2 (HLS) time series')
mod10a1 = easysnowdata.remote_sensing.MODIS_snow(bbox_gdf, start_date='2022-07-01', end_date='2022-07-31', data_product='MOD10A1')
Data retrieved. Access with the .data attribute.
mod10a1.data
<xarray.Dataset> Size: 4MB Dimensions: (y: 66, x: 167, time: 31) Coordinates: * y (y) float64 528B 5.226e+06 ... 5.196e+06 * x (x) float64 1kB -9.294e+06 ... -9.217... spatial_ref int32 4B 0 * time (time) datetime64[ns] 248B 2022-07-01... Data variables: hdf (time, y, x) float32 1MB dask.array<chunksize=(1, 66, 167), meta=np.ndarray> NDSI (time, y, x) int16 683kB dask.array<chunksize=(1, 66, 167), meta=np.ndarray> orbit_pnt (time, y, x) uint8 342kB dask.array<chunksize=(1, 66, 167), meta=np.ndarray> granule_pnt (time, y, x) uint8 342kB dask.array<chunksize=(1, 66, 167), meta=np.ndarray> NDSI_Snow_Cover (time, y, x) uint8 342kB dask.array<chunksize=(1, 66, 167), meta=np.ndarray> Snow_Albedo_Daily_Tile (time, y, x) uint8 342kB dask.array<chunksize=(1, 66, 167), meta=np.ndarray> NDSI_Snow_Cover_Basic_QA (time, y, x) uint8 342kB dask.array<chunksize=(1, 66, 167), meta=np.ndarray> NDSI_Snow_Cover_Algorithm_Flags_QA (time, y, x) uint8 342kB dask.array<chunksize=(1, 66, 167), meta=np.ndarray>
f= mod10a1.data['NDSI_Snow_Cover'].rio.reproject_match(hls.data, resampling=rio.enums.Resampling.nearest).where(lambda x: x <= 100).plot.imshow(
col="time", col_wrap=6, vmin=0, vmax=100, cmap='Blues'
)
for ax, time, in zip(f.axs.flat, mod10a1.data.time.values):
ax.set_title(f'{pd.to_datetime(time).strftime("%B %d, %Y")}')
ax.axis('off')
ax.set_aspect('equal')
f.fig.suptitle('MODIS MOD10A1 daily NDSI snow cover',fontsize=16,y=1.02)
Text(0.5, 1.02, 'MODIS MOD10A1 daily NDSI snow cover')
mod10a2 = easysnowdata.remote_sensing.MODIS_snow(bbox_gdf, start_date='2022-07-01', end_date='2022-07-31', data_product='MOD10A2')
Data retrieved. Access with the .data attribute.
mod10a2.get_binary_snow()
Binary snow map calculated. Access with the .binary_snow attribute.
f= mod10a2.binary_snow.rio.reproject_match(hls.data, resampling=rio.enums.Resampling.nearest).plot.imshow(
col="time", col_wrap=6, cmap='Blues'
)
for ax, time, in zip(f.axs.flat, mod10a2.binary_snow.time.values):
ax.set_title(f'{pd.to_datetime(time).strftime("%B %d, %Y")}')
ax.axis('off')
ax.set_aspect('equal')
f.fig.suptitle('MODIS MOD10A2 8-day snow cover',fontsize=16,y=1.04)
Text(0.5, 1.04, 'MODIS MOD10A2 8-day snow cover')
mod10a1f = easysnowdata.remote_sensing.MODIS_snow(bbox_gdf, start_date='2022-07-01', end_date='2022-07-31', data_product='MOD10A1F')
#NDSI>10 is snow
Granules found: 31 Getting 31 granules, approx download size: 0.03 GB
QUEUEING TASKS | : 0%| | 0/31 [00:00<?, ?it/s]
File MOD10A1F.A2022182.h09v04.061.2022184060608.hdf already downloaded File MOD10A1F.A2022184.h09v04.061.2022186055009.hdf already downloaded File MOD10A1F.A2022186.h09v04.061.2022188071311.hdf already downloaded File MOD10A1F.A2022183.h09v04.061.2022185043746.hdf already downloaded File MOD10A1F.A2022185.h09v04.061.2022187234249.hdf already downloaded File MOD10A1F.A2022187.h09v04.061.2022189044231.hdf already downloaded File MOD10A1F.A2022189.h09v04.061.2022191062150.hdf already downloaded File MOD10A1F.A2022190.h09v04.061.2022192033749.hdf already downloaded File MOD10A1F.A2022188.h09v04.061.2022190054810.hdf already downloaded File MOD10A1F.A2022191.h09v04.061.2022193061917.hdf already downloaded File MOD10A1F.A2022193.h09v04.061.2022195213955.hdf already downloaded File MOD10A1F.A2022192.h09v04.061.2022194154602.hdf already downloaded File MOD10A1F.A2022194.h09v04.061.2022196065818.hdf already downloaded File MOD10A1F.A2022195.h09v04.061.2022197050019.hdf already downloaded File MOD10A1F.A2022196.h09v04.061.2022198043034.hdf already downloaded File MOD10A1F.A2022197.h09v04.061.2022199044930.hdf already downloaded File MOD10A1F.A2022199.h09v04.061.2022201063018.hdf already downloaded File MOD10A1F.A2022198.h09v04.061.2022201021512.hdf already downloaded File MOD10A1F.A2022200.h09v04.061.2022202070115.hdf already downloaded File MOD10A1F.A2022201.h09v04.061.2022203064434.hdf already downloaded File MOD10A1F.A2022204.h09v04.061.2022206074037.hdf already downloaded File MOD10A1F.A2022205.h09v04.061.2022207080913.hdf already downloaded File MOD10A1F.A2022207.h09v04.061.2022209055609.hdf already downloaded File MOD10A1F.A2022208.h09v04.061.2022210065049.hdf already downloaded File MOD10A1F.A2022209.h09v04.061.2022215090148.hdf already downloaded File MOD10A1F.A2022203.h09v04.061.2022205045351.hdf already downloaded File MOD10A1F.A2022211.h09v04.061.2022215091517.hdf already downloaded File MOD10A1F.A2022212.h09v04.061.2022215092248.hdf already downloaded File MOD10A1F.A2022202.h09v04.061.2022204074301.hdf already downloaded File MOD10A1F.A2022206.h09v04.061.2022208051744.hdf already downloaded File MOD10A1F.A2022210.h09v04.061.2022215090828.hdf already downloaded
PROCESSING TASKS | : 0%| | 0/31 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/31 [00:00<?, ?it/s]
Data retrieved. Access with the .data attribute.
f= mod10a1f.data.rio.reproject_match(hls.data, resampling=rio.enums.Resampling.nearest).where(lambda x: x <= 100).plot.imshow(
col="time", col_wrap=6, vmin=0, vmax=100, cmap='Blues'
)
for ax, time, in zip(f.axs.flat, mod10a1f.data.time.values):
ax.set_title(f'{pd.to_datetime(time).strftime("%B %d, %Y")}')
ax.axis('off')
ax.set_aspect('equal')
f.fig.suptitle('MODIS MOD10A1F cloud-gap-filled NDSI snow cover',fontsize=16,y=1.02)
Text(0.5, 1.02, 'MODIS MOD10A1F cloud-gap-filled NDSI snow cover')
# list(bbox_gdf.total_bounds)
# !pip install --upgrade xee
# import xee
# !earthengine authenticate --quiet
# import ee
# ee.Initialize(opt_url="https://earthengine-highvolume.googleapis.com")
# bbox_ee = ee.Geometry.Rectangle(153.0, -43.0, 154.0, -42.0)
# bbox_ee = ee.Geometry.Rectangle(*list(bbox_gdf.total_bounds))
# bbox_ee = ee.Geometry.BBox(*list(bbox_gdf.total_bounds))
# bbox_ee.Polygon()
# ic.first().select(0).projection()
# ic = ee.ImageCollection("JAXA/ALOS/PALSAR-2/Level2_2/ScanSAR").filterDate(
# "2022-07-01", "2022-07-31"
# )
# ds = xr.open_dataset(
# ic,
# geometry=bbox_ee,
# projection=ic.first().select(0).projection(),
# crs="EPSG:4326",
# engine="ee",
# scale=0.01,
# )
# ds
# ds["HH"].isel(time=1).plot()
# def dn_to_db(dn):
# db = 10 * np.log10(dn**2) - 83
# return db
# ds["HH"].map_blocks(dn_to_db)
# ds["HH"].isel(time=0)
# ds.time.values[0:10]