NNCAM / scripts /fake_data.py
zhangrenchao's picture
Publish NNCAM reproduction
8791cfe verified
Raw
History Blame Contribute Delete
1.02 kB
#!/usr/bin/env python3
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()