# Icepyx - Python tools for ICESat-2 data

**URL:** <https://discourse.pangeo.io/t/icepyx-python-tools-for-icesat-2-data/404>\
**Category:** ICESat-2\
**Created:** [December 10, 2019, 6:09am UTC](https://discourse.pangeo.io/t/icepyx-python-tools-for-icesat-2-data/404 "2019-12-10T06:09:50Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![liuzheng-arctic](https://avatars.discourse-cdn.com/v4/letter/l/278dde/32.png) [@liuzheng-arctic](https://discourse.pangeo.io/u/liuzheng-arctic)\
**Post date:** [July 31, 2020, 5:48am UTC](https://discourse.pangeo.io/t/icepyx-python-tools-for-icesat-2-data/404/8 "2020-07-31T05:48:53Z")

</div>

Thanks @rabernat for the advice. I realized the amount of work after another look at the xarray’s github page. The example @weiji14 showed is very helpful. One thing that I noticed is it only reads back all the variables immediately below the specified group path. The variables at a lower level will not be retrieved. The version 2 of the ICESat-2 ATL10 sea ice freeboard data is an example with such complicated data structure. For example, there are variables under `'gt2r/freeboard_beam_segment/height_segments/'` as well as `'gt2r/freeboard_beam_segment/'`. I am not sure if the version 3 data will be simpler. ATL07 and ATL09 are slightly simpler, but they still have variables under different subgroups of the same beam (the top level). Can `xarray` handle such group structure in some way? Otherwise, it seems the `accessors` might be a promising way for `icepyx` to take advantage of the existing `xarray` functionality. @weiji14, do you think it would be easier to write customized intake wrapper for different dataset? The issue with this approach is that the resulting data will be a couple of `xarray` datasets and we still have to organize them in some way, such as packaging them into the IS2 data class.

---

_[View the full topic](https://discourse.pangeo.io/t/icepyx-python-tools-for-icesat-2-data/404)._
