爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 660|回复: 3

[脚本编辑] 怎么用GrADS将nc文件转化成grd文件?

[复制链接]

新浪微博达人勋

发表于 2024-4-15 21:39:59 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 melt 于 2024-4-16 15:52 编辑

在跑LBM模式时,想加两个热源强迫,但网上和LBM的说明书里都是单个热源的示例。就想着把LBM模式输出的强迫文件frc_7_positive_negative.grd先转化为nc文件(cdo -f nc import_binary frc_7_positive_negative.ctl frc_7_positive_negative.nc),再用matlab修改nc文件,再加个热源强迫。现在不知道怎么将nc文件按原来的格式转化为grd文件。之前完全没接触过GrADS,请各位大佬指教。

frc_7_positive_negative.ctl的内容
* sample forcing patternDSET ^frc_7_positive_negative.grd* BYTESWAPPEDOPTIONS SEQUENTIAL YREVTITLE dumyUNDEF -999.* OPTIONS big_endianXDEF 128 LINEAR 0. 2.81250YDEF 64  LEVELS -87.864 -85.097 -82.313 -79.526 -76.737 -73.948 -71.158 -68.368 -65.578 -62.787 -59.997 -57.207 -54.416 -51.626 -48.835 -46.045 -43.254 -40.464 -37.673 -34.883 -32.092 -29.301 -26.511 -23.720 -20.930 -18.139 -15.348 -12.558  -9.767  -6.976  -4.186  -1.395   1.395   4.186  6.976   9.767  12.558  15.348  18.139  20.930  23.720  26.511  29.301 32.092  34.883  37.673  40.464  43.254  46.045  48.835  51.626  54.416  57.207  59.997  62.787  65.578  68.368  71.158  73.948  76.737  79.526  82.313  85.097  87.864 ZDEF 20 LEVELS 0.99500 0.97999 0.94995 0.89988 0.82977 0.74468 0.64954 0.54946 0.45447 0.36948 0.29450 0.22953 0.17457 0.12440 0.0846830 0.0598005 0.0449337 0.0349146 0.0248800 0.00829901TDEF 1 LINEAR 15jan0000 1moVARS 4 v      20 99 vor.   forcing [s**-2]d      20 99 div.   forcing [s**-2]t      20 99 temp.  forcing [K s**-1]p      1  99 sfc.Ln(Ps) forcingENDVARS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
按照2楼的链接(
http://bbs.06climate.com/forum.php?mod=viewthread&tid=97157
),发现可以用GrADS直接将两个强迫场的grd文件相加就行。照着写了个gs脚本,可以运行,但输出的t都是空的,不是理想的两个场相加。代码如下,大佬帮忙看看问题出在哪里。

'reinit'
'open E:\model\LBM\Forcing\frc_7_negative.ctl'  
'open E:\model\LBM\Forcing\frc_7_positive.ctl'
'set gxout fwrite'
'set fwrite -sq -cl -be E:\model\LBM\Forcing\frc_7_positive_negative.grd'
i=1
while (i <= 20)
  'set z 'i''
  'define t = t.1 + t.2'
  'define v = v.1 + v.2'
  'define d = d.1 + d.2'
  'd v'  
  'd d'
  'd t'
  i=i+1
endwhile

'close 2'
'close 1'
'disable fwrite'
'reinit'


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

新浪微博达人勋

发表于 2024-4-16 09:27:08 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2024-7-16 17:19:33 | 显示全部楼层
你好 请问你找到gs脚本问题了吗 我也是输出没有值
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-7-22 21:36:40 | 显示全部楼层
可以在LBM模式中,将grd强迫数据变成nc文件后,在进行处理。
处理过程参考https://blog.csdn.net/audery1997/article/details/137507788中将nc文件转化为grd文件的部分
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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