资源简介
压缩包内包含matlab代码和论文,根据论文提供的算法,计算太阳位置,包括方位角和高度角。
输入:位置(当地经度、纬度和海拔高度)、时间(年、月、日、时、分、秒,以及所在时区)
输出:太阳方位角和高度角
代码中给出了输入的格式样例,且论文非常详细。
代码片段和文件信息
function sun = sun_position(time location)
% sun = sun_position(time location)
%
% This function compute the sun position (zenith and azimuth angle at the observer
% location) as a function of the observer local time and position.
%
% It is an implementation of the algorithm presented by Reda et Andreas in:
% Reda I. Andreas A. (2003) Solar position algorithm for solar
% radiation application. National Renewable Energy Laboratory (NREL)
% Technical report NREL/TP-560-34302.
% This document is avalaible at www.osti.gov/bridge
%
% This algorithm is based on numerical approximation of the exact equations.
% The authors of the original paper state that this algorithm should be
% precise at +/- 0.0003 degrees. I have compared it to NOAA solar table
% (http://www.srrb.noaa.gov/highlights/sunrise/azel.html) and to USNO solar
% table (http://aa.usno.navy.mil/data/docs/AltAz.html) and found very good
% correspondance (up to the precision of those tables) except for large
% zenith angle where the refraction by the atmosphere is significant
% (difference of about 1 degree). Note that in this code the correction
% for refraction in the atmosphere as been implemented for a temperature
% of 10C (283 kelvins) and a pressure of 1010 mbar. See the subfunction
% 玸un_topocentric_zenith_angle_calculation?for a possible modification
% to explicitely model the effect of temperature and pressure as describe
% in Reda & Andreas (2003).
%
% Input parameters:
% time: a structure that specify the time when the sun position is
% calculated.
% time.year: year. Valid for [-2000 6000]
% time.month: month [1-12]
% time.day: calendar day [1-31]
% time.hour: local hour [0-23]
% time.min: minute [0-59]
% time.sec: second [0-59]
% time.UTC: offset hour from UTC. Local time = Greenwich time + time.UTC
% This input can also be passed using the Matlab time format (‘dd-mmm-yyyy HH:MM:SS‘).
% In that case the time has to be specified as UTC time (time.UTC = 0)
%
% location: a structure that specify the location of the observer
% location.latitude: latitude (in degrees north of equator is
% positive)
% location.longitude: longitude (in degrees positive for east of
% Greenwich)
% location.altitude: altitude above mean sea level (in meters)
%
% Output parameters
% sun: a structure with the calculated sun position
% sun.zenith = zenith angle in degrees (angle from the vertical)
% sun.azimuth = azimuth angle in degrees eastward from the north.
% Only the sun zenith and azimuth angles are returned as output but a lot
% of other parameters are calculated that could also extracted as output of
% this function.
%
% Exemple of use
%
% location.longitude = -105.1786;
% location.latitude = 39.742476;
% location.altitude = 1830.14;
% time.year = 2003;
% time.month = 10;
% time.day = 17;
% time.hour = 12;
%
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2000850 2009-02-24 08:47 Calculation of Solar Position\Solar Position Algorithm for Solar Radiation Applications.pdf
文件 28057 2009-02-24 09:05 Calculation of Solar Position\sun_position.m
目录 0 2017-11-29 17:04 Calculation of Solar Position
----------- --------- ---------- ----- ----
2028907 3
评论
共有 条评论