Skip to content

Add ability to store and query names associated with ungridded dimensions #528

@billsacks

Description

@billsacks

This is a possible feature request for a nice-to-have-at-some-point feature, if it would be fairly easy to implement. I'd like to hear what others think of this - or if there is already some alternative way to do what I want that I'm missing.

For history file output from CMEPS, we currently don't have a good mechanism for NetCDF output of fields with one or more ungridded dimensions (note that CMEPS uses its own I/O code rather than doing I/O through ESMF). Currently we output a separate variable for each permutation of ungridded dimensions. It would be better to output a single variable with extra dimensions on the NetCDF file for each ungridded dimension. One barrier to this, though, is that (as far as I can tell) we currently don't have a way to determine a name associated with each ungridded dimension (e.g., "elevation class" or "water tracer"); if we did, then we could introduce named dimensions on the NetCDF file to provide more helpful metadata to help people understand what they're seeing on the file for these fields with ungridded dimensions.

Although I haven't dug deeply, my sense is that the easiest way to do this in the CMEPS context would be if the ESMF Field objects had an array of ungridded dimension names that corresponded to each ungridded dimension (so a character array of the same size as ungriddedLBound / ungriddedUBound). These names could optionally be set at the time of Field creation, and then could be queried later.

Does this feel like a useful feature in general? Does it seem like something not too hard to implement? Or is there some other way to get something similar already?

I could potentially take this on myself at some point if it seems worth doing and reasonably straightforward.

Also tagging @mvertens here

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions