基于duffie&beckman“太阳能热过程”的太阳辐射模型(1974)

solarp的Python项目详细描述


日光浴

Build Statuscodecov.iolicense

DescriptionPython Solar Radiation model
Authoraqreed aqreed@protonmail.com
Version0.1.2
Python Version3.6
RequiresNumpy, 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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java三角测距   java Spring异步任务返回未来   java如何显示数据库中的下一条记录   java这些读取用户输入的方法有什么不同?   java Spring+Spring安全请求只接受contenttype xwwwformurlencoded   checkName()和将用户输入存储到ArrayList和boolean[]的java问题   java如何使用JPA和Facade?   java Neo4j类型不匹配   java如何依赖Maven的系统包?   通过FileChooser保存pdf格式会提示在java中出现第二个对话框   java如何将通量链接到另一个通量/单声道并应用另一个背压?   java如何修复安卓 studio中的权限错误?   尝试清除JavaFX ObservableMap时出现java ConcurrentException   java编辑文本。GetText,返回关于null引用的异常,但已声明该异常   mysql组织。乔达。时间LocalDate在Redhat(Linux)java上显示少一天   在java中通过序列化获取多个对象   有人有java注释“java.lang.Synthetic”的背景吗?