Skip to content

NetCDF4 WebAssembly port with TypeScript bindings for browser and Node.js, enabling NetCDF read/write and interactive dataset exploration.

License

Notifications You must be signed in to change notification settings

EarthyScience/netcdf4-wasm

Repository files navigation

netcdf4-wasm Demo

npm version License: MIT NetCDF4 TypeScript WebAssembly Emscripten Jest ts-jest

Partial WebAssembly port of the NetCDF4 C library with TypeScript bindings for browser and Node.js

netcdf4-wasm brings the power of NetCDF4 to web browsers and Node.js through WebAssembly. Read and write NetCDF files directly in JavaScript with a familiar, Python-inspired API.

Features:

  • 🌐 Works in browsers and Node.js
  • 📦 Partial NetCDF4 file format support
  • 🐍 API modeled after netcdf4-python
  • 🚀 High-performance WASM compilation
  • 📝 Complete TypeScript type definitions

Tip

Want to do more? Plot, visualize, and explore your data at browzarr.io

Installation

npm install @earthyscience/netcdf4-wasm

Quick Start

import { NetCDF4, DataTree } from '@earthyscience/netcdf4-wasm';

// Open existing file
const ds = await NetCDF4.fromBlobLazy(file);
const dt = new DataTree(ds);
await dt.buildTree();

API Reference

The API closely follows netcdf4-python conventions, making it intuitive for scientists familiar with Python.

Advanced Usage

Memory Configuration

If you encounter memory-related errors with large files, you can increase the initial memory allocation:

// TODO: Add example once API is stable

Building from Source

See our Contributing Guide for detailed build instructions.

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Resources

Acknowledgments

This project builds upon the initial work from oceanum-io/netcdf4-wasm. We're grateful for their foundational efforts in bringing NetCDF4 to WebAssembly and are continuing their work with additional features and improvements.

About

NetCDF4 WebAssembly port with TypeScript bindings for browser and Node.js, enabling NetCDF read/write and interactive dataset exploration.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •