| |
| import argparse |
| from pathlib import Path |
|
|
| import numpy as np |
|
|
| ROOT = Path(__file__).resolve().parents[1] |
| import sys |
| sys.path.insert(0, str(ROOT)) |
| from model.nncam import generate_fake_data |
|
|
|
|
| def main(): |
| parser = argparse.ArgumentParser(description="Create deterministic synthetic NNCAM columns.") |
| parser.add_argument("--samples", type=int, default=192) |
| parser.add_argument("--seed", type=int, default=42) |
| parser.add_argument("--output", type=Path, default=ROOT / "data/nncam_fake.npz") |
| args = parser.parse_args() |
| x, y, lat, time = generate_fake_data(args.samples, args.seed) |
| assert x.shape == (args.samples, 94) and y.shape == (args.samples, 65) |
| assert np.isfinite(x).all() and np.isfinite(y).all() and (y[:, 64] >= 0).all() |
| args.output.parent.mkdir(parents=True, exist_ok=True) |
| np.savez_compressed(args.output, x=x, y=y, lat=lat, time=time) |
| print(f"saved {args.output}: x={x.shape}, y={y.shape}, finite=true") |
|
|
|
|
| if __name__ == "__main__": |
| main() |
|
|