python计算矩阵的散度_使用Python,np.gradient计算u和v的风散度

我是Python的新手,目前正在尝试复制以前使用GrAD的绘图等.我想使用netCDF气候模型文件中的u和v风场(只是通过特定湿度q缩放)来计算每个网格框的散度.

通过无休止的搜索,我知道我需要使用np.gradient和np.sum的某种组合,但是找不到正确的组合.我只知道要“手动”进行计算,

divg = dqu / dx dqv / dy

我知道以下内容是错误的,但这是迄今为止我所能做到的最好的…

nc = Dataset(ifile)

q = np.array(nc.variables['hus'][0,:,:])

u = np.array(nc.variables['ua'][0,:,:])

v = np.array(nc.variables['va'][0,:,:])

lon=nc.variables['lon'][:]

lat=nc.variables['lat'][:]

qu = q*u

qv = q*v

dqu/dx, dqu/dy = np.gradient(qu, [dx, dy])

dqv/dx, dqv/dy = np.gradient(qv, [dx, dy])

divg = np.sum(dqu/dx, dqv/dy)

这给出了错误“ SyntaxError:无法分配给运算符”.

任何帮助将非常感激.

解决方法:

尝试类似:

dqu_dx, dqu_dy = np.gradient(qu, [dx, dy])

dqv_dx, dqv_dy = np.gradient(qv, [dx, dy])

您不能在python中分配任何操作;这些都是语法错误:

a + b = 3

a * b = 7

# or, in your case:

a / b = 9

更新

以下是Pinetwig的注释:a / b不是有效的标识符名称;它是运算符(的返回值).

标签:netcdf,python,numpy

来源: https://codeday.me/bug/20191027/1948363.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值