Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Process ICESat-2 ATL11 data up to 20200513 #129

Merged
merged 4 commits into from
Jul 28, 2020
Merged

Conversation

weiji14
Copy link
Owner

@weiji14 weiji14 commented Jul 21, 2020

Still 7 ICESat-2 cycles to analyze, but there's 40 extra days to add! See also previous update at #44

Note that this will (hopefully) be the last time I'll do the ATL06_to_ATL11 processing 🤞. The ATL11 schema has changed considerably (see #126), particularly with the removal of the 'corrected_h' group in suzanne64/ATL11#11. This PR is more about updating the scripts to use the new schema, but once the official ATL11 data product comes out, I'll switch to using that instead.

git diff command to only get ATL06_to_ATL11_Antarctica.sh lines that have changed:

git diff --color=always ATL06_to_ATL11_Antarctica.sh | perl -wlne 'print $1 if /^\e\[32m\+\e\[m\e\[32m(.*)\e\[m$/' > ATL06_to_ATL11_Antarctica_20200404_20200513_diff.sh

TODO:

  • at_slope: float32
  • complex_surface_flag: int8
  • curvature: float32
  • cycle_number: int8
  • deg_x: int8
  • deg_y: int8
  • delta_time: float64
  • dem_h: float32
  • e_slope: float32
  • fit_quality: int8
  • h_corr: float32
  • h_corr_sigma: float32
  • h_corr_sigma_systematic: float32
  • latitude: float64
  • longitude: float64
  • misfit_RMS: float32
  • misfit_chi2r: float32
  • n_slope: float32
  • poly_coeffs: float32
  • poly_coeffs_sigma: float32
  • poly_exponent_x: int8
  • poly_exponent_y: int8
  • quality_summary: int8
  • ref_pt: int32
  • rgt_azimuth: float32
  • slope_change_rate_x: float32
  • slope_change_rate_x_sigma: float32
  • slope_change_rate_y: float32
  • slope_change_rate_y_sigma: float32
  • x_atc: float64
  • xt_slope: float32
  • y_atc: float64
  • Do ATL06_to_ATL11 conversion on changed all files, since the datatypes have become lighter (bff7345)

References:

Update our ATLAS catalog to include ATL06 data up to and including 20200513, and download about a month and a week's worth of extra data. Note that data from 20200422 to 20200504 is of revision 2 instead of revision 1, hence the changes in the catalog and atl06_play.ipynb script.
@weiji14 weiji14 added the enhancement ✨ New feature or request label Jul 21, 2020
@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

Review Jupyter notebook visual diffs & provide feedback on notebooks.


Powered by ReviewNB

Get some compression and light datatype goodness, but some bugs still remain!
Went out of my way to reprocess every ATL11 file once more, so this took a while, even with 72 CPU cores instead of 64! No hard numbers because my browser crashed at 73% and I didn't want to stop the `parallel` process, but it still takes about a week. This is a new refresh over 5198b2b. Had to change some glob statements as the output ATL11_*.h5 filename dropped the `v` for version.

The 'corrected_h' group is now simply the 'root' group, and I've made sure the correct datatype is stored to Zarr by reading the "ATL11/ATL11_output_attrs.csv" file. The quality_summary name clash is gone, but we now need to convert the 'ATL06_xover_field_list' from binary to str to store to Zarr properly. Reduced more exceptional cases, and only reference ground track 1036 is missing an ATL11 file right now! Also fixed a few style errors DeepCode suggested.
@weiji14 weiji14 force-pushed the atl06_20200513_update branch from a2574dd to bff7345 Compare July 28, 2020 07:19
@weiji14 weiji14 marked this pull request as ready for review July 28, 2020 07:22
Nothing against longitude and latitude, but we only need one coordinate system for now, and Cartesian x/y calculations are faster than Geographic lon/lat. This is necessary as the ATL11 hdf5 schema now has longitude/latitude as proper coordinates (which is good actually). Also bumped core count in atl11_play.ipynb and atxi_dhdt.ipynb from 64 to 72. so that we can churn through 2 million more points faster!
@sourcery-ai
Copy link

sourcery-ai bot commented Jul 28, 2020

Sourcery Code Quality Report (beta)

❌  Merging this PR will decrease code quality in the affected files by 0.02 out of 10.

Quality metrics Before After Change
Complexity 3.38 3.56 0.18 🔴
Method Length 226.10 228.91 2.81 🔴
Quality 6.73 6.71 -0.02 🔴
Other metrics Before After Change
Lines 1605 1596 -9
Changed files Quality Before Quality After Quality Change
atl06_play.py 7.13 7.09 -0.04 🔴
atl06_to_atl11.py 6.99 6.98 -0.01 🔴
atl11_play.py 4.91 4.91 0.00
atlxi_dhdt.py 5.96 5.96 0.00

Please see our documentation here for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Let us know what you think of it via email or our Gitter!

@weiji14 weiji14 merged commit 8a914d2 into master Jul 28, 2020
@weiji14 weiji14 deleted the atl06_20200513_update branch July 28, 2020 08:34
@weiji14 weiji14 added this to the v0.3.0 milestone Sep 16, 2020
@weiji14 weiji14 added the data 🗃️ Pull requests that update input datasets label Sep 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data 🗃️ Pull requests that update input datasets enhancement ✨ New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant