惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

TaoSecurity Blog
TaoSecurity Blog
Jina AI
Jina AI
雷峰网
雷峰网
月光博客
月光博客
The GitHub Blog
The GitHub Blog
WordPress大学
WordPress大学
B
Blog RSS Feed
美团技术团队
C
CXSECURITY Database RSS Feed - CXSecurity.com
小众软件
小众软件
Security Latest
Security Latest
Microsoft Azure Blog
Microsoft Azure Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cybersecurity and Infrastructure Security Agency CISA
Last Week in AI
Last Week in AI
A
Arctic Wolf
Latest news
Latest news
Attack and Defense Labs
Attack and Defense Labs
I
Intezer
F
Fortinet All Blogs
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
Webroot Blog
Webroot Blog
S
Secure Thoughts
Help Net Security
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
V
Visual Studio Blog
P
Proofpoint News Feed
博客园 - 【当耐特】
P
Privacy International News Feed
V
Vulnerabilities – Threatpost
Stack Overflow Blog
Stack Overflow Blog
Know Your Adversary
Know Your Adversary
云风的 BLOG
云风的 BLOG
Hacker News: Ask HN
Hacker News: Ask HN
L
LINUX DO - 最新话题
H
Help Net Security
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
T
Tailwind CSS Blog
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tenable Blog
Cloudbric
Cloudbric
N
News and Events Feed by Topic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hugging Face - Blog
Hugging Face - Blog

博客园 - 莫小龙

uniapp之plus.downloader.createDownload下载文件传参 谷歌之将网页保存为图片 elementui之table中相同数据的单元格合并 krpano之使用教程 threejs之灯光不跟随OrbitControls控制器旋转 threejs之将张纹理图片组成材质组 canvas之修改Base64图片中不透明部分的颜色 threejs之将PlaneGeometry转换为BufferGeometry threejs之利用shape通过线绘制面和体 threejs之添加渐变背景 threejs之创建发光墙体 paperjs之fitBounds适应区域前后屏幕坐标和输入坐标的转换 arcmap之通过点数据获取等值线 uniapp之安卓APP打开百度地图、高德地图APP openlayer之添加带箭头的线 geoserver之图片图标样式 SHP转WKT文件工具 openlayers之geoserver的wms图层mysql数据源数据修改后更新问题 Uniapp之安卓签名证书(.keystore)生成
通过日照时数计算每天RAD(太阳辐射)值
莫小龙 · 2025-02-24 · via 博客园 - 莫小龙

通过日照时数计算每天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       @顾

钻研不易,转载请注明出处。。。。。。