基于duffie&beckman“太阳能热过程”的太阳辐射模型(1974)
solarp的Python项目详细描述
日光浴
Description | Python Solar Radiation model |
Author | aqreed aqreed@protonmail.com |
Version | 0.1.2 |
Python Version | 3.6 |
Requires | Numpy, Matplotlib |
该软件包旨在提供一个可靠的太阳辐射模型,主要基于Duffie,J.A.和Beckman,W.A.,1974年的工作,“太阳能热过程”。
主要目的是产生太阳光束辐照度(w/m2)预测:
- 任何一架飞机,由于在ned(东北向下)坐标系中计算了太阳矢量,适合用于飞行动力学模拟……
- 地球上的任何地方,考虑到太阳时间与标准时间、几何高度、纬度对太阳方位角和太阳高度的影响以及日落/日出时间和时角等。
- 一年中的任何一天,考虑到全年地外辐射、时间方程、磁偏角等的变化
示例1
10月17日南半球海平面13.01 UTC(平面朝上)的太阳{A4}?
import numpy as np
from solarpy.radiation import irradiance_on_plane
from datetime import datetime
vnorm = np.array([0, 0, -1]) # plane pointing zenith
h = 0 # sea-level
date = datetime(2019, 10, 17, 13, 1) # year, month, day, hour, minute
lat = -23.5 # southern hemisphere
irradiance_on_plane(vnorm, h, date, lat)
关于光束辐照度的专用Jupyter笔记本可以找到here。
示例2
具有以下特性的太阳能电池板的功率输出(W):
- 2.1平方米的表面
- 效率0.2
- 指向上
- 在纽约
- 12月25日16时15分
from numpy import array
from solarpy.pvpanel import solar_panel
from datetime import datetime
sp = solar_panel(2.1, 0.2, id_name='NYC_xmas') # surface and efficiency
sp.set_orientation(array([0, 0, -1])) # upwards
sp.set_position(40.73, -73.93, 0) # NYC latitude, longitude, altitude
sp.set_datetime(datetime(2019, 12, 25, 16, 15)) # Christmas Day!
sp.power()
示例3
8月5日的太阳?
from solarpy.radiation import declination
from datetime import datetime
date = datetime(2019, 8, 5) # August 5
declination(date)
请在'examples'文件夹中找到更多笔记本。
注释: Solarpy正在开发中,可能在不久的将来会改变。
依赖性
此软件包依赖于python、numpy和matplotlib,通常在linux上使用以下版本进行测试:
python 3.6、numpy 1.16、matplotlib 3.0
安装
solarpy是用python3编写的,其版本v0.1在pypi中可用。它可以通过以下方式安装:
$ pip install solarpy
以开发模式安装:
$ git clone https://github.com/aqreed/solarpy.git
$ cd solarpy
$ pip install -e .
测试
solarpy推荐py.test来运行测试套件。从顶层目录运行:
$ pytest
要测试覆盖率(也可以从顶部目录):
$ pytest --cov
错误报告
请随意打开github上的issue!
许可证
麻省理工学院(见COPYING
)