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

Review PR: Proposed text for subsampled coordinates #1

Closed
wants to merge 115 commits into from

Conversation

erget
Copy link
Owner

@erget erget commented Dec 1, 2020

See cf-convention/discuss#37 for discussion of these changes.

Release checklist

N/A, as this is only for review at this time.

Copy link
Owner Author

@erget erget left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When we've finalised the text I'd like to some cosmetic jobs, not worth it now of course:

  • final copyedit
  • separate sentences onto individual lines, so that we can track future changes more easily
  • remove trailing whitespace

Copy link
Owner Author

@erget erget left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this! It looks very elegant and thought-out. Made some notes in the text itself by way of copyedit for later but none of that is relevant at the current stage.

Notes to me

Gotta remember of course to also add all of the attributes to the controlled attributes table...

Remember <?>==TBD

ch08.adoc Outdated Show resolved Hide resolved
ch08.adoc Outdated Show resolved Hide resolved
ch08.adoc Outdated Show resolved Hide resolved
ch08.adoc Show resolved Hide resolved
ch08.adoc Outdated Show resolved Hide resolved
ch08.adoc Outdated Show resolved Hide resolved
ch08.adoc Outdated

The interpolation coefficients variables and the interpolation flags variables must either be scalar, or else their dimensions may include any of the tie point dimensions that are being interpolated, as well as the interpolation zone dimensions corresponding to each tie point dimension. The size of an interpolation zone dimension is equal the number of tie points, minus the number of interpolation zone groups.
The interpolation variable attribute **`interpolation_configuration`** may be used to configure the interpolation process. This attribute names other __interpolation configuration variables__ that contain parameters needed to correctly configure the interpolation process. The **`interpolation_configuration`** attribute takes a string value, the string being comprised of blank-separated elements of the form `"term: variable"`, where `term` is a case-insensitive keyword that represents one of the terms in the interpolation method definition, and `variable` is the name of the interpolation configuration variable that contains the values for that term. The order of elements is not significant.
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TBD: Search for terms in italics and add to glossary

ch08.adoc Outdated Show resolved Hide resolved
AndersMS and others added 8 commits March 11, 2021 17:19
Co-authored-by: OceanDataLab <github@oceandatalab.com>
Co-authored-by: OceanDataLab <github@oceandatalab.com>
Co-authored-by: OceanDataLab <github@oceandatalab.com>
Co-authored-by: OceanDataLab <github@oceandatalab.com>
Co-authored-by: OceanDataLab <github@oceandatalab.com>
appj.adoc Outdated Show resolved Hide resolved
AndersMS and others added 7 commits March 22, 2021 17:19
Co-authored-by: OceanDataLab <github@oceandatalab.com>
* more text following 2020-11-27 discussions

* bounds

* tidy

* tidy

* tidy

* tidy

* reproducability

* offset

* indices

* indices

* indices

* super

* tie_point_dimension (1)

* tie_point_dimension (2)

* tie_point_dimension (3)

* tie_point_dimension (4)

* tie point

* tie_point_dimension (5)

* corrected interpolation_configuration description

* zone/area rewording

* zone/area rewording

* multiple mappings

* multiple mappings

* multiple mappings

* typos and some minor rewording suggestions

* format

* spell check

* markup style

* example formatting

* example formatting

* example formatting

* example formatting

* minor typesetting

* interpolation_parameters

* interpolation parameters variable dimensions

* interpolation parameters variable dimensions

* non-standard provision

* interpolation parameters variable dimensions

* captions, cdl

* tidy

* minumum size of interpolation zones

* Appendix A attributes

* interpolation -> sampling

* Conformance - first draft

* 2nd draft: better descriptions of allowed dimensions

* typos

* Correct 'is list' to 'is a list'

* check on interpolation zone dimension size

* conformance changes for new interpolation variable

* conformance changes for new interpolation variable

* conformance changes for new interpolation variable

* conformance changes for new interpolation variable

* appendix A changes for new interpolation variable

* appendix A changes for new interpolation variable

Co-authored-by: AndersMS <63056394+AndersMS@users.noreply.github.com>
ch08.adoc Outdated
[[compression-by-coordinate-sampling, Section 8.3, "Lossy Compression by Coordinate Sampling"]]
=== Lossy Compression by Coordinate Sampling

For some applications the coordinates of a data variable can require considerably more storage than the data itself. Space may be saved in the netCDF file by storing coordinates at a lower resolution than the data which they describe. The uncompressed coordinate and auxiliary coordinate variables can be reconstituted by interpolation, from the lower resolution coordinate values to the domain of the data (i.e. the target domain). This process will likely result in a loss in accuracy (as opposed to precision) in the uncompressed variables, due to rounding and approximation errors in the interpolation calculations, but it is assumed that these errors will be small enough to not be of concern to users of the uncompressed dataset. The creator of the compressed dataset can control the accuracy of the reconstituted coordinates through the degree of subsambling and the choice of interpolation method, see <<Appendix J>>.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For some applications the coordinates of a data variable can require considerably more storage than the data itself. Space may be saved in the netCDF file by storing coordinates at a lower resolution than the data which they describe. The uncompressed coordinate and auxiliary coordinate variables can be reconstituted by interpolation, from the lower resolution coordinate values to the domain of the data (i.e. the target domain). This process will likely result in a loss in accuracy (as opposed to precision) in the uncompressed variables, due to rounding and approximation errors in the interpolation calculations, but it is assumed that these errors will be small enough to not be of concern to users of the uncompressed dataset. The creator of the compressed dataset can control the accuracy of the reconstituted coordinates through the degree of subsambling and the choice of interpolation method, see <<Appendix J>>.
For some applications the coordinates of a data variable can require considerably more storage than the data itself. Space may be saved in the netCDF file by storing coordinates at a lower resolution than the data which they describe. The uncompressed coordinate and auxiliary coordinate variables can be reconstituted by interpolation, from the lower resolution coordinate values to the domain of the data (i.e. the target domain). This process will likely result in a loss in accuracy (as opposed to precision) in the uncompressed variables, due to rounding and approximation errors in the interpolation calculations, but it is assumed that these errors will be small enough to not be of concern to users of the uncompressed dataset. The creator of the compressed dataset can control the accuracy of the reconstituted coordinates through the degree of subsampling and the choice of interpolation method, see <<Appendix J>>.

methods.

The dimensions of an interpolation parameter variable must be a subset
of zero or more the tie point variable dimensions, with the

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
of zero or more the tie point variable dimensions, with the
of zero or more tie point variable dimensions, with the

davidhassell and others added 7 commits April 28, 2021 10:21
* more text following 2020-11-27 discussions

* bounds

* tidy

* tidy

* tidy

* tidy

* reproducability

* offset

* indices

* indices

* indices

* super

* tie_point_dimension (1)

* tie_point_dimension (2)

* tie_point_dimension (3)

* tie_point_dimension (4)

* tie point

* tie_point_dimension (5)

* corrected interpolation_configuration description

* zone/area rewording

* zone/area rewording

* multiple mappings

* multiple mappings

* multiple mappings

* typos and some minor rewording suggestions

* format

* spell check

* markup style

* example formatting

* example formatting

* example formatting

* example formatting

* minor typesetting

* interpolation_parameters

* interpolation parameters variable dimensions

* interpolation parameters variable dimensions

* non-standard provision

* interpolation parameters variable dimensions

* captions, cdl

* tidy

* minumum size of interpolation zones

* Appendix A attributes

* interpolation -> sampling

* Conformance - first draft

* 2nd draft: better descriptions of allowed dimensions

* typos

* Correct 'is list' to 'is a list'

* check on interpolation zone dimension size

* conformance changes for new interpolation variable

* conformance changes for new interpolation variable

* conformance changes for new interpolation variable

* conformance changes for new interpolation variable

* appendix A changes for new interpolation variable

* appendix A changes for new interpolation variable

* lat lon tie point definition

Co-authored-by: AndersMS <63056394+AndersMS@users.noreply.github.com>
* Update for new IUnterpolation Variable

* Add files via upload

* New figure

* New figure

* Add files via upload

* Rename ci_interpolation_coefficeints.svg to ci_interpolation_coefficients.svg

* Update ch08.adoc

Co-authored-by: OceanDataLab <github@oceandatalab.com>

* Update ch08.adoc

Co-authored-by: OceanDataLab <github@oceandatalab.com>

* Update ch08.adoc

Co-authored-by: OceanDataLab <github@oceandatalab.com>

* Update ch08.adoc

Co-authored-by: OceanDataLab <github@oceandatalab.com>

Co-authored-by: OceanDataLab <github@oceandatalab.com>
erget pushed a commit that referenced this pull request May 4, 2021
AndersMS and others added 3 commits May 9, 2021 15:25
* more text following 2020-11-27 discussions

* bounds

* tidy

* tidy

* tidy

* tidy

* reproducability

* offset

* indices

* indices

* indices

* super

* tie_point_dimension (1)

* tie_point_dimension (2)

* tie_point_dimension (3)

* tie_point_dimension (4)

* tie point

* tie_point_dimension (5)

* corrected interpolation_configuration description

* zone/area rewording

* zone/area rewording

* multiple mappings

* multiple mappings

* multiple mappings

* typos and some minor rewording suggestions

* format

* spell check

* markup style

* example formatting

* example formatting

* example formatting

* example formatting

* minor typesetting

* interpolation_parameters

* interpolation parameters variable dimensions

* interpolation parameters variable dimensions

* non-standard provision

* interpolation parameters variable dimensions

* captions, cdl

* tidy

* minumum size of interpolation zones

* Appendix A attributes

* interpolation -> sampling

* Conformance - first draft

* 2nd draft: better descriptions of allowed dimensions

* typos

* Correct 'is list' to 'is a list'

* check on interpolation zone dimension size

* conformance changes for new interpolation variable

* conformance changes for new interpolation variable

* conformance changes for new interpolation variable

* conformance changes for new interpolation variable

* appendix A changes for new interpolation variable

* appendix A changes for new interpolation variable

* lat lon tie point definition

* spelling

* URI -> URL

* lower resolution -> sampled

* Use on domain variable

* typo

* Move 'interpolation dimension' definition to first occurence

* Minor re-wording

* Fix cross-reference

* Re-wording

* typesetting

* tie point index re-wording

Co-authored-by: AndersMS <63056394+AndersMS@users.noreply.github.com>
@erget
Copy link
Owner Author

erget commented Jun 18, 2021

This PR has served its purpose - it was so that we could review together an isolated set of changes at a time when @davidhassell 's repo contained changes from other proposals. Now that we've done that it's been superseded by cf-convention#326 - that is the current proposal.

@erget erget closed this Jun 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants