Icepyx 'normalproj' errors

I have been running into issues when using icepyx to download ATL03 data.
I have copied an example of the code and corresponding error below, which appears with other Query options, such as region_a.order_vars.avail().

Any help would be greatly appreciated!

Code example:
region_a = ipx.Query('ATL03',[-54.42, 65.41, -49.10, 68.34],['2019-02-22','2019-02-28'], \ start_time='00:00:00', end_time='23:59:59')

region_a.show_custom_options(dictview=True)

Output Error:

 ---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
~/miniconda3/lib/python3.7/site-packages/icepyx/core/query.py in show_custom_options(self, dictview)
    662         try:
--> 663             all(key in self._cust_options.keys() for key in keys)
    664         except AttributeError or KeyError:

~/miniconda3/lib/python3.7/site-packages/icepyx/core/query.py in <genexpr>(.0)
    662         try:
--> 663             all(key in self._cust_options.keys() for key in keys)
    664         except AttributeError or KeyError:

AttributeError: 'Query' object has no attribute '_cust_options'

During handling of the above exception, another exception occurred:

KeyError                                  Traceback (most recent call last)
<ipython-input-4-25baf491be7d> in <module>
----> 1 region_a.show_custom_options(dictview=True)

~/miniconda3/lib/python3.7/site-packages/icepyx/core/query.py in show_custom_options(self, dictview)
    664         except AttributeError or KeyError:
    665             self._cust_options = is2ref._get_custom_options(
--> 666                 self._session, self.dataset, self._version
    667             )
    668 

~/miniconda3/lib/python3.7/site-packages/icepyx/core/is2ref.py in _get_custom_options(session, dataset, version)
     84     normalproj = [Projections.attrib for Projections in root.iter("Projections")]
     85     normalproj_vals = []
---> 86     normalproj_vals.append(normalproj[0]["normalproj"])
     87     format_proj = normalproj_vals[0].split(",")
     88     format_proj.remove("")

KeyError: 'normalproj'
1 Like

Hello @jaha2600! Thanks for reaching out and bringing this to our attention. It looks like you’ve stumbled upon an error that arose after a change at NSIDC, which is how icepyx accesses the data. The error is logged on GitHub. Someone from NSIDC was working on this, so I’ll reach out and see if they’re ready to merge the fix. Once that happens, if you update your install of icepyx you should be all set.

2 Likes

Update: as of last week, this issue should be resolved in release 0.3.2 of icepyx (which is available via PyPI for pip install icepyx as well)