气象信息系统工程 - fortran语言篇

date
Jul 2, 2024
slug
fortran-1
status
Published
tags
fortran
summary
type
Post
《气象信息系统工程》一命速通
Hands on Fortran & OpenGrads

Fortran与OpenGrads

气象绘图软件:OpenGrads
用于4D数据的分析,即经度lon纬度lat层次lev时间time的4维。
使用流程:准备数据*.grd -> 数据描述文件*.ctl -> 脚本文件*.gs -> 保存结果

Fortran语言基础

数据类型

整数类型 integer 实数类型 real 复数类型 complex 字符类型 character 逻辑类型 logical
常量声明 先声明类型,再用parameter声明为常量。
合法的变量声明
变量初始化

作业1 马格努斯经验公式计算饱和水汽压

其中

顺序结构

顺序结构:A→B 先执行A,再执行B,先上后下,先左后右(赋值语句先右后左)
表控输入
可以从键盘中输入 4,4,24,10 或者中间使用4 4 24 10 则 a=3.7, b=-1.8, c=24, d=10
也可以输入2*4, 24, 10效果类似
表控输出print只能是一计算机系统隐含指定的打印机(或者显示器)进行打印输出,形式为print *[, 输出表]
write可以指定任意进行打印输出,形式为write (*,*)[, 输出表]
format格式化

作业2 汛期气象站计算

输入3个气象站5个月(汛期)雨量数据,统计每个气象站的总雨量和平均雨量,计算3个站五月、六月、七月、八月、九月的平均雨量,输出每个气象站每个月的雨量、总雨量和平均雨量,以及五月、六月、七月、八月、九月的平均雨量。
notion image

选择结构

判断输入的 pH 值是否表示酸雨
n2 的值来判断大气的层结类型

循环结构

do 循环结构和 do while循环结构 循环输入一周日最高气温,判断最高气温,并计算一周平均最高气温。2014年3月23日-29日南京日最高气温如下: 16.0 17.0 17.0 18.0 16.0 22.0 24.0(单位:℃)
循环输入每六小时降水资料,如果发现数据小于0或者大于1000时,终止循环,并提示输入数据异常。
输入正整数n,求级数的前n项和,如果当某项绝对值≤10-5时,虽未满n项,也因满足精度而不再加入下一项。
输入3月份气温,缺测记录为999,请统计3月份平均气温

作业3 江淮站点

notion image

数组

已知某气象台站7月17日至7月21日每天4个观测时间(即02,08,14,20时刻)的温度观测值,要求编程实现下列功能: (1) 统计每天的平均温度。 (2) 统计7月17日至21日总的温度平均值。 (3) 输出日平均温度的最高值。 (4) 统计5天中每天4个观测时间的温度平均值。
notion image

子程序

已知上海、南京、武汉三地的气温,编制外部函数子程序计算三地的平均气温 外部子程序
内部子程序
虚实结合
变量作用域和生存周期
 

© Morgan Woods 2024 - 2025