请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3096|回复: 0

python计算扰动位势高度(He)

[复制链接]

新浪微博达人勋

发表于 2022-8-16 12:11:25 | 显示全部楼层 |阅读模式
GrADS
系统平台:
问题截图: -
问题概况: 利用python计算扰动位势高度(He)时画出的图像不太正确
我看过提问的智慧: 看过
自己思考时长(天): 7

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
用python计算扰动位势高度(He),根据定义是从原始位势高度中减去同时的纬向平均位势高度(0°N–40°N,180°W–180°E),程序如下,但是得到的图像六月份还算正常,七八月份相差很大,请教各位大神这是什么原因呢?如有回答感激不尽!!


import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import xarray as xr
import os
import numpy as np

def readat(year):
    pth = '/home/uranus/ERA-5/Daily/h500'
    da = xr.open_dataset(os.path.join(pth,'hgt.'+str(year)+'.nc'))
    dat = da['hgt'].loc[str(year)+'-05-01':str(year)+'-09-30',40:0,:]
    lon = dat['lon'].values
    lat = dat['lat'].values
    dat = dat.values
    dat = dat - np.moveaxis(np.tile(np.mean(dat,2),(len(lon),1,1)),0,2)

    return dat, lon, lat

if __name__=='__main__':
    for year in range(1979,2021):
       # print(year)
        dat, lon, lat = readat(year)
        if year==1979:
            datc = dat
        else:
            datc += dat
    datc = datc/(2020-1979+1)
    #print(datc.shape)
    da = xr.DataArray(datc,name='hgt',dims=('time','lat','lon'),
            coords={'time':np.arange(153),'lat':lat,'lon':lon})
    da.to_netcdf('climhe1.nc',encoding={'hgt':{'_FillValue':-9999.},
        'lon':{'_FillValue':-9999.},'lat':{'_FillValue':-9999.}})



9.png
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表