使用 wrf-python

问题描述

我使用 wrf-python 来读取 WRFOUT 文件

wrflist = [Dataset("wrfout_d01_2012-12-01_00:00:00"),Dataset("wrfout_d01_2012-12-02_00:00:00"),Dataset("wrfout_d01_2012-12-03_00:00:00"),Dataset("wrfout_d01_2012-12-04_00:00:00"),Dataset("wrfout_d01_2012-12-05_00:00:00")]

p_join = getvar(wrflist,"P",timeidx=ALL_TIMES,method="join")

print(p_join)

我有包含一个月每小时输出的每日文件。我如何计算特定变量的月均值。相当于 cdo monmean 的东西?

解决方法

好吧,如果您不介意基于 CDO 的响应,我会简单地取每个文件的平均时间

for file in wrfout_d01_2012-12-??_00:00:00 ; do 
    cdo timmean $file ${file}_monmean.nc 
done

然后你可以使用

获得整体的均值
cdo ensmean ${file}_monmean.nc out.nc 

但是!这仅对 WRF 文件中的瞬时场有效。对于通量,您需要使用 sum 而不是 mean,和/或进行一些单位转换。我倾向于使用 cdo selvar 提取我需要的通量/非通量变量列表,然后只对这些变量进行处理(也是因为标准 WRF 输出包含 您通常不需要的东西) .