callkeys_mod.F90

路径

LMDZ.MARS\libf\phymars\callkeys_mod.F90

所属目录 / 模块

libf\phymars

文件定位

callkeys_mod.F90 定义 callkeys_mod 模块(第 1 行),集中保存物理包运行时开关、少量辐射/尘埃参数和水循环/CO2 云控制量。该文件本身没有子程序、函数、use 依赖或文件 I/O;它的职责是声明 SAVE 模块变量,并把几乎全部变量声明为 OpenMP THREADPRIVATE,供 conf_phys.F、restart/初始化路径和各物理过程模块读写。

从源码看,callkeys_mod 不是默认值定义页。除 integer,parameter :: swrtype=2(第 109 行)外,其余变量只在本模块中声明存储;常见默认值和 callphys.def 覆盖路径在 conf_phys.F 中完成,例如 conf_phys.F 第 54-79 行导入本模块变量,第 201-203 行读取 iaervar,第 230-354 行读取核心物理开关,第 532-545 行读取尘埃注入参数,第 706-755 行读取水/CO2 云开关,第 1160-1186 行读取高层大气开关。

定义的符号

符号 类型 行号 作用
callkeys_mod module 1 物理包运行时开关与共享参数模块。
startphy_file logical saved module variable 5 控制是否读取物理 start 文件路径;被 phyetat0_mod 等初始化路径读取。
callrad, calldifv, calladj, callcond, callsoil logical saved module variables 8 主物理过程开关:辐射、垂直扩散、干对流调整、CO2 凝结、土壤。
season, diurnal, calllott, calllott_nonoro logical saved module variables 10 季节/日变化、地形与非地形重力波相关开关。
callnirco2, callnlte, callthermos, callconduct logical saved module variables 12 近红外 CO2、NLTE、热层和热传导路径开关。
calleuv, callmolvis, callmoldiff, thermochem logical saved module variables 14 EUV、分子黏性、分子扩散和热层化学开关。
calltherm, callrichsl, callslope, tituscap logical saved module variables 16 热羽流、近地层 Richardson/稳定度、坡面、Titus/TES 极冠覆盖开关。
callyamada4, callatke, callemis, gwd_convective_source logical saved module variables 18-20 PBL/TKE、地表发射率反射项和重力波源相关开关。
semi, fixed_euv_value, euveff, tke_heat_flux real saved module variables 23-31 半隐式辐射权重、EUV 强迫和 TKE 热通量参数。
coeff_injection, ti_injection, tf_injection, coeff_detrainment, CLFfixval real saved module variables 32-40 尘埃注入时窗/系数、rocket dust 脱轨系数、固定云分数值。
iaervar, iradia, ilwd, ilwb, ilwn, solvarmod, solvaryear, dustinjection integer saved module variables 43-58 尘埃场景选择、辐射调用/长波更新频率、太阳 EUV 变化模式和尘埃注入方案号。
rayleigh, scavenging, rdstorm, topflows, dust_coagulation logical saved module variables 60-68 短波瑞利散射、水冰洗脱、rocket dust、山顶尘流和尘埃凝并开关。
water, activice, microphys, supersat, sedimentation, CLFvarying logical saved module variables 70-97 水循环、水冰辐射活性、微物理、过饱和、沉降和水云次网格云分数开关。
surfaceice_tifeedback, poreice_tifeedback, latentheat_surfwater logical saved module variables 72-84 地表/孔隙冰热惯量反馈和地表水潜热反馈开关。
co2clouds, co2useh2o, meteo_flux, CLFvaryingCO2, satindexco2, activeco2ice, spantCO2 logical/integer saved module variables 87-93 CO2 云、H2O-CCN 混入、流星尘核、CO2 云分数/饱和指数、辐射活性 CO2 冰和 CO2 时间跨度控制。
hdo, hdofrac logical saved module variables 99-101 HDO 同位素及凝结分馏开关。
photochem, nltemodel, nircorr logical/integer saved module variables 103-107 光化学、NLTE 模型选择和近红外修正模式。
dustiropacity, dustrefir character/real saved module variables 104-107 尘埃红外不透明度配置字符串和尘埃红外参考波长。
swrtype integer parameter 109 短波辐射方案选择常量;源码注释为 1: Fouquart, 2: Toon,本文件固定为 2。

依赖的模块

本文件没有 use 语句。

use 模块 only 列表 用途 待确认
callkeys_mod 只声明共享变量,不依赖其他模块。

调用的关键例程

本文件没有 call 语句,也没有定义可被调用的例程。

被调用例程 所在模块 / 文件 调用位置 作用
本模块只提供共享状态。

输入

输入 来源 类型/维度 单位 含义
callphys.def.* 键值 conf_phys.F 通过 getin_p 写入 scalar logical/integer/real/character 混合 运行时物理开关和参数来源;本文件不直接读取 def。
restart / 初始化状态 phyetat0_modphyredem、物理初始化链 saved module variables 混合 部分开关决定 start/restart 字段是否读取或写出。
编译期常量 swrtype=2 本文件第 109 行 integer parameter - 默认短波辐射传输类型,当前源码固定为 Toon。

输出

输出 去向 类型/维度 单位 含义
模块变量 physiq_mod.Fcallradite_mod.Fvdifc_mod.F、云/尘埃/CO2/高层大气模块 saved scalars 混合 控制各物理分支是否执行以及关键参数取值。
dustiropacity, dustrefir suaer、辐射/尘埃路径 character/real m 或配置字符串 选择尘埃红外光学参考设置。
iaervar, dustinjection, swrtype read_dust_scenario_modaeropacity_mod、尘埃注入/缩放路径 integer - 选择尘埃场景文件、注入方案和短波方案修正。

共享状态与副作用

核心逻辑

  1. 声明 callkeys_mod 模块并启用 IMPLICIT NONE
  2. 按物理主题声明 logical,savereal,saveinteger,save 和一个 character(len=100),save 状态变量。
  3. 紧随变量声明为 OpenMP THREADPRIVATE,保证并行线程私有副本。
  4. 在文件尾部定义唯一编译期常量 swrtype=2,注明短波方案 1=Fouquart, 2=Toon

伪代码

module callkeys_mod:
    declare saved logical switches for physics branches
    mark each switch group threadprivate

    declare saved real/integer/character runtime parameters
    mark each parameter group threadprivate

    define swrtype = 2
end module

参与的主题流程

主题 参与方式
辐射 callradiradiailw*rayleighswrtypedustrefircallnirco2callnlte 等控制辐射频率、短波方案、气溶胶光学和 NLTE/NIR 路径。
尘埃循环 iaervardustinjectioncoeff_injectionti_injectiontf_injectionrdstormtopflowsdust_coagulation 等控制尘埃场景、注入、storm/top dust 和凝并路径。
水循环 wateractivicemicrophyssupersatscavengingCLFvaryinglatentheat_surfwatersurfaceice_tifeedbackporeice_tifeedback 等控制水汽/水冰、微物理、沉降洗脱和地表反馈路径。
CO2 循环 callcondco2cloudsco2useh2ometeo_fluxCLFvaryingCO2satindexco2activeco2ice 等控制 CO2 凝结、CO2 云微物理和 CO2 冰辐射路径。
边界层 / 湍流 / 坡面 calldifvcallrichslcallyamada4callatketke_heat_fluxcallslope 控制垂直扩散、稳定度函数、Yamada4/ATKE 和坡面路径。
高层大气 / 热层 callthermoscallconductcalleuvcallmolviscallmoldiffthermochem 控制热层传导、EUV、分子黏性/扩散和热层化学路径。

写法特点

复现要点

待确认

相关页面