DOCUMENT CONTENT
文档内容
"""Case 05 core algorithms: MODIS LST anomaly diagnostics."""
from __future__ import annotations
import numpy as np
def climatology_anomaly(values, period=46):
x=np.asarray(values,float)
if x.ndim!=2: raise ValueError("values must be time x cell")
phase=np.arange(x.shape[0])%period; mean=np.zeros((period,x.shape[1])); sd=np.zeros_like(mean)
for k in range(period):
v=x[phase==k]; mean[k]=np.nanmean(v,axis=0); sd[k]=np.nanstd(v,axis=0,ddof=1)
anom=np.array([(x[i]-mean[phase[i]])/(sd[phase[i]]+1e-12) for i in range(x.shape[0])])
return anom,mean,sd
def hotspot_frequency(z, threshold=1.5): return np.nanmean(np.asarray(z)>=threshold,axis=0)