sig_h2o.F90

路径

LMDZ.MARS\libf\phymars\sig_h2o.F90

所属目录 / 模块

libf\phymars

文件定位

sig_h2o.F90 定义 sig_h2o_mod 模块和 sig_h2o(t) 函数,用一个温度线性公式返回水冰与空气之间的表面张力。它本身不更新云微物理状态,而是被水冰云成核与冰晶增长公式读取:nuclea 用它计算临界胚胎半径 rstar 和形成能垒 fistarimprovedclouds 用它计算 Kelvin 平衡饱和修正 seq

定义的符号

符号 类型 行号 作用
sig_h2o_mod module 1 水冰表面张力辅助模块。
sig_h2o double precision function 8 按温度 t 返回水冰-空气表面张力。

依赖的模块

use 模块 only 列表 用途 待确认
- - 本文件没有 use 依赖。 -

调用的关键例程

被调用例程 所在模块 / 来源 调用位置 作用
dble Fortran intrinsic 16 把 real 输入温度转换为双精度后进入线性公式。

下游调用点

调用方 源码位置 用途
nuclea.F use sig_h2o_mod 在 12 行;调用在 119、141 行 在水冰异质成核率计算中,表面张力进入临界胚胎半径 rstar = 2*sig_h2o(temp)*vo1/(rgp*temp*log(sat)) 和形成能垒 fistar
improvedclouds_mod.F90 use sig_h2o_mod 在 21 行;调用在 324 行 在冰晶增长分支中计算 Kelvin 修正 seq = exp(2*sig_h2o(T)*mh2o/(rho_ice*rgp*T*max(rice,1.e-7))),再进入隐式 dMice 公式。

输入

输入 来源 类型 / 维度 单位 含义
t 调用方 real scalar K 水冰微物理当前位置的温度。

输出

输出 去向 类型 / 维度 单位 含义
sig_h2o 调用方 double precision scalar N m-1 水冰与空气之间的表面张力。源码注释写作 N.m,公式量纲按表面张力应理解为 N/m

公式

sig_h2o(t) = (141. - 0.15*dble(t)) * 1.e-3

在常见火星水冰云温度范围内,该公式随温度升高线性降低表面张力。例如 t=180 K 时结果约为 0.114 N/mt=220 K 时结果约为 0.108 N/m

共享状态与副作用

核心逻辑

  1. 接收单精度实数温度 t
  2. dble(t) 转为双精度。
  3. 代入 (141 - 0.15*T)*1e-3
  4. 以双精度函数值返回。

伪代码

function sig_h2o(t):
    return (141.0 - 0.15 * double(t)) * 1.0e-3

参与的主题流程

主题 参与方式
水冰异质成核 nuclea 通过 sig_h2o(temp) 改变临界胚胎半径和成核能垒,进而改变 dust 到 CCN 的激活率。
水冰晶增长 / 升华 improvedclouds 通过 seq 的 Kelvin 修正改变小冰粒平衡饱和,影响 dMice 的正负和大小。
水循环微物理可复现性 该函数是成核和增长两段共享的表面张力入口,改公式会同时影响成核率和冰晶增长。

写法特点

复现要点

待确认

相关页面