基于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 Oracle将休眠为ISO 8601日期格式   当有线程时,swing计时器不会停止。睡在Java里面   如何使用swing在java中清空密码字段值(字符串)   如何在编辑文本字段上设置单词java(安卓)   单独类中的java OkHttp请求   java Tomcat配置文件/上下文xml似乎已经崩溃了。请确保它是可分析和有效的。有关详细信息,请参阅服务器日志   java在科尔多瓦的ActivityResult上传递   java如何在映射中保持插入顺序。工厂?   “DataOutputStream”和“ObjectOutputStream”之间的java差异   java从FTP文件列表中获取项目的时间戳   java如何在spring security中为每个人忽略一些资源/URL?   模板类嵌套时新的Java泛型类构造函数问题   java读取并查找文件大小为1GB的行   java如何使用字符串say“stop”停止整数格式的while循环   java是否可以在应用程序启动之间将JVM保留在内存中?   java Springboot出现“出现意外错误(类型=内部服务器错误,状态=500)”的问题