爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 28211|回复: 41

[经验总结] 用ncl修改wrfinput做敏感性实验(受兰溪之水启发)

[复制链接]

新浪微博达人勋

发表于 2015-10-10 20:12:46 | 显示全部楼层 |阅读模式

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

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

x
前几天看了兰溪之水利用ncl做敏感性试验的帖子http://bbs.06climate.com/forum.php?mod=viewthread&tid=4592&extra=page%3D1&page=1
觉得很受启发,就结合自己的例子进行了尝试,并且做了一些改进,也在论坛上进行了询问http://bbs.06climate.com/forum.php?mod=viewthread&tid=38276&page=1#pid526317可惜没人搭理我啊。。。。。。
现在自己终于调好了,分享给大家吧~~(第一次分享自己东西,不太正确的地方还请大家指正)

我的个例是用自己同化的土壤湿度资料(soilana.dat)去代替wrfinput中的第一层土壤湿度
;======================================================
; This script is used to read a binary file and write the var to the netCDF file.
;======================================================
begin
    a=addfile("/home/lw/soil/wrfinput.nc","w");自己可以用ncdump看一下里面的土壤湿度到底是什么样子存放的
    s=new((/1,4,300,400/),"float")
    s=a->SMOIS
  print(s(0,1,97,66));检验是否读入

    soil=new((/300,400/),"float")
    soil!0="Time"
    soil!1="soil_layers_stag";声明维数名称的命令
    soil=fbindirread("/home/lw/soil/soilana.dat",0,(/nx,ny/),"float");根据写入时的大小读入   
  print(soil(66,97));检验是否读入
;-----------------------
; change the field  
;-----------------------
   do i=1,300,1
     do j=1,400,1
       s(0,0,i-1,j-1)=soil(i-1,j-1)
     end do
   end do
  print(s(0,0,66,97));检验是否和上面一样
;-----------------------
;write the field
;-----------------------
   a->SMOIS=s
end

还有一个不太懂的问题想请教大家,就是维数名称的命名,我是根据提示错误才这么做的。但是其实命名的应该是纬度和经度,不知道这样后面会不会出错啊?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-19 11:04:13 | 显示全部楼层
东风急流 发表于 2016-9-19 10:15
我是对wrfinput进行处理的
方法就是这个帖子

这样不会出现“漏风”现象么
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2015-10-10 20:22:23 | 显示全部楼层
想@一下兰溪之水的,可惜和大神不是好友啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2015-10-10 23:19:40 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2015-10-14 16:49:59 | 显示全部楼层
求问你的土壤资料是怎么同化的啊?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-14 18:18:04 | 显示全部楼层
不好意思,我不是做资料同化的啊。这个资料是别人给我,让我用wrf给他模拟结果。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-19 07:51:29 | 显示全部楼层
维度名称叫什么都行,自己不要搞乱就好,只是个名称,除非后面有函数要寻找特定的维度名称……
本例里面,你2D变量soil的维度名称用在什么地方了?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-19 08:30:04 | 显示全部楼层
本来没有用的,但那个循环里面的赋值语句(s(0,0,i-1,j-1)=soil(i-1,-1))编译不过去,提示我左边的变量有维数名称,右边的没有,让我把左边的去掉。但我不会去,就把右边的给写上了......
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-19 08:31:28 | 显示全部楼层
s这个变量本来是有维数名称的,其中前两维就是我给soil的那两个
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-20 09:28:23 | 显示全部楼层
八维伊布 发表于 2015-10-19 07:51
维度名称叫什么都行,自己不要搞乱就好,只是个名称,除非后面有函数要寻找特定的维度名称……
本例里面, ...

请问两个变量相互赋值,是不是要维数名称对应呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-20 17:48:09 | 显示全部楼层
好专业啊不懂
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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