|
人工站与自动站月数据的比较
帅莉莉
(宜春市气象局,江西 宜春 336000)
中图分类号:P413;P415.1+2 文献标识码:B 文章编号:1007-9033(2004)02-0041-01
利用新版自动站软件中的“文件转换服务”功能,可以编程实现人工站与自动站月数据的比较,消除月报表中部分人工观测项目的输入错误,同时提高报表的质量。为提高程序的灵活性,可利用CommanDialog控件增加2个“浏览”按钮,用以选择进行比较的人工站和自动站月数据文件。程序中可设一变量factor$用于存放当前要比较的要素名,并设2个数组CompD$(31,24)与CompB$(31,24)雪用于存放人工站与自动站某要素各时次的值。由于云量、能见度在A文件中存储格式类似,可用同样的方法获得要素值:
factor$=“总云量”;低云量、能见度一样
Fori=1 To days;days存放该月日数
Input#1, D$;#1为人工站A文件
For j=1 To 24;对能见度,因1 d数据占2行,需用
2个
CompD$(i,j)=Mid(D$,(j-1)*3+1,2);Input、2个j
循环接数据,且*3改为*4
Nexti
Nexti
Forj=1 To days
Input#2,B$;#2为自动站A文件
Forj=1 To 24
CompB$(i,j)=Mid(B$,(j-1)*3+1,2)
Nexti
Nexti
Call Comp(Comp D$0,CompB$0,factor$,days?
对于云状,因不是按日存放,且无明显规律,可采用下法取各时次值:
Fori=1 To days
cc$=""
Do
Line Input#1,D$
cc$=cc$+D$
Loop Until Right(D,1)=”·”Or Right(D$,1)=“=”;“·”为日结束符,“=”为要素结束符
s=1
Forj=1To 24
CompD$(i,j)=Mid(cc$,s,(InStr(s,cc$,",")-s));各时次云状以","分隔
s=InStr(s,cc$,",")+1
Nextj
NextI
云状、总云量、低云量、能见度4个要素的比较调用公共过程Comp为:
Public Sub Comp(CompD$0,CompB$0,factor,days)
k=0;k变量取0、1用以标志该要素是否存在不一致
Fori=1To days
Forj=1 To24
If CompD$(i,j)<>Comp B$(i,j)Then
Ifj<4 Then
m=j+20;前4个数据为21、22、23、24这4个时次的数据
Else
m=j-4
End If
If k=0 Then;在某要素有不同项存在时,需在最前面显示要素名
Text3.Text=Text3.Text+factor$+Chr(13)+Chr(10)
k=1
End If
Text3.Text=Text3.Text+Right(str(i+100),2)+"日"+Right(Str(m+100),2)+"时"+CompD$r(i,j)+"与"+CompB$(i,j)+Chr(13)+Chr(10)
End If
Next j
Next i
_______________________________
收稿日期:2004年01月12日
改回日期:2004年02月20日
第一作者简介:帅莉莉(1978-),女,助理工程师,主要从事气象地面观测工作。 |