• fortran90编译器 > "十五"国家重点科技攻关计划项目2001BA607B
  • "十五"国家重点科技攻关计划项目2001BA607B

    免费下载 下载该文档 文档格式:DOC   更新时间:2008-12-01   下载次数:0   点击次数:1
    文档基本属性
    文档语言:Simplified Chinese
    文档格式:doc
    文档作者:wuxiangjun
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    "十五"国家重点科技攻关计划项目2001BA607B
    中国气象数值预报技术创新系统
    软件编程标准
    (第1.6版)
    中国气象科学研究院
    气象数值预报研究中心
    2001年7月
    目 录
    摘要
    本文的目的是制定在数值预报研究中心使用的FORTRAN 90程序编程规范.本规范是在参考《European Standard For Writing and Documenting Exchangeable Fortran 90 Code》,《WRF Coding Convetions-Draft》,《C style Guide》的基础上制定的.
    引言
    目的
    本文的目的是制定在数值预报研究中心采用的Fortran 90编程规范,使程序代码高度组织化,更加易读,易懂,易于维护,程序更加高效.
    读者
    本文的读者应了解Fortran 90的编程,本文不介绍Fortran 90的编程方法,而是介绍如何使编出的程序更易懂,易于维护.
    本文的方法
    本文采用软件工程的原理,指导读者对程序,文件,函数进行有效的组织,指导如何设置变量,语句,注释,使程序更易读.我们会强调重点的概念,并给出程序的例子.
    与1.5版本的主要区别
    由于在编程中发现使用Fortran90的数组下标三元组语法在许多机器上会造成性能的剧烈下降,因此我们更改了3.1.1中关于建议使用数组下标三元组语法的规定,建议仍然采用显式的Do循环语法,并将数组下标三元组列为暂时不要使用的功能.3.1.2节对于数组指针的规定也进行了修改.
    语言选择
    根据ECWMF和英,法,美等国气象部门的编程经验,数值预报创新系统软件开发应避免使用Fortran 77的某些过时特征以及与Fortran 90不一致的特征.中国气象局数值预报技术创新体系中的软件开发选择Fortran 90作为开发语言,并采用Fortran 90的新功能,如动态内存的分配(dynamic memory allocation),递归(recursion), 模块(modules),POINTER,长变量名,自由格式等.
    鉴于兼容性的考虑,Fortran 90支持Fortran 77的全部语法,但是作为语言,其中某些只是一些冗余的功能,这些功能已经过时.另外,还有一些在Fortran90中被证明是不好的用法,建议不要使用.
    Fortran 90的新特性
    建议使用的Fortran 90新特性
    建议使用Fortran 90提供的模块(module),并用Use ONLY指定module中哪些变量或派生类型定义可用于调用程序.
    对程序单元(program units)命名,并使用End program,End subroutine,End interface,End module等结构再次指定"program unit"的名称.
    在逻辑表达式中使用>, >=, ==, <, <=, /=, 它们分别代替.gt.,.ge.,.eq.,.lt.,.le.,.ne. .新的表示方法更接近标准的数学符号.
    在变量定义中始终使用"::";始终用"DIMENSION"定义数组形状;始终用(len=)的语法格式声明字符变量的长度.
    从效率的角度考虑,除递归定义的数据结构外,应尽量避免使用递归程序(它在使用内存和cpu上会降低效率).
    建议定义新的操作符,而不要重载已有的操作符,这样可以清晰地表明功能,避免降低代码的可读性和可维护性.
    关于Interface
    使用Interface 接口块.在FORTRAN语言中,主调程序与被调程序是分别编译的.由于Fortran 90对过程的许多功能做了扩充,有些功能单靠简单的调用语句已无法反映,因而系统也就无法进行正确的编译.这时需要在主调程序中加入interface接口块,通过它为主调程序与被调程序指明一个显式的接口.如果被调用程序中哑元含有假定形状(assumed-shape)数组,或含可选变元,或含键盘输入的参数,就需要interface 接口块说明.一般来讲,在Fortran 90程序之间需要提供的interface块,有三种实现方法:
    将interface接口块明确写入调用程序,并复制被调用程序的参数列表.这种方法简单易用,但也相应增加了维护代码的工作量,因为只要被调用程序的参数列表发生变化,就必须相应改变interface接口块和调用(call)语句.

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 DOC格式下载
  • 您可能感兴趣的
  • fortran90编译器下载  fortran编译器  win7fortran编译器  fortran6.6编译器下载  visualfortran编译器  fortran编译器下载  abaqusfortran编译器  安卓fortran编译器  fortran2003编译器