爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6416|回复: 13

[求助] MK检验fortran程序求助

[复制链接]
发表于 2013-8-22 16:49:59 | 显示全部楼层 |阅读模式

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

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

x
C        THIS IS A PROGRAM FOR DETECTING ABRUPT CLIMATIC CHANGE
C        BY USING MANN-KENDALL TECHNIQUE
        PROGRAM MK
        DIMENSION Y(20000),YY(20000),U(20000),UF(20000),UB(20000),
     &        M(20000),MD(20000)
        WRITE(*,10)
  10        FORMAT(2X,'N=91,NYEAR=1900')
        READ(*,*)N,NYEAR
C        ***************************************************
C        * N:     SAMPLE SIZE                              *
C        * NYEAR: FIRST YEAR OF THE TIME SERIES            *
C        * Y(N):  ORIGINAL TIME SERIES                     *
C        * UF(N): ORIGINAL SERIES OF U(LN)                 *
C        * UB(N): COUNTER SERIES OF U(LN)                  *
C        * A,B:   CRITICAL VALUE 1.96 AND -1.96            *
C        ***************************************************          
        OPEN(2,FILE='1.txt')
        READ(2,*)(Y(I),I=1,N)
        CALL SMK(Y,M,MD,UF,N)
        DO 20 I=1,N
  20        YY(I)=Y(N+1-I)
        CALL SMK(YY,M,MD,U,N)
        DO 30 I=1,N
  30        UB(I)=-U(N+1-I)
        OPEN(3,FILE='mk.txt',STATUS='NEW')
        A=1.96
        B=-1.96
        DO 40 I=1,N
        WRITE(3,50)NYEAR+I-1,UF(I),UB(I),A,B
  50        FORMAT(1X,I4,4F8.2)
  40        CONTINUE
        CLOSE(3)
        STOP
        END
C***********************************************************
        SUBROUTINE SMK(Y,M,MD,U,N)
        DIMENSION Y(N),M(N),MD(N),U(N)
        M(1)=0
        DO 10 I=2,N
        M(I)=0
        MD(I)=0
        DO 20 J=1,I-1
        IF(Y(I).LT.Y(J))GOTO 20
        M(I)=M(I)+1
  20        CONTINUE
        MD(I)=MD(I-1)+M(I)
  10        CONTINUE
        U(1)=0.0
        DO 30 I=2,N
        E=I*(I-1)/4.00
        VAR=I*(I-1)*(2*I+5)/72.00
        U(I)=(MD(I)-E)/SQRT(VAR)
  30        CONTINUE
        RETURN
        END


以上是我使用的fortran程序,运行时出现如下提示:
run-time error M6201: MATH
- sqrt: DOMAIN error
Image              PC        Routine            Line        Source
MKT.exe            0040C099  Unknown               Unknown  Unknown

Incrementally linked image--PC correlation disabled.

请问是什么原因? 是不是我的输太多了,有17349个。。。求大神解答啊!!

密码修改失败请联系微信:mofangbao
 楼主| 发表于 2013-8-22 16:51:25 | 显示全部楼层
@言深深。。。。。
密码修改失败请联系微信:mofangbao
发表于 2013-8-22 17:25:37 | 显示全部楼层
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2013-8-22 17:31:49 | 显示全部楼层
lqouc 发表于 2013-8-22 17:25
你没发现你@ 失败了么。。。。
提示已经很明白了,子程序的开方出错了,自己检查一下吧。

但是这个程序之前一直好用啊。。。为什么突然就不好用了
密码修改失败请联系微信:mofangbao
发表于 2013-8-22 17:38:09 | 显示全部楼层
那原因有很多的,不过确实一般mk检验不会有那么大的数组。
气候倾向和突变检验一般时间步长是年,数据最长的也就几百年,你这个算出来了都没法画图。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2013-8-22 17:46:05 | 显示全部楼层
lqouc 发表于 2013-8-22 17:38
那原因有很多的,不过确实一般mk检验不会有那么大的数组。
气候倾向和突变检验一般时间步长是年,数据最长 ...

嗯嗯嗯,我也不知道该怎么办了
密码修改失败请联系微信:mofangbao
发表于 2014-3-21 17:39:57 | 显示全部楼层
好原始的语法
密码修改失败请联系微信:mofangbao
发表于 2016-5-18 14:41:15 | 显示全部楼层
学习啦,谢谢{:5_213:}{:5_213:}
密码修改失败请联系微信:mofangbao
发表于 2016-5-19 18:23:07 | 显示全部楼层
对我有重要参考意义,thank you
密码修改失败请联系微信:mofangbao
发表于 2016-7-14 12:12:15 | 显示全部楼层
{:eb502:}{:eb502:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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