爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3700|回复: 4

[分享资料] 将1982-2006年中国160站各站夏季降水线性倾向率,给出分布图

[复制链接]

新浪微博达人勋

发表于 2022-11-29 20:15:35 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 WesleyMoob 于 2022-11-29 22:35 编辑

利用数据160zhan-rainfall-summer.txt,求出1982-2006年中国160站各站夏季降水线性倾向率,并给出分布图。
一、首先通过fortran进行编程计算降水线性倾向率
1)
program main
    implicit none
        integer,parameter ::m=160,n=25
    character(len=8)sta(m)
    integer nflag,nlev
        real jd(m),wd(m),jsdata(m,n),b(m),yr(n),avejs(m)
    real aveyr,sxy,sx2,tim
    integer i,j
    yr=(/1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,&
    1998,1999,2000,2001,2002,2003,2004,2005,2006/)
    open(10,file='/Users/99/Desktop/160zhan-rainfall-summer.txt')
        read(10,*)
         do i=1,m
        read(10,*)sta(i),wd(i),jd(i),(jsdata(i,j),j=1,n)
    end do
    do i=1,m
        call getb(yr,jsdata(i,:),n,sxy,sx2)
        b(i)=sxy/sx2
    end do
    close(10)
    open(20,file='/Users/wesleymoob/Desktop/xxqxl.txt')
    write(20,*)b
    close(20)
    open(30,file="/Users/99/Desktop/xxqxl.grd",form='unformatted',access='stream')
    tim=0.0
    nflag=1
    nlev=1
    do i=1,m
        write(30)sta(i),wd(i),jd(i),tim,nlev,nflag,b(i)
    end do
    nlev=0
    write(30)sta(m-1),wd(m-1),jd(m-1),tim,nlev,nflag
    close(30)
end program main
subroutine getb(x,y,N,s,x2)
    implicit none      
    integer N
    real x(N),y(N)
    real ano1(N),ano2(N)
    real ave1,ave2
    real s,x2,s1,s2
    ave1=sum(x(:))/real(N)
    ave2=sum(y(:))/real(N)
    ano1=x-ave1
    ano2=y-ave2
    x2=sum(ano1(:)**2)/real(N)
    s1=sqrt(sum(ano1(:)**2)/real(N))
    s2=sqrt(sum(ano2(:)**2)/real(N))
    s=sum(ano1(:)*ano2(:))/real(N)
    return
endsubroutine getb

2)用grads画图

截屏2022-11-29 20.07.53.png
二、此时进行得到160个站的夏季降水线性倾向率的站点资料,现需要对其进行插值,得到格点资料。
1)先建立一个所需范围的格点场并赋值为1.0(满足自己要求的范围和精度)
rogram gen_grid
    implicit none
    integer,parameter::x=121,y=81
    integer i,j
    real grid
    grid=1.0
    open(10,file="/Users/99/Desktop/grid.grd",form='unformatted',access='stream')
    do i=1,y
        do j=1,x
            write(10)grid
        end do
    end do
    close(10)
end program gen_grid

2)在grads中利用‘oacres(grid,b.2)‘ 进行插值,并画图
截屏2022-11-29 20.12.51.png



xxqxl.ctl

757 Bytes, 下载次数: 6, 下载积分: 金钱 -5

仅画站点图的ctl

xxqxl.gs

280 Bytes, 下载次数: 4, 下载积分: 金钱 -5

仅画站点图的gs

QT6.ctl

198 Bytes, 下载次数: 5, 下载积分: 金钱 -5

画格点图的ctl

QT6.gs

442 Bytes, 下载次数: 5, 下载积分: 金钱 -5

画格点图的gs

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

新浪微博达人勋

发表于 2022-11-29 21:19:45 | 显示全部楼层
大学的回忆,支持一下!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-11-29 22:25:59 | 显示全部楼层
river 发表于 2022-11-29 21:19
大学的回忆,支持一下!

{:eb511:}{:eb511:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-12-20 22:05:30 | 显示全部楼层
不是正确地图噢,藏南 阿克赛钦这些边界不正确,可以找一下中国标准地图文件,论坛里应该有
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-12-22 16:24:43 | 显示全部楼层
好的,谢谢指正
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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