根据每日净辐射时间序列(在FluxNet/AMERIFlux站点计算),我如何确定某一天是多云或晴天?我在某个地方读到,晴朗的天空辐射具有正弦行为。如果我们有不同的行为,那就意味着它是由云引起的。我不知道该怎么处理这个问题?下面是示例数据:https://drive.google.com/file/d/1f1YfWgPbg3fxhFG1DTNH9Ex3lTDqLBZp/view?usp=sharing
发布于 2020-09-13 16:49:52
如果我们获取原始数据并将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()

我们可以利用季节分解来观察这些季节性影响,甚至消除它们:
net_rad_ts <- ts(df$NET_RAD, frequency = 365)
net_rad_decomp <- stats::decompose(net_rad_ts)
plot(net_rad_decomp)

我们可以看到,除了季节变化外,每个季节都有一个背景趋势和相当大的随机变化。我们还可以看到,夏季的变化似乎高于冬季(这是合理的)。
如果没有明确的截断来定义“多云”在净辐射方面的含义,我们可以简单地说明,在考虑到一年中的时间和随时间变化趋势之后,我们只想确定太阳辐射低于平均值的日子。所以我们可以:
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()

这给了我们一个粗略的近似你的答案,这将足够,直到你想出一个很好的定义“多云”。
https://stackoverflow.com/questions/63872225
复制相似问题