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
npm install @earthyscience/netcdf4-wasmimport { NetCDF4 } from '@earthyscience/netcdf4-wasm';
// Open existing file
const ds = await NetCDF4.fromBlobLazy(file);
// Access dimensions
// TODO: Add example
// Read variables
// TODO: Add example
// Close when done
ds.close();// Access groups
// TODO: Add exampleimport { NetCDF4 } from '@earthyscience/netcdf4-wasm';
// Create a new NetCDF file
// TODO: Add exampleThe API closely follows netcdf4-python conventions, making it intuitive for scientists familiar with Python.
Core Classes:
NetCDF4- Main file interface
Memory Configuration
If you encounter memory-related errors with large files, you can increase the initial memory allocation:
// TODO: Add example once API is stableSee our Contributing Guide for detailed build instructions.
We welcome contributions! Please see our Contributing Guide for details.
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.