2.3.2大气透明系数
大气透明系数是辐射通过一个大气质量数气层的透过率。主要影响大气透明系数的因素有海拔、水汽、微尘、云雾等。
大气透明系数等于透过一个大气数后的太阳辐射强度与透过前的太阳辐射强度之比。即
大气透明系数对太阳辐射量的影响:
透过第1个气层的辐射量
透过第2个气层的辐射量
透过第个气层的辐射量
到达地面的太阳辐射能量强度:
式中 ——大气质量数;
——大气透明系数;
——到达地球大气层上的太阳辐射日总量。
2.3.3大气层外的太阳辐射强度:单位
(2.13)
式中 ——太阳常数;通常按计算;
——日出日落时角,用角度表示;
——太阳赤纬角;
——日地距离变化引起大气层上界的太阳辐射通量的修正值;
(2.14)
——一年中的日期序号。
1.水平面直接辐射能量强度:
任意倾斜面直接辐射能量强度:
式中 ——太阳光线与倾斜面的夹角。
漫射辐射强度计算:
4.太阳直接辐射日总量:
一天中到达地面的太阳直接辐射日总量为
式中 、——分别为日出、日落时间;
对大气上界,有
作变量代换得
式中 ——一天的周期,;
大气质量数m和太阳高度角都随时间变化,因此
日天文总辐射量
式中 ——日天文在辐射量,单位为;
T——时间周期,单位为;
——日地距离系数,无量纲;
——地理纬度,单位为rad;
——太阳赤纬角,单位为rad;
——日出、日落时角,单位为rad。
3 LabVIEW软件简介及其用LabVIEW编程实现太阳辐射强度的计算
3.1 LabVIEW概述及程序组成
LabVIEW是美国国家仪器(National Instruments Corp.,以下简称NI公司)推出的一种基于“图形”方式的集成化程序开发软件。是实验室虚拟仪器工程平台(Laboratory Virtual Intruments Engineering Workbench)的简称,也是一个功能比较完整的软件开发环境,也是目前应用最广泛、发展最快、功能最全面的图形化编程软件开发环境。LabVIEW软件开发的核心语言是G语言,它不同于C语言和其他形式的程序语言。只有熟练掌握了G语言的语言结构,才能够灵活的运用开发LabVIEW应用程序。G语言采用图形化编程方式(即各种图表、控件、节点、程序框图、连线等),界面形象直观。LabVIEW的主要特点在于它使用图形化编程语言在程序框图中创建源程序,即用程序框图代替了传统的程序代码,运行方便,编程简单易懂。
3.2用LabVIEW软件实现太阳辐射强度的计算
3.2.1太阳辐射强度计算流程图
首先设计出太阳辐射强度计算的程序流程图,如图3.1所示,明确设计的思路。
图3.1 程序设计流程图
3.2.2 全局变量及各个子VI的创建
1.全局变量的创建:
对于多个同时运行的VI之间需要传递数据时,就需要使用全局变量来实现了。因此,首先创建相关全局变量,如图3.2所示:
图3.2 全局变量前面板
2.子VI的创建:
从1月1日到该日的天数的子VI的创建:
对于年份是平年的天数,根据表3.1所给的算式计算;对于年份是润年的计算,1月份,2月份的天数计算与平年的1月份、2月份的计算一致,其余月份的计算要累加1。
表3.1 各月第天的日子数
月份 |
各月第i天的天数 |
月份 |
各月第i天的天数 |
1月 |
i |
7月 |
181+i |
2月 |
31+i |
8月 |
211+i |
3月 |
59+i |
9月 |
243+i |
4月 |
90+i |
10月 |
273+i |
5月 |
121+i |
11月 |
304+i |
6月 |
151+i |
12月 |
334+i |
计算天数的程序前面板和程序框图如图3.3和3.4所示,并将所计算出的天数赋值给全局变量。
图3.3 计算天数的前面板
图3.4 计算天数的程序框图
——蒙气差,取值为;
——地理纬度,单位为弧度,rad;
——太阳赤纬角,单位为弧度,rad。
日照时数
日照时数是指太阳每天在垂直于其光线平面上的辐射强度超过或等于120W/m2的时间长度。单位为小时。
设日出日落时的时角为,日出日落时的太阳高度角,则
可得
日照时数
而时角是以一昼夜为变化周期的,变化量为。所以
(2.12)
赤纬角的子VI的创建:
根据赤纬角的计算式(2.4)创建赤纬角的子VI,步骤如下:
单击文件→新建VI。在前面板上放置数据显示控件,编辑为赤纬角,然后单击窗口菜单→显示程序框图。从功能模板中选择对象,并且单击工具选项中的连线选项,将各对象连接起来。如图3.5所示:
图3.5 赤纬角计算的程序框图
(2)用鼠标右键单击面板窗口的右上角的默认图标,在弹出菜单中选择“编辑图标”,将其编辑为“赤纬角”。然后单击文件→保存。
日出、日落时角及日照时长的子VI:
根据第2章的相关计算式子(2.10)、(2.11)创建日出、日落时间及日照时长的子VI,程序前面板如图3.6所示:
图3.6 日出、日落时间及日照时长子VI的前面板
地理纬度、赤纬角设置为全局变量,可以直接在全局变量的子VI中调用。该子VI使用了层叠式顺序结构,第一帧用来计算日出、日落时角,计算出的数据传递到第二帧,作为输入数据,数据传递过程中创建局部变量日出时角。第二帧用来计算日出、日落时间和日照时长。程序框图分别为图3.7和3.8所示:
图3.7 计算日出时角的程序框图
图3.8 日出、日落时间和日照时长的程序框图
循环次数的子VI的创建:
本论文采取以0.5小时为间隔时间,根据日照时长来确定程序的循环次数N,计算流程如图3.9所示:
图3.9 计算循环次数的程序框图
入射角余弦的子VI创建:
根据第2章式(2.14)创建入射角余弦的子VI,前面板如图3.10所示:
图3.10入射角余弦前面板
入射角余弦子VI创建过程中,会使用到局部变量,使用层叠式函数结构,第一帧计算各局部变量,如图3.11所示:
图3.11 各个局部变量计算的程序框图
第二帧计算入射角余弦,使用局部变量实现数据的传递,如图3.12所示:
图3.12 计算入射角余弦的程序框图
5.修正太阳常数的子VI的创建:
根据第2章式(2.13)创建修正太阳常数的子VI,其程序框图如图3.所示:
图3.14计算修正太阳常数的程序框图
太阳时与标准时换算的子VI的创建:
根据式(2.3)、(2.4)和(2.5)来编写计算太阳时的程序,该程序采用层叠式顺序结构,首先计算时差E,其前面板和程序框图如图3.15、3.16和3.17所示。
图3.15 时差E的前面板图
在该层叠式顺序结构中,第一帧计算参数B,并且创建一个局部变量B,该局部变量在第二帧中用作输入变量,发挥数据的传递作用。
图3.16 计算参数B的程序框图
局部变量B在层叠式顺序结构中的使用,如图3.17所示。时差E赋值给全局变量。
图3.17 时差E的计算流程图
计算太阳时,调用时差E的子VI,并将太阳时赋值给全局变量,如图3.18所示:
图3.18 计算太阳时的程序框图
创建大气层外的太阳辐射强度子VI,其程序如图3.19所示:
图3.19 大气层外太阳辐射强度程序图