通过日照时数计算每天RAD(太阳辐射)值
通过日照时数计算每天RAD(太阳辐射)值
代码方法:
// 计算RAD /* 参数: ssd(日照时数)= 7.4 year(年份) = 1951 moon(月) = 1 sun(日)= 12 lat(纬度)= 35.583333 */ function getRAD(ssd, year, moon, sun, lat) { // 日序数 let moonNum = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] let sunNum = 0 moonNum.forEach((e, i) => { if (i < moon-1) { sunNum += e } }) sunNum += sun // 判断闰年 2月加一天 if (((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) && moon > 2) { sunNum += 1 } // 一年天数 let yearNum = 365 // 判断闰年 if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { yearNum = 366 } let jiao = 2 * Math.PI * (sunNum - 1) / yearNum let j2 = jiao * 2 let j3 = jiao * 3 let a1 = 0.399912 * Math.cos(jiao) let a2 = 0.070257 * Math.sin(jiao) let a3 = 0.006758 * Math.cos(j2) let a4 = 0.000907 * Math.sin(j2) let a5 = 0.002697 * Math.cos(j3) let a6 = 0.00148 * Math.sin(j3) let sita1 = 180 / Math.PI let sita2 = 0.006918 - a1 + a2 - a3 + a4 - a5 + a6 let sita = sita1 * sita2 let tansita = Math.tan(sita * Math.PI / 180) let tanlat = Math.tan(lat * Math.PI / 180) let ws1 = -tansita * tanlat let ws = Math.acos(ws1) * (180 / Math.PI) let sl = 2 / 15 * ws let e0 = 1.00011 + 0.034221 * Math.cos(jiao) + 0.00128 * Math.sin(jiao) + 0.000719 * Math.cos(j2) + 0.000077 * Math.sin(j2) let pi1 = 1 / Math.PI let gsc = 118.108 let qq1 = Math.cos(lat * Math.PI / 180) let qq2 = Math.cos(sita * Math.PI / 180) let qq3 = Math.sin(ws * Math.PI / 180) let h01 = qq1 * qq2 * qq3 let qq21 = Math.PI / 180 let qq22 = Math.sin(lat * Math.PI / 180) let qq23 = Math.sin(sita * Math.PI / 180) let h02 = qq21 * qq22 * qq23 * ws let h0 = e0 * pi1 * gsc * (h01 + h02) let h1 = h0 * 0.8 let RAD = h1 * (0.248 + 0.752 * ssd / sl) return RAD } console.log(getRAD(7.4, 2005, 3, 1, 35.583333))
输出RAD的值,单位kj/mol
参考文献:
逐日太阳辐射的模拟计算.pdf @顾
钻研不易,转载请注明出处。。。。。。
分类:
气象数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)