Open andypbarrett opened 7 months ago
The 0_introduction.ipynb notebook raises an AttributeError in the first cell when trying to import iceflow.ui. This appears to result from a call to ipyleaflet.basemaps.NASAGIBS.BlueMarble.
0_introduction.ipynb
AttributeError
ipyleaflet.basemaps.NASAGIBS.BlueMarble
Looking at https://xyzservices.readthedocs.io/en/stable/introduction.html under NASAGIBS services, it appears that there is no longer an entry for BlueMarble. BlueMarble is also not shown in https://xyzservices.readthedocs.io/en/stable/gallery.html.
--------------------------------------------------------------------------- KeyError Traceback (most recent call last) File [~/mambaforge/envs/nsidc-iceflow/lib/python3.9/site-packages/xyzservices/lib.py:44](http://localhost:8889/home/apbarret/mambaforge/envs/nsidc-iceflow/lib/python3.9/site-packages/xyzservices/lib.py#line=43), in Bunch.__getattr__(self, key) 43 try: ---> 44 return self.__getitem__(key) 45 except KeyError as err: KeyError: 'BlueMarble' The above exception was the direct cause of the following exception: AttributeError Traceback (most recent call last) Cell In[1], line 2 1 # Importing IceFlow client library ----> 2 from iceflow.ui import IceFlowUI 3 from iceflow.client import IceflowClient 5 import earthaccess File [~/src/NSIDC-Data-Tutorials/notebooks/iceflow/iceflow/ui.py:9](http://localhost:8889/lab/tree/iceflow/ui.py#line=8) 6 from IPython.display import display, HTML 7 from ipyleaflet import (Map, SearchControl, AwesomeIcon, GeoJSON, 8 Marker, DrawControl, LayersControl) ----> 9 from .layers import custom_layers, flight_layers, widget_projections 10 from .client import IceflowClient 13 class IceFlowUI: File [~/src/NSIDC-Data-Tutorials/notebooks/iceflow/iceflow/layers.py:106](http://localhost:8889/lab/tree/iceflow/layers.py#line=105) 64 north_3413 = { 65 'name': 'EPSG:3413', 66 'custom': True, (...) 81 ] 82 } 84 south_3031 = { 85 'name': 'EPSG:3031', 86 'custom': True, (...) 101 ] 102 } 104 widget_projections = { 105 'global': { --> 106 'base_map': basemaps.NASAGIBS.BlueMarble, 107 'projection': projections.EPSG3857, 108 'center': (30, -30), 109 'zoom': 2, 110 'max_zoom': 8 111 }, 112 'north': { 113 'base_map': basemaps.NASAGIBS.BlueMarble3413, 114 'projection': north_3413, 115 'center': (80, -50), 116 'zoom': 1, 117 'max_zoom': 4 118 }, 119 'south': { 120 'base_map': basemaps.NASAGIBS.BlueMarble3031, 121 'projection': south_3031, 122 'center': (-90, 0), 123 'zoom': 1, 124 'max_zoom': 4 125 } 126 } File [~/mambaforge/envs/nsidc-iceflow/lib/python3.9/site-packages/xyzservices/lib.py:46](http://localhost:8889/home/apbarret/mambaforge/envs/nsidc-iceflow/lib/python3.9/site-packages/xyzservices/lib.py#line=45), in Bunch.__getattr__(self, key) 44 return self.__getitem__(key) 45 except KeyError as err: ---> 46 raise AttributeError(key) from err AttributeError: BlueMarble
Commenting out 'global': {...} allows the import to succeed.
'global': {...}
import
I think this is related to what @asteiker mentioned, the GIBS service renamed some grids and we have to change them here.
What Happened
The
0_introduction.ipynb
notebook raises anAttributeError
in the first cell when trying to import iceflow.ui. This appears to result from a call toipyleaflet.basemaps.NASAGIBS.BlueMarble
.Investigation
Looking at https://xyzservices.readthedocs.io/en/stable/introduction.html under NASAGIBS services, it appears that there is no longer an entry for BlueMarble. BlueMarble is also not shown in https://xyzservices.readthedocs.io/en/stable/gallery.html.