爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: river

[图形美化] 任意两点间斜剖面做法总结【利用GRADS自带函数】

  [复制链接]
发表于 2014-10-21 11:38:05 | 显示全部楼层
收藏一下。 经典
密码修改失败请联系微信:mofangbao
发表于 2014-10-21 20:59:39 | 显示全部楼层
lz能帮我看看么 。。我用的fnl1*1的资料,想做假相当位温
gs如下
'reinit'


'open d:\ffnnll\1.ctl'
'open d:\ffnnll\orog.ctl'
'set grads off'
'set zlog on'
'set csmooth on'
'set x 1'
'set y 1'
'set lev 1000 100'

'set t 31'
#'define xxx=hdivg(UGRDprs,VGRDprs)*100000'


lon1=102.0
lon2=106.0
lat1=32.0
lat2=28.0
lon=lon1
'collect 1 free'
'collect 2 free'
while(lon<=lon2)
  lat=lat1+(lat2-lat1)*(lon-lon1)/(lon2-lon1)


#计算假相当位温的计算
'define t0=tmpprs'
'define rh=rhprs'
'define prs=lev'
'define es=(6.1078*exp(17.2693882*(t0-273.16)/(t0-35.86)))'
'define qq=rh*(0.62197*es/(prs-0.378*es))/100.'
'define e=prs*qq/(0.62197+qq)+1e-10'
'define tlcl=55.0+2840.0/(3.5*log(t0)-log(e)-4.805)'
'define theta=t0*pow((1000/prs),(0.2854*(1.0-0.28*qq)))'
'define eqt=theta*exp(((3376./tlcl)-2.54)*qq*(1.0+0.81*qq))'


  'collect 1 gr2stn(eqt,'lon','lat')'
  'collect 2 gr2stn(orog.2(t=1),'lon','lat')'
  lon=lon+1
endwhile
'set map 15 1 9'
*'set parea 1 10.2 1.5 8'
'set xlopts 1 4 0.18'
'set ylopts 1 4 0.18'
'set font 0'

'set x 14 16'
'set xaxis 'lon1' 'lon2
'set clab on'

'set gxout shaded'
'set csmooth on'
'set clab off'
'set clevs 0'
'set ccols 0 1 0'
'd coll2gr(2,-u)'

'set gxout contour'
*'set cint 5'
'set clab forced'
'set cthick 11'
'd coll2gr(1,-u)'


'print'
'draw title omega along (55N,95W) to (15N,90W)'
'printim d:\ffnnll\section.gmf'
做出来的图问题有点大啊 就是要做运算的话这个改如何编gs







密码修改失败请联系微信:mofangbao
发表于 2014-10-21 21:19:26 | 显示全部楼层
很厉害!赞一个!
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-10-21 21:21:50 | 显示全部楼层
不骗你哦 发表于 2014-10-21 20:59
lz能帮我看看么 。。我用的fnl1*1的资料,想做假相当位温
gs如下
'reinit'

先做运算,这个还用想啊。你要插值到一个斜剖面上,首先正常的点上得有假相当位温的值
密码修改失败请联系微信:mofangbao
发表于 2014-10-23 16:09:46 | 显示全部楼层
river 发表于 2014-10-21 21:21
先做运算,这个还用想啊。你要插值到一个斜剖面上,首先正常的点上得有假相当位温的值

嗯 我已经解决了 先算好在坐 为什么同样的方法咋涡度和散度上就行不通了呢?
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-10-23 16:59:16 | 显示全部楼层
不骗你哦 发表于 2014-10-23 16:09
嗯 我已经解决了 先算好在坐 为什么同样的方法咋涡度和散度上就行不通了呢?

思路是一样的,行不通说明还是有你没注意到的问题
密码修改失败请联系微信:mofangbao
发表于 2014-10-23 17:21:00 | 显示全部楼层
我知道问题所在就是 hdivg和hcurl两个函数的算法特殊性 涉及边界的运算 所以画图周边会有一片空白边框 我先用grads将他们提出来 再按照直线插值 我运行它就说我数据超出了限制
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-10-23 21:26:38 | 显示全部楼层
不骗你哦 发表于 2014-10-23 17:21
我知道问题所在就是 hdivg和hcurl两个函数的算法特殊性 涉及边界的运算 所以画图周边会有一片空白边框 我先 ...

有白框不是很正常吗,计算的时候利用了前后差 中央差,再怎么也不能把边界都插出来。你要的范围是你数据的范围吗,一般大家都只是需要其中的一个范围,那避免白框不是很容易吗
密码修改失败请联系微信:mofangbao
发表于 2014-10-23 22:05:37 | 显示全部楼层
river 发表于 2014-10-13 15:00
这个就要去仔细看grads的官方文档了,里面很多有用的函数。其实GrADS可以完成大部分fortran可以完成的计 ...

Thank you very much!!!
密码修改失败请联系微信:mofangbao
发表于 2014-10-24 10:15:23 | 显示全部楼层
感谢分享!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

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

本版积分规则

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

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

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