日太阳辐射计算(含python代码)

您所在的位置:网站首页 python参考代码 日太阳辐射计算(含python代码)

日太阳辐射计算(含python代码)

2023-03-22 08:10| 来源: 网络整理| 查看: 265

1 简述太阳辐射是地球表层上的物理、生物和化学过程的主要能量来源, 也是生态系统过程模型、水文模拟模型和生物物理模型研究中的必要参数。一般作物生长模拟模型中需要逐日的温度、降雨、太阳辐射数据, 但只有少数站点进行了太阳辐射的逐日监测。若用邻近站点的辐射观测值代替, 则往往受到云量和其它天气要素的影响, 较短的时间间隔( 如逐日) 的误差往往很大, 因此需要利用已有的常规气象监测数据来模拟计算太阳辐射。逐日太阳辐射的模拟计算的具体方法可以参考文献《逐日太阳辐射的模拟计算》《中国不同气候区日总太阳辐射计算模型适用性分析及通用计算模型优化》以及其它补充文献(太久前看过,一时半会儿找不到了~)2 计算逐日太阳辐射

根据以上文献提供的方法来实现逐日太阳辐射模拟还是挺难的,我在经历一番钻研测试后,写了个python脚本,方便大家一键运行直接计算得到某日的日太阳辐射值。

可能会出现的一些问题的思考? 晦涩难懂的天文学名词以及文献中一连串复杂的计算公式等等都是计算的阻碍只需修改代码参数就可完成逐日太阳辐射计算4 代码分享#!/usr/bin/env python # -*- encoding: utf-8 -*- ''' @Author : 俊哥的地理空间 ''' import numpy as np import math Lat = 35.2 # 该地区的纬度 ARC = np.pi * Lat / 180 # 纬度转弧度 TANF = math.tan(ARC) AS = 0.18 # AS和BS不同地区系数不同 BS = 0.59 # 具体系数可参考 def Srconversion(n, julian_day): ''' :param n: 日照时数,单位为小时 :param julian_day: 当前日期在该年度的第几天,如:20210101,则julian_day为1 :return: 返回值为太阳辐射,单位: MJ/m^2/day ''' G2 = 2*math.pi * (julian_day - 1)/365 # 计算年角 弧度 delta = (0.006918 - 0.399912 * math.cos(G2) + 0.070257 * math.sin(G2) - 0.006758 * math.cos( 2 * G2) + 0.000907 * math.sin(2 * G2) - 0.002697 * math.cos(3 * G2) + 0.00148 * math.sin(3 * G2)) # 计算赤纬 dr = 1 + 0.033 * math.cos(2 * math.pi * julian_day/365) tanDelta = math.tan(delta) J = -TANF * tanDelta Ws = math.acos(J) L = Ws * math.sin(ARC) * math.sin(delta) M = math.cos(ARC) * math.cos(delta) * math.sin(Ws) Ra = 1/np.pi *118.108 * dr * (L + M) N = 24 / np.pi * Ws Rs = (AS + BS * (n / N)) * Ra return round(Rs, 3) 日太阳辐射的计算代码实现如上,获取完整调用函数请公众号留言:日太阳辐射

更多GIS/RS相关内容,欢迎公众号留言交流,如果对您有所帮助,请给本文一个大拇指~~~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3