爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: zmok

请问水汽通量散度应该怎么求呢

[复制链接]

新浪微博达人勋

发表于 2013-3-29 09:39:21 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-29 11:56:05 | 显示全部楼层
zmok 发表于 2013-3-28 21:59
q是相对湿度还是比湿呢?求出qu和qv后再怎么用啊,是直接相加吗?谢谢

当然是比湿了,计算出来之后要得到水汽通量和水汽通量散度的话,不是有公式吗,把公式里的值都计算出来,带进去就行了。你是用什么计算,fortran还是grads?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-3-31 10:10:37 | 显示全部楼层
river 发表于 2013-3-29 11:56
当然是比湿了,计算出来之后要得到水汽通量和水汽通量散度的话,不是有公式吗,把公式里的值都计算出来, ...

我正在用C++写,但不知道如何实现那个公式,您有相关的建议吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-31 13:06:45 | 显示全部楼层
zmok 发表于 2013-3-31 10:10
我正在用C++写,但不知道如何实现那个公式,您有相关的建议吗?

C++自从学完考完试之后就没再用过了,我都是用fortran的,C++和fortran应该还是有相似之处吧。我有fortran的公式,发上来你看一下吧。
计算比湿
!======== t,td => specific humidity:
DO IT=1,NT
DO IZ=1,NZ
   do ix=1,NX
   do iy=1,NY
      if(temper(ix,iy,iz,it).ge.-15)then
      AA=17.2693882
          BB=35.86
          elseif(temper(ix,iy,iz,it).le.-40)then
          AA=21.8745584
          BB=7.66
          else                            !!!! ?????????????????????????????????????
          AA=21.8745584+(17.2693882-21.8745584)/(-15-(-40.))*(temper(ix,iy,iz,it)-(-40))
          BB=7.66+(35.86-7.66)/(-15-(-40.))*(temper(ix,iy,iz,it)-(-40))
          endif

          EE=6.1078*exp( AA*(temper(ix,iy,iz,it)-ttd(ix,iy,iz,it))/(273.16+(temper(ix,iy,iz,it) &
             -ttd(ix,iy,iz,it))-BB) )
      q(ix,iy,iz,it)=622.*EE/(P(iz)-0.378*EE)
   enddo
   enddo
ENDDO
ENDDO

!=====t => T:
temper=temper+273.16


计算水汽通量和水汽通量散度
!###############   vapor flux &  vapor flux divergence      ##################
adq =1.e+36
adqv=1.e+36
qu=1.e+36
qv=1.e+36

DO IT=1,nt
DO IZ=1,nz

DO i=1+1,NX-1
DO j=1+1,NY-1
         qv(i,j,iz,it)=q(i,j,iz,it)*v(i,j,iz,it)/9.8
     qu(i,j,iz,it)=q(i,j,iz,it)*u(i,j,iz,it)/9.8
         adq(i,j,iz,it)=u(i,j,iz,it)*((q(i+1,j,iz,it)-q(i-1,j,iz,it))/(2*R*cos(lat(j))*Delta*pi/180)) +   &
                        v(i,j,iz,it)*((q(i,j+1,iz,it)-q(i,j-1,iz,it))/(2*R*Delta*pi/180))
         adqv(i,j,iz,it)=(q(i,j,iz,it)*div(i,j,iz,it)+adq(i,j,iz,it))*1e5/9.8
ENDDO
ENDDO

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

新浪微博达人勋

发表于 2013-3-31 14:06:03 | 显示全部楼层
先翻书确定公式,找到数据能直接给出的和需要经过计算的物理量,把每一个物理量的表达式都写出来,直到公式里所有量都能用资料和常系数表达。然后画出流程图编程。如果觉得编程不是很熟练,可以先去看一个较为复杂的范例程序,打印出来十几页的那种。一行一行的啃下来。虽然费时间,但是对今后编程很有帮助
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-3-31 17:12:59 | 显示全部楼层
river 发表于 2013-3-31 13:06
C++自从学完考完试之后就没再用过了,我都是用fortran的,C++和fortran应该还是有相似之处吧。我有fortra ...

非常感谢。。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-7 18:43:36 | 显示全部楼层
adq =1.e+36
adqv=1.e+36
qu=1.e+36
qv=1.e+36

为什么要先这么设呢?
还有Delta是指什么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-12 22:49:42 | 显示全部楼层
同求啊,不知道哪位大神能给提供计算水平辐散的公式,hdivg实在不明白是什么意思
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-3 22:06:12 | 显示全部楼层
river 发表于 2013-3-31 13:06
C++自从学完考完试之后就没再用过了,我都是用fortran的,C++和fortran应该还是有相似之处吧。我有fortra ...

river大神  能不能给出你完整的计算水汽通量散度的fortran程序啊?我现在用grads的hdivg计算出来的感觉与实况不符合啊   现在想用fortran计算一下看看   十分感谢了  主要是不知道你这段程序里面delta的意思   如果是垂直速度的话  fnl里面没有   不知道该怎么弄啊   求帮助一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-3 22:13:54 | 显示全部楼层
yuejun0026 发表于 2013-12-3 22:06
river大神  能不能给出你完整的计算水汽通量散度的fortran程序啊?我现在用grads的hdivg计算出来的感觉与 ...

去看我的另一个帖子,发在fortran板块的,下载一下那个程序就行了。点我去看
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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