【物理应用】大气辐射和透射率模型及太阳和月亮模型(Matlab代码实现)

news2024/11/26 0:50:01

 💖💥💥💞💞欢迎来到本博客❤️❤️💥💥🥇
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
📝个人主页:研学社的博客
🥇 官方认证:Matlab领域优质创作者
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋

希望大家多多支持🤗~一起加油 😁

⛳️座右铭:行百里者,半于九十

目录

📋1 概述

📝2 运行结果

📃3 参考文献

📋4 Matlab代码及文章阅读

📋1 概述

LOWTRAN7 是空军研究实验室 (AFRL) 于 1988 年 8 月发布的大气辐射和透射率模型。该项目是将 LOWTRAN7 太阳和月亮模型翻译成 matlab。应该注意的是,LOWTRAN7已被MODTRAN和SAMM取代。对于高质量的太阳和月亮图像,应改用AFRL的CBSD模型。LOWTRAN 7 是一种低分辨率传播模型和计算机代码,用于预测 0 至 50,000 cm- 1 的大气透射率以及天空热辐射和散射辐射,分辨率为 20 cm-1。

在 LOWTRAN7 中,可以计算来自太阳或月亮的直射光或散射光。太阳的辐照度是从光谱中插值的,并应用轨道校正来补偿地球的轨道离心率。月球的辐照度是使用Robert E. Turner等人开发和发表的数学模型计算的。 (1975)光学厚大气中的自然和人工照明,密歇根环境研究所,AD-A021 998,合同号。DAAA21-74-C-0331.(本文包括月球模型将光谱几何反照率(1988年所知)、相位因子和月球的角度范围应用于轨道校正的太阳光谱。结果显示在项目图像中。

📝2 运行结果

 

 

 部分代码:

%% *solar spectrum*
Lambda = 0.175:0.0001:5.0; % (micron)
V = 10000./Lambda; % (cm^-1)
sun = zeros(size(V));
for i = 1:numel(V)
[sun(i)] = SUN(V(i));
end
figure('Color','White','Units','Pixels','Position',[1 300 900 600]);
plot(Lambda,sun,'linewidth',2);
xlabel('Wavelength (\lambda) [\mum]');
ylabel('Solar Irradiance [W m^{-2} \mum^{-1}]');
title('LOWTRAN7 Exoatmosphere Solar Spectrum','fontsize',16);
set(gca,'fontsize',14,'fontweight','bold');

%% *position for time/day*
IDAY = 1:365;
THETAS = zeros(size(IDAY));
PHIS = zeros(size(IDAY));
figure('color','white','units','pixels','position',[60 200 1000 800]);
subplot(2,1,1);
for TIME = [0 6 12.25 18]
    for i  = 1:length(IDAY)
        [THETAS(i),PHIS(i)] = SUBSOL(TIME,IDAY(i));
    end
    plot(IDAY,PHIS,'linewidth',3,'DisplayName',['UTC=' num2str(TIME) 'h']);
    hold on;
end
xlabel('Day of Year'); ylabel('\phi (deg)'); 
leg = legend('location','southeast'); 
set(gca,'fontsize',14,'fontweight','bold');
xlim([0 365]); ylim([0 360]); set(gca,'ytick',[0 90 180 270 360]);
title({'LOWTRAN7 Subsolar Latitude (\theta) and Longtitude (\phi)'});
subplot(2,1,2);
plot(IDAY,THETAS,'k','linewidth',3); 
xlabel('Day of Year'); ylabel('\theta (Declination) (deg)');
set(gca,'fontsize',14,'fontweight','bold');
xlim([0 365]); ylim([-31 31]); set(gca,'ytick',[-31 -23.5 -15 -7.5 0 7.5 15 23.5 31]);
hold on;
% add Earth's Obliquity
plot([0 365],[23.5 23.5],'--b');
plot([0 365],[-23.5 -23.5],'--b');
plot([0 365],[0 0],'--b');
% add equinox and solstice dates
plot([81 81],[-30 30],'--b');
plot([172 172],[-30 30],'--b');
plot([267 267],[-30 30],'--b');
plot([354 354],[-30 30],'--b');

%% *source zenith angle at points along a line-of-sight*
j = 1;
figure('color','white','units','pixels','position',[200 150 1000 800]);
for PSIO = 0:60:180  % (deg) azimuth subtended between LOS and line to Sun
    subplot(2,2,j);
    IARBO = 0; % not a special case
    for DELO = 5:5:45 % (deg) Sun's zernith
        BETA = 1:34; % (deg) Earth center angle along the LOS
        xDEL = zeros(size(BETA));
        for i = 1:numel(BETA)
            [xDEL(i)] = DEL(PSIO,DELO,BETA(i),IARBO);
        end
        plot(BETA,xDEL, ...
            'DisplayName',['Solar Z_0 = ' num2str(DELO) '\circ']);
        hold on;
        ylim([0 90]); xlim([0 35]);
        xlabel('\beta [deg]'); ylabel('Solar Zenith at this \beta [deg]');
        title(['\Delta \phi LOS \rightarrow Sun = ' num2str(PSIO) '\circ']);
        set(gca,'fontsize',14,'fontweight','bold');
    end
    if (j == 4)
        k = legend('location','southeast');
        k.FontSize = 9;
    end
    j = j + 1;
end

%% *source zenith angle at points along a line-of-sight*
j = 1;
figure('color','white','units','pixels','position',[200 150 1000 800]);
for PSIO = 0:60:180  % (deg) azimuth subtended between LOS and line to Sun
    subplot(2,2,j);
    IARBO = 0; % not a special case
    for DELO = 5:5:45 % (deg) Sun's zernith
        BETA = 1:34; % (deg) Earth center angle along the LOS
        xPSI = zeros(size(BETA));
        for i = 1:numel(BETA)
            [xPSI(i),~] = PSI(PSIO,DELO,BETA(i),IARBO);
        end
        plot(BETA,xPSI, ...
            'DisplayName',['Solar Z_0 = ' num2str(DELO) '\circ']);
        hold on;
        xlim([0 35]); ylim([0 180]); set(gca,'ytick',[0 30 60 90 120 150 180]);
        xlabel('\beta [deg]'); ylabel('Solar Zenith at this \beta [deg]');
        title(['\Delta \phi LOS \rightarrow Sun = ' num2str(PSIO) '\circ']);
        set(gca,'fontsize',14,'fontweight','bold');
    end
    if (j == 4)
        k = legend('location','southeast');
        k.FontSize = 9;
    end
    j = j + 1;
end


%% *solar scattering*
%  for the inputs chosen, the plots look the same as the zenith at path pt
%  above
IARB = 0;
j = 1;
figure('color','white','units','pixels','position',[200 150 1000 800]);
for PSI = 0:60:180  % (deg) azimuth subtended between LOS and line to Sun
    subplot(2,2,j);
    IARBO = 0; % not a special case
    for SOURCEZEN = 5:5:45 % (deg) Source zernith
        
        PTHZEN = 0:90; % (deg) Path Zenisty
        xSCTANG = zeros(size(PTHZEN));
        for i = 1:numel(PTHZEN)
            [xSCTANG(i)] = SCTANG(SOURCEZEN,PTHZEN(i),PSI,IARB);
        end
        plot(PTHZEN,xSCTANG, ...
            'DisplayName',['Solar Z_0 = ' num2str(SOURCEZEN) '\circ']);
        hold on;
        ylim([0 90]); xlim([0 35]);
        xlabel('Path Zenith [deg]'); ylabel('Scattering Angle [deg]');
        title(['\Delta \phi LOS \rightarrow Sun = ' num2str(PSI) '\circ']);
        set(gca,'fontsize',14,'fontweight','bold');
    end

📃3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]Meg Noah (2022). LOWTRAN7 Sun and Moon Models.

📋4 Matlab代码及文章阅读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/13197.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于分时电价策略的家庭能量系统优化附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

《计算机导论》课程学习笔记

目录 第一章认识计算机 1.1计算思维概述 1.2冯诺依曼体系结构 1.3计算机硬件组成 1.4计算机软件 1.5计算机操作系统 第一章认识计算机 1.1计算思维概述 1.计算思维能力概念 计算思维能力的核心是问题求解能力。 发现问题寻求解决问题的思路分析比较不同的方案验证方案…

47、Docker 安装 ElasticSearch、Kibana、IK分词器

1、docker hub查看pull命令 2、Docker 安装 ElasticSearch docker run -d \ --name es \ -e "ES_JAVA_OPTS-Xms512m -Xmx512m" \ -e "discovery.typesingle-node" \ -v es-data:/usr/share/elasticsearch/data \ -v es-plugins:/usr/share/elasticsearch/p…

微信小程序云开发入门详细教程

微信小程序云开发 介绍: 微信云开发是微信团队联合腾讯云推出的专业的小程序开发服务。 开发者可以使用云开发快速开发小程序、小游戏、公众号网页等,并且原生打通微信开放能力。 开发者无需搭建服务器,可免鉴权直接使用平台提供的 API 进行…

ly-tab插件报错

根据三方文档进行配置后一直报错,搞不懂因为啥,也查不到原因,头都大了,后来开始怀疑是版本问题,进行检查后发现安装的是最新版而三方文档是2.0版本(果然是版本差异问题) 解决办法一 将package.…

如何成为一个全栈数字化设计师

一个全栈的数字设计师需要懂业务、懂工具、还需要能处理协调部门之间的复杂协同。Ricky就是这样一个全栈数字设计师,在一个省属投资平台担任财务负责人的他,上周的直播分享了如何利用自动化工具,协助企业内部实现经营管理自动化的最佳实践。如…

Spring Framework6.0 发布了GA版,期待已久的新特性功能一览

全球最大的同性社交网站Github上,Spring Framework 6.0 正式发布GA。 Spring Framework 6.0 中的新特性 JDK 17 和 Jakarta EE 9 基线 整个框架代码库现在基于 Java 17 源代码级别。从 迁移javax到jakartaServlet、JPA 等命名空间与 Jakarta EE 9 和 Jakarta EE 1…

IPWorks SFTP Delphi版—组件消耗的资源

IPWorks SFTP Delphi版—组件消耗的资源 一个轻量级高效的SFTP客户端组件,支持强大的SSH 2.0加密和高级加密。 IPWorks SFTP帮助开发人员快速构建安全的文件传输应用程序。它为一个成熟的SFTP客户端提供了一个简单易用的API,开发人员可以使用它将SFTP支持…

【二叉树的存储及遍历】

目录树的基本知识树的定义树的基本概念二叉树的性质二叉树的存储表示顺序存储(数组存储)链式表示二叉链表的静态结构(静态存储)结构体设计二叉树的遍历遍历思路代码树的基本知识 树的定义 树是由n(n>0&#xff09…

通用后台管理系统前端界面Ⅴ——axios使用与封装、配置路由和路由懒加载

axios使用与封装 1、下载axios npm i -S axios 2、在 main.js导入使用axios,因为是用的比较多,所以采用的是全局引入,挂载到原型的方式 import axios from axios Vue.prototype.axios axios // 挂载到原型,可在全局使用 配置路由 1、下载…

某30m小箱梁渠桥结构计算与施工图设计

目录 1、设计资料 1 1.1桥面净宽 1 1.2设计荷载 1 1.3主梁跨径和全长 1 1.4材料 1 1.5设计依据 1 1.6参考资料 1 2、任务与要求 1 2.1结构尺寸拟定 1 2.2行车道板计算 1 2.3主梁计算 1 2.4横梁的计算 2 3、结构尺寸拟定 2 4、 行车道板计算 3 4.1永久荷载及其效应 3 4.2截面设计…

Redis哨兵模式

什么是哨兵模式哨兵模式是Redis高可用的解决方案,使用Sentinel(哨兵)监控Redis集群中全部节点的运行状态,当主节点服务宕机后,会从当前主节点下的从节点中选一个节点作为新的主节点,继续为用户提供服务。当原主节点重新启动后&…

个人博客类网站为什么更适合虚拟主机?

对于各位站长来说,建立网站有多种主机选项可以选择,比如,虚拟主机、云主机,物理机等。那么为什么说个人博客类网站更适合选用虚拟主机而不是其他类型的主机呢? 个人博客类网站更适合虚拟主机的理由: 首先,…

基于STM32结合CubeMX学习Free-RT-OS的源码之两类中断解析

目录 认识 常见的中断应用场景 进入与退出临界区(开中断与关中断) Free RTOS的systick中断 和 PendSV中断。 Cortex-M3/4的工作模式以及双堆栈指针MSP和PSP(CPU与OS的相辅相成与互相成就) 为什么要引入这两种工作状态? 为什么…

Debian Linux 的安装

Debian Linux 的安装 作者:Grey 原文地址: 博客园:Debian Linux 的安装 CSDN:Debian Linux 的安装 说明 本安装说明是基于 Windows 10 下 VMware workstation 16 安装 Linux,Linux 版本是 Debian 11,需…

K8s集群环境搭建

K8s集群环境搭建 修改hosts文件 [rootmaster ~]# vim /etc/hosts [rootmaster ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.…

TCO点击试剂(4E)-TCO-PEG4-amine, 2243569-24-4,反式环辛烯-四聚乙二醇-氨基

【产品描述】 (4E)-反式环辛烯-四聚乙二醇-氨基,胺与活性NHS酯或在活化剂suh(如EDC)存在下与羧酸非常反应,TCO部分使四嗪分子实现快速点击化学。亲水性PEG间隔臂提高了水溶性,并提供了一个长而灵活的连接。西安凯新生物…

软件测试的几种模型

1.V模型 在软件测试方面,V模型是最广为人知的模型。如图,V模型从左到右描述了开发过程和测试行为。V模型的价值在于它非常明确的表明了测试过程中存在的不同级别,并且清楚的描述了这些测试阶段和开发过程各阶段的对应关系。缺点:把…

Selenium基础 — POM设计模式(一)

(一)POM模式介绍 1、什么是POM? POM是Page Object Model页面对象模型的简称。 POM是为Web UI元素创建Object Repository的设计模式 。 在这个模型下,对于应用程序中的每个网页,应该有相应的页面类。 此Page类将会找到…

ES新特性与TypeScript、JS性能优化

一、ECMAScript 新特性 1、作用域 1、全局作用域 2、函数作用域 3、块级作用域2、var、let和const的区别 1、let和var用来声明变量,const用来声明常量(变量就是赋值后可以改变它的值,常量就是赋值后就不能改变它的值) 2、const…