ModTran 使用教程

因此幻想是世界,谁若懂得,谁就会歌唱   主页 / Home     归档 / Archives     友链 / Friends     订阅 / RSS     关于 / About   文章安装运行仿真加载模型设置参数运行仿真查看结果结果分析能见度条件对比算法对比评论

ModTran 使用教程

日期:2024/6/30 标签: MODTRAN 大气辐射传输 仿真

MODTRAN (MODerate resolution atmospheric TRANsmission) 是一个大气辐射传输仿真软件。下面,我们将介绍如何在 Windows 11 上安装和使用 PcModWin 4.0 完成一次基本的仿真流程。

安装

在 Windows 11 上直接运行安装程序,会没有任何反应。

推荐使用 Sandboxie-Plus。

安装过程全部默认 Next > 即可,默认会安装到 C:\PcModWin40\Usr。

运行

在沙盒中运行:

运行 PcModWin运行 PcModWin

仿真

加载模型

加载默认模型,点击 File > Open,选择 CaseM01.ltn 即可。

设置参数

点击 Card1_input 可以设置参数。

Info: Standard Atmosphere

6 种标准大气模式是美国空军地球物理实验室(AFGL)建立的较全面反映大气随地理和季节变化特性的参数模式:

1976 年美国标准大气(US Standard Atmosphere 1976) 热带(Tropic) 中纬度夏季(Mid-latitude Summer) 中纬度冬季(Mid-latitude Winter) 近北极夏季(Sub-arctic Summer) 近北极冬季(Sub-aratic Winter)

第一页调整模型的大气参数。比如,可以设置大气模式为 6 种标准大气模式中的一种。

第二页默认即可。

第三页设置散射算法,默认为 ModTran 2。调整为 Distort 可以设置为 x 流近似。

scatteringscattering Disort 注意事项如果你使用 Disort,推荐设置为 16 流,其他在 Windows 11 上可能无法运行。此外,仿真时命令行可能会多次卡住,此时按下 Ctrl + C 即可。

第四页设置表面参数,默认即可。

第五页设置太阳辐射参数,默认即可。

Info: Aerosol

大气气溶胶粒子是指在大气中悬浮着的各种固态、液态和固液混合态的微粒,其粒径一般为 μm。气溶胶粒子既有海洋溅沫、土壤和矿物质、生物圈以及火山活动自然形成的,也有化石燃料和生物质燃烧、工农业生产等人类活动产生的。

第六页设置气溶胶参数。第一项 Aerosol Model Used 可以设置能见度,比如 23 km 和 5 km。

第七页设置几何和光谱参数。比较重要的:

geometrygeometry 观测的天顶角(Zenith Angle / deg):默认为 180,即垂直向下。 初始频率(Initial Frequency):默认为 1/cm。可以根据波长设置。这里我们将第二个输入框设置为 0.4 (um)。频率和后面的 nm 单位会自动计算。 最终频率(Final Frequency):默认为 1/cm。可以根据波长设置。这里我们将第二个输入框设置为 0.8 (um)。频率和后面的 nm 单位会自动计算。 频率间隔(Frequency Increment):默认为 1/cm。可以根据波长设置。这里我们将第一个输入框设置为 10。

第八页设置日月参数,可以更改太阳天顶角(Solar Zenith Angle / deg),默认为 60。

运行仿真

点击 Run Model > Run Modtran 即可开始仿真。

查看结果

结果分析

我们需要手动找到输出的数据。右键所用的沙盒,点击「沙盒内容」>「浏览内容」,找到 drive\C\PcModWin40\Bin,用编辑器打开。

在第 11 行开始,会有如下的 tsv 输出:

FREQ TOT TRANS PTH THRML THRML SCT SURF EMIS SOL SCAT SING SCAT GRND RFLT DRCT RFLT TOTAL RAD REF SOL SOL@OBS DEPTH 12485. 0.40669635 5.1623E-28 4.7701E-28 1.4701E-07 2.9647E-08 9.8148E-08 3.3511E-08 2.4516E-07 5.26E-07 7.54E-06 0.900 12486. 0.47100717 5.4052E-28 5.4983E-28 2.2607E-07 3.5646E-08 1.5537E-07 5.0319E-08 3.8144E-07 7.90E-07 7.54E-06 0.753 12487. 0.47655550 5.4059E-28 5.5366E-28 2.3468E-07 3.6231E-08 1.6162E-07 5.2165E-08 3.9630E-07 8.19E-07 7.55E-06 0.741 12488. 0.47596380 5.3800E-28 5.5035E-28 2.3393E-07 3.6187E-08 1.6103E-07 5.1985E-08 3.9496E-07 8.16E-07 7.55E-06 0.742 12489. 0.46592516 5.2978E-28 5.3619E-28 2.1901E-07 3.5155E-08 1.5018E-07 4.8770E-08 3.6919E-07 7.65E-07 7.55E-06 0.764 12490. 0.47586975 5.3306E-28 5.4504E-28 2.3351E-07 3.6124E-08 1.6068E-07 5.1857E-08 3.9419E-07 8.14E-07 7.54E-06 0.743 12491. 0.46820295 5.2572E-28 5.3372E-28 2.2171E-07 3.5269E-08 1.5213E-07 4.9327E-08 3.7384E-07 7.74E-07 7.52E-06 0.759 12492. 0.47614878 5.2802E-28 5.4020E-28 2.3277E-07 3.5963E-08 1.6012E-07 5.1650E-08 3.9290E-07 8.11E-07 7.50E-06 0.742 12493. 0.47661918 5.2566E-28 5.3817E-28 2.3235E-07 3.5826E-08 1.5985E-07 5.1545E-08 3.9221E-07 8.09E-07 7.46E-06 0.741 12494. 0.47313675 5.2128E-28 5.3171E-28 2.2564E-07 3.5235E-08 1.5500E-07 5.0064E-08 3.8064E-07 7.86E-07 7.40E-06 0.748 12495. 0.46910751 5.1711E-28 5.2468E-28 2.1801E-07 3.4557E-08 1.4947E-07 4.8385E-08 3.6747E-07 7.59E-07 7.34E-06 0.757 12496. 0.42784721 4.9749E-28 4.7626E-28 1.6438E-07 3.0650E-08 1.1183E-07 3.8096E-08 2.7620E-07 5.98E-07 7.27E-06 0.849 12497. 0.47309175 5.1486E-28 5.2413E-28 2.2053E-07 3.4448E-08 1.5135E-07 4.8866E-08 3.7188E-07 7.67E-07 7.23E-06 0.748 12498. 0.46997952 5.1041E-28 5.1821E-28 2.1572E-07 3.4069E-08 1.4786E-07 4.7810E-08 3.6358E-07 7.50E-07 7.22E-06 0.755 12499. 0.44197509 4.9391E-28 4.8502E-28 1.7983E-07 3.1514E-08 1.2214E-07 4.0420E-08 3.0197E-07 6.34E-07 7.23E-06 0.817

这里的数据是在不同频率时的仿真结果。你可以使用你喜欢的工具分析。注意这个输出的格式不是 tsv 之类的,需要你稍微手动编辑一下。

下面是一些例子:

能见度条件对比

23 km 能见度与 5 km 能见度相比,总透射辐亮度明显更高,总辐亮度略高于后者。这是因为能见度越高,光子与大气中气溶胶和气体相互作用的次数越少,光子的传播距离越远,总辐亮度越高。

总透射辐亮度与频率的关系总透射辐亮度与频率的关系 总辐亮度与频率的关系总辐亮度与频率的关系

算法对比

MODTRAN 2 算法使用原始 Isaacs 双流算法,而 DISORT 算法使用离散纵坐标近似。对于总投射辐亮度,使用 DISORT 16 流近似和 MODTRAN 2 算法的结果近似,后者给出的结果的准确度更高。对于总辐亮度,使用 16 流近似的结果更正确。

总透射辐亮度与频率的关系总透射辐亮度与频率的关系 总辐亮度与频率的关系总辐亮度与频率的关系 mjx-container[jax="CHTML"] { line-height: 0; } mjx-container [space="1"] { margin-left: .111em; } mjx-container [space="2"] { margin-left: .167em; } mjx-container [space="3"] { margin-left: .222em; } mjx-container [space="4"] { margin-left: .278em; } mjx-container [space="5"] { margin-left: .333em; } mjx-container [rspace="1"] { margin-right: .111em; } mjx-container [rspace="2"] { margin-right: .167em; } mjx-container [rspace="3"] { margin-right: .222em; } mjx-container [rspace="4"] { margin-right: .278em; } mjx-container [rspace="5"] { margin-right: .333em; } mjx-container [size="s"] { font-size: 70.7%; } mjx-container [size="ss"] { font-size: 50%; } mjx-container [size="Tn"] { font-size: 60%; } mjx-container [size="sm"] { font-size: 85%; } mjx-container [size="lg"] { font-size: 120%; } mjx-container [size="Lg"] { font-size: 144%; } mjx-container [size="LG"] { font-size: 173%; } mjx-container [size="hg"] { font-size: 207%; } mjx-container [size="HG"] { font-size: 249%; } mjx-container [width="full"] { width: 100%; } mjx-box { display: inline-block; } mjx-block { display: block; } mjx-itable { display: inline-table; } mjx-row { display: table-row; } mjx-row > * { display: table-cell; } mjx-mtext { display: inline-block; } mjx-mstyle { display: inline-block; } mjx-merror { display: inline-block; color: red; background-color: yellow; } mjx-mphantom { visibility: hidden; } _::-webkit-full-page-media, _:future, :root mjx-container { will-change: opacity; } mjx-math { display: inline-block; text-align: left; line-height: 0; text-indent: 0; font-style: normal; font-weight: normal; font-size: 100%; font-size-adjust: none; letter-spacing: normal; border-collapse: collapse; word-wrap: normal; word-spacing: normal; white-space: nowrap; direction: ltr; padding: 1px 0; } mjx-container[jax="CHTML"][display="true"] { display: block; text-align: center; margin: 1em 0; } mjx-container[jax="CHTML"][display="true"][width="full"] { display: flex; } mjx-container[jax="CHTML"][display="true"] mjx-math { padding: 0; } mjx-container[jax="CHTML"][justify="left"] { text-align: left; } mjx-container[jax="CHTML"][justify="right"] { text-align: right; } mjx-mn { display: inline-block; text-align: left; } mjx-c { display: inline-block; } mjx-utext { display: inline-block; padding: .75em 0 .2em 0; } mjx-mo { display: inline-block; text-align: left; } mjx-stretchy-h { display: inline-table; width: 100%; } mjx-stretchy-h > * { display: table-cell; width: 0; } mjx-stretchy-h > * > mjx-c { display: inline-block; transform: scalex(1.0000001); } mjx-stretchy-h > * > mjx-c::before { display: inline-block; width: initial; } mjx-stretchy-h > mjx-ext { /* IE */ overflow: hidden; /* others */ overflow: clip visible; width: 100%; } mjx-stretchy-h > mjx-ext > mjx-c::before { transform: scalex(500); } mjx-stretchy-h > mjx-ext > mjx-c { width: 0; } mjx-stretchy-h > mjx-beg > mjx-c { margin-right: -.1em; } mjx-stretchy-h > mjx-end > mjx-c { margin-left: -.1em; } mjx-stretchy-v { display: inline-block; } mjx-stretchy-v > * { display: block; } mjx-stretchy-v > mjx-beg { height: 0; } mjx-stretchy-v > mjx-end > mjx-c { display: block; } mjx-stretchy-v > * > mjx-c { transform: scaley(1.0000001); transform-origin: left center; overflow: hidden; } mjx-stretchy-v > mjx-ext { display: block; height: 100%; box-sizing: border-box; border: 0px solid transparent; /* IE */ overflow: hidden; /* others */ overflow: visible clip; } mjx-stretchy-v > mjx-ext > mjx-c::before { width: initial; box-sizing: border-box; } mjx-stretchy-v > mjx-ext > mjx-c { transform: scaleY(500) translateY(.075em); overflow: visible; } mjx-mark { display: inline-block; height: 0px; } mjx-c::before { display: block; width: 0; } .MJX-TEX { font-family: MJXZERO, MJXTEX; } .TEX-B { font-family: MJXZERO, MJXTEX-B; } .TEX-I { font-family: MJXZERO, MJXTEX-I; } .TEX-MI { font-family: MJXZERO, MJXTEX-MI; } .TEX-BI { font-family: MJXZERO, MJXTEX-BI; } .TEX-S1 { font-family: MJXZERO, MJXTEX-S1; } .TEX-S2 { font-family: MJXZERO, MJXTEX-S2; } .TEX-S3 { font-family: MJXZERO, MJXTEX-S3; } .TEX-S4 { font-family: MJXZERO, MJXTEX-S4; } .TEX-A { font-family: MJXZERO, MJXTEX-A; } .TEX-C { font-family: MJXZERO, MJXTEX-C; } .TEX-CB { font-family: MJXZERO, MJXTEX-CB; } .TEX-FR { font-family: MJXZERO, MJXTEX-FR; } .TEX-FRB { font-family: MJXZERO, MJXTEX-FRB; } .TEX-SS { font-family: MJXZERO, MJXTEX-SS; } .TEX-SSB { font-family: MJXZERO, MJXTEX-SSB; } .TEX-SSI { font-family: MJXZERO, MJXTEX-SSI; } .TEX-SC { font-family: MJXZERO, MJXTEX-SC; } .TEX-T { font-family: MJXZERO, MJXTEX-T; } .TEX-V { font-family: MJXZERO, MJXTEX-V; } .TEX-VB { font-family: MJXZERO, MJXTEX-VB; } mjx-stretchy-v mjx-c, mjx-stretchy-h mjx-c { font-family: MJXZERO, MJXTEX-S1, MJXTEX-S4, MJXTEX, MJXTEX-A ! important; } @font-face /* 0 */ { font-family: MJXZERO; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Zero.woff") format("woff"); } @font-face /* 1 */ { font-family: MJXTEX; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff") format("woff"); } @font-face /* 2 */ { font-family: MJXTEX-B; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff") format("woff"); } @font-face /* 3 */ { font-family: MJXTEX-I; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff") format("woff"); } @font-face /* 4 */ { font-family: MJXTEX-MI; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff") format("woff"); } @font-face /* 5 */ { font-family: MJXTEX-BI; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff") format("woff"); } @font-face /* 6 */ { font-family: MJXTEX-S1; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff") format("woff"); } @font-face /* 7 */ { font-family: MJXTEX-S2; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff") format("woff"); } @font-face /* 8 */ { font-family: MJXTEX-S3; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff") format("woff"); } @font-face /* 9 */ { font-family: MJXTEX-S4; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff") format("woff"); } @font-face /* 10 */ { font-family: MJXTEX-A; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff") format("woff"); } @font-face /* 11 */ { font-family: MJXTEX-C; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff") format("woff"); } @font-face /* 12 */ { font-family: MJXTEX-CB; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff") format("woff"); } @font-face /* 13 */ { font-family: MJXTEX-FR; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff") format("woff"); } @font-face /* 14 */ { font-family: MJXTEX-FRB; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff") format("woff"); } @font-face /* 15 */ { font-family: MJXTEX-SS; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff") format("woff"); } @font-face /* 16 */ { font-family: MJXTEX-SSB; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff") format("woff"); } @font-face /* 17 */ { font-family: MJXTEX-SSI; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff") format("woff"); } @font-face /* 18 */ { font-family: MJXTEX-SC; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff") format("woff"); } @font-face /* 19 */ { font-family: MJXTEX-T; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff") format("woff"); } @font-face /* 20 */ { font-family: MJXTEX-V; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff") format("woff"); } @font-face /* 21 */ { font-family: MJXTEX-VB; src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff") format("woff"); } mjx-c.mjx-c30::before { padding: 0.666em 0.5em 0.022em 0; content: "0"; } mjx-c.mjx-c2E::before { padding: 0.12em 0.278em 0 0; content: "."; } mjx-c.mjx-c31::before { padding: 0.666em 0.5em 0 0; content: "1"; } mjx-c.mjx-c223C::before { padding: 0.367em 0.778em 0 0; content: "\223C"; }

本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议(CC BY-NC 4.0 International) 进行许可。阁下可自由地共享(复制、发行)和演绎(修改、转换或二次创作)本作品,唯须遵守许可协议条款。

Comments

评论

昵称 * Email * 留言 * Slug 发送 评论将在审核后显示,阁下可以在本博客的 Github 仓库的 拉取请求列表 中查看。
本表单无 JavaScript,请勿重复提交。
* { box-sizing: border-box; } body { color-scheme: light; background: #ddd !important; } section#comments { margin-block: 1em; margin-inline: auto; box-sizing: content-box; max-width: min(754px, 100%); } main#theme { display: flex; gap: 1em; max-width: min(100%, 1050px); margin: 0 auto; } div#common { flex: 1 1 auto; } aside#toc { position: sticky; align-self: flex-start; top: 0; padding-top: 1em; overflow-y: auto; flex: 1 0 200px; & > ul { min-width: 200px; } } @media (max-width: 915px) { main#theme { flex-direction: column; } aside#toc { align-self: unset; position: unset; margin: 10px; box-sizing: border-box; } } @media (min-width: 1200px) { main#theme { transform: translateX(-5em); } }

文章来源:

Author:ᡥᠠᡳᡤᡳᠶᠠ ᡥᠠᠯᠠ·ᠨᡝᡴᠣ 猫
link:https://blog.xinshijiededa.men/modtran/