爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2850|回复: 4

[求助] 关于Fortran内置时间函数调用的疑问

[复制链接]

新浪微博达人勋

发表于 2016-1-30 00:20:54 | 显示全部楼层 |阅读模式

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

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

x
Linux系统里面使用gfotran编译程序时,出现如下错误:对“clocks_”未定义的引用。请问这是内置函数在子程序里面未有命名,才导致的错误吗?还是因为其他原因造成,望有高人指点~!(ps:附件是子程序块源代码)
360桌面截图20160130001023.jpg

ysun.F

5.16 KB, 下载次数: 0, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-30 00:22:12 | 显示全部楼层
* PACKAGE YSUN   !!   machine dependent routine for Sun Fortran
*
*   [HIS] 95/03/15(numaguti) AGCM5.4.01
*         93/12/25(numaguti) AGCM5.3
*
*********************************************************************
      SUBROUTINE FOPEN     !! open file
     O         ( IOS   ,
     I           IFILE , HFILE , HACT  , HFORM  , HACCSS )
*
*   [OUTPUT]
      INTEGER    IOS
*   [INPUT]
      INTEGER    IFILE
      CHARACTER  HFILE  *(*)
      CHARACTER  HACT   *(*)
      CHARACTER  HFORM  *(*)
      CHARACTER  HACCSS *(*)
*      
#ifdef CODE_ENDIAN
      INTEGER    IERR, XFOPN, XFADD
*
      IF ( HFORM .EQ. 'UNFORMATTED' ) THEN
         IF ( HACT .EQ. 'APPEND' ) THEN
            IERR=XFOPN(IFILE,HFILE,2)
         ELSE IF ( HACT .EQ. 'WRITE' ) THEN
            IERR=XFOPN(IFILE,HFILE,1)
         ELSE
            IERR=XFOPN(IFILE,HFILE,0)
         ENDIF
      ELSE
         IERR=XFADD(IFILE,HFILE)
#endif
         IF ( HACT .EQ. 'APPEND' ) THEN
            OPEN ( UNIT=IFILE , FILE=HFILE, IOSTAT=IOS,
     &             FORM=HFORM,
     &             ACCESS='APPEND'                       )
         ELSE
            OPEN ( UNIT=IFILE , FILE=HFILE, IOSTAT=IOS,
     &             FORM=HFORM,
     &             ACCESS=HACCSS                         )
         ENDIF
#ifdef CODE_ENDIAN
      ENDIF
#endif
*
      RETURN
      END
*********************************************************************
      SUBROUTINE FREWND     !! rewind file
     I         ( IFILE )
*   [INPUT]
      INTEGER    IFILE
*   [INTERNAL WORK]
      INTEGER    IRET, XFREW
*
      IRET=XFREW( IFILE )
      IF ( IRET .EQ. 1 ) THEN
         REWIND( IFILE )
      ENDIF
*
      RETURN
      END
*********************************************************************
      SUBROUTINE ERRTRA    !! error traceback
*
*   [INTERNAL WORK]
      INTEGER    IPID, IRET
*
*   [INTRINSIC FUNC]
      INTEGER    GETPID
      INTEGER    KILL
*      
      IPID=GETPID()
      IRET=KILL(IPID,5)
*
      RETURN
      END
*********************************************************************
      SUBROUTINE YCLOCP    !! output of CPU time
     I         ( HREM   )
*
*   [INPUT]
      CHARACTER  HREM*(*)                    !! title
*
*   [INTERNAL WORK]
      REAL*8     CPUTIM                      !! time passage
      REAL*8     VPUTIM                      !! user time
*
*   [INTERNAL SAVE]  
      REAL*8     CPUOLD                      !! time from last call
      REAL*8     VPUOLD                      !! user time at last call
      SAVE
      DATA       CPUOLD, VPUOLD / 0.  , 0.   /
*
      CALL YCLOCK( CPUTIM, VPUTIM )
      WRITE ( 6,9000 ) HREM, CPUTIM - CPUOLD, VPUTIM - VPUOLD,
     &                       CPUTIM         , VPUTIM
9000 FORMAT( ' ',A8,': CPU/VPU TIME = ', 2E10.5, ' : ', 2E10.5 )
      CPUOLD = CPUTIM
      VPUOLD = VPUTIM
*
      RETURN
      END
********************************************************************
      SUBROUTINE YCLOCK    !! get CPU time
     O         ( CPUTIM, VPUTIM )
*
*   [OUTPUT]
      REAL*8     CPUTIM                      !! time passage
      REAL*8     VPUTIM                      !! user time
*
*   [INTERNAL SAVE]
      REAL*8     TICKS
      REAL*8     CLOCKS

      REAL*8     TICK0, TUSR0                !! start
      SAVE
      DATA       TICK0, TUSR0 / 0.  , 0.    /
*
      TICKS  = CLOCKS()
      CPUTIM = TICKS - TICK0
      VPUTIM = 0.
*
      RETURN
*======================================================================
      ENTRY      YCLOCL    !! clear CPU time
*
      TICK0 = CLOCKS()
*
      RETURN
      END
***********************************************************************
      SUBROUTINE REWNML    !! rewind NAMELIST-input file
     O         ( IFILE, JFILE )
*
*   [OUTPUT]
      INTEGER    IFILE
      INTEGER    JFILE
*
*   [INTERNAL SAVE]
      INTEGER    IFILEZ, JFILEZ
      SAVE
      DATA       IFILEZ / 5 /
      DATA       JFILEZ / 6 /
*
      REWIND ( IFILEZ, ERR = 1999 )
      IFILE = IFILEZ
      JFILE = JFILEZ
      RETURN
*
1999 IF ( IFILEZ .EQ. 5 ) THEN
         WRITE (6,*) ' ### REWNML: UNIT 5 MAY BE A STANDARD INPUT'
         IFILE = IFILEZ
         JFILE = JFILEZ
      ELSE
         WRITE (6,*) ' ### REWNML: ERROR IN REWINDING'
         CALL XABORT( 0 )
         RETURN
      ENDIF
*
      RETURN
*======================================================================
      ENTRY      SETNML    !!  set NAMELIST-input filename
     I         ( IFILE, JFILE )
*
      IFILEZ = IFILE
      JFILEZ = JFILE
*
      RETURN
      END
***********************************************************************
      SUBROUTINE YPREP     !! sys.dep. initialization
*
      RETURN
      END
***********************************************************************
      SUBROUTINE YFINE     !! sys.dep. final treatment
*
      RETURN
      END
***********************************************************************
      SUBROUTINE YDATE     !! get present time & date
     O         ( IDATEX )
*
*   [OUTPUT]
      INTEGER      IDATEX( 6 )
*   [INTERNAL WORK]
      INTEGER * 4  IDATES( 6 ), I
*
      CALL  TIMES( IDATES )
      IF ( IDATES(1) .LT. 100 ) IDATES(1) = IDATES(1) + 1900
      DO 1100 I = 1, 6
         IDATEX( I ) = IDATES( I )
1100 CONTINUE
*
      RETURN
      END
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-30 00:23:10 | 显示全部楼层
不好意思,附件设置错误~!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-8-4 13:49:07 | 显示全部楼层
题主解决了吗,最近用模式也遇到这个问题,对xxx未定义的引用
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-8-5 16:08:18 | 显示全部楼层
Trinity 发表于 2017-8-4 13:49
题主解决了吗,最近用模式也遇到这个问题,对xxx未定义的引用

没有呢,我本来想转LBM线性斜压模式的,后来因为研究方向改了就放弃了。不过,我在家园里请教过一个题主,这可能和一些配套的库没装好有关。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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