李旭分享 http://blog.sciencenet.cn/u/lixujeremy 代码与散打爱好者!

博文

Fortran: Data file Format Guide for ANUSPLIN

已有 4397 次阅读 2015-9-18 21:49 |个人分类:Fortran|系统分类:科研笔记|关键词:学者| Data, Format

Summary

开贴记录ANUSPLIN输入文件的Fortran数据格式定义规范。输入数据格式非常重要,它直接决定着ANUSPLIN模块是否运行及录入数据是否正确,有时出现错误RDATA - INPUT DATA FILE ERROR,或由于存储及读入格式匹配不当而引发SPLINA - TOO FEW DATA POINTS错误。这里有必要格外强调一下Fortran数据输出及输入之格式定义。

Example

这里以Temp示例中第一条命令要求的数据文件tmaxa.dat为例说明格式匹配问题。

命令文件tmaxa.cmd中指定tmaxa.dat(a20,2f10.3,f8.1/12f7.1)格式读入,那么tmaxa.dat就必须以上述格式写入.dat文件,观察tmaxa.dat文件如Fig. 1所示:

Fig. 1

先解析a20,2f10.3,f8.1/12f7.1的意义(参考ANUSPLIN Format Specification),20位字符、210位数字(小数点后3位)、8位数字(小数点后1位)、换行(/127位数字(小数点后1位)。返回来看Fig. 1,任何一条站点的第一行必定是20+2*10+8=48占位,任何一条站点第二行也必定是12*7=84占位,例如第11行,站点Label长度只有9位,其他11位以空格代之(空格是有意义的),随后紧跟着145.550(总共7位),其他3位以空格代之,Fortran在这一行先以前20位认为是字符,往后10位是数值,再后还是10位数值,再再后是8位数值,空格、小数点、负号都有占位意义。

所以我们明白第二行在Fortran看来是7位一个数字,按照这样的数据文件与.cmd文件格式声明才能让Fortran语言编写的ANUSPLIN正确读入数据。

Test

按照前文描述的数据文件与命令文件格式声明的匹配事项,编辑tempY1991.dattempY1991.cmd文件测试,测试结果运行良好,ANUSPLIN正确读入数据并完成相关配置要求。

SOLUTION.rar



https://m.sciencenet.cn/blog-1148346-921759.html

上一篇:Matlab:Gaussian Model
下一篇:Matlab: Association between NDVI and SPEI/SPI

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-16 04:06

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部