Support full netcdf4 features

Open
#129 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
python
Domain
data

Research direction

No source files, tests, or entry points are identified. Start by reviewing the netCDF4 feature list and related issue #94, then define the supported user-defined types and acceptance tests; done means the agreed structural features work within the Python module's stated limitations.

Written by the indexing model from the issue text.

Description

That is,, structural features anyway (i.e. not including compression, chunking + the like).
Which in full is ...

  • groups
  • extended basic types
  • multiple unlimited dimensions
  • user-defined types
    • variable-length types (see separate #94 )
    • enum types
    • compound types (i.e. like data records, C structures, or numpy recarrays)
    • opaque types

NOTE:

Some of this is not supported by the python netCDF4 module.

  • XX opaque types
  • XX usertypes WITHIN usertypes,
    • e.g. compounds containing vlens or enums (annoyingly, means no strings or enums in record-like structures)
    • e.g. variable-length content of compounds (structures)
  • XX can't preserve file-ordering of usertypes, as python layer doesn't provide access to this
    • (though might be possible via private properties ??)

See here ...

Compound (struct), variable length (vlen) and enumerated (enum) data types are supported, but not the opaque data type.
Mixtures of compound, vlen and enum data types ... are not supported.

Dominant language
Python
Stars
16
Forks
5
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from SciTools/ncdata

All issues in SciTools/ncdata

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.