爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5504|回复: 3

利用中央差分函数计算变量时出现的数组合并的问题

[复制链接]

新浪微博达人勋

发表于 2018-3-6 23:58:07 | 显示全部楼层 |阅读模式

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

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

x
现有air(time,level,lat,lon),具体維数(120,12,144,73),需要求air对x的偏导,由于x随纬度变化,又不想用四重循环跑,因此想用NCL自带的中央差分函数center_finite_diff_n,通过纬度的循环变化,求出90N、87.5N……-90S下的偏导值的三维数组,并合并。

问题描述:在运行过程中,报错fatal:Assignment type mismatch,right hand side can't be coerced to type of left hand side.
分析:代码中运用center_finite_diff_n时,temp是不可以提前new的,但是不同纬度值下三維数组temp合并維到四维Q1_21时,temp是需要提前new或者明确具体維数的,因此无论是否预先创建temp,都会报错,也无法继续运行。

求教各位大佬,在沿用该思路的情况下,如何解决?

主要代码

主要代码
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-7 12:41:08 | 显示全部楼层
或者说,对于由temp=center_finite_diff_n(……)得出的数组temp(不可以预先new),我如何声明其維数呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-7 20:06:11 | 显示全部楼层
好尴尬,分析的错的。我知道问题出在对Q1_21的创建上了,因为用的EC的数据,因该是double,因为之前跑NCEP是float,应该直接typeof(air)就好啦。不知道怎么删贴,大家见笑了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-22 11:46:09 | 显示全部楼层
哇,正准备求中央差分对x和y方向的函数
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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