swr_toon.F

路径

LMDZ.MARS\libf\phymars\swr_toon.F

所属目录 / 模块

libf/phymars

文件定位

swr_toon.F 定义 Toon 短波连续散射方案。swmain_mod.Fswrtype=2 时调用 SWR_TOON。该例程与 Fouquart 路径共享 aerosol 光学量合成、cvmgt 归一化保护和可选 swrayleigh Rayleigh 合并,但后续不走 Fouquart 多层反射/透过率递推,而是逐列调用内部 GFLUXV,用 delta-Eddington 修正和 Meador-Weaver two-stream 形式求解上下短波通量。

定义的符号

符号 类型 行号 作用
swr_toon_mod module 1 封装 Toon 短波散射例程和内部 two-stream 求解器。
SWR_TOON subroutine 7 合成层光学参数,并调用 GFLUXV 得到谱段上下通量。
GFLUXV subroutine 218 对单列层光学量求解上下可见光通量。

依赖的模块

use 模块 only 列表 用途 待确认
dimradmars_mod sunfr, ndlo2, nsun, nflev, ndlon, naerkind 数组维度和谱段太阳能量份额。 -
yomlw_h nlaylte 辐射垂直层数。 -
callkeys_mod rayleigh 控制是否合入 Rayleigh 散射。 -
swrayleigh_mod swrayleigh 计算 Rayleigh 柱光学厚度。 -
cvmgt_mod cvmgt aerosol 光学量归一化除零保护。 -

调用的关键例程

被调用例程 所在模块 / 文件 调用位置 作用
cvmgt cvmgt.F 行 140-143 ZPIZAZZTAUAZ 为零时给默认散射参数。
swrayleigh swrayleigh.F 行 152 计算 Rayleigh 柱光学厚度。
GFLUXV 本文件 行 186-189 对单列求解 two-stream 上下通量。
DSOLVER 本文件内部后续例程 GFLUXV 求解三对角线性系统。

输入

输入 来源 类型 / 维度 单位 含义
KDLON, KFLEV, KNU swmain_mod.F integer - 当前列数、层数和太阳谱段编号。
aerosol, QVISsQREF3d, omegaVIS3d, gVIS3d 光学表 / aerosol 场 arrays mixed aerosol 光学厚度、谱段比例、单散射反照率和不对称因子。
albedo, PDSIG, PPSOL, PRMU, PSEC swmain_mod.F arrays mixed 地表反照率、sigma 层厚、地表压、太阳天顶角余弦及其倒数。

输出

输出 去向 类型 / 维度 单位 含义
PFD swmain_mod.F real (NDLO2,KFLEV+1) normalized flux 谱段向下短波通量。
PFU swmain_mod.F real (NDLO2,KFLEV+1) normalized flux 谱段向上短波通量。

共享状态与副作用

本例程不写 module 状态,也不做文件 I/O。GFLUXV 使用自动数组 2*NAYER,替代旧固定 NL=201 写法以避免垂直层数过多时越界。

核心逻辑

  1. 按层、列和 aerosol 种类累加谱段光学厚度、散射光学厚度和不对称因子贡献。
  2. cvmgt 归一化 ZCGAZZPIZAZ
  3. rayleigh 开启,调用 swrayleigh,按 PDSIG 把 Rayleigh 光学厚度合入层散射参数。
  4. 对每个水平列,把层序翻转为 GFLUXV 需要的自顶向下数组 DTDEL/WDEL/CDEL
  5. GFLUXV 执行 delta function 修正、delta-Eddington 系数计算、三对角系统求解,并输出 FP/FM
  6. 用顶层向下通量 FM(1) 归一化,把 FP/FM 转回 PFU/PFD,并乘谱段太阳份额 sunfr(KNU)

伪代码

build total aerosol optical properties
if rayleigh:
    add Rayleigh optical depth into layer optical properties
for each column:
    reverse layer order into DTDEL, WDEL, CDEL
    call GFLUXV(...)
    normalize by top downward flux
    write PFU/PFD for all interfaces

参与的主题流程

主题 参与方式
短波辐射 swmain_modswrtype=2 时调用本例程。
aerosol 辐射 各 aerosol 种类的可见光光学性质决定层 two-stream 输入。
Rayleigh 散射 rayleigh 开关控制是否加入气体散射。

写法特点

复现要点

待确认

相关页面