探讨气象Fortran编程语言教学

更新时间:2024-04-18 作者:用户投稿原创标记本站原创
摘 要 Fortran语言具有简洁高效的特点,在气象业务和气象研究中得到广泛应用。本文结合自己的教学经验,针对气象专业的特点,对目前教学环节中存在的理由进行了剖析,并从Fortran教学内容的编排、教学设计进行了探索,提出了一些改善倡议。
关键词 大气科学 Fortran 教学
:A
Meteorological Fortran Programming Language Teaching
YANG Shengpeng
(College of Atmospheric Sciences, Nanjing University of Information Science & Technology, Nanjing, Jiangsu 210044)
Abstract Fortran language with a simple and efficient characteristics, widely used in meteorological services and meteorological studies. Combining his own teaching experience, for meteorological characteristics of teaching in the existing problems were analyzed and explored from Fortran choreography of teaching content, instructional design, put forward some suggestions for improvement.
Key words Fortran sciences; Fortran; teaching
0 引言
Fortran语言一直是气象专业本科生的必修课程,但是,在Fortran教学中,如果忽略专业的特点,仅仅遵循语言教学模式,无法达到预期的教学目的,也不能很好地满足气象业务现代化的需求。如何针对气象专业需求,让学生在有效的时间里掌握Fortran语言的精髓,是值得探索和研究的。
1 气象业务和研究对编程语言的要求
气象观测资料是气象业务和气象研究的基础,随着探测技术的发展,全球已逐步建立了较为完善的天基、空基和地基相结合的观测体系。常用的气象资料主要包括:地面气象观测、卫星观测、雷达探测、GPS掩星观测、飞机探测、风廓线仪和三维闪电定位仪等资料。气象资料具有种类多资料量大的特点, 如何利用计算机及时有效地处理各种气象资料,是气象业务现代化的要求。
气象数值模式的发展水平体现的是一个国家的综合实力,气象模式的发展需要气象从业人员有很好的气象理论和计算机编程能力。而气象预报具有很强的时效性,这就对我们的编程提出了更高的要求。因此,无论是气象日常业务还是气象模式的发展,不仅仅是需要我们用计算机语言实现某个功能,而是要在有限的时间内完成。
2 当前教学过程中存在的不足
很多院校Fortran编程都是由计算机专业的老师承担教学任务,这就带来了在教学过程中没有突出专业需求的特点。比如,文件读写操作对我们气象专业的学生来说看,这是最基本也是必须掌握的内容。但是从实际教学效果来看,学生没有从根本上了解文件的编码和读写操作,所以,总是对顺序存储文件和直接存储文件一知半解,这样就导致在处理实际的气象资料过程中存在这样那样的理由。我们学校已经看到了这一现象,从前年开始,Fortran教学由气象专业的老师来承担相关教学工作。但在,从现有的教学大纲和教学内容的设置来看还是不能很好地满足现代气象业务和气象科研的要求。比方说,研究生在接触气象模式的时候,很长时间都无从下手,在Linux/Unix下面不知道如何编译,对编译器参数和并行计算一无所知,所以很多学生在拿到模式之后,花几个月的时间模式都无法调试通过,更别说去修改模式里的程序。所以,在Fortran教学过程中突出专业特色是气象业务对我们的迫切要求。
3 教改深思
3.1 Fortran教学内容的编排
气象专业本科生Fortran的教学一般都是48个小时,要在这么短的时间内穷尽Fortran的每一个细节是不可能的。传统的Fortran语言的教学内容一般包括:Fortran基本语法的介绍:包括变量的申明,流程制约和逻辑运算,循环和数组,函数。Fortran的文件读写:包括文本文件和二进制文件读写(包括顺序和直接存储)。
要让教学与气象现代化的要求相适应,必须对教学内容有针对性进行编排,突出气象专业需求的特点就显得尤为重要。笔者结合自己多年的科研和教学经验,重新编排后的内容大概可以归纳为:保留Fortran基本语法的相关内容,但是在教学设计方面需要重新调整。保留现有的文件读写方面的内容,增加netcdf和hdf5这种国际通用数据格式。这两种格式由于具有自我描述功能,被世界气象组织列为标准的气象数据格式,有利于数据的传播。增加NAMELIST介绍:现在的气象模式都是利用namelist进行相关参数设置,这也是程序运转中和外接进行参数传递和数据通讯的一种有效策略。增加此部分内容让学生更容易理解气象模式开发的相关框架和体系结构。
Module及面向对象:Fortran90以后增加了Module功能,也强化了面向对象的概念。面向对象由于其具有封装和继承的特点,可以增加程序的层次结构,便于维护(下转第129页)(上接第88页)和修改。现在所有的气象模式都采用这种方式,所以,很有必要让学生掌握了解这种编程思路。
Makefile和编译参数:在Windows下的编译器一般都有集成开发环境(IDE),而我们的气象模式由于并行计算的要求一般都是运转在Linux/Unix操作系统下。在Linux/Unix如果要组织大型程序的编译,必须了解一个很重要的工具——makefile。Makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。现在基本上所有的气象模式都是采用makefile进行编译的。另外,一个程序如果要调试和优化,有很多编译参数可以选择的。如果在教学中增加这两门的内容,学生将来拿到气象模式的时候会很容易上手。
并行计算:为了提高计算效率,现在所有的气象模式都采用了并行计算。现在比较通用的并行就是基于消息传递的并行计算(mpich),这部分拟采用科普的形式让学生有一个基本的了解。
3.2 Fortran教学设计
由于增加了相关教学内容,在同样的教学时间里如果要完成教学任务,必须对Fortran教学进行重新设计,可以在下几个方面进行改善:
改善教学手段:教学手段是落实教学内容和教学目标的重要途径。传统的板书有利于重点的分析和设计策略的讲解,而多媒体可以让讲授的内容更加生动、具体。在课堂上灵活运用这两种教学方式不仅可以提高学生的学习兴趣,还可以提高课堂教学效率。
改善教学策略:转变老师“一言堂”的教学模式,让学生在课堂上读老师准备好的程序,随时点学生提问,让学生有一点紧迫感。老师也可以在课堂上现场编程,让学生感受编程的魅力,提高学生的兴趣。在课后老师分组布置一个个的课题(project),让学生分组完成,这有利于调动学生的积极性,同时是一种很有效的巩固课堂知识和拓展学生能力的一种方式。
把好教学实践关:在实践环节可以分为三部分,最开始做简单的语法语义类的实习,巩固课堂教学内容。到中期让气象专业Fortran编程语言教学论文资料由论文网www.808so.com提供,转载请保留地址.学生完成课题(project),每组学生的题目都是灵活给定的,有利于调动学生的积极性和创造性。到了后期采用实际的气象数值模式,如WRF,让学生学习如何组织编译大型的程序,这对学生是一个综合的训练和提高。
多指标考核:一般科目的考核标准都:平时(20%)+考试(80%)。为了突出学生的实践环节,对学生应采取指标考核,同时提高实践部分的分值。我们可以参考美国佛罗里达州立大学的评价指标,平时成绩(考勤,10%)+课外完成课题情况(Project,50%)+上机练习(20%)+考试(20%)这样的评价模式。经实践,这种评价方式能较全面考核和反映学生学习情况。
4 小结
编程语言的教学是系统复杂的工程,结合专业特色开展编程语言的教学是高校培养跨世纪人才的要求,也是摆在我们高校老师面前的现实课题。为了突出专业特色的需求,本文从教学内容的编排和教学设计方面进行了探讨。本课程教学实践及教学策略,可以为高等院校其他程序设计课程的实验教学改革提供借鉴和参考。

点赞:5829 浏览:20950