爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8711|回复: 10

[作图] 【已解决 竟是一个小括号打成了中文括号】急求指点迷津

[复制链接]
发表于 2022-10-10 14:22:50 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 顺利毕业! 于 2022-10-12 21:12 编辑

小白最近要处理两个nc文件数据,利用两个文件内降水差值做一个降水-时间变化图,其中降水变量是三维的(time,lat,lon),应该是需要对每个格点的降水值赋相应权重进行平均,故本小白写了以下ncl脚本并运行,但是没任何反应:begin

fin1 = addfile("xxxxxxx.nc", "r")
fin2 = addfile("yyyyyyy.nc", "r")
time = fin2->time  (对应相减以fin2中的时间段为准)
lat = fin2->lat
rain1 = fin1->RAIN(48:227,:,:)
rain2 = fin2->RAIN(:,:,:)
rain_d = rain1-rain2

rad = 4.0*atan(1.0)/180.0  
clat = cos(lat*rad)
rain_d_ave=wgt_areaave(rain_d, clat, 1.0, 1)

wks = gsn_open_wks("eps","rain")
res = True
res@xyLineColor="blue"
res@xyDashPattern="0"
res@tiXAxisString="time"
res@tiYAxisString="rain [mm/s]"
plot = gsn_csm_xy(wks, time, rain_d_ave, res)
end

求各位大神们帮忙看看有什么问题,或者能提供相应的ncl脚本能够指路也好,谢谢谢谢!

密码修改失败请联系微信:mofangbao
 楼主| 发表于 2022-10-10 14:25:10 | 显示全部楼层
脚本在我编辑的时候出了点小问题,begin跑上面去了呜呜呜
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-10 14:32:42 | 显示全部楼层
有没有大佬带我学ncl 或者 小白一起学的互帮互助也行
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2022-10-10 14:41:24 来自手机 | 显示全部楼层
要不尝试先把数据切片切出来然后相加减
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-10 15:02:24 | 显示全部楼层
小余 发表于 2022-10-10 14:41
要不尝试先把数据切片切出来然后相加减

数据切片切出来是怎么操作的呀
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2022-10-10 16:02:00 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-10 16:17:28 | 显示全部楼层
本帖最后由 顺利毕业! 于 2022-10-10 16:32 编辑
AuuuTi 发表于 2022-10-10 16:02
https://www.youtube.com/watch?v=_h1mCvzIm6o&list=PLcTXxHv0Dw5YTEzp5MiniqqVsqOFzYLvK&index=4

谢谢大佬!但是视频不见了...
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2022-10-11 17:07:03 | 显示全部楼层
首先你要看是哪一步出错了,没有反应可以随便print一下;然后你两个文件的降水相减,要确保rain1和rain2的维度一致,(time,lat,lon)三个维度都要一致,然后你rain1做了切片,rain2没有做,那两个数据维度都不一致,就没办法相减。前面写对后,rain_d应该是一个三位的数据,后面算权重的函数,要去查一下,得到的结果rain_d_ave是几维数据啊?最后,gsn_csm_xy(wks, time, rain_d_ave, res)这行代码,画的是折线图吧,需要rain_d_ave为一维数据吧。没明白你想要什么图,而且维度也没对应上。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-11 18:24:39 | 显示全部楼层
Mr.ITY 发表于 2022-10-11 17:07
首先你要看是哪一步出错了,没有反应可以随便print一下;然后你两个文件的降水相减,要确保rain1和rain2的 ...

rain2和rain2都是三维(time,lat,lon),然后对rain1做切片是因为rain1时间维比rain2要大,对rain1做切片后两者数据个数就相同了。rain_d_ave根据官网的指示感觉是应该一维数据了?最后确实想画一个降水时间的折线图;也不知道我这样是不是有地方想错了?谢谢大佬给我的回复
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2022-10-12 15:26:46 | 显示全部楼层
顺利毕业! 发表于 2022-10-11 18:24
rain2和rain2都是三维(time,lat,lon),然后对rain1做切片是因为rain1时间维比rain2要大,对rain1做切 ...

所以需要你去验证啊,哪个步骤有问题,如果最后的rain_d_ave确实是一维数据,而且长度和time一致,那最后作图应该没有问题啊。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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