| from pathlib import Path | |
| import sys,numpy as np,matplotlib;matplotlib.use('Agg');import matplotlib.pyplot as plt;R=Path(__file__).resolve().parents[1];sys.path.insert(0,str(R));from model.weatherbench2 import * | |
| c=cfg(R);d=np.load(R/c['paths']['predictions']);e=d['ensemble'];t=d['target'];mean=e.mean(0);rmse=float(np.sqrt(np.mean((mean-t)**2)));crps=float(np.mean(abs(e-t[None]))-.5*np.mean(abs(e[:,None]-e[None,:])));spread=float(e.std(0).mean());write(R/c['paths']['evaluation'],{'rmse':rmse,'crps':crps,'spread_skill':spread/(rmse+1e-8)});plt.imshow(mean[0,0]-t[0,0]);p=R/c['paths']['figure'];p.parent.mkdir(parents=True,exist_ok=True);plt.savefig(p);print(p) | |