EKO观测数据及报表制作程序

2022-09-12 版权声明 我要投稿

EKO浊度仪是龙凤山大气本底测量大气浑浊度的主要仪器, 它的观测方式是在晴朗少云的情况下人工三次观测, 分别在北京时8:30、11:30、14:30进行。EKO浊度仪主要通过三个波段反演大气浑浊度, 分别是368nm、500nm、778nm。其观测数据要经过繁琐的步骤和精确的计算才能得到最终结果, 由于计算过程复杂, 所以在计算过程中较容易出现错误, 致使反复的计算费时费力, 还浪费资源。到每个月初还要把计算抄录到月报表中, 由于月报表项目较多并且表格非常的小, 所以抄录工作也比较繁重。基于以上问题, 我站独立研究开发了EKO数据计算和报表形成的程序。本程序可以在输入基本的数据后, 计算出最终结果并输入到月报表中。既可以省去一定人力财力资源同时还可以数据的准确性, 避免人为带来的错误, 还促进大气本底观测业务的数字化与自动化的程度。

1 程序设计

1.1 浑浊度的计算方法

EKO观测数据计算比较复杂, 要用比较专业的计算器才可以计算。其主要计算过程如下 (公式中没有给出说明的都是常数) 。

(1) 通过查表法查出日地距离订正因子S值、赤纬∂值、维度φ。

(2) 计算时角t, sin∂, cos∂。

(3) 计算。太阳高度角sinγ=sinφsin∂+cosφcos∂cost

(4) 求γ的值并计算。

(5) 计算I订=I读[1-∂ (T-25°C) ]。

(6) 最后求出浑浊度的值。

EKO的观测波段有三个368nm、500nm、778nm, 如果天气条件符合的话要每日观测3次。那么上述计算就要9次, 可以看出EKO的日常业务量还是比较繁重的, 如果能利用程序实现其计算过程, 将在很大程度上减轻了业务人员的工作负担, 并在一定的程度上减少了计算错情的出现, 并为EKO的月报表自动化实现做了铺垫。

1.2 通过程序实现浑浊度的计算

程序的基本流程如下。

程序是用Microsoft主推的.NET实现的, 编程语言为C#, C#是完全面向对象的语言, 选用C#作为编程语言主要是考虑其跨平台特性以及其强大的网络功能, 方便于今后的软件升级和数据网络共享。程序设计的思路就是根据EKO观测的数据和浑浊度计算的相关公式实现EKO的3个波段的计算。其中程序设计过程中的难点就是数学表达式的实现和数据位数的保留, 因为EKO的计算过程中, 每个数据的小数点位数在《大气成分业务观测规范中》都有具体的要求, 所以要通过自定义函数来实现这部分功能。程序设计过程中的另一个难点就是数据输入部分的验证的实现, 为了避免人为输入数据的错误, 在程序的输入部分增加了大量的数据验证部分, 以减少不必要的错误。

1.3 界面设计与月报表制作

考虑到程序在今后的业务运行中使用的频率较高, 所以在程序的界面设计和操作性上也做了很多工作。首先, 程序的界面力求简单明了, 把所有功能都集中在两个窗体当中, 为了方便日常数据计算和校对工作增加了“详细资料”设置, 因为在日常计算和校对工作中是不需要输入干球、露点等相关气象信息的, 这样是日常操作简单明了。其次, 程序操作简单, 不需要过多的设置与操作, 只需数据基本数据就可以计算出最终结果。

程序的另一个主要功能设计就是月报表的制作, EKO的月报表制作也是一个比较繁重的工作。这部分功能是通过C#中的OLE技术实现的, 由于.NET提供了于O F-FICE无缝式连接, 所以使得在程序中调用EXCLE较容易实现, 并且运行的很稳定。程序在EKO数据计算完成后, 会提供一个添加到月报表选项, 这样就可以在日常数据计算或校对过程中就把月报表制作完成了, 使用非常方便, 不过如果要使用月报表功能要把相关气象信息输入完整。

2 结语

从业务的需求出发, 我站研发这个程序。该程序实现了两大主要功能, 浑浊度的计算功能和月报表的制作功能。其界面简单、操作方便, 随时可以计算某一天的数据。如果相关气象信息输入完整, 可以直接添加到月报表中, 这样报表到月底就可以直接完成。报表是以Excel的形式输出, 即有利于数据的保存又有利于数据的使用和比较分析。该程序的开发在很大程度上减少了业务人员的工作量, 同时还可以提高EKO的业务质量。并为大气本底观测的自动化运行做出一定贡献。

摘要:EKO的观测数据手工计算比较繁琐, 较容易出现计算错误, 其报表制作同样费时费力。所以, 我站独立研发了EKO数据计算与报表制作程序。

关键词:EKO,C#,报表制作

上一篇:实体书店转型对高校图书馆的启示下一篇:呼唤民主高效课堂建立新型师生关系