求解发生在天气文件中定义的离散时间。加载的每个时间戳表示一个特定时间段,其定义为以下之一:
-
“时间段结束”,包括从上一个时间戳开始的时间段之前的所有时间,
-
“时间段开始”,之后直到下一个时间戳的时间,
-
“时间段中间”,时间段向前和向后延伸相等的量,在每个方向上考虑时间步长的一半,以时间戳为中心,
-
“瞬时”,假设辐照度和其他天气值在时间戳本身为真,而非某个时间段的平均值。太阳位置在时间戳处计算(加上可选的时间偏移量)。但能量计算仍然在连续时间戳之间的完整时间步长上积分辐照度。1
时间段的长度(即相邻时间戳之间的时间量)可以是任意整数分钟数。整个模拟时间段内的时间步长必须是统一的。在天气中包含夜间步骤是可选的。2
SunSolve Yield提供的时间序列输出文件是使用与输入天气文件相同的时间戳定义创建的。
太阳位置在每个观测时间段内的单个代表时间确定。该代表时间对应于该时间段内太阳的平均位置,并通过对记录的时间戳应用偏移量获得。偏移量取决于时间戳的定义方式(例如,时间段的开始、中间或结束)以及时间段是否在日出附近、白天期间或日落时。
对于定义为时间段结束的时间戳,太阳位置向后移动大约半个时间段持续时间。在日出和日落时,额外的偏移量考虑了这些间隔的部分照明。对于定义为时间段开始的时间戳,偏移量向前移动,适当地反映日出前或日落前的时间。当时间戳定义为时间段中间时,根据日出或日落是在间隔中点之前还是之后应用较小的校正。
用于太阳位置计算的时间偏移
观测时间段第一个日照时间段(分钟)白天(分钟)最后一个日照时间段(分钟)时间段结束, −2MinutesAfterSunrise, −2timestep, −2(timestep+MinsAfterSunset)时间段开始, 2(timestep+MinsBeforeSunrise), 2timestep, 2MinsUntilSunset时间段中间, 见下表, 0, 见下表瞬时, offset×60, offset×60, offset×60
使用时间段中间时的额外偏移
事件发生在时间段前半部分(分钟)发生在时间段后半部分(分钟)日出, MinsAfterSunrise+4(timestep−2×MinsAfterSunrise), 4(timestep−2×MinsBeforeSunrise)日落, 0−4(timestep−2×MinsAfterSunset), 0−MinsBeforeSunset−4(timestep−2×MinsBeforeSunset)
请注意,在日出和日落期间,太阳位置会被有意移动,以确保建模的太阳保持在地平线以上。在标准天气文件中,这些小时的辐照度值已经缩放以考虑每个时间段内减少的阳光持续时间。此处描述的偏移量只是将SunSolve的太阳几何计算与相同的物理解释对齐。
对于瞬时观测时段,太阳位置在时间戳加上用户指定的辐照度时间偏移(以小时为单位)处计算。与其他观测时段不同,不应用日出或日落的边缘情况逻辑——而是直接使用偏移量。
此模式适用于将辐照度测量与特定时刻关联的情况,但与该测量相关的太阳位置位于报告时间戳的已知固定偏移处。例如,数据记录器可能在测量间隔结束时记录时间戳,而辐照度值对应于时间戳之前某个固定偏移处的条件。
请注意,即使在瞬时模式下,每个时间步的能量贡献仍然使用天气文件中连续时间戳之间的完整时间段长度进行计算。瞬时设置仅影响太阳位置的确定方式,而不影响辐照度如何随时间积分。
时间偏移可以在天气选项页面上配置。
SunSolve在当地太阳时(LST)执行光线追踪,此时太阳在中午处于天顶。如果天气数据以世界时(UTC)或法定时间(例如,UTC + 3h)加载,则SunSolve必须从UTC转换为LST。
LST从UTC计算如下
LST=UTC+60×(4×Longitude+EoT),
其中EoT是”时间方程”,它考虑了地球轨道的偏心率和轴倾斜。SunSolve的默认设置是实现来自[Reno2012]的方程:
EoT=9.87×sin(2×A)−7.53×cos(A)−1.5×sin(A)
A=2π×365(DayOfYear−81)
也可以选择PVSyst使用的EoT方程以及Blanco–Muriel [Blanco2001]发表的方程,两者都按天计算,因此在UTC午夜(在LST可能发生在白天)有步骤。