@earthyscience/netcdf4-wasm 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/netcdf-getters.d.ts +16 -0
- package/dist/netcdf-getters.d.ts.map +1 -0
- package/dist/netcdf-getters.js +263 -0
- package/dist/netcdf-getters.js.map +1 -0
- package/dist/netcdf-worker.d.ts +2 -0
- package/dist/netcdf-worker.d.ts.map +1 -0
- package/dist/netcdf-worker.js +149 -0
- package/dist/netcdf-worker.js.map +1 -0
- package/dist/netcdf4-wasm.wasm +0 -0
- package/dist/netcdf4.d.ts +21 -14
- package/dist/netcdf4.d.ts.map +1 -1
- package/dist/netcdf4.js +228 -295
- package/dist/netcdf4.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wasm-module.d.ts +2 -2
- package/dist/wasm-module.d.ts.map +1 -1
- package/dist/wasm-module.js.map +1 -1
- package/package.json +9 -11
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { NetCDF4Module } from './types.js';
|
|
2
|
+
export declare function getVariables(module: NetCDF4Module, ncid: number): Record<string, any>;
|
|
3
|
+
export declare function getVarCount(module: NetCDF4Module, ncid: number): number;
|
|
4
|
+
export declare function getDimCount(module: NetCDF4Module, ncid: number): number;
|
|
5
|
+
export declare function getDims(module: NetCDF4Module, ncid: number): Record<string, any>;
|
|
6
|
+
export declare function getDimIDs(module: NetCDF4Module, ncid: number): number[] | Int32Array;
|
|
7
|
+
export declare function getDim(module: NetCDF4Module, ncid: number, dimid: number): Record<string, any>;
|
|
8
|
+
export declare function getAttributeValues(module: NetCDF4Module, ncid: number, varid: number, attname: string): any;
|
|
9
|
+
export declare function getGlobalAttributes(module: NetCDF4Module, ncid: number): Record<string, any>;
|
|
10
|
+
export declare function getAttributeName(module: NetCDF4Module, ncid: number, varid: number, attId: number): string | undefined;
|
|
11
|
+
export declare function getFullMetadata(module: NetCDF4Module, ncid: number): Record<string, any>[];
|
|
12
|
+
export declare function getVarIDs(module: NetCDF4Module, ncid: number): number[] | Int32Array;
|
|
13
|
+
export declare function getVariableInfo(module: NetCDF4Module, ncid: number, variable: number | string): Record<string, any>;
|
|
14
|
+
export declare function getVariableArray(module: NetCDF4Module, ncid: number, variable: number | string): Float32Array | Float64Array | Int16Array | Int32Array | BigInt64Array | BigInt[] | string[];
|
|
15
|
+
export declare function getSlicedVariableArray(module: NetCDF4Module, ncid: number, variable: number | string, start: number[], count: number[]): Float32Array | Float64Array | Int16Array | Int32Array | BigInt64Array | BigInt[] | string[];
|
|
16
|
+
//# sourceMappingURL=netcdf-getters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"netcdf-getters.d.ts","sourceRoot":"","sources":["../src/netcdf-getters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,YAAY,CACxB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAiBrB;AAED,wBAAgB,WAAW,CACvB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,MAAM,CAMR;AAED,wBAAgB,WAAW,CACvB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,MAAM,CAMR;AAED,wBAAgB,OAAO,CACnB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAYrB;AAED,wBAAgB,SAAS,CACrB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,MAAM,EAAE,GAAG,UAAU,CAMvB;AAED,wBAAgB,MAAM,CAClB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAUrB;AAED,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAChB,GAAG,CAkBL;AAED,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAkBrB;AAED,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAMrB;AAED,wBAAgB,eAAe,CAC3B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CASvB;AAED,wBAAgB,SAAS,CACrB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,MAAM,EAAE,GAAG,UAAU,CAMvB;AAED,wBAAgB,eAAe,CAC3B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAsElD;AAED,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,GAC1B,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAqB7F;AAED,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,MAAM,EAAE,GAChB,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAoB7F"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { NC_CONSTANTS, DATA_TYPE_SIZE, CONSTANT_DTYPE_MAP } from './constants.js';
|
|
2
|
+
export function getVariables(module, ncid) {
|
|
3
|
+
const variables = {};
|
|
4
|
+
const varCount = getVarCount(module, ncid);
|
|
5
|
+
const dimIds = getDimIDs(module, ncid);
|
|
6
|
+
for (let varid = 0; varid < varCount; varid++) {
|
|
7
|
+
if (dimIds.includes(varid))
|
|
8
|
+
continue; //Don't include spatial Vars
|
|
9
|
+
const result = module.nc_inq_varname(ncid, varid);
|
|
10
|
+
if (result.result !== NC_CONSTANTS.NC_NOERR || !result.name) {
|
|
11
|
+
console.warn(`Failed to get variable name for varid ${varid} (error: ${result.result})`);
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
variables[result.name] = {
|
|
15
|
+
id: varid
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return variables;
|
|
19
|
+
}
|
|
20
|
+
export function getVarCount(module, ncid) {
|
|
21
|
+
const result = module.nc_inq_nvars(ncid);
|
|
22
|
+
if (result.result !== NC_CONSTANTS.NC_NOERR) {
|
|
23
|
+
throw new Error(`Failed to get number of variables (error: ${result.result})`);
|
|
24
|
+
}
|
|
25
|
+
return result.nvars || 0;
|
|
26
|
+
}
|
|
27
|
+
export function getDimCount(module, ncid) {
|
|
28
|
+
const result = module.nc_inq_ndims(ncid);
|
|
29
|
+
if (result.result !== NC_CONSTANTS.NC_NOERR) {
|
|
30
|
+
throw new Error(`Failed to get number of dimensions (error: ${result.result})`);
|
|
31
|
+
}
|
|
32
|
+
return result.ndims || 0;
|
|
33
|
+
}
|
|
34
|
+
export function getDims(module, ncid) {
|
|
35
|
+
const dimIDs = getDimIDs(module, ncid);
|
|
36
|
+
const dims = {};
|
|
37
|
+
for (const dimid of dimIDs) {
|
|
38
|
+
const dim = getDim(module, ncid, dimid);
|
|
39
|
+
dims[dim.name] = {
|
|
40
|
+
size: dim.len,
|
|
41
|
+
units: dim.units,
|
|
42
|
+
id: dim.id
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return dims;
|
|
46
|
+
}
|
|
47
|
+
export function getDimIDs(module, ncid) {
|
|
48
|
+
const result = module.nc_inq_dimids(ncid, 0);
|
|
49
|
+
if (result.result !== NC_CONSTANTS.NC_NOERR) {
|
|
50
|
+
throw new Error(`Failed to get dimension IDs (error: ${result.result})`);
|
|
51
|
+
}
|
|
52
|
+
return result.dimids || [0];
|
|
53
|
+
}
|
|
54
|
+
export function getDim(module, ncid, dimid) {
|
|
55
|
+
const result = module.nc_inq_dim(ncid, dimid);
|
|
56
|
+
if (result.result !== NC_CONSTANTS.NC_NOERR) {
|
|
57
|
+
throw new Error(`Failed to get dim (error: ${result.result})`);
|
|
58
|
+
}
|
|
59
|
+
const varResult = module.nc_inq_varid(ncid, result.name);
|
|
60
|
+
const varID = varResult.varid;
|
|
61
|
+
const { result: output, ...dim } = result;
|
|
62
|
+
const unitResult = getAttributeValues(module, ncid, varID, "units");
|
|
63
|
+
return { ...dim, units: unitResult, id: varID };
|
|
64
|
+
}
|
|
65
|
+
export function getAttributeValues(module, ncid, varid, attname) {
|
|
66
|
+
const attInfo = module.nc_inq_att(ncid, varid, attname);
|
|
67
|
+
if (attInfo.result !== NC_CONSTANTS.NC_NOERR) {
|
|
68
|
+
console.warn(`Failed to get attribute info for ${attname} (error: ${attInfo.result})`);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const attType = attInfo.type;
|
|
72
|
+
if (!attType)
|
|
73
|
+
throw new Error("Failed to allocate memory for attribute type.");
|
|
74
|
+
let attValue;
|
|
75
|
+
if (attType === 2)
|
|
76
|
+
attValue = module.nc_get_att_text(ncid, varid, attname, attInfo.len);
|
|
77
|
+
else if (attType === 3)
|
|
78
|
+
attValue = module.nc_get_att_short(ncid, varid, attname, attInfo.len);
|
|
79
|
+
else if (attType === 4)
|
|
80
|
+
attValue = module.nc_get_att_int(ncid, varid, attname, attInfo.len);
|
|
81
|
+
else if (attType === 5)
|
|
82
|
+
attValue = module.nc_get_att_float(ncid, varid, attname, attInfo.len);
|
|
83
|
+
else if (attType === 6)
|
|
84
|
+
attValue = module.nc_get_att_double(ncid, varid, attname, attInfo.len);
|
|
85
|
+
else if (attType === 10)
|
|
86
|
+
attValue = module.nc_get_att_longlong(ncid, varid, attname, attInfo.len);
|
|
87
|
+
else
|
|
88
|
+
attValue = module.nc_get_att_double(ncid, varid, attname, attInfo.len);
|
|
89
|
+
return attValue.data;
|
|
90
|
+
}
|
|
91
|
+
export function getGlobalAttributes(module, ncid) {
|
|
92
|
+
const attributes = {};
|
|
93
|
+
const nattsResult = module.nc_inq_natts(ncid);
|
|
94
|
+
if (nattsResult.result !== NC_CONSTANTS.NC_NOERR) {
|
|
95
|
+
throw new Error(`Failed to get number of global attributes (error: ${nattsResult.result})`);
|
|
96
|
+
}
|
|
97
|
+
const nAtts = nattsResult.natts;
|
|
98
|
+
const attNames = [];
|
|
99
|
+
for (let i = 0; i < nAtts; i++) {
|
|
100
|
+
const name = getAttributeName(module, ncid, NC_CONSTANTS.NC_GLOBAL, i);
|
|
101
|
+
attNames.push(name);
|
|
102
|
+
}
|
|
103
|
+
if (attNames.length === 0)
|
|
104
|
+
return attributes;
|
|
105
|
+
for (const attname of attNames) {
|
|
106
|
+
if (!attname)
|
|
107
|
+
continue;
|
|
108
|
+
attributes[attname] = getAttributeValues(module, ncid, NC_CONSTANTS.NC_GLOBAL, attname);
|
|
109
|
+
}
|
|
110
|
+
return attributes;
|
|
111
|
+
}
|
|
112
|
+
export function getAttributeName(module, ncid, varid, attId) {
|
|
113
|
+
const result = module.nc_inq_attname(ncid, varid, attId);
|
|
114
|
+
if (result.result !== NC_CONSTANTS.NC_NOERR) {
|
|
115
|
+
throw new Error(`Failed to get attribute (error: ${result.result})`);
|
|
116
|
+
}
|
|
117
|
+
return result.name;
|
|
118
|
+
}
|
|
119
|
+
export function getFullMetadata(module, ncid) {
|
|
120
|
+
const varIds = getVarIDs(module, ncid);
|
|
121
|
+
const metas = [];
|
|
122
|
+
for (const varid of varIds) {
|
|
123
|
+
const varMeta = getVariableInfo(module, ncid, varid);
|
|
124
|
+
const { attributes, ...varDeets } = varMeta;
|
|
125
|
+
metas.push({ ...varDeets, ...attributes });
|
|
126
|
+
}
|
|
127
|
+
return metas;
|
|
128
|
+
}
|
|
129
|
+
export function getVarIDs(module, ncid) {
|
|
130
|
+
const result = module.nc_inq_varids(ncid);
|
|
131
|
+
if (result.result !== NC_CONSTANTS.NC_NOERR) {
|
|
132
|
+
throw new Error(`Failed to get variable IDs (error: ${result.result})`);
|
|
133
|
+
}
|
|
134
|
+
return result.varids || [0];
|
|
135
|
+
}
|
|
136
|
+
export function getVariableInfo(module, ncid, variable) {
|
|
137
|
+
const info = {};
|
|
138
|
+
const isId = typeof variable === "number";
|
|
139
|
+
let varid = variable;
|
|
140
|
+
if (!isId) {
|
|
141
|
+
const result = module.nc_inq_varid(ncid, variable);
|
|
142
|
+
varid = result.varid;
|
|
143
|
+
}
|
|
144
|
+
const result = module.nc_inq_var(ncid, varid);
|
|
145
|
+
if (result.result !== NC_CONSTANTS.NC_NOERR) {
|
|
146
|
+
throw new Error(`Failed to get variable info (error: ${result.result})`);
|
|
147
|
+
}
|
|
148
|
+
const typeMultiplier = DATA_TYPE_SIZE[result.type];
|
|
149
|
+
//Dim Info
|
|
150
|
+
const dimids = result.dimids;
|
|
151
|
+
const dims = [];
|
|
152
|
+
const shape = [];
|
|
153
|
+
let size = 1;
|
|
154
|
+
if (dimids) {
|
|
155
|
+
for (const dimid of dimids) {
|
|
156
|
+
const dim = getDim(module, ncid, dimid);
|
|
157
|
+
size *= dim.len;
|
|
158
|
+
dims.push(dim);
|
|
159
|
+
shape.push(dim.len);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//Attribute Info
|
|
163
|
+
const attNames = [];
|
|
164
|
+
if (result.natts) {
|
|
165
|
+
for (let i = 0; i < result.natts; i++) {
|
|
166
|
+
const attname = getAttributeName(module, ncid, varid, i);
|
|
167
|
+
attNames.push(attname);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
const atts = {};
|
|
171
|
+
if (attNames.length > 0) {
|
|
172
|
+
for (const attname of attNames) {
|
|
173
|
+
if (!attname)
|
|
174
|
+
continue;
|
|
175
|
+
atts[attname] = getAttributeValues(module, ncid, varid, attname);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
//Chunking Info
|
|
179
|
+
let chunks;
|
|
180
|
+
const chunkResult = module.nc_inq_var_chunking(ncid, varid);
|
|
181
|
+
const isChunked = chunkResult.chunking === NC_CONSTANTS.NC_CHUNKED;
|
|
182
|
+
if (isChunked) {
|
|
183
|
+
chunks = chunkResult.chunkSizes;
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
chunks = shape;
|
|
187
|
+
}
|
|
188
|
+
const chunkElements = chunks.reduce((a, b) => a * b, 1);
|
|
189
|
+
//Output
|
|
190
|
+
info["name"] = result.name;
|
|
191
|
+
info["dtype"] = CONSTANT_DTYPE_MAP[result.type];
|
|
192
|
+
info['nctype'] = result.type;
|
|
193
|
+
info["shape"] = shape;
|
|
194
|
+
info['dims'] = dims;
|
|
195
|
+
info["size"] = size;
|
|
196
|
+
info["totalSize"] = size * typeMultiplier;
|
|
197
|
+
info["attributes"] = atts;
|
|
198
|
+
info["chunked"] = isChunked;
|
|
199
|
+
info["chunks"] = chunks;
|
|
200
|
+
info["chunkSize"] = chunkElements * typeMultiplier;
|
|
201
|
+
return info;
|
|
202
|
+
}
|
|
203
|
+
export function getVariableArray(module, ncid, variable) {
|
|
204
|
+
const isId = typeof variable === "number";
|
|
205
|
+
let varid = isId ? variable : 0;
|
|
206
|
+
if (!isId) {
|
|
207
|
+
const result = module.nc_inq_varid(ncid, variable);
|
|
208
|
+
varid = result.varid;
|
|
209
|
+
}
|
|
210
|
+
const info = getVariableInfo(module, ncid, varid);
|
|
211
|
+
const arraySize = info.size;
|
|
212
|
+
const arrayType = info.nctype;
|
|
213
|
+
if (!arrayType || !arraySize)
|
|
214
|
+
throw new Error("Failed to allocate memory for array");
|
|
215
|
+
let arrayData;
|
|
216
|
+
if (arrayType === 2)
|
|
217
|
+
arrayData = module.nc_get_var_text(ncid, varid, arraySize);
|
|
218
|
+
else if (arrayType === 3)
|
|
219
|
+
arrayData = module.nc_get_var_short(ncid, varid, arraySize);
|
|
220
|
+
else if (arrayType === 4)
|
|
221
|
+
arrayData = module.nc_get_var_int(ncid, varid, arraySize);
|
|
222
|
+
else if (arrayType === 10)
|
|
223
|
+
arrayData = module.nc_get_var_longlong(ncid, varid, arraySize);
|
|
224
|
+
else if (arrayType === 5)
|
|
225
|
+
arrayData = module.nc_get_var_float(ncid, varid, arraySize);
|
|
226
|
+
else if (arrayType === 6)
|
|
227
|
+
arrayData = module.nc_get_var_double(ncid, varid, arraySize);
|
|
228
|
+
else
|
|
229
|
+
arrayData = module.nc_get_var_double(ncid, varid, arraySize);
|
|
230
|
+
if (!arrayData.data)
|
|
231
|
+
throw new Error("Failed to read array data");
|
|
232
|
+
return arrayData.data;
|
|
233
|
+
}
|
|
234
|
+
export function getSlicedVariableArray(module, ncid, variable, start, count) {
|
|
235
|
+
const isId = typeof variable === "number";
|
|
236
|
+
let varid = isId ? variable : 0;
|
|
237
|
+
if (!isId) {
|
|
238
|
+
const result = module.nc_inq_varid(ncid, variable);
|
|
239
|
+
varid = result.varid;
|
|
240
|
+
}
|
|
241
|
+
const info = getVariableInfo(module, ncid, varid);
|
|
242
|
+
const arrayType = info.nctype;
|
|
243
|
+
if (!arrayType)
|
|
244
|
+
throw new Error("Failed to allocate memory for array");
|
|
245
|
+
let arrayData;
|
|
246
|
+
if (arrayType === 3)
|
|
247
|
+
arrayData = module.nc_get_vara_short(ncid, varid, start, count);
|
|
248
|
+
else if (arrayType === 4)
|
|
249
|
+
arrayData = module.nc_get_vara_int(ncid, varid, start, count);
|
|
250
|
+
else if (arrayType === 5)
|
|
251
|
+
arrayData = module.nc_get_vara_float(ncid, varid, start, count);
|
|
252
|
+
else if (arrayType === 6)
|
|
253
|
+
arrayData = module.nc_get_vara_double(ncid, varid, start, count);
|
|
254
|
+
else
|
|
255
|
+
arrayData = module.nc_get_vara_double(ncid, varid, start, count);
|
|
256
|
+
if (!arrayData.data) {
|
|
257
|
+
console.log(arrayData);
|
|
258
|
+
throw new Error("Failed to read array data");
|
|
259
|
+
}
|
|
260
|
+
return arrayData.data;
|
|
261
|
+
}
|
|
262
|
+
// if (!module) throw new Error("Failed to load module. Ensure module is initialized before calling methods")
|
|
263
|
+
//# sourceMappingURL=netcdf-getters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"netcdf-getters.js","sourceRoot":"","sources":["../src/netcdf-getters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"netcdf-worker.d.ts","sourceRoot":"","sources":["../src/netcdf-worker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import * as NCGet from './netcdf-getters.js';
|
|
2
|
+
import { WasmModuleLoader } from "./wasm-module.js";
|
|
3
|
+
import { NC_CONSTANTS } from "./constants.js";
|
|
4
|
+
let netcdfModule;
|
|
5
|
+
let mod;
|
|
6
|
+
// Wait for runtime initialization
|
|
7
|
+
const waitForModule = new Promise(async (resolve) => {
|
|
8
|
+
// Dynamically import the generated netcdf4-wasm.js module
|
|
9
|
+
const netcdf4Module = await import('./netcdf4-wasm.js');
|
|
10
|
+
const createNetCDF4Module = netcdf4Module.default;
|
|
11
|
+
// Use the imported module factory
|
|
12
|
+
netcdfModule = await createNetCDF4Module({
|
|
13
|
+
locateFile: (file) => {
|
|
14
|
+
// This handles Next.js bundling which adds identifiers to the filename
|
|
15
|
+
if (file.endsWith('.wasm')) {
|
|
16
|
+
return `${self.location.origin}/${file}`;
|
|
17
|
+
}
|
|
18
|
+
return file;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
resolve(netcdfModule);
|
|
22
|
+
});
|
|
23
|
+
// @ts-ignore: onmessage is available in worker global scope
|
|
24
|
+
self.onmessage = async (e) => {
|
|
25
|
+
const data = e.data;
|
|
26
|
+
const { type, id } = data;
|
|
27
|
+
try {
|
|
28
|
+
// Handle init message separately (before wrapping)
|
|
29
|
+
if (type === 'init') {
|
|
30
|
+
const rawmod = await waitForModule;
|
|
31
|
+
mod = WasmModuleLoader.wrapModule(rawmod);
|
|
32
|
+
const { blob, filename } = data;
|
|
33
|
+
const pathParts = filename.split('/');
|
|
34
|
+
const baseName = pathParts.pop(); // "data.nc"
|
|
35
|
+
const mountPoint = pathParts.join('/') || '/'; // "/working"
|
|
36
|
+
try {
|
|
37
|
+
mod.FS.mkdir(mountPoint);
|
|
38
|
+
}
|
|
39
|
+
catch (e) { /* ignore if exists */ }
|
|
40
|
+
try {
|
|
41
|
+
mod.FS.mount(mod.WORKERFS, {
|
|
42
|
+
blobs: [{ name: baseName, data: blob }],
|
|
43
|
+
}, mountPoint);
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
console.warn("Mount failed (might already be mounted):", err.message);
|
|
47
|
+
}
|
|
48
|
+
// Send success response matching what initHandler expects
|
|
49
|
+
self.postMessage({ success: true });
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
// For all other operations, ensure mod is initialized
|
|
53
|
+
if (!mod) {
|
|
54
|
+
const rawmod = await waitForModule;
|
|
55
|
+
mod = WasmModuleLoader.wrapModule(rawmod);
|
|
56
|
+
}
|
|
57
|
+
let result;
|
|
58
|
+
switch (type) {
|
|
59
|
+
case 'open': {
|
|
60
|
+
const openResult = mod.nc_open(data.path, data.modeValue);
|
|
61
|
+
const ncid = openResult.ncid ?? -1;
|
|
62
|
+
if (ncid < 0) {
|
|
63
|
+
throw new Error('nc_open failed with code ' + ncid);
|
|
64
|
+
}
|
|
65
|
+
result = ncid;
|
|
66
|
+
console.log('Worker: Returning ncid:', result);
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
case 'close': {
|
|
70
|
+
const closeResult = mod.nc_close(data.ncid);
|
|
71
|
+
if (closeResult !== NC_CONSTANTS.NC_NOERR) {
|
|
72
|
+
throw new Error("Failed to close file");
|
|
73
|
+
}
|
|
74
|
+
result = closeResult;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
//---- Getters ----//
|
|
78
|
+
//Globals
|
|
79
|
+
case 'getGlobalAttributes': {
|
|
80
|
+
result = NCGet.getGlobalAttributes(mod, data.ncid);
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
case 'getFullMetadata': {
|
|
84
|
+
result = NCGet.getFullMetadata(mod, data.ncid);
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
//Dims
|
|
88
|
+
case 'getDimCount': {
|
|
89
|
+
result = NCGet.getDimCount(mod, data.ncid);
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
case 'getDimIDs': {
|
|
93
|
+
result = Array.from(NCGet.getDimIDs(mod, data.ncid));
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
case 'getDim': {
|
|
97
|
+
result = NCGet.getDim(mod, data.ncid, data.dimid);
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
case 'getDims': {
|
|
101
|
+
result = NCGet.getDims(mod, data.ncid);
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
//Vars
|
|
105
|
+
case 'getVariables': {
|
|
106
|
+
console.log('Worker: getVariables called with ncid:', data.ncid);
|
|
107
|
+
result = NCGet.getVariables(mod, data.ncid);
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
case 'getVarIDs': {
|
|
111
|
+
result = Array.from(NCGet.getVarIDs(mod, data.ncid));
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
case 'getVarCount': {
|
|
115
|
+
result = NCGet.getVarCount(mod, data.ncid);
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
case 'getAttributeName': {
|
|
119
|
+
result = NCGet.getAttributeName(mod, data.ncid, data.varid, data.attId);
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
case 'getVariableInfo': {
|
|
123
|
+
result = NCGet.getVariableInfo(mod, data.ncid, data.variable);
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
case 'getAttributeValues': {
|
|
127
|
+
result = NCGet.getAttributeValues(mod, data.ncid, data.varid, data.attname);
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
//Arrays
|
|
131
|
+
case 'getVariableArray': {
|
|
132
|
+
result = NCGet.getVariableArray(mod, data.ncid, data.variable);
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
case 'getSlicedVariableArray': {
|
|
136
|
+
result = NCGet.getSlicedVariableArray(mod, data.ncid, data.variable, data.start, data.count);
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
default:
|
|
140
|
+
throw new Error(`Unknown message type: ${type}`);
|
|
141
|
+
}
|
|
142
|
+
self.postMessage({ id, success: true, result });
|
|
143
|
+
}
|
|
144
|
+
catch (err) {
|
|
145
|
+
console.error(`Worker Error [${type}]:`, err);
|
|
146
|
+
self.postMessage({ id, success: false, error: err.message });
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=netcdf-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"netcdf-worker.js","sourceRoot":"","sources":["../src/netcdf-worker.ts"],"names":[],"mappings":"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"}
|
package/dist/netcdf4-wasm.wasm
CHANGED
|
Binary file
|
package/dist/netcdf4.d.ts
CHANGED
|
@@ -9,12 +9,16 @@ export declare class NetCDF4 extends Group {
|
|
|
9
9
|
private ncid;
|
|
10
10
|
private _isOpen;
|
|
11
11
|
private memorySource?;
|
|
12
|
+
private workerSource?;
|
|
13
|
+
private worker?;
|
|
14
|
+
private workerReady?;
|
|
12
15
|
constructor(filename?: string | undefined, mode?: string, options?: DatasetOptions);
|
|
13
16
|
initialize(): Promise<void>;
|
|
14
17
|
static Dataset(filename: string, mode?: string, options?: DatasetOptions): Promise<NetCDF4>;
|
|
15
18
|
static fromBlob(blob: Blob, mode?: string, options?: DatasetOptions): Promise<NetCDF4>;
|
|
16
19
|
static fromArrayBuffer(buffer: ArrayBuffer, mode?: string, options?: DatasetOptions): Promise<NetCDF4>;
|
|
17
20
|
static fromMemory(data: Uint8Array | ArrayBuffer, mode?: string, options?: DatasetOptions, filename?: string): Promise<NetCDF4>;
|
|
21
|
+
static fromBlobLazy(blob: Blob, options?: DatasetOptions): Promise<NetCDF4>;
|
|
18
22
|
private open;
|
|
19
23
|
get file_format(): string;
|
|
20
24
|
get disk_format(): string;
|
|
@@ -29,26 +33,29 @@ export declare class NetCDF4 extends Group {
|
|
|
29
33
|
openFile(path: string, mode?: 'r' | 'w' | 'a'): Promise<number>;
|
|
30
34
|
createFile(path: string, mode?: number): Promise<number>;
|
|
31
35
|
closeFile(ncid: number): Promise<void>;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
36
|
+
private requestId;
|
|
37
|
+
private callWorker;
|
|
38
|
+
getGlobalAttributes(): Promise<Record<string, any>>;
|
|
39
|
+
getFullMetadata(): Promise<Record<string, any>[]>;
|
|
40
|
+
getAttributeValues(varid: number, attname: string): Promise<any>;
|
|
41
|
+
getDimCount(): Promise<number>;
|
|
42
|
+
getVariables(): Promise<Record<string, any>>;
|
|
43
|
+
getVarIDs(): Promise<number[] | Int32Array>;
|
|
44
|
+
getDimIDs(): Promise<number[] | Int32Array>;
|
|
45
|
+
getDim(dimid: number): Promise<Record<string, any>>;
|
|
46
|
+
getDims(): Promise<Record<string, any>>;
|
|
47
|
+
getVarCount(): Promise<number>;
|
|
48
|
+
getAttributeName(varid: number, attId: number): Promise<string | undefined>;
|
|
49
|
+
getVariableInfo(variable: number | string): Promise<Record<string, any>>;
|
|
50
|
+
getVariableArray(variable: number | string): Promise<Float32Array | Float64Array | Int16Array | Int32Array | BigInt64Array | BigInt[] | string[]>;
|
|
51
|
+
getSlicedVariableArray(variable: number | string, start: number[], count: number[]): Promise<Float32Array | Float64Array | Int16Array | Int32Array | BigInt64Array | BigInt[] | string[]>;
|
|
46
52
|
defineDimension(ncid: number, name: string, size: number): Promise<number>;
|
|
47
53
|
defineVariable(ncid: number, name: string, type: number, dimids: number[]): Promise<number>;
|
|
48
54
|
endDefineMode(ncid: number): Promise<void>;
|
|
49
55
|
putVariableDouble(ncid: number, varid: number, data: Float64Array): Promise<void>;
|
|
50
56
|
getVariableDouble(ncid: number, varid: number, length: number): Promise<Float64Array>;
|
|
51
57
|
private createMockModule;
|
|
58
|
+
private setupWorker;
|
|
52
59
|
private mountMemoryData;
|
|
53
60
|
toArrayBuffer(): Promise<ArrayBuffer>;
|
|
54
61
|
toBlob(type?: string): Promise<Blob>;
|
package/dist/netcdf4.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"netcdf4.d.ts","sourceRoot":"","sources":["../src/netcdf4.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAuB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"netcdf4.d.ts","sourceRoot":"","sources":["../src/netcdf4.ts"],"names":[],"mappings":"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"}
|