爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4910|回复: 8

[求助] 怎么编写计算逆温层厚度的程序?

[复制链接]

新浪微博达人勋

发表于 2018-7-29 09:20:25 | 显示全部楼层 |阅读模式

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

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

x
program main mie
implicit none
integer,parameter::x=85,y=69,z=37,t=124
real tem(x,y,z,t),inv(x,y,t),inve(x,y,t),geo(x,y,z,t),inver(x,y,t)
open(1,file='d:/dachuang/datas/2018.01.grd/erapressurelevel2018.01.t.grd',form='binary')
  do it=1,t
    do iz=1,z
        read(1)((tem(i,j,iz,it),i=1,x),j=1,y)
    enddo
  enddo
close(1)
open(2,file='d:/dachuang/datas/2018.01.grd/erapressurelevel2018.01.z.grd',form='binary')
  do it=1,t
    do iz=1,z
        read(2)((geo(i,j,iz,it),i=1,x),j=1,y)
    enddo
  enddo
close(2)
do j=1,y
    do i=1,x
        do it=1,t
            do iz=1,z-1
                izz=iz+1
                if(tem(i,j,iz,it)<tem(i,j,izz,it))
                do k=izz,37
                    if(tem(i,j,k,it)>=tem(i,j,k+1,it))
                    break
                    endif
                enddo
            break
            enddo
            inv(i,j,it)=tem(i,j,izz,it)-tem(i,j,iz,it)
            inve(i,j,it)=geo(i,j,izz,it)-geo(i,j,iz,it)
            inver(i,j,it)=tem(i,j,iz,it)
        enddo
    enddo
enddo
open(3,file='d:/dachuang/datas/inv.grd',form='binary')
open(4,file='d:/dachuang/datas/inve.grd',form='binary')
open(5,file='d:/dachuang/datas/inver.grd',form='binary')
do it=1,t
    write(3)((inv(i,j,it),i=1,x),j=1,y)
    write(4)((inve(i,j,it),i=1,x),j=i,y)
    write(5)((inver(i,j,it),i=1,x),j=i,y)
enddo
close(3)
close(4)
close(5)
end
我的思路就是利用逆温层上层温度大于下层温度,判断出来哪一层开始产生逆温,然后在这个基础上再找出开始出现上层温度小于下层温度的层次,这时候就是逆温层的顶,然后写了判断,但是出不来grd数据,有没有大神帮忙看依稀




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

新浪微博达人勋

发表于 2018-7-29 09:39:20 | 显示全部楼层
do j=1,y
    do i=1,x
        do it=1,t
            do iz=1,z-1
                izz=iz+1
                if(tem(i,j,iz,it)<tem(i,j,izz,it))
                do k=izz,37
                    if(tem(i,j,k,it)>=tem(i,j,k+1,it))
                    inv(i,j,it)=tem(i,j,k,it)-tem(i,j,iz,it)
                    inve(i,j,it)=geo(i,j,k,it)-geo(i,j,iz,it)
                    inver(i,j,it)=tem(i,j,iz,it)
                    endif
                enddo                endif
            enddo
        enddo
    enddo
enddo
循环这边修改成这样试一试。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-8-20 08:44:59 | 显示全部楼层
gwk 发表于 2018-7-29 09:39
do j=1,y
    do i=1,x
        do it=1,t

我后面把break改成了exit就有用了,我把语法串了
十分感谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-6 14:41:05 | 显示全部楼层
你好  请问你的资料是用的什么资料?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-3-6 20:50:40 | 显示全部楼层
wjkhaida 发表于 2019-3-6 14:41
你好  请问你的资料是用的什么资料?

EC的数据 0.75*0.75
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-7 09:29:36 | 显示全部楼层

谢谢  您能说的具体一点吗?  EC的哪个数据?就是哪个数据集里面有这个垂直温度的数据?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-31 19:51:44 | 显示全部楼层
您好啊,想问您几个问题
1.您用的具体是EC的哪个数据呢
2.程序运行后,怎么看厚度呢,以及和经度纬度的关系
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-4-5 08:42:27 | 显示全部楼层
wjkhaida 发表于 2019-3-7 09:29
谢谢  您能说的具体一点吗?  EC的哪个数据?就是哪个数据集里面有这个垂直温度的数据?

EC-interim
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-4-5 08:44:49 | 显示全部楼层
咯叽咯叽 发表于 2019-3-31 19:51
您好啊,想问您几个问题
1.您用的具体是EC的哪个数据呢
2.程序运行后,怎么看厚度呢,以及和经度纬度的关 ...

1.EC-interim  
2.逆温层厚度是指位势高度场的厚度以及逆温层上下两层的温度差  
   逆温层厚度是一个数组 和经纬度的关系根据格点数就可以算出来了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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