• 大小: 1.24MB
    文件类型: .rar
    金币: 2
    下载: 3 次
    发布日期: 2023-08-17
  • 语言: Matlab
  • 标签: 方位角  高度角  

资源简介

压缩包内包含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


评论

共有 条评论