- 积分
- 9444
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-11-18
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 冬日的阳光 于 2017-5-13 13:52 编辑
NOAA海温重建资料sst.mon.anom.nc全球海温距平场EOF分解步骤:
毕业季到了,做毕业论文,很多师弟师妹也许会很烦恼,如何使用Fortran,如何读数据,如何grads画图等等。总之就是一句话,问题还问多,烦恼也不少。针对大家的问题,我总结了两个见得问题:
首先,nc数据怎么处理成grads可与读的格式,详情请见之前发的帖子:NOAA全球sst海温资料.nc格式转化.grd或.txt步骤,链接如下:http://bbs.06climate.com/forum.php?mod=viewthread&tid=22075
其次,还有人会用到EOF这个经典的统计方法。下面的内容就是介绍一下,如何使用NOAA海温重建资料sst.mon.anom.nc全球海温距平场EOF分。详细请见下文,并且附有附件,直接拷贝到电脑上,按照以下步骤运行就行了。
最后,祝各位师弟师妹毕业顺利!
温馨提示:纯属是新手帖,高手的话就不需要啦。
by@冬日的阳光
2017.5.13
EOF步骤如下:
1、!!!!注意:直接将eof_sst_lijianping文件放在c:盘根目录下就可以了
2、在grads程序下 run gs文件夹中的read_sst_nc1.gs/read_sst_nc2.gs/read_sst_nc12.gs
run 完之后会在data文件夹下分别生成12、1、2月份的sst1/sst2/sst12.grd格式的海温月距平资料,
提示:如果不确定数据是否正确,可以结合ctl文件夹中的sst1/sst2/sst12.ctl描述文件作出海温图检查数据是否正确;
注意:.gs文件中的命令路径需要根据实际的sst.mon.anom.nc路径去匹配,fwrite命令的输出的路径也需要根据实际情况匹配。
3、然后将data文件夹下的sst1/sst2/sst12.grd 数据拷贝到read_sst文件夹下,并在当前目录下编译执行read.f90程序,
程序编译执行过程会自动生成冬季((12+1+2)/3)平均海温距平资料,在程序执行过程中会自动剔除缺测值-9.9900000E+08;
然后生成一个已经剔除缺测值test.txt文件;因为,eof源程序不懂得如何剔除缺测值。
4、将test.txt文件拷贝到eof_sst文件夹下,在当前目录下eof.f90程序,整个EOF分解过程完成,
并且在当前目录下生成一个ecof.grd各个模态的时间系数文件(注意:数据储存方式跟ecof.txt一致),
该grd时间系数文件可以直接通过time.ctl文件作图;
5、将eof分解之后各个空间模态的特征值egvt.txt文件复制到sst_model_chazhi文件夹下(重新将温度缺测值插值回去画图);
同时,将read_sst文件夹中的sst.grd拷贝到sst_model_chazhi;
在sst_model_chazhi当前目录下,编译执行 sst_model_chazhi.f90程序 EOF空间模态值就会自动插值到一个新的文件,
新的文件就是包含缺测值而且是.grd格式的文件,sst_model.grd格式的文件必须编写相应的sst_model.ctl描述文件;
完成以上步骤之后,恭喜你!可以看看你的成果——grads作出eof分解的空间模态图了(一共包含了62个模态)。
来自群组: 广东海洋大学大气科学 |
|