Giter VIP home page Giter VIP logo

zarr-eosdis-store's Introduction

https://nasa.gov/ nasa | Twitter nasa | LinkedIn



Hi 👋, welcome to the NASA org on github.com!

Github.com/nasa has one of the largest collections of NASA open-source code repositories. Members of the NASA org can find instructions for github.com/nasa in http://nasa.github.io/.

🔭 Additional open-source code repositories resides in a variety of locations other than github.com/nasa. To discover code across all of these locations, we suggest you use code.nasa.gov & software.nasa.gov. These are two different sites holding metadata that describe code projects. Any code released through the NASA Software Release Authority process should be cataloged on those sites.

Is a page with short descriptions of all of NASA's open-source code. Code.nasa.gov feeds into code.gov, which covers open-source and government-source code from many different U.S. governmental agencies. To assist in discovery, code projects described on code.nasa.gov have both human and A.I.-generated tags. These can be useful for finding related code projects.

Contains metadata descriptions for all code projects in code.nasa.gov as well as government-source code projects only sharable with other government agencies. It is part of the large https://technology.nasa.gov/ that also includes patents and spinoffs. To help discoverability, software.nasa.gov puts each code project into one fo the following categories: Business Systems and Project Management, System Testing, Operations, Design and Integration Tools, Vehicle Management (Space/Air/Ground), Data Servers Processing and Handling, Propulsion, Structures and Mechanisms, Crew and Life Support, Data and Image Processing, Materials and Processes, Electronics and Electrical Power, Environmental Science (Earth, Air, Space, Exoplanet), Autonomous Systems, and Aeronautics.



NOTE - PROFILE READMES CURRENTLY DON'T WORK FOR ORG PROFILES ONLY USER PROFILES :(

https://github.community/t/readme-for-organization-front-page/2920

zarr-eosdis-store's People

Contributors

bilts avatar chris-durbin avatar github-actions[bot] avatar matthewhanson avatar owenlittlejohns avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zarr-eosdis-store's Issues

collaboration?

Hi there! I recently heard about this project via a colleague watching your presentation at ESIP.

I am the lead developer of fsspec and the fsspec-reference-maker. You might find the following articles interesting:

After only a brief perusal of this repo, the following comparisons come to mind.

Things we can learn from you (there are probably more!)

  • combining adjacent reads (like corot project); this is tractable, but less important given that our reads are concurrent
  • caching redirects from auth mechanism

Things we do that you might find interesting in our project

  • combining many datasets into singe ensemble datasets
  • not just HDF5, but also grib2 and Tiff and more to come
  • any storage backend supported by fsspec (s3, gcs, azure, http, ftp, ..., see here); references and data can live separately. Could be made to work with data living on different storage backends but part of a single aggregate data set.
  • concurrent access to chunks for S3, Http, GCS, abfs
  • explicit ability to be serialised for distributed processing with dask
  • requires no extra installs aside from standard xarray, zarr, fsspec
  • doesn't necessarily need xarray; is intended to be multi-language
  • json, parquet or zarr storage of the reference metadata files

Let's work together and not invent more wheels!

Handle CompressionType = "deflate shuffle"

I have a NetCDF file that produced a dmrpp file with the following compressionType:

<dmrpp:chunks compressionType="deflate shuffle" byteOrder="LE">

This results in EosdisStore throwing an Unrecognized CompressionType error. Full traceback in "Details" below, but it's pretty clear and self-explanatory. Looks like you already handle the deflate case, but dmrpp.py needs to be revised to also handle the deflate + shuffle case.

The source file is the first tavg1_2d_flx file from here (direct file link), with the .dmrpp created via the mkdmrpp script in this repo.

<ipython-input-20-c6dfcddf42b7> in <module>
----> 1 zfile = EosdisStore(netcdf, dmr_url=dmrpp)

~/miniconda3/envs/eisfire/lib/python3.9/site-packages/eosdis_store/stores.py in __init__(self, data_url, dmr_url)
    256         dmrpp = requests.get(dmr_url).text
    257         tree = ElementTree.fromstring(dmrpp)
--> 258         meta_store = to_zarr(tree)
    259         super(EosdisStore, self).__init__(meta_store, data_url)

~/miniconda3/envs/eisfire/lib/python3.9/site-packages/eosdis_store/dmrpp.py in to_zarr(root)
    277     zarr = {}
    278     dims = get_dimensions(root)
--> 279     zarr = group_to_zarr(root, dims)
    280     return zarr
    281

~/miniconda3/envs/eisfire/lib/python3.9/site-packages/eosdis_store/dmrpp.py in group_to_zarr(node, dims, prefix)
    245         # if this is an array, convert to zarr array
    246         if tag in TYPE_INFO:
--> 247             zarr_array = array_to_zarr(child, dims, prefix=prefix)
    248             zarr.update(zarr_array)
    249         # otherwise, if this is group or a Container Attribute - this has not been tested

~/miniconda3/envs/eisfire/lib/python3.9/site-packages/eosdis_store/dmrpp.py in array_to_zarr(node, dims, prefix)
    204                 zarray['compressor'] = None
    205             else:
--> 206                 raise Exception('Unrecognized compressionType: ' + compression)
    207             chunks = chunks_to_zarr(child)
    208             zarray.update(chunks['zarray'])

Exception: Unrecognized compressionType: deflate shuffle

update to newer xarray

This is a great package and is used in some of the NASA tutorials, but it has not been updated for awhile and when I install with conda it is downgrading my xarray package. This causes problems. Can you update to depend on a newer xarray?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.