User Guides
Comprehensive guides for getting started and mastering netcdf4-wasm.
Getting Started
- Quick Start Guide - Your first NetCDF operations
- Installation & Setup (coming soon) - Install and configure netcdf4-wasm
- Basic Concepts (coming soon) - Understanding NetCDF structure and terminology
Core Functionality
- File Operations (coming soon) - Creating, opening, and managing NetCDF files
- Working with Variables (coming soon) - Creating, reading, and writing data variables
- Dimensions and Coordinates (coming soon) - Setting up data dimensions and coordinate systems
- Attributes and Metadata (coming soon) - Managing file and variable metadata
Advanced Features
- Memory-based Operations (coming soon) - Working with Blobs and ArrayBuffers
- Browser Integration (coming soon) - File inputs, downloads, and web workflows
- Groups and Hierarchies (coming soon) - Organizing data with NetCDF4 groups
- Data Types and Precision (coming soon) - Choosing appropriate data types
Development
- Building from Source (coming soon) - Compile netcdf4-wasm from source
- TypeScript Integration (coming soon) - Using with TypeScript projects
- Testing and Debugging (coming soon) - Testing strategies and troubleshooting
Best Practices
- Performance Optimization (coming soon) - Writing efficient code
- CF Conventions (coming soon) - Following climate data standards
- Error Handling (coming soon) - Robust error handling patterns
- Security Considerations (coming soon) - Safe practices for web applications
Migration and Compatibility
- From netcdf4-python (coming soon) - Migrating from Python netCDF4
- Browser Compatibility (coming soon) - Supporting different browsers
- Node.js vs Browser (coming soon) - Environment-specific considerations
Quick Reference
Common Patterns
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| // Read existing file
const dataset = await Dataset('data.nc', 'r');
const data = await dataset.variables.temperature.getValue();
await dataset.close();
// Create new file
const nc = await Dataset('output.nc', 'w');
await nc.createDimension('time', 10);
const temp = await nc.createVariable('temperature', 'f8', ['time']);
await temp.setValue(new Float64Array([...data]));
await nc.close();
// Work with memory/blob
const dataset = await Dataset(blob, 'r');
const exportBlob = await dataset.toBlob();
|
Key Differences from Python
Concept |
Python netCDF4 |
netcdf4-wasm |
File opening |
Dataset('file.nc') |
await Dataset('file.nc') |
Data reading |
var[:] |
await var.getValue() |
Data writing |
var[:] = data |
await var.setValue(data) |
File closing |
nc.close() |
await nc.close() |
Support Matrix
Feature |
Support Level |
Notes |
NetCDF4 format |
✅ Full |
All features supported |
NetCDF3 format |
✅ Full |
Classic format support |
Compression |
✅ Full |
zlib, szip, etc. |
Groups |
✅ Full |
Hierarchical organization |
Unlimited dimensions |
✅ Full |
Growable dimensions |
String variables |
🚧 Partial |
Basic support |
Parallel I/O |
❌ Not available |
Single-threaded |
Advanced indexing |
🚧 Planned |
Future release |
Need help? Check our examples or open an issue on GitHub.