nlteparams_h.F90

路径

LMDZ.MARS\libf\phymars\nlteparams_h.F90

所属目录 / 模块

libf/phymars

文件定位

nlteparams_h.F90 定义 nlteparams_h 模块,集中保存 LTE 长波辐射与 NLTE 冷却倾向之间过渡所需的 4 个编译期常量。它不属于 nlte_paramdef_h 的快速 NLTE 谱线/网格参数集合;本文件只服务于 blendrad.Fnlthermeq.F 的过渡层控制。

下游路径很直接:blendrad 读取 ptranszwi,用 alpha = 1/(1+(pplay/ptrans)**zwi) 在 LTE 倾向与 NLTE 倾向之间平滑加权;nlthermeq.F 读取 ptranszwpminte,决定 LTE 辐射方案至少要计算到哪一层,并在首次调用时打印这些参数。

定义的符号

符号 类型 行号 作用
nlteparams_h module 1 LTE/NLTE 辐射倾向过渡参数模块。
ptrans real parameter 10 过渡中心压强,固定为 0.1 Pa
zw real parameter 12 过渡半宽,固定为 0.5 个标高。
pminte real parameter 14 LTE 长波辐射至少应计算到的压强上限,定义为 0.4*ptrans,即 0.04 Pa
zwi real parameter 18 blendrad 使用的过渡指数,定义为 2./zw,当前为 4.0

依赖的模块

use 模块 only 列表 用途 待确认
- 本文件只定义 parameter 常量,不依赖其他 module。

调用的关键例程

被调用例程 所在模块 / 文件 调用位置 作用
- - 本文件没有 contains,不定义也不调用可执行例程。

输入

输入 来源 类型 / 维度 单位 含义
无运行时输入 源码字面常量 real,parameter Pa / 标高 常量在编译期固定。

输出

输出 去向 类型 / 维度 单位 含义
ptrans blendrad.F, nlthermeq.F scalar real parameter Pa LTE/NLTE 过渡中心;blendradpplay=ptrans 时得到 alpha=0.5
zw nlthermeq.F scalar real parameter scale heights 首次调用诊断输出中的过渡半宽。
pminte nlthermeq.F scalar real parameter Pa 搜索 nlaylte 的阈值;源码注释说明 LTE 至少计算到该压强。
zwi blendrad.F scalar real parameter 1 / scale heights 过渡权重公式中的指数,等于 2/zw

共享状态与副作用

核心逻辑

  1. 编译时建立 nlteparams_h 模块。
  2. 固定过渡中心压强 ptrans=0.1 Pa
  3. 固定半宽 zw=0.5 个标高。
  4. ptrans 派生 pminte=0.4*ptrans,供 nlthermeq 找到 LTE 计算至少覆盖到的层。
  5. zw 派生 zwi=2./zw,供 blendradtanh 型过渡写成压强幂函数。

伪代码

module nlteparams_h:
  ptrans = 0.1 Pa
  zw = 0.5 scale heights
  pminte = 0.4 * ptrans
  zwi = 2 / zw

blendrad:
  alpha = 1 / (1 + (pplay / ptrans) ** zwi)
  dtrad = (1-alpha) * LTE + NIR_CO2 + alpha * NLTE

nlthermeq:
  find nlaylte from the highest-pressure reference column
  stop scanning when pplay(igpmax,nlaylte) > pminte

参与的主题流程

主题 参与方式
LTE/NLTE 辐射过渡 提供过渡中心、半宽和 LTE 覆盖阈值。
辐射倾向合成 blendrad 使用 ptrans/zwi 计算 alpha,把 zdtsw+zdtlw 逐渐切换到 zdtnlte
长波 LTE 覆盖层选择 nlthermeq 使用 pminte 确定 yomlw_h::nlaylte,保证 LTE 方案覆盖到过渡层以上。

写法特点

复现要点

待确认

相关页面