根据净辐射数据识别阴天

时间:2020-09-13 15:01:41

标签: r gis atmosphere solar

如何根据每天的净辐射时间序列(在FluxNet / AMERIFlux站点上计算)确定特定的日子是多云还是晴朗的天空?我在某处看到晴朗的天空辐射具有正弦行为。如果我们得到不同的行为,则意味着它是由云引起的。我不知道如何精确地解决这个问题?以下是示例数据:https://drive.google.com/file/d/1f1YfWgPbg3fxhFG1DTNH9Ex3lTDqLBZp/view?usp=sharing

1 个答案:

答案 0 :(得分:2)

如果我们获取您的原始数据并将Time列从文本转换为可以使用的实际日期,这将有助于分析。我们还将删除具有NaN值的行:

df <- read.csv("net_rad.csv")

df$Date <- as.POSIXct(strptime(df$Time, "%m/%d/%Y"))
df <- df[!is.nan(df$NET_RAD),]

如果我们绘制每日净辐射图,我们会看到一个清晰的季节性模式:

library(ggplot2)

ggplot(df, aes(Date, NET_RAD)) + geom_line()

enter image description here

我们可以使用季节性分解来查看这些季节性影响,甚至可以将它们删除:

net_rad_ts <- ts(df$NET_RAD, frequency = 365)
net_rad_decomp <- stats::decompose(net_rad_ts)
plot(net_rad_decomp)

enter image description here

我们可以看到,除了季节变化外,每个季节内都有背景趋势和相当大的随机变化。我们还可以看到,夏季的方差似乎大于冬季的方差(这是有道理的)

如果没有清晰的界限来定义“阴天”在净辐射方面的含义,我们可以简单地指定,在考虑了一年中的时间和随时间变化的趋势之后,我们想要确定太阳辐射低于平均水平的日子。 。因此,我们可以这样做:

df$cloudy <- as.logical(net_rad_decomp$random < 0)

这使我们能够绘制数据,显示黄色的季节异常明亮,而灰色的季节异常暗:

ggplot(df, aes(Date, NET_RAD, colour = cloudy)) + 
  geom_point() +
  scale_color_manual(values = c("gold", "gray40")) +
  theme_bw()

enter image description here

这使我们对您的答案有一个大概的近似,直到您对“阴天”有了一个很好的定义为止,这才足够。