饱和、压力层、坐标和日期 helper 组页
输入范围
LMDZ.COMMON-6.3\LMDZ.COMMON\libf\misc\q_sat.F
LMDZ.COMMON-6.3\LMDZ.COMMON\libf\misc\pres2lev_mod.F90
LMDZ.COMMON-6.3\LMDZ.COMMON\libf\misc\formcoord.F
LMDZ.COMMON-6.3\LMDZ.COMMON\libf\misc\juldate.F
Mars 运行参与度:条件经过。COMMON guide/nudging 调用 q_sat 和 pres2lev;GrADS 输出路径调用 formcoord;Mars 1D 或工具程序可使用日期/坐标 helper。
文件清单
| 文件 | 行数 | 例程 | 作用 |
|---|---|---|---|
q_sat.F |
73 | q_sat(np,temp,pres,qsat) |
由温度和压力计算饱和比湿。 |
pres2lev_mod.F90 |
79 | pres2lev |
把旧压力层上的变量插值到新压力层。 |
formcoord.F |
54 | formcoord |
写 GrADS ctl 的 XDEF/YDEF/ZDEF 坐标行。 |
juldate.F |
39 | juldate |
年月日时分秒到 Julian date 和秒。 |
q_sat
q_sat 对每个点计算:
- 由
temp和常数r2es/r3es/r4es/rtt计算饱和水汽压比值。 - 用
pres(ip)转为混合比近似。 - 将中间
zqsat上限限制为 0.5。 - 用
zqsat/(1-retv*zqsat)转换为最终qsat。
COMMON guide_mod 和 guide_p_mod 在湿度 nudging/相对湿度处理时调用该例程。 更完整的 guide 调用上下文见 guide_mod、guide_p_mod 和 guide 压力层插值和 nudging 系数。
pres2lev
pres2lev(varo,varn,lmo,lmn,po,pn,ni,nj,ok_invertp) 在水平点 (i,j) 上逐列处理:
varo是旧层变量,varn是新层输出。po/pn分别是旧/新压力坐标。ok_invertp控制压力方向是否需要倒置处理。- 调用方在 guide/nudging 中用它把温度、风和 tracer 从输入资料压力层映射到模型层。
formcoord 和 juldate
formcoord根据坐标间距最小值决定小数位数,可按rev反向输出,供wrgrads.F写XDEF/YDEF/ZDEF。juldate计算 Julian day 和日内秒,适合历史输出或外部工具按绝对日期定位。
待确认
q_sat.F中常数定义来自旧 ECMWF/LMD 公式,Mars 是否只把它用于 guide 湿度限制而不用于物理水循环,需要后续 guide 主页面确认。