- 积分
- 107
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-20
- 最后登录
- 1970-1-1
|
发表于 2017-7-19 22:43:25
|
显示全部楼层
本帖最后由 lu'an 于 2017-7-19 22:54 编辑
因有人提起,下载测试了一下。https://bitbucket.org/climdex/fortran
Last updated 2014-09-12 版本。
遇到了下面几个状况:
1:utility.f90:36.132,单行代码长度>132字符,
gfortran 加编译选项-ffree-line-length-n(n=200)解决。
2:utility.f90:301.27等4处:
if(a>=1.e7) write(*,'(f,a,a)'),a,'中f未带宽度数字。
用g0代替。
同样QC.f90:182.22:等三处:
write(*,'(2(a,i))'),'MISSING days:中i未带宽度数字。
用i0代替。
解决
3:HeatWave.f90:320.49
integer :: n,n0,i,j,k,ii,m,m0.m1,yr, ID
m0.m1中间的点,因为按键失误,改为m0,m1解决
4:EHI_sp,SmByear等多个变量未定义类型(has no IMPLICIT type)。
5:call percentile(data0, cnt, 1, 0.95, T95),call threshold(tdata,0.90,1,ttmp,k)
Warning: Rank mismatch in argument 'per' at (1) (rank-1 and scalar)参数维度不匹配(需要仔细核对计算细节,有计算错误风险,当然有时只是为了更好利用循环,采用了这种捷径,并未有问题)。
4-5问题均出现在HeatWave,且较多,暂时没时间看,直接取消热浪HeatWave的相关计算。
main.f90:100,注释掉if(cal_EHI) call HeatWave ! EHIa, EHIs, EHF
all.f90:20,注释掉include 'HeatWave.f90'解决
(input.nml:20中cal_EHI=T, ! use T (F) to (not) calculate EHI),T改F)
6:RX5day.f90:86,call save_time(45,date),此子例行程序并未有定义。暂时注释掉,能出结果,未细看是否有影响。
7:配置参数文件:input.nml,para_temp.txt和infilename_Temp.txt。
修改了input.nml里面系统OS为windows,datadir为data_dir='../Testdata/'。
最后编译连接运行。
d:\a.png
Note: The following floating-point exceptions are signalling: IEEE_DENORMAL
一处提醒。
结果文件夹CDD下有:
06150689_CDD.txt,内容:
Year CDD
1906 19.0
1907 18.0
1908 24.0
1909 22.0
1910 19.0
1911 34.0
1912 19.0
1913 18.0
1914 16.0
1915 14.0
。。。
。。。
1995 27.0
1996 30.0
1997 20.0
1998 16.0
1999 20.0
先mark,后面有时间再看。
指数介绍:http://www.climdex.org/indices.html
老版本:http://etccdi.pacificclimate.org/RClimDex/fclimdex.f(last modified 2008-05-06)
|
-
-
climdex.zip
533.75 KB, 下载次数: 14, 下载积分: 金钱 -5
修正后的程序文件及实例数据
|