爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12054|回复: 23

[源代码] EOF程序

[复制链接]
发表于 2016-5-14 11:19:23 | 显示全部楼层 |阅读模式

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

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

x
上传一个EOF程序,亲测有结果,但本人学识有限,姑且认为分解出来的结果是正确的。

好了,先上传一个程序,不过该程序段不完整,需要补充一点内容,我会把自己修改的部分以及一些相关数据传上供大家测试!!!


都说帮别人就是帮自己,所以希望能帮到各位啦~~


言归正传,上程序
!-----------------处理数据补充上这一部分----------------
do it=1,61
        do j=1,21
        do i=1,41                                     !!!!注意!!!!!资料从南到北、自西向东排列(一般先东经后西经?)
      h(i,j,it)=hh(i+16,j+44,1,it)              !i+16表示取的区域在原来的资料中起始点的号数;j+44同理,从南到北
        enddo;enddo;enddo                     !例如i=1时,在原来资料中为第17个格点
        do it=1,61
        do j=1,21
        do i=1,41
      f(21*(i-1)+j,it)=h(i,j,it)
        enddo;enddo;enddo



!!!!!!资料为hgt500.grd!!!!
资料说明:NCEP/NCAR 1948-2008年(61年)的500百帕月平均高度场资料
资料范围为(90S-90N,0-360E)
网格距为2.50×2.50,纬向格点数为144,经向格点数为73
资料为GRD格式,资料从南到北、自西向东排列,每月为一个记录,按年逐月排放。  


!!!!!写的有点乱了,我整理一下我的思路


1、下程序
2、在程序空缺部分补上上面发的程序段
3、下数据hgt500.grd
4、说明一下,程序+hgt500.grd是可用的




-------------------------------------下面是我利用该程序做的修改,也出结果了,但可能由于是对原始场EOF分解了,方差贡献有点大--------------------
dimension hh(80,50,20),h(40,50,20)             --------------------修改数组!!!
资料为china_tas_obs_historical.grd

修改部分的程序

!--------------------read data-------------------------------

    do it=1,20
        do j=1,50
        do i=1,80
        read(10)hh(i,j,it)
        enddo;enddo;enddo
    write(*,*)'read data ok'


!--------------deal with data(h到f的转换)--------------------

   do it=1,20
    do j=1,50
         do i=1,40               !!!对x为80格点,y为50格点的区域进行EOF分析则不需要这部分!!!
   h(i,j,it)=hh(i+40,j,it)
   enddo;enddo;enddo


    do it=1,20
        do j=1,50
        do i=1,40
    f(50*(i-1)+j,it)=h(i,j,it)
        enddo;enddo;enddo



说明一下,grd是nc转来的,经纬度范围是60.5E-139.5E,10.5N-59.5N  网格分辨率1*1
对区域100.5E-139.5E,10.5N-59.5N 进行EOF分解


写的不对或不足的地方还望各位指正!!!!



eof.PNG

eof.rar

12.04 MB, 下载次数: 129, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
发表于 2016-5-14 12:32:43 | 显示全部楼层
学习了学习了
密码修改失败请联系微信:mofangbao
发表于 2016-5-14 13:49:29 | 显示全部楼层
是用fortran写的啊。点个赞
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-5-14 15:02:21 | 显示全部楼层
额(⊙o⊙)…。。糟糕。。。忘了说明这不是自己编的程序,,,,是自己用的一个能run出结果的程序。。。
密码修改失败请联系微信:mofangbao
发表于 2016-5-14 17:04:06 | 显示全部楼层
程序已经不会写了都
密码修改失败请联系微信:mofangbao
发表于 2016-5-14 20:25:51 | 显示全部楼层
正在学习,多谢分享。。。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-5-14 22:59:19 | 显示全部楼层
对提取的grd做了标准化处理,设置ks=0以后,总平方误差为151.01172


总平方误差是不是太小了呀?但是出来的方差贡献什么的看着挺合理的,,


想问问各位大神,这个总平方误差有什么作用呀?它的数值大小是多少算正常呢?
密码修改失败请联系微信:mofangbao
发表于 2016-5-16 15:13:42 | 显示全部楼层
挺好的,上课没听懂,来这里补习下
密码修改失败请联系微信:mofangbao
发表于 2016-5-17 17:44:21 | 显示全部楼层
是不是所有的EOF 程序全部一样的啊?
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-5-17 23:23:57 | 显示全部楼层
只能说大体上一样吧,有些细节会因为不同的问题有所差别。。。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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