callkeys_mod |
module |
libf/phymars/callkeys_mod.F90 |
物理包运行时开关与共享参数模块;集中保存辐射、尘埃、水循环、CO2 云、PBL 和高层大气控制量。 |
callkeys_mod |
conf_phys_mod |
module |
libf/phymars/conf_phys.F |
物理配置读取模块;包含 conf_phys,负责把配置键写入共享物理状态。 |
conf_phys |
conf_phys |
subroutine |
libf/phymars/conf_phys.F |
读取 callphys.def/radia.def 风格配置,设置物理开关、气溶胶 scatterer 名称和长波参数,并执行配置依赖校验。 |
conf_phys, callkeys_mod |
dimradmars_mod |
module |
libf/phymars/dimradmars_mod.F90 |
辐射维度、气溶胶 scatterer 名称表和 VIS/IR 光学查找表共享状态模块。 |
dimradmars_mod, radiation |
ini_dimradmars_mod / end_dimradmars_mod |
subroutines |
libf/phymars/dimradmars_mod.F90 |
按 ngrid/nlayer/nslope 分配或释放辐射主状态数组,包括 albedo/dtrad/fluxrad_sky/fluxrad/nueffdust/totcloudfrac。 |
dimradmars_mod, phys_state_var_init_mod |
ini_scatterers |
subroutine |
libf/phymars/dimradmars_mod.F90 |
按 naerkind 分配 aerosol 和气溶胶光学查找表,并清空 name_iaer 等待 conf_phys 填充。 |
dimradmars_mod, conf_phys |
naerkind / name_iaer |
module variables |
libf/phymars/dimradmars_mod.F90 |
辐射 scatterer 数量与名称顺序;由 conf_phys 设置,驱动 suaer/aeropacity/updatereffrad 的气溶胶分支。 |
dimradmars_mod, conf_phys, suaer |
aerosol / nueffdust |
module arrays |
libf/phymars/dimradmars_mod.F90 |
气溶胶层光学厚度和尘埃有效方差共享数组;由光学厚度和半径更新路径写入,供辐射传输使用。 |
dimradmars_mod, aeropacity_mod, updatereffrad_mod |
callradite_mod |
module |
libf/phymars/callradite_mod.F |
辐射调用入口模块。 |
callradite_mod, radiation |
callradite |
subroutine |
libf/phymars/callradite_mod.F |
识别并校验 scatterer,准备气溶胶粒径/光学厚度,按子域调用 lwmain 和 swmain,输出 LTE 层辐射加热率和地表/顶层通量。 |
callradite_mod, physiq_mod, radiation |
lwmain_mod |
module |
libf/phymars/lwmain_mod.F |
长波 LTE 辐射主调度模块。 |
lwmain_mod, callradite_mod, radiation |
lwmain |
subroutine |
libf/phymars/lwmain_mod.F |
调用 lwb/lwu/lwxd/lwxn/lwxb/lwflux/lwi,输出长波冷却率、地表下行长波通量、顶层 OLR 和 netrad。 |
lwmain_mod, lwb, lwu, lwflux, lwi |
swmain_mod |
module |
libf/phymars/swmain_mod.F |
短波太阳辐射主程序模块。 |
swmain_mod, callradite_mod, radiation |
SWMAIN / swmain |
subroutine |
libf/phymars/swmain_mod.F |
在 nlaylte 层内按两太阳谱段调用 SWR_FOUQUART 或 SWR_TOON,输出短波上下行通量和短波加热率。 |
swmain_mod, swr_fouquart, swr_toon |
callrad / calldifv / calladj / callcond / callsoil |
saved threadprivate module variables |
libf/phymars/callkeys_mod.F90 |
主物理过程开关组;由 conf_phys.F 写入,供辐射、扩散、干对流调整、CO2 凝结和土壤路径读取。 |
callkeys_mod, radiation |
iaervar / dustinjection / swrtype |
module variables / parameter |
libf/phymars/callkeys_mod.F90 |
尘埃场景选择、尘埃注入方案和短波辐射方案控制量;swrtype 在当前源码中固定为 2。 |
callkeys_mod, read_dust_scenario_mod, dust-cycle |
water / activice / microphys / scavenging / CLFvarying |
saved threadprivate module variables |
libf/phymars/callkeys_mod.F90 |
水循环、水冰辐射活性、微物理、洗脱和水云次网格云分数开关。 |
callkeys_mod, water-cycle, watercloud_mod |
co2clouds / co2useh2o / meteo_flux / CLFvaryingCO2 / activeco2ice |
saved threadprivate module variables |
libf/phymars/callkeys_mod.F90 |
CO2 云微物理、H2O-CCN 混入、流星尘核、CO2 云分数和 CO2 冰辐射活性开关。 |
callkeys_mod, co2-cycle, updatereffrad_mod |
callrichsl / callyamada4 / callatke / tke_heat_flux |
saved threadprivate module variables |
libf/phymars/callkeys_mod.F90 |
近地层稳定度、Yamada4/ATKE 湍流路径和 TKE 热通量控制量。 |
callkeys_mod, vdif_cd_mod, yamada4 |
dustrefir / dustiropacity |
saved threadprivate module variables |
libf/phymars/callkeys_mod.F90 |
尘埃红外参考波长和红外不透明度配置字符串;suaer 使用 dustrefir 设置尘埃类气溶胶 IR 参考波长。 |
callkeys_mod, suaer |
time_phylmdz_mod |
module |
libf/phymars/time_phylmdz_mod.F90 |
物理时间共享状态模块,保存 daysec/dtphys/steps_per_sol、运行起止日和诊断/restart 调度标量。 |
time_phylmdz_mod |
init_time |
subroutine |
libf/phymars/time_phylmdz_mod.F90 |
写入运行起止日、初始时刻、sol 长度和物理时间步,并用 nint(daysec/dtphys) 派生 steps_per_sol。 |
time_phylmdz_mod, phys_state_var_init_mod |
daysec / dtphys |
saved threadprivate module variables |
libf/phymars/time_phylmdz_mod.F90 |
一个 sol 的秒数和物理时间步;供时间换算、诊断、辐射、云物理和 restart 路径读取。 |
time_phylmdz_mod |
steps_per_sol / outputs_per_sol |
saved threadprivate module variables |
libf/phymars/time_phylmdz_mod.F90 |
每 sol 物理步数和诊断输出次数;共同决定传统诊断输出采样间隔。 |
time_phylmdz_mod, writediagsoil |
turb_mod |
module |
libf/phymars/turb_mod.F90 |
湍流/PBL 共享状态模块,保存 TKE、surface-layer 速度/温度尺度、热羽流诊断和感热通量缓存。 |
turb_mod |
ini_turb_mod / end_turb_mod |
subroutines |
libf/phymars/turb_mod.F90 |
按 ngrid/nlayer 分配或释放湍流共享数组;q2 使用 (ngrid,nlayer+1)。 |
turb_mod, phys_state_var_init_mod |
q2 |
saved threadprivate module array |
libf/phymars/turb_mod.F90 |
界面层 TKE,共享给 restart、1D、垂直扩散、Yamada4 和热羽流可选 TKE 输送路径。 |
turb_mod, vdif_kc, calltherm_interface_mod |
wstar / hfmax_th / zmax_th / sensibFlux |
saved threadprivate module arrays |
libf/phymars/turb_mod.F90 |
热羽流和 surface-layer/PBL 反馈诊断缓存,影响后续近地层 gustiness 与 restart 字段。 |
turb_mod, calltherm_interface_mod, pbl_parameters_mod |
turb_resolved |
logical module variable |
libf/phymars/turb_mod.F90 |
显式解析湍流标志;源码默认 .false.,主要供 LES/解析湍流路径判断。 |
turb_mod, vdif_cd_mod |
write_output_mod |
module |
libf/phymars/write_output_mod.F90 |
统一输出封装模块,管理传统 diagfi、土壤诊断和可选 XIOS 输出分派。 |
write_output_mod |
write_output |
generic interface |
libf/phymars/write_output_mod.F90 |
按字段类型和维度分派到 real/integer/logical 的 0D/1D/2D 写出过程。 |
write_output_mod, xios-config |
output_diagfi |
saved threadprivate logical |
libf/phymars/write_output_mod.F90 |
控制传统 diagfi.nc 是否写出;源码注释说明由 conf_phys() 初始化。 |
write_output_mod |
writediagfi |
subroutine |
libf/phymars/writediagfi.F |
传统 diagfi.nc 写入后端,按 dim=0/1/2/3 创建并追加诊断变量。 |
writediagfi, write_output_mod |
diagfi.nc |
NetCDF output file |
libf/phymars/writediagfi.F |
传统物理诊断文件,由 writediagfi 首次有效调用创建并按采样间隔追加时间和变量。 |
writediagfi, iniwrite |
writediagmicrofi |
subroutine |
libf/phymars/writediagmicrofi.F |
传统微物理子步诊断写入后端,按 dim=0/1/2/3 创建并追加带 microtime 维的变量。 |
writediagmicrofi, writediagfi |
diagmicrofi.nc |
NetCDF output file |
libf/phymars/writediagmicrofi.F |
微物理子步诊断文件,由 writediagmicrofi 首次有效调用创建,包含 unlimited Time 和固定长度 microtime。 |
writediagmicrofi, iniwrite |
wstats_mod |
module |
libf/phymars/wstats_mod.F90 |
统计日 stats.nc 生成模块,保存 callstats、采样间隔、计数槽位和统计写入例程。 |
wstats_mod, config-system |
callstats |
module variable |
libf/phymars/wstats_mod.F90 |
控制是否生成 stats.nc;由 conf_phys 读取 callstats 配置键后设置。 |
wstats_mod, config-system |
wstats |
subroutine |
libf/phymars/wstats_mod.F90 |
按 istime=12 个日内时刻槽位累加诊断字段和平方和。 |
wstats_mod, physiq-water-cycle-callpoints, physiq-co2-cycle-callpoints |
mkstats |
subroutine |
libf/phymars/wstats_mod.F90 |
运行结束时把 stats.nc 中的累加量原地转换为均值和标准差。 |
wstats_mod |
stats.nc |
NetCDF output file |
libf/phymars/wstats_mod.F90 |
统计日诊断文件,保存 12 个日内时刻槽位的变量均值和标准差。 |
wstats_mod, zrecast |
xios_output_mod |
module |
libf/phymars/xios_output_mod.F90 |
XIOS 输出封装模块;在 CPP_XIOS 下提供上下文初始化、时间推进、字段发送和 finalize。 |
xios_output_mod, xios-config |
initialize_xios_output |
subroutine |
libf/phymars/xios_output_mod.F90 |
设置 XIOS 轴、domain、calendar、起始时间并关闭定义阶段。 |
xios_output_mod, xios-config |
send_xios_field |
generic interface |
libf/phymars/xios_output_mod.F90 |
按实参维度分派到 0D/1D/2D/3D XIOS 发送例程。 |
xios_output_mod, write_output_mod |
update_xios_timestep |
subroutine |
libf/phymars/xios_output_mod.F90 |
设置当前 XIOS context,递增 time_it 并推进 calendar。 |
xios_output_mod |
xios_is_active_field |
function |
libf/phymars/xios_output_mod.F90 |
查询 XIOS field 是否激活并广播结果;当前 write_output_mod 中活跃性检查被注释。 |
xios_output_mod, write_output_mod |
convadj_mod |
module |
libf/phymars/convadj.F |
干对流调整模块。 |
convadj |
convadj |
subroutine |
libf/phymars/convadj.F |
在 physiq 的 calladj 分支中混合不稳定层段,返回风、焓和 tracer 对流调整 tendency。 |
convadj |
ico2 / A / B |
saved local state |
libf/phymars/convadj.F |
每线程缓存 CO2 tracer 索引和平均分子量修正系数。 |
convadj, tracer_mod |
cvmgt_mod |
module |
libf/phymars/cvmgt.F |
提供标量实数条件选择函数。 |
cvmgt |
cvmgt |
real function |
libf/phymars/cvmgt.F |
l=.true. 时返回第一个实参,否则返回第二个实参;短波辐射代码用它选择除零保护默认值。 |
cvmgt, radiation |
mucorr_mod |
module |
libf/phymars/mucorr.F |
非日变化太阳几何辅助模块。 |
mucorr |
mucorr |
subroutine |
libf/phymars/mucorr.F |
根据太阳赤纬和纬度计算日平均等效太阳角 mu0 与日照比例 fract;physiq 在 diurnal=.false. 时调用。 |
mucorr, radiation |
orbite_mod |
module |
libf/phymars/orbite.F |
轨道几何换算模块,封装太阳经度到日火距离和太阳赤纬的计算。 |
orbite, comsaison_h |
orbite |
subroutine |
libf/phymars/orbite.F |
用 zls/pls、planete_h 轨道参数和倾角计算 dist_sol 与 declin;physiq 在 callrad 分支调用。 |
orbite, radiation |
planete_h |
module |
libf/phymars/planete_h.F90 |
行星轨道、年长、倾角、湍流下限和派生轨道几何量共享模块。 |
planete_h, orbite |
lsp2solp |
subroutine |
libf/phymars/planete_h.F90 |
由近日点太阳经度反推近日点 sol,并同步重算 e_elips。 |
planete_h |
iniorbit |
subroutine |
libf/phymars/planete_h.F90 |
根据 aphelie/periheli/year_day/peri_day 计算 e_elips/p_elips/lsperi,供 solarlong 和 orbite 读取。 |
planete_h, orbite |
e_elips / p_elips / lsperi |
module variables |
libf/phymars/planete_h.F90 |
iniorbit 派生的轨道偏心率、AU 半通径和近日点太阳经度,是 solarlong 与 orbite 的关键共享输入。 |
planete_h, orbite |
solarlong_mod |
module |
libf/phymars/solarlong.F |
火星日期到太阳经度转换模块。 |
solarlong, planete_h |
solarlong |
subroutine |
libf/phymars/solarlong.F |
由 sol 日期、近日点日期和椭圆轨道参数计算弧度制太阳经度 Ls。 |
solarlong, orbite |
planetwide_mod |
module |
libf/phymars/planetwide_mod.F90 |
全行星规约工具模块,封装并行物理网格上的最大值、最小值和求和。 |
planetwide_mod |
planetwide_maxval |
generic interface |
libf/phymars/planetwide_mod.F90 |
对 integer/real 的 1D/2D 本地物理网格数组求全行星最大值。 |
planetwide_mod |
planetwide_minval |
generic interface |
libf/phymars/planetwide_mod.F90 |
对 integer/real 的 1D/2D 本地物理网格数组求全行星最小值。 |
planetwide_mod |
planetwide_sumval |
generic interface |
libf/phymars/planetwide_mod.F90 |
对 integer/real 的 1D/2D 本地物理网格数组求全行星总和。 |
planetwide_mod, tracer_mass_fixer_dyn_mod |
nirdata_mod |
module |
libf/phymars/nirdata.F90 |
保存近红外 CO2 NLTE 修正表和读表例程。 |
nirdata, nirco2abs |
NIR_leedat |
subroutine |
libf/phymars/nirdata.F90 |
从 datadir/NIRcorrection_feb2011.dat 读取 42 层修正表,并在非 MESOSCALE 路径广播表数组。 |
nirdata |
pres1d / corgcm / oco21d / alfa |
module variable |
libf/phymars/nirdata.F90 |
nirco2abs 在 nircorr=1 时插值使用的压力、修正因子、参考 O/CO2 和混合指数表。 |
nirdata, nirco2abs |
MZESC110 |
subroutine |
libf/phymars/nlte_calc.F |
在 CTS 网格上计算 110 跃迁 escape probability 光学厚度 taustar11_cts。 |
nlte_calc, nlte_aux |
MZTUD110 / MZCUD110 |
subroutine |
libf/phymars/nlte_calc.F |
计算 110 主带 tau/tauinf 并转换为 Curtis matrix c110 和边界向量 vc110。 |
nlte_calc |
MZMC121 / MZTUD121 / MZCUD121 |
subroutine |
libf/phymars/nlte_calc.F |
计算并合成 121 热带三个子带的 Curtis matrix c121 和边界向量 vc121。 |
nlte_calc |
MZESC121 / MZESC121sub |
subroutine |
libf/phymars/nlte_calc.F |
计算并归一化 121 热带三个子带的 escape probability taustar12。 |
nlte_calc |
MZTVC121 / MZTVC121sub |
subroutine |
libf/phymars/nlte_calc.F |
计算并合成 121 热带边界向量 vc121。 |
nlte_calc |
nlte_commons_h |
module |
libf/phymars/nlte_commons_h.F90 |
NLTE 15 微米 CO2 参数化共享状态模块;集中保存谱线常数、网格剖面、矩阵、escape probability、碰撞率和历史谱线缓存。 |
nlte_commons_h, nlte_aux, nlte_calc |
nlte_paramdef_h |
module |
libf/phymars/nlte_paramdef_h.F90 |
NLTE 15 微米 CO2 参数化编译期参数模块;定义网格维度、压力边界、谱带/同位素数量、辐射常数、波数表和同位素混合比。 |
nlte_paramdef_h, nlte_commons_h |
nlte_setup |
subroutine |
libf/phymars/nlte_setup.F |
读取 NLTEDAT 谱线、Tstar/VC 和历史谱线表,初始化 NLTE 共享表状态。 |
nlte_setup, nlte_commons_h |
LeeHISTOGRMS |
subroutine |
libf/phymars/nlte_setup.F |
逐个设置 hid26-1..4.dat 历史谱线表路径,并调用 rhist_03 读入缓存。 |
nlte_setup, nlte_aux |
GETK_dlvr11 |
subroutine |
libf/phymars/nlte_setup.F |
按温度计算 k19/k20/k21/k33 碰撞速率族,供 nlte_tcool_mod.F 的 NLTE cooling-time 计算使用。 |
nlte_setup |
nlte_tcool_mod |
module |
libf/phymars/nlte_tcool_mod.F |
nltemodel=2 的 CO2 15 微米 NLTE 快速冷却率模块,封装 GCM-NLTE 网格转换、CZA 求解、CTS 顶层冷却和错误处理。 |
nlte_tcool_mod |
nlte_tcool |
subroutine |
libf/phymars/nlte_tcool_mod.F |
从 GCM 压强、温度、高度和 CO2/N2/CO/O 剖面计算 NLTE CO2 15 微米冷却率,输出 K/day。 |
nlte_tcool_mod |
NLTEdlvr11_ZGRID |
subroutine |
libf/phymars/nlte_tcool_mod.F |
根据 Pbottom_atm/Ptop_atm 构造 NLTE 主网格、细网格、CTS 网格和 CTS 细网格,并写入 nlte_commons_h。 |
nlte_tcool_mod |
NLTEdlvr11_CZALU |
subroutine |
libf/phymars/nlte_tcool_mod.F |
组装并求解 CO2 同位素振动态耦合矩阵,生成 hr110/hr210/hr310/hr410/hr121 冷却率。 |
nlte_tcool_mod |
NLTEdlvr11_FB626CTS |
subroutine |
libf/phymars/nlte_tcool_mod.F |
在 CTS 延伸网格上计算 626 组分高层 hr110CTS,用于与主网格冷却率拼接。 |
nlte_tcool_mod |
hrkday_convert |
function |
libf/phymars/nlte_tcool_mod.F |
使用 daysec、n_avog、平均热容和平均分子量把体积冷却功率换算为 K/day 因子。 |
nlte_tcool_mod |
ERRORS |
subroutine |
libf/phymars/nlte_tcool_mod.F |
打印 NLTE 错误编号对应的诊断并调用 abort_physic("nlte_tcool",...) 终止;也被 nlte_calc.F 复用。 |
nlte_tcool_mod, nlte_calc |
nltecool_mod |
module |
libf/phymars/nltecool.F |
nltemodel=0/1 的旧版 CO2 15 微米 NLTE cool-to-space 冷却模块;封装内置逃逸函数/VMR 表和本地插值例程。 |
nltecool |
nltecool |
subroutine |
libf/phymars/nltecool.F |
从 GCM 压强、温度和可选动态 tracer 成分计算 NLTE CO2 15 微米温度倾向,输出 K/s。 |
nltecool |
interp1 / interp3 |
subroutine |
libf/phymars/nltecool.F |
将本文件内置 escape function 与 VMR 压强表线性插值到 GCM 层压强。 |
nltecool |
nlteparams_h |
module |
libf/phymars/nlteparams_h.F90 |
LTE/NLTE 辐射倾向过渡参数模块;提供 ptrans、zw、pminte 和 zwi。 |
nlteparams_h, blendrad |
ptrans / zw / pminte / zwi |
real parameter |
libf/phymars/nlteparams_h.F90 |
分别控制过渡中心压强、过渡半宽、LTE 覆盖阈值和 blendrad alpha 指数。 |
nlteparams_h |
nlthermeq_mod |
module |
libf/phymars/nlthermeq.F |
LTE/NLTE 过渡层选择模块;封装 nlthermeq 并写入 yomlw_h::nlaylte。 |
nlthermeq |
nlthermeq |
subroutine |
libf/phymars/nlthermeq.F |
根据 pminte、callnlte 和当前压强剖面确定 LTE 辐射计算到的层索引 nlaylte。 |
nlthermeq, nlteparams_h, blendrad |
planckdp |
function |
libf/phymars/nlte_aux.F |
NLTE cooling-time 路径使用的双精度 Planck 辅助函数。 |
nlte_aux |
rhist_03 |
subroutine |
libf/phymars/nlte_aux.F |
读取 NLTE 历史谱线表 hisfile,检查 nbox_max,并在非 MESOSCALE 路径广播缓存数组。 |
nlte_aux |
gethist_03 |
subroutine |
libf/phymars/nlte_aux.F |
把已缓存的历史谱线表恢复为当前 thist/no/sk1/xls1/xld1 工作数组。 |
nlte_aux |
interstrhunt / intershphunt |
subroutine |
libf/phymars/nlte_aux.F |
按温度历史表插值 NLTE 谱线强度、self Lorentz 线宽和 Doppler 线宽。 |
nlte_aux |
intzhunt / intzhunt_cts |
subroutine |
libf/phymars/nlte_aux.F |
在高度网格上插值 CO2、压力、混合比和温度等 NLTE 状态量。 |
nlte_aux |
we_clean |
real*8 function |
libf/phymars/nlte_aux.F |
由 Lorentz/Doppler 近似组合 Voigt 等效线宽;不可开方时终止。 |
nlte_aux |
LUdec |
subroutine |
libf/phymars/nlte_aux.F |
调用 LU 分解和回代,求解 NLTE cooling-time 相关矩阵方程。 |
nlte_aux |
flusv_mod |
module |
libf/phymars/flusv.F |
长波红外散射通量求解模块。 |
flusv, radiation |
flusv |
subroutine |
libf/phymars/flusv.F |
组装并求解双流红外散射边值问题,返回层界向上/向下通量;lwdiff 当前以 nsf=0 调用。 |
flusv |
sys3v |
subroutine |
libf/phymars/flusv.F |
flusv 内部使用的向量化三对角线性系统求解器。 |
flusv |
lwb_mod |
module |
libf/phymars/lwb.F |
长波 LTE 辐射的 Planck 函数和温度导数预处理模块。 |
lwb, radiation |
lwb |
subroutine |
libf/phymars/lwb.F |
按谱带多项式系数计算 bsurf/btop/blev/blay/dblay/dbsublay,供 lwmain 后续 lwflux 和 lwi 使用。 |
lwb |
lwdiff_mod |
module |
libf/phymars/lwdiff.F |
长波 LTE 辐射的 CO2 15 微米带外散射通量汇总模块。 |
lwdiff, radiation |
lwdiff |
subroutine |
libf/phymars/lwdiff.F |
对 iir=3:nir 带外谱段构造双倍扩散子层,调用 flusv 并把上下行通量回填给 lwflux。 |
lwdiff, flusv |
lwflux_mod |
module |
libf/phymars/lwflux.F |
长波 LTE 辐射的通量、冷却率和净辐射收支汇总模块。 |
lwflux, radiation |
lwflux |
subroutine |
libf/phymars/lwflux.F |
合并 CO2 带内净交换率与 lwdiff 带外扩散通量,输出 netrad、coolrate、fluxground 和 fluxtop。 |
lwflux, lwdiff |
lwi_mod |
module |
libf/phymars/lwi.F |
长波 LTE 辐射的半隐式冷却率修正模块。 |
lwi, radiation |
lwi |
subroutine |
libf/phymars/lwi.F |
用 netrad、dblay、dp 和 CO2 净交换率表组装三对角系统,求解半隐式长波冷却率 newcoolrate。 |
lwi |
lwtt_mod |
module |
libf/phymars/lwtt.F |
长波 LTE CO2 带透过率计算模块。 |
lwtt, radiation |
lwtt |
subroutine |
libf/phymars/lwtt.F |
用 Voigt 等效吸收量、Padé 近似和 Horner 算法计算 CO2 长波透过率 tr。 |
lwtt |
yomlw_h |
module |
libf/phymars/yomlw_h.F90 |
长波 LTE 辐射共享状态模块;保存 Planck/吸收/Padé/Voigt 系数、nlaylte/gcp 和 xi 交换率缓存。 |
yomlw_h, radiation |
ini_yomlw_h |
subroutine |
libf/phymars/yomlw_h.F90 |
分配 xi/xi_ground/xi_emis 并初始化 xp/at/bt/ga/gb/cst_voigt 固定系数表。 |
yomlw_h, phys_state_var_init_mod |
end_yomlw_h |
subroutine |
libf/phymars/yomlw_h.F90 |
释放长波交换率缓存数组,供物理状态重初始化前调用。 |
yomlw_h, phys_state_var_init_mod |
nlaylte |
module variable |
libf/phymars/yomlw_h.F90 / nlthermeq.F |
LTE 辐射计算层数;由 nlthermeq 写入,被长波、短波和 blendrad 路径读取。 |
yomlw_h, nlthermeq, blendrad |
xi / xi_ground / xi_emis |
module arrays |
libf/phymars/yomlw_h.F90 |
CO2 15 微米带长波净交换率缓存,由 lwxb/lwxd/lwxn 写入,供 lwflux/lwi/lwmain 组合冷却率和通量。 |
yomlw_h, lwxb, lwxd, lwxn |
lwu_mod |
module |
libf/phymars/lwu.F |
长波 LTE CO2 吸收量和气溶胶光学预处理模块。 |
lwu, radiation |
lwu |
subroutine |
libf/phymars/lwu.F |
生成 CO2 累积吸收量 co2_u/co2_up、气溶胶透过率 aer_t 和总单散射参数 tautotal/omegtotal/gtotal。 |
lwu |
lwxb_mod |
module |
libf/phymars/lwxb.F |
长波 LTE 边界交换系数构造模块。 |
lwxb, radiation |
lwxb |
subroutine |
libf/phymars/lwxb.F |
计算地面/空间边界相关传输函数差分,并把边界净交换率写入 yomlw_h::xi。 |
lwxb, lwtt |
lwxd_mod |
module |
libf/phymars/lwxd.F |
长波 LTE 远距离层间交换系数构造模块。 |
lwxd, radiation |
lwxd |
subroutine |
libf/phymars/lwxd.F |
计算非相邻真实层对的传输函数差分,并把远距离净交换率写入 yomlw_h::xi。 |
lwxd, lwtt |
lwxn_mod |
module |
libf/phymars/lwxn.F |
长波 LTE 相邻层交换系数构造模块,保存子层积分配置。 |
lwxn, radiation |
lwxn |
subroutine |
libf/phymars/lwxn.F |
用可配置子层积分计算相邻层净交换率,并写入 yomlw_h::xi 与 xi_ground。 |
lwxn, lwtt |
lwxn_linear |
module variable |
libf/phymars/lwxn.F |
控制 lwxn 子层权重使用线性均分还是指数分布。 |
lwxn |
lwxn_ncouche |
module variable |
libf/phymars/lwxn.F |
设置 lwxn 每层拆分的子层数,源码本地上限为 50。 |
lwxn |
lwxn_alphan |
module variable |
libf/phymars/lwxn.F |
设置 lwxn 非线性子层分布的指数权重因子。 |
lwxn |
geticecover_mod |
module |
libf/phymars/geticecover.F90 |
Titus/TES CO2 季节极冠覆盖掩膜模块。 |
geticecover, physiq-co2-cycle-callpoints |
aeroptproperties_mod |
module |
libf/phymars/aeroptproperties.F |
气溶胶光学属性计算模块,按 reffrad/nueffrad 对离散光学表做尺寸分布积分与插值。 |
aeroptproperties, radiation |
aeroptproperties |
subroutine |
libf/phymars/aeroptproperties.F |
由 callradite 在 aeropacity 前调用,输出 QVISsQREF3d/omegaVIS3d/gVIS3d、QIRsQREF3d/omegaIR3d/gIR3d 与 QREFvis3d/QREFir3d。 |
aeroptproperties, aeropacity_mod |
aeropacity_mod |
module |
libf/phymars/aeropacity_mod.F |
气溶胶光学厚度计算模块,连接辐射与尘埃缩放。 |
aeropacity_mod, radiation, dust-cycle |
aeropacity |
subroutine |
libf/phymars/aeropacity_mod.F |
由 callradite 调用,按 iaervar 取场景柱厚度,逐种气溶胶逐层算可见光光学厚度 aerosol/柱厚度 tau/taucloudtes,产出 dso 诊断并调 compute_dustscaling。 |
aeropacity_mod, calcstormfract_mod |
iddist |
integer module variable |
libf/phymars/aeropacity_mod.F |
强制尘埃垂直分布类型标志(0=Pollack90,1=topdustref 顶高,2=Viking,3=MGS);由 conf_phys 写入。 |
aeropacity_mod |
topdustref |
real module variable |
libf/phymars/aeropacity_mod.F |
尘埃层顶高度(km),仅当 iddist=1 时使用;由 conf_phys 写入。 |
aeropacity_mod |
dust_param_mod |
module |
libf/phymars/dust_param_mod.F90 |
尘埃循环共享配置模块,保存尘埃开关、参考气压、缩放模式和辐射缩放数组。 |
dust_param_mod, dust-cycle |
odpref |
real parameter |
libf/phymars/dust_param_mod.F90 |
尘埃柱光学厚度参考气压,固定为 610 Pa,供 aeropacity、尘埃缩放和场景读取路径使用。 |
dust_param_mod, aeropacity_mod |
dustscaling_mode |
integer module variable |
libf/phymars/dust_param_mod.F90 |
尘埃缩放模式开关:0 为自由尘埃不缩放,1 为 prescribed 场景缩放,2 为仅辐射缩放。 |
dust_param_mod, dust-cycle |
tauscaling / dust_rad_adjust |
allocatable module arrays |
libf/phymars/dust_param_mod.F90 |
按水平格点保存尘埃质量/数量缩放因子和仅辐射缩放因子,由 ini_dust_param_mod 分配并被尘埃辐射路径读取。 |
dust_param_mod, dust-cycle |
ini_dust_param_mod / end_dust_param_mod |
subroutines |
libf/phymars/dust_param_mod.F90 |
分配和释放 tauscaling、dust_rad_adjust,由 phys_state_var_init_mod 管理生命周期。 |
dust_param_mod, phys_state_var_init_mod |
compute_dtau_mod |
module |
libf/phymars/compute_dtau_mod.F90 |
尘埃地表注入调度模块,保存注入窗口和 dtau,把场景与 GCM 柱厚度差转为 dustliftday。 |
compute_dtau_mod, dust-cycle |
compute_dtau |
subroutine |
libf/phymars/compute_dtau_mod.F90 |
按每日 t_scenario_sol 更新 dtau,并用 coeff_injection/(daysec*(tf-ti)) 计算地表尘埃注入速率 dustliftday。 |
compute_dtau_mod |
read_dust_scenario_mod |
module |
libf/phymars/read_dust_scenario_mod.F90 |
尘埃场景 NetCDF 读取与插值模块,缓存 dust_*.nc 的经纬、时间和柱厚度场。 |
read_dust_scenario_mod, dust-cycle |
read_dust_scenario |
subroutine |
libf/phymars/read_dust_scenario_mod.F90 |
按 zday、GCM 经纬度和 IRtoVIScoef 输出参考气压处的可见光场景柱厚度 tau_pref_scenario。 |
read_dust_scenario_mod, compute_dtau_mod, dust_rad_adjust_mod |
IRscenario |
saved threadprivate logical |
libf/phymars/read_dust_scenario_mod.F90 |
标记场景变量是否来自 cdod/cdodext 红外厚度;为真时输出前乘 IRtoVIScoef 转可见光厚度。 |
read_dust_scenario_mod |
tautes |
saved threadprivate allocatable array |
libf/phymars/read_dust_scenario_mod.F90 |
缓存场景文件的三维尘埃柱厚度 (lon,lat,time),后续调用按时间和水平位置插值。 |
read_dust_scenario_mod |
dust_rad_adjust_mod |
module |
libf/phymars/dust_rad_adjust_mod.F90 |
GCM v6 仅辐射尘埃缩放模块,保存相邻两日 dust_rad_adjust_prev/next。 |
dust_rad_adjust_mod, dust-cycle |
compute_dust_rad_adjust |
subroutine |
libf/phymars/dust_rad_adjust_mod.F90 |
读取次日场景柱厚度,按 tau_pref_scenario_next*pplev/odpref/taudust 生成目标比并在两日间线性插值。 |
dust_rad_adjust_mod, dust_scaling_mod |
dust_scaling_mod |
module |
libf/phymars/dust_scaling_mod.F90 |
尘埃光学厚度缩放模块,按 dustscaling_mode 在 freedust、v5.3 tauscaling、v6 dust_rad_adjust 三路间切换。 |
dust_scaling_mod, dust-cycle |
compute_dustscaling |
subroutine |
libf/phymars/dust_scaling_mod.F90 |
由 aeropacity 调用,计算 taudust、更新 tauscaling 或 dust_rad_adjust 并就地缩放 aerosol。 |
dust_scaling_mod, aeropacity_mod |
dust_windstress_lift_mod |
module |
libf/phymars/dust_windstress_lift.F90 |
风应力起尘模块,保存 windstress_lift_scheme 并导出地表尘埃通量例程。 |
dust_windstress_lift, dust-cycle |
dust_windstress_lift |
subroutine |
libf/phymars/dust_windstress_lift.F90 |
在 windstress_lift_scheme=0 下用摩擦速度阈值和 White(1979) 水平通量计算 dqslift,CO2 冰覆盖时不注入。 |
dust_windstress_lift |
dustdevil_mod |
module |
libf/phymars/dustdevil.F90 |
尘卷风起尘参数化模块,保存 dust_devil_scheme 并导出 Renno(1998) 风格尘卷风注入例程。 |
dustdevil, dust-cycle |
dustdevil |
subroutine |
libf/phymars/dustdevil.F90 |
由 physiq 在 callddevil 下调用,用固定 wind=15 的感热通量估 devila,生成 pdqs_dev 和边界层内 pdqdev。 |
dustdevil, dust_param_mod |
alpha_devil |
allocatable module array |
libf/phymars/tracer_mod.F90 |
各 tracer 的尘卷风起尘效率系数,dustdevil 用它把活动强度 devila 转为地表起尘通量。 |
tracer_mod, dustdevil |
geticecover |
subroutine |
libf/phymars/geticecover.F90 |
按 Ls、经度、纬度逐点返回 0/1 极冠覆盖;physiq 的 tituscap 分支调用它覆盖 qsurf_tmp(:,igcm_co2)。 |
geticecover |
nplatcrocus / splatcrocus |
real function |
libf/phymars/geticecover.F90 |
用北/南半球 TES 谐波系数估算 CO2 极冠边界纬度,供 isitice 判定使用。 |
geticecover |
growthrate_mod |
module |
libf/phymars/growthrate.F |
水冰晶增长阻力辅助模块。 |
growthrate, improvedclouds_mod |
growthrate |
subroutine |
libf/phymars/growthrate.F |
计算热阻、扩散阻、Knudsen 修正和水汽扩散系数,输出 res 供 improvedclouds 隐式冰增长公式使用。 |
growthrate |
sig_h2o_mod |
module |
libf/phymars/sig_h2o.F90 |
水冰-空气表面张力辅助模块。 |
sig_h2o, nuclea, improvedclouds_mod |
sig_h2o |
double precision function |
libf/phymars/sig_h2o.F90 |
按温度返回水冰表面张力,供成核临界半径/能垒和 Kelvin 饱和修正使用。 |
sig_h2o |
nuclea_mod |
module |
libf/phymars/nuclea.F |
水冰异质成核率模块,封装 nuclea 和有限曲率接触几何因子。 |
nuclea, improvedclouds_mod |
nuclea |
subroutine |
libf/phymars/nuclea.F |
按水汽分压、温度、饱和比和各尘核 bin 数量计算水冰成核率 nucrate,由 improvedclouds 用于 dust->CCN 转换。 |
nuclea, improvedclouds_mod |
fshape |
double precision function |
libf/phymars/nuclea.F |
计算临界水冰胚胎在有限尘粒曲率上的接触几何形状因子;nuclea 在非平面近似分支中调用。 |
nuclea |
datafile_mod |
module |
libf/phymars/datafile_mod.F90 |
运行时外部数据目录共享模块,保存 datadir 路径并把它声明为 OpenMP threadprivate。 |
datafile_mod, config-system |
datadir |
module variable |
libf/phymars/datafile_mod.F90 |
外部数据包根目录;conf_phys.F 可由 callphys.def 覆盖,下游用 trim(datadir)//"/..." 定位光学表、CO2 云表、极冠反照率、尘埃场景、化学和 NLTE 数据。 |
datafile_mod, co2-cycle, radiation, dust-cycle |
def_var |
subroutine |
libf/phymars/def_var.F90 |
传统 NetCDF 变量定义辅助例程;调用 NF_REDEF、NF_DEF_VAR、NF_PUT_ATT_TEXT 和 NF_ENDDEF 创建 NF_FLOAT 变量并写 title/units 属性。 |
def_var, writediagsoil |
NF_DEF_VAR / NF_PUT_ATT_TEXT |
NetCDF calls |
libf/phymars/def_var.F90 |
def_var 用这些接口定义变量和写文本属性;失败时打印 NF_STRERROR(ierr) 并调用 abort_physic。 |
def_var |
dimphy |
module |
libf/phymars/dimphy.F90 |
本地物理网格维度共享模块,保存 klon/klev/klevp1/klevm1 并声明为 OpenMP threadprivate。 |
dimphy, check_fields |
Init_dimphy |
subroutine |
libf/phymars/dimphy.F90 |
用调用方传入的 klon0/klev0 初始化本地列数和垂直层数派生维度;1D testphys 路径调用 init_dimphy(1,nlayer)。 |
dimphy |
klon / klev / klevp1 / klevm1 |
module variables |
libf/phymars/dimphy.F90 |
物理本地数组形状和 restart/XIOS 输出维度状态;klevp1=klev+1,klevm1=klev-1。 |
dimphy, check_fields |
microphys_h |
module |
libf/phymars/microphys_h.F90 |
水冰/CO2 云微物理共享常数和线程私有状态模块。 |
microphys_h, improvedclouds_mod, co2cloud_mod |
nbin_cld / rad_cld |
parameter / module variable |
libf/phymars/microphys_h.F90 |
水云微物理 bin 数和半径网格;rad_cld 由 improvedclouds firstcall 写入,供 nuclea 等路径读取。 |
microphys_h, improvedclouds_mod |
nbinco2_cld / rad_cldco2 |
parameter / module variable |
libf/phymars/microphys_h.F90 |
CO2 云微物理 bin 数和半径网格;rad_cldco2 由 co2cloud firstcall 写入,供 nucleaco2 和 CO2 CCN 分布展开读取。 |
microphys_h, co2cloud_mod, nucleaco2 |
mteta / mtetaco2 |
module variable / parameter |
libf/phymars/microphys_h.F90 |
水冰接触参数和 CO2 固定接触参数;mteta 由 conf_phys 初始化,mtetaco2 当前固定为 0.95。 |
microphys_h, water-cycle-config, improvedco2clouds_mod |
kbz / nav / rgp / mco2 / mh2o |
physical constants |
libf/phymars/microphys_h.F90 |
微物理共享分子和气体常数,供水云、CO2 云、HDO 通量、增长阻力和质量传输路径读取。 |
microphys_h, growthrate, massflowrateco2, hdo_surfex_mod |
physiq_mod |
module |
libf/phymars/physiq_mod.F |
Mars physics 主入口模块;包装 physiq 主物理时间步,并保存 day_ini/icount/time_phys 等 threadprivate 调度状态。 |
physiq_mod |
physiq |
subroutine / 主物理入口 |
libf/phymars/physiq_mod.F |
主物理时间步调度;接收动力状态,按源码顺序累加辐射、尘埃、PBL、热羽流、对流、水、CO2、化学、热层、地表/土壤和诊断/restart 相关 tendency 与副作用。 |
physiq_mod, physiq-water-cycle-callpoints, physiq-co2-cycle-callpoints, radiation, dust-cycle, water-cycle, co2-cycle |
watercloud_mod |
module |
libf/phymars/watercloud_mod.F |
水冰云主调度模块。 |
watercloud_mod |
watercloud |
subroutine |
libf/phymars/watercloud_mod.F |
水冰云形成主例程;按 microphys 分派 simpleclouds/improvedclouds,汇总 tendency、半径和沉降参数。 |
watercloud_mod, water-cycle |
zdqcloud |
module variable |
libf/phymars/watercloud_mod.F |
水云微物理 tracer tendency,供 physiq 注入和诊断/化学使用。 |
watercloud_mod, physiq-water-cycle-callpoints |
zdqscloud |
module variable |
libf/phymars/watercloud_mod.F |
水云地表 tendency 数组;文件页标注当前主要由 calchim 路径使用。 |
watercloud_mod |
ini_watercloud_mod |
subroutine |
libf/phymars/watercloud_mod.F |
分配 zdqcloud / zdqscloud。 |
watercloud_mod |
end_watercloud_mod |
subroutine |
libf/phymars/watercloud_mod.F |
释放 zdqcloud / zdqscloud。 |
watercloud_mod |
simpleclouds_mod |
module |
libf/phymars/simpleclouds_mod.F |
简化水冰云方案模块。 |
simpleclouds_mod, water-cycle |
simpleclouds |
subroutine |
libf/phymars/simpleclouds_mod.F |
microphys=.false. 时由 watercloud 调用;做瞬时饱和调整,无显式成核动力学。 |
simpleclouds_mod, watercloud_mod |
improvedclouds_mod |
module |
libf/phymars/improvedclouds_mod.F90 |
完整水冰云微物理模块。 |
improvedclouds_mod, water-cycle |
improvedclouds |
subroutine |
libf/phymars/improvedclouds_mod.F90 |
水冰成核、冰增长/升华、尘核释放、HDO 分馏主例程。 |
improvedclouds_mod |
adapt_imicro |
subroutine |
libf/phymars/improvedclouds_mod.F90 |
按可凝结量估算水云微物理自适应子步数。 |
improvedclouds_mod |
watersat_mod |
module |
libf/phymars/watersat_mod.F90 |
水饱和公式容器模块。 |
water-saturation-helpers, water-cycle |
watersat |
subroutine |
libf/phymars/watersat_mod.F90 |
给定温度和压力计算水饱和质量混合比。 |
water-saturation-helpers |
tcondwater_mod |
module |
libf/phymars/tcondwater.F90 |
水凝结温度反解容器模块。 |
water-saturation-helpers |
tcondwater |
subroutine |
libf/phymars/tcondwater.F90 |
给定压力和水质量混合比反推水凝结温度。 |
water-saturation-helpers |
soilwater |
subroutine |
libf/phymars/soilwater.F90 |
地下水汽、地下冰和吸附水的一维吸附-扩散-相变求解器;由 vdifc 水汽段调用。 |
soilwater, vdifc-water-surface-exchange, water-cycle |
waterice_tifeedback_mod |
module |
libf/phymars/waterice_tifeedback_mod.F90 |
水冰热惯量反馈模块。 |
waterice_tifeedback_mod, water-cycle |
waterice_tifeedback |
subroutine |
libf/phymars/waterice_tifeedback_mod.F90 |
由地表水冰量或孔隙冰填充率计算新的土壤热惯量廓线。 |
waterice_tifeedback_mod |
hdo_surfex_mod |
module |
libf/phymars/hdo_surfex_mod.F |
HDO 地表-大气通量计算模块。 |
hdo_surfex_mod, water-cycle |
hdo_surfex |
subroutine |
libf/phymars/hdo_surfex_mod.F |
基于 H2O 通量和同位素分馏计算 HDO 地表通量;由 vdifc 调用。 |
hdo_surfex_mod, vdifc-water-surface-exchange |
iniwrite |
subroutine |
libf/phymars/iniwrite.F |
初始化传统 diagfi / diagmicrofi NetCDF 文件的维度、坐标变量、控制参数和固定字段。 |
iniwrite, def_var |
interp_line_mod |
module |
libf/phymars/interp_line.F |
通用线性插值工具模块。 |
interp_line |
interp_line |
subroutine |
libf/phymars/interp_line.F |
在有序源数据点之间进行线性插值,超出范围时使用最近边界值;由 soil_settings 和 lect_start_archive 调用。 |
interp_line, soil_settings |
iostart |
module |
libf/phymars/iostart.F90 |
物理重启文件 NetCDF I/O 核心模块。 |
iostart, config-system |
open_startphy |
subroutine |
libf/phymars/iostart.F90 |
打开 startfi.nc 初始场文件。 |
iostart |
close_startphy |
subroutine |
libf/phymars/iostart.F90 |
关闭 startfi.nc 文件。 |
iostart |
get_field |
interface |
libf/phymars/iostart.F90 |
从 startfi.nc 读取字段(1D/2D/3D)。 |
iostart |
get_var |
interface |
libf/phymars/iostart.F90 |
从 startfi.nc 读取变量(标量/1D/2D/3D)。 |
iostart |
open_restartphy |
subroutine |
libf/phymars/iostart.F90 |
创建或打开 restartfi.nc 重启文件。 |
iostart |
close_restartphy |
subroutine |
libf/phymars/iostart.F90 |
关闭 restartfi.nc 文件。 |
iostart |
put_field |
interface |
libf/phymars/iostart.F90 |
向 restartfi.nc 写入字段(1D/2D/3D)。 |
iostart |
put_var |
interface |
libf/phymars/iostart.F90 |
向 restartfi.nc 写入变量(标量/1D/2D/3D/字符)。 |
iostart |
lmdz_atke_exchange_coeff |
module |
libf/phymars/lmdz_atke_exchange_coeff.F90 |
ATKE 1.5 阶湍流闭合方案核心模块。 |
lmdz_atke_exchange_coeff |
atke_compute_km_kh |
subroutine |
libf/phymars/lmdz_atke_exchange_coeff.F90 |
计算湍流 Km/Kh 交换系数和 TKE 演化。 |
lmdz_atke_exchange_coeff |
atke_vdiff_tke |
subroutine |
libf/phymars/lmdz_atke_exchange_coeff.F90 |
TKE 的垂直扩散(隐式三对角求解)。 |
lmdz_atke_exchange_coeff |
lmdz_atke_turbulence_ini |
module |
libf/phymars/lmdz_atke_turbulence_ini.F90 |
ATKE 湍流初始化与参数共享模块。 |
lmdz_atke_turbulence_ini |
atke_ini |
subroutine |
libf/phymars/lmdz_atke_turbulence_ini.F90 |
读取 ATKE 配置键、缓存行星常数和黏性系数,并派生稳定度函数参数。 |
lmdz_atke_turbulence_ini |
iflag_atke |
module variable |
libf/phymars/lmdz_atke_turbulence_ini.F90 |
控制 ATKE TKE 数值格式。 |
lmdz_atke_turbulence_ini, lmdz_atke_exchange_coeff |
iflag_atke_lmix |
module variable |
libf/phymars/lmdz_atke_turbulence_ini.F90 |
控制 ATKE 混合长度参数化路径。 |
lmdz_atke_turbulence_ini, lmdz_atke_exchange_coeff |
ric |
module variable |
libf/phymars/lmdz_atke_turbulence_ini.F90 |
ATKE 临界 Richardson 数,供 ATKE、地表层和 PBL 稳定度函数读取。 |
lmdz_atke_turbulence_ini, vdif_cd_mod, pbl_parameters_mod |
cepsilon |
module variable |
libf/phymars/lmdz_atke_turbulence_ini.F90 |
TKE 耗散常数,同时参与 cn、ctkes 和稳定度函数计算。 |
lmdz_atke_turbulence_ini, lmdz_atke_exchange_coeff |
lmdz_call_atke |
module |
libf/phymars/lmdz_call_atke.F90 |
ATKE 调用接口模块。 |
lmdz_call_atke |
call_atke |
subroutine |
libf/phymars/lmdz_call_atke.F90 |
ATKE 主调用例程,协调核心计算和可选的显式风切变预测。 |
lmdz_call_atke |
atke_explicit_prediction |
subroutine |
libf/phymars/lmdz_call_atke.F90 |
显式风切变预测,用于前向-后向时间步进。 |
lmdz_call_atke |
co2cloud_mod |
module |
libf/phymars/co2cloud_mod.F90 |
CO2 云主调度模块。 |
co2cloud_mod, co2-cycle |
co2cloud |
subroutine |
libf/phymars/co2cloud_mod.F90 |
CO2 云形成主例程;调用 improvedCO2clouds,在内部处理 CO2 cloud tracer 沉降与非负保护。 |
co2cloud_mod, physiq-co2-cycle-callpoints |
improvedco2clouds_mod |
module |
libf/phymars/improvedco2clouds_mod.F90 |
CO2 云微物理核心模块。 |
improvedco2clouds_mod, co2-cycle |
improvedCO2clouds |
subroutine |
libf/phymars/improvedco2clouds_mod.F90 |
CO2 冰成核、增长/升华和 CCN 释放主例程。 |
improvedco2clouds_mod |
co2sat |
subroutine / external |
libf/phymars/co2sat.F |
CO2 饱和蒸汽压公式;被 CO2 云和 CO2 凝结路径使用。 |
co2-saturation-helpers, co2-cycle |
tcondco2_mod |
module |
libf/phymars/tcondco2.F90 |
CO2 凝结温度反解容器模块。 |
co2-saturation-helpers |
tcondco2 |
subroutine |
libf/phymars/tcondco2.F90 |
给定压力和 CO2 质量混合比反推 CO2 凝结温度。 |
co2-saturation-helpers, co2-cycle |
co2condens |
subroutine |
libf/phymars/co2condens_mod.F |
CO2 地表/大气凝结主调度;处理表压变化、地表 CO2 冰和 sigma 层校正。 |
co2condens, co2-cycle |
scavenging_by_co2 |
subroutine |
libf/phymars/co2condens_mod.F |
CO2 凝结清除尘埃/水冰的 section 例程。 |
co2condens-scavenging, co2condens |
vl1d |
subroutine |
libf/phymars/co2condens_mod.F |
co2condens 内部 Van Leer 1D 垂直输送算子。 |
co2condens |
co2snow_mod |
module |
libf/phymars/co2snow.F |
CO2 雪/冰地表发射率修正模块。 |
co2snow |
co2snow |
subroutine |
libf/phymars/co2snow.F |
根据 CO2 雪沉积修正地表红外发射率。 |
co2snow, co2condens |
albedocaps_mod |
module |
libf/phymars/albedocaps.F90 |
CO2 冰冠/霜反照率与参考发射率更新模块。 |
albedocaps, co2condens, co2-cycle |
albedocaps |
subroutine |
libf/phymars/albedocaps.F90 |
根据裸地、多年 CO2 冰和当前 CO2 霜状态设置 psolaralb 与 emisref。 |
albedocaps, co2condens |
read_TES_icecap_albedo |
subroutine |
libf/phymars/albedocaps.F90 |
读取南/北半球 TES 极冠反照率 NetCDF 表并广播。 |
albedocaps |
TES_icecap_albedo |
subroutine |
libf/phymars/albedocaps.F90 |
按 Ls、经度、纬度对 TES 极冠反照率表插值,并施加半球系数与上限。 |
albedocaps |
density_co2_ice_mod |
module |
libf/phymars/density_co2_ice.F90 |
CO2 冰密度函数容器模块。 |
density_co2_ice |
density_co2_ice |
function |
libf/phymars/density_co2_ice.F90 |
用温度计算 CO2 冰密度。 |
density_co2_ice, co2-cycle |
nucleaco2_mod |
module |
libf/phymars/nucleaco2.F90 |
CO2 成核率函数容器模块。 |
nucleaco2 |
nucleaco2 |
subroutine |
libf/phymars/nucleaco2.F90 |
计算 CO2 冰异质成核率;尘埃、流星尘、水冰核路径均会调用。 |
nucleaco2, improvedco2clouds_mod |
massflowrateco2_mod |
module |
libf/phymars/massflowrateco2.F90 |
CO2 冰粒质量传输率函数容器模块。 |
massflowrateco2 |
massflowrateco2 |
function |
libf/phymars/massflowrateco2.F90 |
计算单个 CO2 冰粒质量增长/升华通量。 |
massflowrateco2, improvedco2clouds_mod |
callsedim |
subroutine |
libf/phymars/callsedim_mod.F |
按 tracer 类型调度重力沉降;水冰沉降通过此路径进入 newsedim。 |
callsedim_mod, dust-cycle, water-cycle |
newsedim_mod |
module |
libf/phymars/newsedim_mod.F |
单 tracer 重力沉降核心模块。 |
newsedim_mod |
newsedim |
subroutine |
libf/phymars/newsedim_mod.F |
计算 Stokes + Cunningham 下落速度,调用 vlz_fi 完成垂直输运。 |
newsedim_mod, callsedim_mod |
vlz_fi_mod |
module |
libf/phymars/vlz_fi.F |
Van Leer 垂直平流容器模块。 |
vlz_fi |
vlz_fi |
subroutine |
libf/phymars/vlz_fi.F |
已知界面输运质量 w 后,更新 tracer 混合比并返回通量 wq。 |
vlz_fi, newsedim_mod |
updaterad |
module |
libf/phymars/updaterad.F90 |
冰粒、尘埃和 CCN 有效半径反演模块。 |
updaterad |
updaterice_micro |
subroutine |
libf/phymars/updaterad.F90 |
水冰微物理活跃时,由冰/CCN 质量数浓度更新水冰半径和云密度。 |
updaterad, improvedclouds_mod |
updaterice_microco2 |
subroutine |
libf/phymars/updaterad.F90 |
CO2 冰微物理半径与云密度反演。 |
updaterad, co2cloud_mod |
updaterice_typ |
subroutine |
libf/phymars/updaterad.F90 |
微物理关闭时,用典型廓线推算水冰半径。 |
updaterad, simpleclouds_mod |
updaterdust |
subroutine |
libf/phymars/updaterad.F90 |
由尘埃质量/数浓度更新尘埃几何平均半径。 |
updaterad, dust-cycle |
updaterccn |
subroutine |
libf/phymars/updaterad.F90 |
水云微物理用 CCN 质量平均半径反演。 |
updaterad, improvedclouds_mod |
updaterccnCO2 |
subroutine |
libf/phymars/updaterad.F90 |
CO2 云微物理用 CCN 半径反演。 |
updaterad, improvedco2clouds_mod |
updatereffrad_mod |
module |
libf/phymars/updatereffrad_mod.F |
辐射粒径更新模块,把 tracer 和微物理半径转换为 reffrad/nueffrad。 |
updatereffrad_mod, radiation |
updatereffrad |
subroutine |
libf/phymars/updatereffrad_mod.F |
由 callradite 调用,更新尘埃、水冰、CO2 冰等气溶胶的辐射有效半径和有效方差。 |
updatereffrad_mod, aeroptproperties |
reffrad/nueffrad |
arrays |
callradite_mod.F / filled by updatereffrad_mod.F |
每类气溶胶、每层、每格点的辐射有效半径和有效方差,供 aeroptproperties 做尺寸分布积分。 |
updatereffrad_mod, aeroptproperties |
dust_coagulation_main |
subroutine |
libf/phymars/dust_coagulation_mod.F90 |
尘埃凝并主例程;已有例程页。 |
dust_coagulation_main, dust_coagulation_mod |
rocketduststorm_mod |
module |
libf/phymars/rocketduststorm_mod.F90 |
火箭式尘暴垂直输运方案模块。 |
rocketduststorm_mod, dust-cycle |
topmons_mod |
module |
libf/phymars/topmons_mod.F90 |
山顶地形尘流输运方案模块。 |
topmons_mod, dust-cycle |
calcstormfract_mod |
module |
libf/phymars/calcstormfract_mod.F90 |
火箭式尘暴亚格点面积分数计算模块。 |
calcstormfract_mod, rocketduststorm_mod, dust-cycle |
calcstormfract |
subroutine |
libf/phymars/calcstormfract_mod.F90 |
根据 stormdust_mass 垂直廓线计算 totstormfract,供辐射和 rocket dust storm 输运使用。 |
calcstormfract_mod, rocketduststorm_mod |
call_dayperi_mod |
module |
libf/phymars/call_dayperi.F |
近日点日期换算模块。 |
call_dayperi, testphys1d-config |
call_dayperi |
subroutine |
libf/phymars/call_dayperi.F |
根据近日点太阳经度、偏心率和火星年长度计算 peri_day。 |
call_dayperi, testphys1d-config |
abort_gcm |
external subroutine |
libf/phymars/dyn1d/abort_gcm.F -> LMDZ.COMMON/libf/dyn3d/abort_gcm.F |
1D/dyn 路径通用中止例程;关闭可选 XIOS/IOIPSL 输出,dump 配置,打印原因并停止。 |
abort_gcm |
comconst_mod |
module |
libf/phymars/dyn1d/comconst_mod.F90 -> LMDZ.COMMON/libf/dyn3d_common/comconst_mod.F90 |
公共动力常数和维度状态模块;声明 im/jm/lllm、dtvr/dtphys/dtdiss、rad/g/omeg/r/cpp/kappa、耗散参数和顶层 sponge 参数。 |
comconst_mod |
comvert_mod |
module |
libf/phymars/dyn1d/comvert_mod.F90 -> LMDZ.COMMON/libf/dyn3d_common/comvert_mod.F90 |
公共混合垂直坐标状态模块;声明界面和层中 hybrid 系数、参考压力、参考层压和伪高度。 |
comvert_mod |
ap / bp / aps / bps |
module arrays |
libf/phymars/dyn1d/comvert_mod.F90 -> LMDZ.COMMON/libf/dyn3d_common/comvert_mod.F90 |
hybrid 坐标 pressure/sigma 系数;dyn1d 用 ap+psurf*bp 和 aps+psurf*bps 构造 plev/play。 |
comvert_mod |
control_mod |
module |
libf/phymars/dyn1d/control_mod.F90 -> LMDZ.COMMON/libf/dyn3d_common/control_mod.F90 |
公共 3D 动力运行控制状态模块;保存 nday/day_step/iperiod/iphysiq、日期、输出和 offline 等控制量。 |
control_mod |
disvert_noterre |
subroutine |
libf/phymars/dyn1d/disvert_noterre.F -> LMDZ.COMMON/libf/dyn3d_common/disvert_noterre.F |
非地球垂直离散构造例程;读取 esasig.def 或 z2sig.def,按 hybrid 生成 ap/bp/aps/bps/presnivs/pseudoalt。 |
disvert_noterre |
sig_hybrid |
subroutine |
libf/phymars/dyn1d/disvert_noterre.F -> LMDZ.COMMON/libf/dyn3d_common/disvert_noterre.F |
从目标 sigma 位置反解 hybrid newsig 的辅助迭代例程。 |
disvert_noterre |
ener_mod |
module |
libf/phymars/dyn1d/ener_mod.F90 -> LMDZ.COMMON/libf/dyn3d_common/ener_mod.F90 |
公共动力诊断状态模块;保存质量、能量、涡度/熵、角动量和 RMS 诊断量及其参考值。 |
ener_mod |
etot0 / ptot0 / ztot0 / stot0 / ang0 |
module scalars |
libf/phymars/dyn1d/ener_mod.F90 -> LMDZ.COMMON/libf/dyn3d_common/ener_mod.F90 |
sortvarc0 或 restart 路径建立的初始/参考诊断值,供 sortvarc 输出相对变化。 |
ener_mod |
infotrac |
module |
libf/phymars/dyn1d/infotrac.F90 -> LMDZ.COMMON/libf/dyn3d_common/infotrac.F90 |
公共 tracer 元数据模块;保存 tracer 数量、名字、advection schema、父子关系和同位素索引。 |
infotrac |
infotrac_init |
subroutine |
libf/phymars/dyn1d/infotrac.F90 -> LMDZ.COMMON/libf/dyn3d_common/infotrac.F90 |
公共 3D tracer 初始化例程;读取 traceur.def/modern planetary 格式并构造 tname/ttext/iadv/niadv。 |
infotrac |
nqtot / tname |
module state |
libf/phymars/dyn1d/infotrac.F90 -> LMDZ.COMMON/libf/dyn3d_common/infotrac.F90 |
dyn1d 初始化直接写入的 tracer 总数和名称数组,供 profile 读取和 1D tracer 数组顺序使用。 |
infotrac |
init_testphys1d_mod |
module |
libf/phymars/dyn1d/init_testphys1d_mod.F90 |
1D testphys1d 初始化主模块,包装 init_testphys1d。 |
init_testphys1d_mod |
init_testphys1d |
subroutine |
libf/phymars/dyn1d/init_testphys1d_mod.F90 |
读取配置、tracer、restart/profile,初始化时间、垂直坐标、几何、坡面、地表、土壤、化学和水 profile 控制状态。 |
init_testphys1d_mod, testphys1d-config |
logic_mod |
module |
libf/phymars/dyn1d/logic_mod.F90 -> LMDZ.COMMON/libf/dyn3d/logic_mod.F90 |
公共动力逻辑状态模块;保存时间步阶段、restart、nudging、strato 和垂直坐标等逻辑标志。 |
logic_mod |
hybrid |
module logical |
libf/phymars/dyn1d/logic_mod.F90 -> LMDZ.COMMON/libf/dyn3d/logic_mod.F90 |
为真时使用 hybrid 垂直坐标,为假时使用 sigma 坐标;dyn1d 初始化读取同名配置键并传给 disvert_noterre。 |
logic_mod, disvert_noterre |
mod_const_mpi |
module |
libf/phymars/dyn1d/mod_const_mpi.F90 -> LMDZ.COMMON/libf/dyn3dpar/mod_const_mpi.F90 |
公共并行动力 MPI 常量模块;保存 COMM_LMDZ 和 MPI_REAL_LMDZ,并初始化 MPI/XIOS/OASIS communicator。 |
mod_const_mpi |
COMM_LMDZ |
module integer |
libf/phymars/dyn1d/mod_const_mpi.F90 -> LMDZ.COMMON/libf/dyn3dpar/mod_const_mpi.F90 |
LMDZ 动力侧 communicator;1D 初始化在 XIOS 分支传给 init_physics_distribution。 |
mod_const_mpi, init_testphys1d_mod |
mod_interface_dyn_phys |
module |
libf/phymars/dyn1d/mod_interface_dyn_phys.F90 -> LMDZ.COMMON/libf/dynphy_lonlat/mod_interface_dyn_phys.F90 |
公共动力-物理接口辅助模块;并行分支保存本地物理列到动力网格 (i,j) 的索引映射。 |
mod_interface_dyn_phys |
init_interface_dyn_phys |
subroutine |
libf/phymars/dyn1d/mod_interface_dyn_phys.F90 -> LMDZ.COMMON/libf/dynphy_lonlat/mod_interface_dyn_phys.F90 |
初始化 index_i/index_j;非 CPP_PARA 时为空例程。 |
mod_interface_dyn_phys, init_testphys1d_mod |
parallel_lmdz |
module |
libf/phymars/dyn1d/parallel_lmdz.F90 -> LMDZ.COMMON/libf/dyn3dpar/parallel_lmdz.F90 |
公共并行运行时模块;保存 MPI/OpenMP 状态、纬向分配表、极点标志和通信入口。 |
parallel_lmdz |
init_parallel |
subroutine |
libf/phymars/dyn1d/parallel_lmdz.F90 -> LMDZ.COMMON/libf/dyn3dpar/parallel_lmdz.F90 |
初始化 COMM_LMDZ 上的 rank/size、纬向带分配、输出文件、极点标志和 OpenMP chunk;testphys1d 直接调用。 |
parallel_lmdz, mod_const_mpi |
using_mpi / mpi_size / mpi_rank |
module state |
libf/phymars/dyn1d/parallel_lmdz.F90 -> LMDZ.COMMON/libf/dyn3dpar/parallel_lmdz.F90 |
并行运行模式和当前 MPI communicator 的进程数/rank,控制 barrier、halo、gather 和 broadcast 是否执行。 |
parallel_lmdz |
jj_begin / jj_end / ij_begin / ij_end |
module state |
libf/phymars/dyn1d/parallel_lmdz.F90 -> LMDZ.COMMON/libf/dyn3dpar/parallel_lmdz.F90 |
当前 rank 负责的纬向带和扁平水平索引范围,由 init_parallel 或 SetDistrib 写入。 |
parallel_lmdz |
exchange_hallo |
subroutine |
libf/phymars/dyn1d/parallel_lmdz.F90 -> LMDZ.COMMON/libf/dyn3dpar/parallel_lmdz.F90 |
按 up/down halo 行数和极点标志在相邻 MPI rank 之间非阻塞交换边界行。 |
parallel_lmdz |
Gather_Field / AllGather_Field / Broadcast_Field |
subroutines |
libf/phymars/dyn1d/parallel_lmdz.F90 -> LMDZ.COMMON/libf/dyn3dpar/parallel_lmdz.F90 |
对分布式水平场执行 gather、allgather 和 broadcast;支持 ip1jmp1 与 ip1jm 两种水平长度。 |
parallel_lmdz |
profile_temp_mod |
module |
libf/phymars/dyn1d/profile_temp_mod.F90 |
1D 温度廓线构造模块,包装 profile_temp。 |
profile_temp_mod |
profile_temp |
subroutine |
libf/phymars/dyn1d/profile_temp_mod.F90 |
按 ichoice/tref/isin/pic/largeur/hauteur 生成温度廓线,可读取 profile_temp 文件并写出 profile_temp.out。 |
profile_temp_mod, init_testphys1d_mod |
ichoice / tref / isin |
1D getin keys |
libf/phymars/dyn1d/profile_temp_mod.F90 / run.def.1d |
控制 1D 初始温度廓线类型、参考温度和是否追加正弦扰动。 |
profile_temp_mod, testphys1d-config |
profile_temp / profile_temp.out |
ASCII input/output files |
libf/phymars/dyn1d/profile_temp_mod.F90 |
ichoice>=8 时读取 profile_temp;每次调用都写出生成后的 profile_temp.out。 |
profile_temp_mod |
read_profile_mod |
module |
libf/phymars/dyn1d/read_profile_mod.F90 |
1D tracer profile 读取模块,包装 read_profile。 |
read_profile_mod |
read_profile |
subroutine |
libf/phymars/dyn1d/read_profile_mod.F90 |
读取 profile_<tracer> 文件并填充 qsurf/q,缺文件时处理 CO2、HDO 和 dust 默认初始化。 |
read_profile_mod, init_testphys1d_mod |
profile_<tracer> |
ASCII input files |
libf/phymars/dyn1d/read_profile_mod.F90 / util/extractcolumnfor1D.F90 |
1D tracer 初始廓线文件;第一行是 surface 值,后续为逐层混合比。 |
read_profile_mod, extractcolumnfor1D |
serre_mod |
module |
libf/phymars/dyn1d/serre_mod.F90 -> LMDZ.COMMON/libf/dyn3d_common/serre_mod.F90 |
公共动力 zoom/水平网格状态模块;保存 clon/clat/grossismx/grossismy/dzoomx/dzoomy/taux/tauy 和派生变换参数。 |
serre_mod |
clon / clat |
module scalars |
libf/phymars/dyn1d/serre_mod.F90 -> LMDZ.COMMON/libf/dyn3d_common/serre_mod.F90 |
zoom 中心经纬度;公共 defrun/Mars defrun_new 从 run.def 或 start 控制表读取或比对。 |
serre_mod, defrun_new |
grossismx / grossismy |
module scalars |
libf/phymars/dyn1d/serre_mod.F90 -> LMDZ.COMMON/libf/dyn3d_common/serre_mod.F90 |
x/y 方向 zoom 放大率;小于 1 时 defrun/defrun_new 停止,且用于派生 alphax/alphay。 |
serre_mod |
testphys1d |
program |
libf/phymars/dyn1d/testphys1d.F90 |
1D 单柱物理测试主程序;初始化状态、循环调用 physiq 并推进风、温度、表压和 tracer。 |
testphys1d, testphys1d-config |
gr_fi_dyn |
dummy subroutine |
libf/phymars/dyn1d/testphys1d.F90 |
1D 编译路径所需的最小物理到动力网格映射;仅允许 ngrid=1,把 pfi(1,:) 放到 pdyn(1,1,:)。 |
testphys1d |
startfiles_1D |
getin key / logical |
libf/phymars/dyn1d/testphys1d.F90 |
控制是否检查 1D start/restart 文件,并决定末尾是否写 restart1D.txt。 |
testphys1d, testphys1d-config |
writerestart1D_mod |
module |
libf/phymars/dyn1d/writerestart1D_mod.F90 |
1D 文本 restart 写出模块,包装 writerestart1D。 |
writerestart1D_mod |
writerestart1D |
subroutine |
libf/phymars/dyn1d/writerestart1D_mod.F90 |
覆盖写出 restart1D.txt,记录 ps、逐 tracer profile、u/v 和 teta。 |
writerestart1D_mod, testphys1d |
restart1D.txt |
ASCII output file |
libf/phymars/dyn1d/writerestart1D_mod.F90 |
1D 文本 restart;格式可作为下一次运行的 start1D.txt 来源,但需运行脚本重命名或复制。 |
writerestart1D_mod, init_testphys1d_mod |
calldrag_noro_mod |
module |
libf/phymars/calldrag_noro_mod.F90 |
Lott 地形重力波/次网格地形拖曳调用层模块。 |
calldrag_noro_mod, config-system |
calldrag_noro |
subroutine |
libf/phymars/calldrag_noro_mod.F90 |
按 zstd 阈值筛选格点,分子域调用 drag_noro 并返回地形 GW tendency。 |
calldrag_noro_mod, testphys1d-config |
drag_noro_mod |
module |
libf/phymars/drag_noro_mod.F90 |
地形重力波/次网格地形拖曳的 ORODRAG 包装层模块。 |
drag_noro_mod, calldrag_noro_mod |
drag_noro |
subroutine |
libf/phymars/drag_noro_mod.F90 |
翻转垂直层序并调用 ORODRAG,把返回的温度/风 tendency 转为每步增量并累加低层 stress。 |
drag_noro_mod, calldrag_noro_mod |
sugwd_mod |
module |
libf/phymars/sugwd.F90 |
地形重力波参数初始化模块。 |
sugwd, calldrag_noro_mod |
SUGWD |
subroutine |
libf/phymars/sugwd.F90 |
根据半层 sigma 坐标初始化 yoegwd_h 中的 NKTOPG、drag 系数、Richardson 数阈值和安全下限。 |
sugwd, orosetup, gwstress_mod, gwprofil_mod |
yoegwd_h |
module |
libf/phymars/yoegwd_h.F90 |
地形重力波拖曳共享调参状态模块;声明 SUGWD 写入、下游 GW 链读取的 threadprivate 参数。 |
yoegwd_h, sugwd |
GFRCRIT / GRCRIT / GVCRIT |
saved threadprivate module variables |
libf/phymars/yoegwd_h.F90 |
低层流、Richardson 数和临界风速相关阈值;由 SUGWD 初始化,供 OROSETUP/GWSTRESS/GWPROFIL 读取。 |
yoegwd_h, orosetup, gwstress_mod, gwprofil_mod |
GKDRAG / GKDRAGL / GKWAKE |
saved threadprivate module variables |
libf/phymars/yoegwd_h.F90 |
地形 GW drag 和 wake drag 经验系数;GKDRAGL 由 GKDRAG 派生。 |
yoegwd_h, sugwd, orodrag_mod |
GSIGCR / GSSEC / GTSEC / GVSEC |
saved threadprivate module variables |
libf/phymars/yoegwd_h.F90 |
低层流 sigma 阈值和稳定度、stress、风速安全下限。 |
yoegwd_h, orosetup, gwprofil_mod |
NKTOPG |
threadprivate module variable |
libf/phymars/yoegwd_h.F90 |
SUGWD 从半层 sigma 坐标扫描得到的顶部地形层索引,限制 OROSETUP 中地形高度搜索。 |
yoegwd_h, sugwd, orosetup |
surfdat_h |
module |
libf/phymars/surfdat_h.F90 |
地表共享状态模块,保存地表、坡面、水冰帽、次网格地形和山顶地形数组。 |
surfdat_h, phys_state_var_init_mod |
ini_surfdat_h |
subroutine |
libf/phymars/surfdat_h.F90 |
按 ngrid,nq,nslope 分配完整地表共享数组。 |
surfdat_h |
end_surfdat_h |
subroutine |
libf/phymars/surfdat_h.F90 |
释放完整地表共享数组。 |
surfdat_h |
ini_surfdat_h_slope_var |
subroutine |
libf/phymars/surfdat_h.F90 |
只分配依赖坡面维度的地表数组。 |
surfdat_h |
end_surfdat_h_slope_var |
subroutine |
libf/phymars/surfdat_h.F90 |
只释放依赖坡面维度的地表数组。 |
surfdat_h |
surfini_mod |
module |
libf/phymars/surfini_mod.F90 |
水冰帽初始化模块。 |
surfini_mod, surfdat_h |
icelocationmode |
integer module variable |
libf/phymars/surfini_mod.F90 |
选择水冰帽定位方式,默认使用 startfi 标签。 |
surfini_mod |
surfini |
subroutine |
libf/phymars/surfini_mod.F90 |
初始化 watercaptag/dryness 并按配置定位水冰帽。 |
surfini_mod |
locate_watercaptag |
subroutine |
libf/phymars/surfini_mod.F90 |
用手工经纬度边界为任意分辨率定位水冰帽。 |
surfini_mod |
swr_fouquart_mod |
module |
libf/phymars/swr_fouquart.F |
Fouquart 短波连续散射模块。 |
swr_fouquart, radiation |
SWR_FOUQUART |
subroutine |
libf/phymars/swr_fouquart.F |
合成 aerosol/Rayleigh 光学参数并计算短波上下通量。 |
swr_fouquart, cvmgt |
swr_toon_mod |
module |
libf/phymars/swr_toon.F |
Toon 短波 two-stream 模块。 |
swr_toon, radiation |
SWR_TOON |
subroutine |
libf/phymars/swr_toon.F |
合成 aerosol/Rayleigh 光学参数并调用 GFLUXV 计算短波通量。 |
swr_toon, cvmgt |
GFLUXV |
subroutine |
libf/phymars/swr_toon.F |
单列 delta-Eddington / Meador-Weaver two-stream 通量求解器。 |
swr_toon |
swrayleigh_mod |
module |
libf/phymars/swrayleigh.F |
短波 Rayleigh 柱光学厚度辅助模块。 |
swrayleigh, radiation |
swrayleigh |
subroutine |
libf/phymars/swrayleigh.F |
用 CRAY 多项式和修正太阳天顶角余弦计算 prayl;当前 Mars 压力缩放行被注释。 |
swrayleigh, swr_fouquart, swr_toon |
tabfi_mod |
module |
libf/phymars/tabfi.F |
物理控制表读取和默认常数初始化模块。 |
tabfi, phyetat0_mod |
tabfi |
subroutine |
libf/phymars/tabfi.F |
从 controle 数组或默认路径初始化物理常数、轨道量和地表参数,并调用 iniorbit。 |
tabfi, planete_h |
orodrag_mod |
module |
libf/phymars/orodrag_mod.F90 |
地形重力波/次网格地形拖曳核心模块。 |
orodrag_mod, drag_noro_mod |
ORODRAG |
subroutine |
libf/phymars/orodrag_mod.F90 |
调用 OROSETUP/GWSTRESS/GWPROFIL 后,把 ZTAU stress profile 和阻塞层 wake drag 转换为 U/V/T tendency。 |
orodrag_mod, gwstress_mod, gwprofil_mod |
orosetup_mod |
module |
libf/phymars/orosetup.F90 |
地形重力波拖曳预处理模块。 |
orosetup, orodrag_mod |
OROSETUP |
subroutine |
libf/phymars/orosetup.F90 |
计算 ORODRAG 所需的地形高度层索引、低层风、稳定度、密度、方向投影和阻塞层参数。 |
orosetup, orodrag_mod |
gwprofil_mod |
module |
libf/phymars/gwprofil_mod.F90 |
地形重力波 stress profile 计算模块。 |
gwprofil_mod, drag_noro_mod |
GWPROFIL |
subroutine |
libf/phymars/gwprofil_mod.F90 |
在 ORODRAG 内根据临界层、波破碎判据和阻塞层插值改写 ZTAU 半层应力廓线。 |
gwprofil_mod |
gwstress_mod |
module |
libf/phymars/gwstress_mod.F90 |
地形重力波底层应力初始化模块。 |
gwstress_mod, drag_noro_mod |
GWSTRESS |
subroutine |
libf/phymars/gwstress_mod.F90 |
在 ORODRAG 内按方程 (17) 计算底层半层 ZTAU(:,nlayer+1) 的地形重力波应力。 |
gwstress_mod |
nonoro_gwd_mix_mod |
module |
libf/phymars/nonoro_gwd_mix_mod.F90 |
J. Liu 非地形重力波诱导混合模块,保存混合开关、记忆数组和主入口。 |
nonoro_gwd_mix_mod |
NONORO_GWD_MIX |
subroutine |
libf/phymars/nonoro_gwd_mix_mod.F90 |
计算非地形重力波诱导的温度、纬向风和 tracer 混合 tendency;当前源码将经向风混合输出置零。 |
nonoro_gwd_mix_mod |
calljliu_gwimix |
logical module variable |
libf/phymars/nonoro_gwd_mix_mod.F90 |
控制 physiq 是否在 calllott_nonoro 分支内调用 J. Liu GW-induced mixing。 |
nonoro_gwd_mix_mod |
du_eddymix_gwd / dh_eddymix_gwd / dq_eddymix_gwd |
module arrays |
libf/phymars/nonoro_gwd_mix_mod.F90 |
非地形 GW 混合 tendency 的跨步记忆数组,phyetat0_mod.F90 可从重启文件读取或清零。 |
nonoro_gwd_mix_mod |
ini_nonoro_gwd_mix / end_nonoro_gwd_mix |
subroutine |
libf/phymars/nonoro_gwd_mix_mod.F90 |
分配和释放 nonoro_gwd_mix_mod 的保存数组。 |
nonoro_gwd_mix_mod |
nonoro_gwd_ran_mod |
module |
libf/phymars/nonoro_gwd_ran_mod.F90 |
随机非地形重力波动量拖曳模块,保存 U/V 记忆数组和主计算入口。 |
nonoro_gwd_ran_mod |
NONORO_GWD_RAN |
subroutine |
libf/phymars/nonoro_gwd_ran_mod.F90 |
构造离散随机非地形 GW、推进 EP flux,并返回 U/V 动量拖曳 tendency。 |
nonoro_gwd_ran_mod |
du_nonoro_gwd / dv_nonoro_gwd |
module arrays |
libf/phymars/nonoro_gwd_ran_mod.F90 |
非地形 GW 动量拖曳 tendency 的跨步记忆数组,由物理 start/restart 路径读取和写回。 |
nonoro_gwd_ran_mod |
ini_nonoro_gwd_ran / end_nonoro_gwd_ran |
subroutine |
libf/phymars/nonoro_gwd_ran_mod.F90 |
分配和释放 nonoro_gwd_ran_mod 的保存数组。 |
nonoro_gwd_ran_mod |
calltherm_interface_mod |
module |
libf/phymars/calltherm_interface_mod.F90 |
Martian thermal plume model 的 physiq 接口层模块。 |
calltherm_interface_mod, pbl_parameters_mod |
calltherm_interface |
subroutine |
libf/phymars/calltherm_interface_mod.F90 |
在 calltherm 开启时准备热羽流输入、执行子步长、返回热羽流 tendency 和 wstar/hfmax。 |
calltherm_interface_mod, config-system |
thermcell_main_mars_mod |
module |
libf/phymars/thermcell_main_mars.F90 |
Martian thermal plume 主求解器模块。 |
thermcell_main_mars, calltherm_interface_mod |
thermcell_main_mars |
subroutine |
libf/phymars/thermcell_main_mars.F90 |
在热羽流子步长内计算源层、羽流高度、质量通量、温度/CO2 tendency 和诊断通量。 |
thermcell_main_mars, thermcell_dqup, comtherm_h |
thermcell_dqup_mod |
module |
libf/phymars/thermcell_dqup.F90 |
热羽流被动变量输送模块。 |
thermcell_dqup, calltherm_interface_mod |
thermcell_dqup |
subroutine |
libf/phymars/thermcell_dqup.F90 |
按热羽流质量通量、夹卷和退卷通量计算标量 dq/dt。 |
thermcell_dqup, comtherm_h |
comtherm_h |
module |
libf/phymars/comtherm_h.F90 |
Martian thermal plume model 的编译期控制参数和调参常数模块。 |
comtherm_h, calltherm_interface_mod |
nsplit_thermals |
parameter |
libf/phymars/comtherm_h.F90 |
热羽流子步长数;MESOSCALE 编译路径为 4,GCM 默认路径为 10。 |
comtherm_h, calltherm_interface_mod |
qtransport_thermals |
parameter |
libf/phymars/comtherm_h.F90 |
是否启用热羽流 tracer 输送;当前默认 .true.。 |
comtherm_h, calltherm_interface_mod |
dtke_thermals |
parameter |
libf/phymars/comtherm_h.F90 |
是否启用热羽流 TKE 输送;当前默认 .false.,源码注释标明为实验路径。 |
comtherm_h, calltherm_interface_mod |
r_aspect_thermals |
parameter |
libf/phymars/comtherm_h.F90 |
控制热羽流 mixed-layer bottom 温度廓线形状的常数。 |
comtherm_h |
thermverbose |
parameter |
libf/phymars/comtherm_h.F90 |
控制热羽流内部修正和诊断输出的 verbose 开关。 |
comtherm_h |
ad / bd / ae / be |
parameter |
libf/phymars/comtherm_h.F90 |
热羽流 detrainment 和 entrainment 经验公式调参常数。 |
comtherm_h |
fdfu / omega |
parameter |
libf/phymars/comtherm_h.F90 |
热羽流 downdraft/updraft mass flux ratio 和下沉气流相关调参常数。 |
comtherm_h |
a1 / b1 / a1inv / b1inv |
parameter / module variable |
libf/phymars/comtherm_h.F90 |
热羽流垂直速度方程和逆温层速度方程系数。 |
comtherm_h |
check_fields_mod |
module |
libf/phymars/check_fields.F90 |
physiq 步首/步尾场检查模块。 |
check_fields, config-system |
check_physics_fields |
subroutine |
libf/phymars/check_fields.F90 |
检查温度、风、表面压力和 tracer,发现 NaN/越界值后中止。 |
check_fields, tracer_mod |
check_temperature |
subroutine |
libf/phymars/check_fields.F90 |
检查温度 NaN 和 50-350 K 默认范围。 |
check_fields |
check_winds |
subroutine |
libf/phymars/check_fields.F90 |
检查 u/v NaN 和 500 m/s 默认绝对值上限。 |
check_fields |
check_ps |
subroutine |
libf/phymars/check_fields.F90 |
检查表面压力 NaN 和 80-2000 Pa 默认范围。 |
check_fields |
check_tracers |
subroutine |
libf/phymars/check_fields.F90 |
检查 tracer NaN,并对负 tracer 混合比打印警告。 |
check_fields, tracer_mod |
conc_mod |
module |
libf/phymars/conc_mod.F90 |
保存大气混合物平均摩尔质量、比热、比气体常数和热导率系数的模块。 |
conc_mod, co2cloud_mod |
ini_conc_mod |
subroutine |
libf/phymars/conc_mod.F90 |
按 ngrid,nlayer 分配 mmean/Akknew/cpnew/rnew。 |
conc_mod |
end_conc_mod |
subroutine |
libf/phymars/conc_mod.F90 |
释放已分配的 mmean/Akknew/cpnew/rnew。 |
conc_mod |
init_r_cp_mu |
subroutine |
libf/phymars/conc_mod.F90 |
用 comcstfi_h:r/cpp/mugaz 初始化常数背景 rnew/cpnew/mmean。 |
conc_mod, comcstfi_h |
update_r_cp_mu_ak |
subroutine |
libf/phymars/conc_mod.F90 |
在 photochem 或 callthermos 路径中,按 tracer 组成更新 mmean/rnew/cpnew/Akknew。 |
conc_mod, tracer_mod |
mmean / rnew / cpnew / Akknew |
protected module variable |
libf/phymars/conc_mod.F90 |
逐格点逐层平均摩尔质量、比气体常数、定压比热和热导率系数。 |
conc_mod, co2-saturation-helpers |
conduction_mod |
module |
libf/aeronomars/conduction.F |
热层分子热传导模块;用隐式三对角(Thomas 算法)求解垂直热传导倾向。 |
conduction, conc_mod |
conduction |
subroutine |
libf/aeronomars/conduction.F |
按 conc_mod::Akknew/cpnew/rnew 与温度依赖热导率 k=Akk*T**skk(skk=0.69)求解热传导倾向 zdtconduc,由 thermosphere_mod 在 callconduct 下调用。 |
conduction, conc_mod, callkeys_mod |
molvis_mod |
module |
libf/aeronomars/molvis.F |
热层分子黏性速度扩散模块;按 Akknew/cpnew/rnew 构造黏性系数,用隐式三对角求解风速 tendency。 |
molvis, conduction, conc_mod |
molvis |
subroutine |
libf/aeronomars/molvis.F |
对单个风速分量求解垂直分子黏性扩散;thermosphere_mod 在 callmolvis 下分别用于 pu 和 pv。 |
molvis |
param_read_mod |
module |
libf/aeronomars/param_read.F |
旧版热层 EUV 参数读取模块;封装 param_read,从 EUVDAT/param_v5 表格填充 param_v4_h 共享数组。 |
param_read, datafile_mod |
param_read |
subroutine |
libf/aeronomars/param_read.F |
master-only 读取 coln.dat、j*、varflujo.dat、efdis_inter.dat,写入柱积分、光吸收和解离/电离效率表并广播;当前源码未找到活跃调用点。 |
param_read |
param_read_e107_mod |
module |
libf/aeronomars/param_read_e107.F |
当前热层 E107 参数读取模块;封装 param_read_e107,由 physiq_mod 的 callthermos 初始化分支调用。 |
param_read_e107, physiq_mod |
param_read_e107 |
subroutine |
libf/aeronomars/param_read_e107.F |
读取 EUVDAT/param_v6、E107 拟合/年表和 CO2/O2/N2/CO 电离分支比,写入并广播 param_v4_h 热层参数。 |
param_read_e107, datafile_mod |
param_v4_h |
module |
libf/aeronomars/param_v4_h.F90 |
热层 EUV/E107、反应速率、光解输出和化学产损缓存共享状态模块。 |
param_v4_h, param_read_e107, hrtherm |
fill_data_thermos |
subroutine |
libf/aeronomars/param_v4_h.F90 |
填入内置吸收截面、36 个代表波长 freccen 和 195/295 K CO2 截面表;由 physiq_mod 热层初始化段调用。 |
param_v4_h, physiq_mod |
allocate_param_thermos |
subroutine |
libf/aeronomars/param_v4_h.F90 |
按 nlayer 分配 jfotsout/jdistot/jion 和热层化学 P*/L*/tmin* 缓存;由 physiq_mod 调用。 |
param_v4_h, physiq_mod |
freccen |
real module array |
libf/aeronomars/param_v4_h.F90 |
36 个 EUV 代表波长;由 fill_data_thermos 硬编码设置,hrtherm 在加热率归一化中读取。 |
param_v4_h, hrtherm |
jfotsout / jdistot / jion |
saved threadprivate module arrays |
libf/aeronomars/param_v4_h.F90 |
热层光吸收、解离和电离输出缓存;allocate_param_thermos 分配,jthermcalc* 写入,hrtherm/热层化学路径消费。 |
param_v4_h, hrtherm |
P* / L* / tmin* thermal arrays |
saved threadprivate module arrays |
libf/aeronomars/param_v4_h.F90 |
热层物种逐反应产生项、损失项和最小时间尺度缓存;allocate_param_thermos 按 nlayer,nreact 或 nlayer 分配,paramfoto_compact 写入。 |
param_v4_h, paramfoto_compact |
calchim_mod |
module |
libf/aeronomars/calchim_mod.F90 |
光化学调度模块;保存 ichemistry/zdqchim/zdqschim,并包装 calchim、ini_calchim_mod、end_calchim_mod。 |
calchim_mod, aeronomars/index |
calchim |
subroutine |
libf/aeronomars/calchim_mod.F90 |
firstcall 识别化学 tracer 和初始化光解/热层速率;逐列调用 photochemistry、perosat、可选 chemthermos/deposition,并把更新后的 mole fraction 转回 dqchim。 |
calchim_mod, photochemistry_mod, perosat, chemistrydata, chemthermos_readini, deposition, iono_h |
ini_calchim_mod |
subroutine |
libf/aeronomars/calchim_mod.F90 |
按 ngrid,nlayer,nq 分配并清零 zdqchim(ngrid,nlayer,nq) 与 zdqschim(ngrid,nq)。 |
calchim_mod, phys_state_var_init_mod |
end_calchim_mod |
subroutine |
libf/aeronomars/calchim_mod.F90 |
释放已分配的 zdqchim/zdqschim 化学倾向缓存。 |
calchim_mod, phys_state_var_init_mod |
zdqchim / zdqschim |
allocatable save THREADPRIVATE arrays |
libf/aeronomars/calchim_mod.F90 |
光化学对 pq 与 qsurf 的倾向缓存,由 ini_calchim_mod 分配、end_calchim_mod 释放。 |
calchim_mod |
chemistrydata_mod |
module |
libf/aeronomars/chemistrydata.F90 |
光解查找表数据模块;声明查找表维度参数并保存 jphot/colairtab/table_ozo 表与读取例程。 |
chemistrydata, datafile_mod |
read_phototable |
subroutine |
libf/aeronomars/chemistrydata.F90 |
从 datadir(默认 jmars.20140930,phototable 键可覆盖)读取光解查找表,master 读后 bcast;由 calchim_mod firstcall 在 photochem .and. .not. jonline 下调用。 |
chemistrydata, datafile_mod |
jphot / colairtab / table_ozo |
protected save THREADPRIVATE arrays |
libf/aeronomars/chemistrydata.F90 |
光解速率查找表、空气柱剖面、臭氧柱网格;供 photolysis 多维插值。 |
chemistrydata |
photolysis_module |
module |
libf/aeronomars/photolysis.F90 |
离线光解查找表插值模块;包装 photolysis。 |
photolysis, chemistrydata |
photolysis |
subroutine |
libf/aeronomars/photolysis.F90 |
jonline=false 时由 photochemistry 调用;按温度、SZA、CO2 柱、O3 柱和尘埃 5 维插值 jphot,输出基础 v_phot。 |
photolysis, photochemistry_mod, chemistrydata |
photolysis_mod |
module |
libf/aeronomars/photolysis_mod.F90 |
在线光解初始化和共享谱表模块;保存 nphot/wl/f/xs*/yield*/albedo 等 THREADPRIVATE 状态。 |
photolysis_mod |
nphot |
saved module variable |
libf/aeronomars/photolysis_mod.F90 |
基础光解过程数,默认 13;氘化学开启时 calchim_mod 在初始化前加 2。 |
photolysis_mod, calchim_mod, photochemistry_mod |
init_photolysis |
subroutine |
libf/aeronomars/photolysis_mod.F90 |
在线光解初始化入口;建立低分辨率波长网格,读取太阳通量、截面、量子产额和反照率。 |
photolysis_mod, calchim_mod |
gridw / inter2 / addpnt |
subroutines |
libf/aeronomars/photolysis_mod.F90 |
在线光解读表工具;生成波长网格、补边界点并按目标 bin 面积平均重采样。 |
photolysis_mod |
photolysis_online_mod |
module |
libf/aeronomars/photolysis_online.F |
在线光解率计算模块;包含主例程和 12 个内部子例程(setair/setco2/seto2/seto3/seth2o2/setno2/setaer/setcld/sphers/rtlink/ps2str/tridiag)。 |
photolysis_online, photolysis_mod |
photolysis_online |
subroutine |
libf/aeronomars/photolysis_online.F |
jonline=true 时由 photochemistry 调用;逐波长做两流辐射传输,累加 15 个光解率到 v_phot。 |
photolysis_online, photochemistry_mod, photolysis_mod |
surfacearea_mod |
module |
libf/aeronomars/surfacearea.F |
气溶胶表面积计算模块;包装 surfacearea 子例程。 |
surfacearea |
surfacearea |
subroutine |
libf/aeronomars/surfacearea.F |
按微物理/简单云两种方案计算尘/冰颗粒总表面积密度 surfdust/surfice(m2/m3),由 physiq_mod 在 photochem 路径中调用。 |
surfacearea, physiq_mod, calchim_mod |
thermosphere_mod |
module |
libf/aeronomars/thermosphere_mod.F |
热层物理过程总调度模块;保存 moldiff_scheme,包装 thermosphere。 |
thermosphere_mod |
thermosphere |
subroutine |
libf/aeronomars/thermosphere_mod.F |
physiq_mod 在 callthermos 下调用;依次执行 EUV 加热、热传导、黏性扩散和分子扩散,累加 tendency 并输出 H/H₂/D 逃逸通量。 |
thermosphere_mod, physiq_mod |
avg_horiz_mod |
module |
libf/dynphy_lonlat/phymars/avg_horiz_mod.F |
水平空间平均插值模块;包装 avg_horiz 子例程。 |
avg_horiz_mod |
avg_horiz |
subroutine |
libf/dynphy_lonlat/phymars/avg_horiz_mod.F |
将源网格地表数据按空间搜索分箱平均到目标 GCM 网格;由 datareadnc 调用。 |
avg_horiz_mod |
caldyn0 |
subroutine |
libf/dynphy_lonlat/phymars/caldyn0.F |
lon-lat GCM 动力倾向计算;依次调 13 个 EXTERNAL 子过程(covcont/pression/psextbar/massdair/massbar/flumass/convmass/vitvert/tourpot/enercin/bernoui/sortvarc0 等),由 newstart 调用。 |
caldyn0 |
callphysiq_mod |
module |
libf/dynphy_lonlat/phymars/callphysiq_mod.F90 |
lon-lat 动力-物理耦合适配器模块;封装 call_physiq 接口。 |
callphysiq_mod |
call_physiq |
subroutine |
libf/dynphy_lonlat/phymars/callphysiq_mod.F90 |
校验 planet_type 后将动力核心状态数组转发给 physiq,回写风/温度/示踪剂/地表气压 tendency。 |
callphysiq_mod |
datareadnc |
subroutine |
libf/dynphy_lonlat/phymars/datareadnc.F |
从 surface.nc 读取地表数据(z0/反照率/热惯量/MOLA 地形/亚网格参数),经 interp_horiz/avg_horiz/mvc_horiz 插值到 GCM 网格,由 newstart 调用。 |
datareadnc |
defrun_new |
subroutine |
libf/dynphy_lonlat/phymars/defrun_new.F |
从 run.def 读取 30+ 运行参数(时间步进/耗散/zoom/海绵层/物理频率等)写入公共模块变量,由 newstart 和 start2archive 调用。 |
defrun_new |
grid_noro1 |
subroutine |
libf/dynphy_lonlat/phymars/grid_noro1.F |
从 USN 高分辨率高程数据计算亚网格地形参数(zmea/zstd/zsig/zgam/zthe),由 datareadnc 调用。 |
grid_noro1 |
ini_archive |
subroutine |
libf/dynphy_lonlat/phymars/ini_archive.F |
写入 start_archive NetCDF 文件头部:11 个维度、坐标/垂直系数/土壤/地表/坡面等静态变量和 100 元素控制参数表,由 start2archive 调用。 |
ini_archive |
iniphysiq_mod |
module |
libf/dynphy_lonlat/phymars/iniphysiq_mod.F90 |
物理初始化主入口模块;包装 iniphysiq 例程,依次完成网格-几何-状态-配置初始化。 |
iniphysiq_mod |
iniphysiq |
subroutine |
libf/dynphy_lonlat/phymars/iniphysiq_mod.F90 |
物理初始化入口;调用 inigeomphy/phys_state_var_init/ini_fillgeom/conf_phys,由 newstart/nogcm/start2archive 调用。 |
iniphysiq_mod |
interp_vert |
subroutine |
libf/dynphy_lonlat/phymars/interp_vert.F |
垂直坐标线性插值;将变量从旧混合 σ-p 垂直层插值到新垂直层,由 lect_start_archive 调用。 |
interp_vert |
leapfrog_nogcm |
subroutine |
libf/dynphy_lonlat/phymars/leapfrog_nogcm.F |
独立物理模式时间积分主循环;Matsuno + leapfrog 步进,牛顿松弛替代动力核心,由 nogcm 调用。 |
leapfrog_nogcm |
globaverage2d |
function |
libf/dynphy_lonlat/phymars/leapfrog_nogcm.F |
面积加权全局二维平均(内部辅助函数)。 |
leapfrog_nogcm |
lect_start_archive_mod |
module |
libf/dynphy_lonlat/phymars/lect_start_archive.F |
start_archive 读取与网格插值模块;包装 lect_start_archive 例程。 |
lect_start_archive |
lect_start_archive |
subroutine |
libf/dynphy_lonlat/phymars/lect_start_archive.F |
读取 start_archive NetCDF 并通过 interp_vert/interp_horiz/interp_line 重映射到当前网格,由 newstart 调用。 |
lect_start_archive |
mvc_horiz_mod |
module |
libf/dynphy_lonlat/phymars/mvc_horiz_mod.F |
最大值复合水平插值模块;包装 mvc_horiz 例程。 |
mvc_horiz_mod |
mvc_horiz |
subroutine |
libf/dynphy_lonlat/phymars/mvc_horiz_mod.F |
最大值复合水平插值;将高分辨率源数据取亚网格最大值映射到 GCM 目标网格,由 datareadnc 调用。 |
mvc_horiz_mod |
newstart |
program |
libf/dynphy_lonlat/phymars/newstart.F |
交互式初始场编辑器;读取 start_archive.nc 或 start.nc/startfi.nc,修改初始状态并写出 restart.nc/restartfi.nc。 |
newstart |
load_MONS_data |
subroutine |
libf/dynphy_lonlat/phymars/newstart.F |
读取 datadir/results_MONS_lat_lon_H_depth.txt,补南极缺测并插值 MONS 地下冰数据到 GCM 网格;由 newstart 的 mons_ice 分支调用。 |
newstart, datafile_mod |
nogcm |
program |
libf/dynphy_lonlat/phymars/nogcm.F90 |
独立物理模式主程序;初始化配置、日历、tracer、start 状态和物理后调用 leapfrog_nogcm。 |
nogcm, leapfrog_nogcm |
readhead_NC |
subroutine |
libf/dynphy_lonlat/phymars/readhead_NC.F |
NetCDF 头信息读取器;读取 controle、经纬度、面积、phisinit、aps/bps,设置动力常数、几何数组和垂直坐标状态,由 xvik 调用。 |
readhead_NC |
scal_wind |
subroutine |
libf/dynphy_lonlat/phymars/scal_wind.F |
将 xus/xvs 相邻平均到 u/v 风点;由 lect_start_archive 在 start_archive 风场读取后调用。 |
scal_wind, lect_start_archive |
start2archive |
program |
libf/dynphy_lonlat/phymars/start2archive.F |
起始场归档转换主程序;读取 start.nc/startfi.nc,同步日期、转换动力/物理字段并创建或追加 start_archive.nc。 |
start2archive, ini_archive |
subslope_mola_mod |
module |
libf/dynphy_lonlat/phymars/subslope_mola.F90 |
MOLA 坡面分布重算模块;封装 MOLA 高程读取、坡度/坡向计算和 GCM 网格坡面统计。 |
subslope_mola |
subslope_mola |
subroutine |
libf/dynphy_lonlat/phymars/subslope_mola.F90 |
读取 MOLA 坡面统计并输出 subslope_dist(ngridmx,nslope);由 newstart 的坡面数量修改分支调用。 |
subslope_mola, newstart |
mola |
subroutine |
libf/dynphy_lonlat/phymars/subslope_mola.F90 |
读取 datadir/mola64.nc 的 alt 高程,并调用 getslopes_mola32 生成坡度倾角和坡向。 |
subslope_mola, datafile_mod |
getslopes_mola32 |
subroutine |
libf/dynphy_lonlat/phymars/subslope_mola.F90 |
用 MOLA 高程中心差分计算坡度倾角 theta_mola 和坡向 psi_mola。 |
subslope_mola |
slopes_stat |
subroutine |
libf/dynphy_lonlat/phymars/subslope_mola.F90 |
对单个 GCM 网格框内的 MOLA 点按 def_slope 分箱,得到坡面比例。 |
subslope_mola |
wind_scal |
subroutine |
libf/dynphy_lonlat/phymars/wind_scal.F |
将 u/v 自然风或通量相邻平均回标量格点;由 start2archive 写 archive 风场前调用。 |
wind_scal, start2archive |
write_archive |
subroutine |
libf/dynphy_lonlat/phymars/write_archive.F |
start_archive 变量追加器;按 dim 和变量名选择 NetCDF 维度,创建缺失变量并写入指定 Time 记录。 |
write_archive, start2archive |
xvik |
program |
libf/dynphy_lonlat/phymars/xvik.F |
Viking/InSight 压力后处理程序;读取 diagfi 输出并生成站点压力、全球 CO2 压力诊断、日平均和谐波拟合。 |
xvik, readhead_NC |
sol2ls |
subroutine |
libf/dynphy_lonlat/phymars/xvik.F |
将 sol 日期转换为太阳经度 Ls,供 xvik 输出和谐波重建使用。 |
xvik |
ls2sol |
function |
libf/dynphy_lonlat/phymars/xvik.F |
将太阳经度 Ls 反算为 sol,用于 Time_unit==2 的日平均分组。 |
xvik |
DiscreetFourierHn |
subroutine |
libf/dynphy_lonlat/phymars/xvik.F |
计算离散压力序列的 Fourier 谐波系数,供 xvik 写年度谐波拟合。 |
xvik |
photochemistry_mod |
module |
libf/aeronomars/photochemistry_mod.F90 |
主光化学积分模块;包装 photochemistry 与 ASIS 反应速率、索引、矩阵和 GCM/化学物种映射辅助例程。 |
photochemistry_mod, calchim_mod |
photochemistry |
subroutine |
libf/aeronomars/photochemistry_mod.F90 |
calchim 逐列调用;计算光解/光电离/反应速率,按自适应隐式矩阵法更新 zycol,输出 jo3/jh2o/em_no/em_o2/iter。 |
photochemistry_mod, calchim_mod |
reactionrates |
internal subroutine |
libf/aeronomars/photochemistry_mod.F90 |
填 v_phot/v_3/v_4 反应速率数组,覆盖基础 C/O/H/N、可选氘、可选离子和异相反应。 |
photochemistry_mod |
fill_matrix |
internal subroutine |
libf/aeronomars/photochemistry_mod.F90 |
根据 types_asis::indice_phot/indice_3/indice_4 把反应速率装配为隐式积分 Jacobian、产生项和损失项。 |
photochemistry_mod, types_asis |
define_dt |
internal subroutine |
libf/aeronomars/photochemistry_mod.F90 |
按局部曲率误差准则迭代修正化学子时间步,必要时使用 dgesv 预测解。 |
photochemistry_mod |
gcmtochim / chimtogcm |
internal subroutines |
libf/aeronomars/photochemistry_mod.F90 |
在 GCM tracer mole fraction zycol 与内部化学物种数密度 c 之间映射。 |
photochemistry_mod, tracer_mod |
types_asis |
module |
libf/aeronomars/types_asis.F90 |
ASIS 光化学反应索引类型与共享数组模块;无例程,供 photochemistry_mod::indice 和 fill_matrix 使用。 |
types_asis, photochemistry_mod |
z3spec |
derived type |
libf/aeronomars/types_asis.F90 |
三对“系数-物种索引”槽位;用于光解/quench/异相一阶反应和 A + A -> B + C 同物种二次反应索引。 |
types_asis, photochemistry_mod |
z4spec |
derived type |
libf/aeronomars/types_asis.F90 |
四对“系数-物种索引”槽位;用于 A + B -> C + D 二体反应索引。 |
types_asis, photochemistry_mod |
indice_phot / indice_3 / indice_4 |
saved threadprivate module arrays |
libf/aeronomars/types_asis.F90 |
ASIS 反应化学计量表;indice 分配填充,fill_matrix 消费以形成 Jacobian、产生项和损失项。 |
types_asis, photochemistry_mod |
chemthermos_mod |
module |
libf/aeronomars/chemthermos.F90 |
热层化学主例程模块;包装 chemthermos 并缓存线程私有 tracer 索引、物种数和 firstcall 状态。 |
chemthermos, calchim_mod |
chemthermos |
subroutine |
libf/aeronomars/chemthermos.F90 |
.not.unichim 时由 calchim_mod 逐列调用;按 chemthermod 构造热层数密度矩阵,调 jthermcalc_e107 与 paramfoto_compact,只写回 lswitch:nlayer。 |
chemthermos, chemthermos_readini, reaction-rates |
chemthermos_readini_mod |
module |
libf/aeronomars/chemthermos_readini.F |
热层反应速率读取模块;chemthermos_readini 从 chemthermos_reactionrates.def 读 61 反应填 param_v4_h::rcoef。 |
chemthermos_readini, reaction-rates |
chemthermos_readini |
subroutine |
libf/aeronomars/chemthermos_readini.F |
由 calchim_mod firstcall(.not.unichim)调用,读 61 个 Arrhenius 参数到 rcoef(61,3),缺失则 abort_physic。 |
chemthermos_readini, reaction-rates |
paramfoto_compact_mod |
module |
libf/aeronomars/paramfoto_compact.F |
热层光化学/离子化学积分模块;封装主积分器、光解/电离率转换、反应速率、寿命、源汇矩阵和平衡修正例程。 |
paramfoto_compact, chemthermos |
paramfoto_compact |
subroutine |
libf/aeronomars/paramfoto_compact.F |
由 chemthermos 调用,逐层计算 phdisrate/getch/lifetimes/prodsandlosses,用隐式积分和光化学平衡近似更新热层 rm 数密度。 |
paramfoto_compact, reaction-rates |
phdisrate |
subroutine |
libf/aeronomars/paramfoto_compact.F |
把 jfotsout/fluxtop/efdis*/efion* 转成 jdistot/jdistot_b/jion;主例程和 photochemistry_mod 离子光化学路径都会调用。 |
paramfoto_compact, param_read_e107 |
getch |
subroutine |
libf/aeronomars/paramfoto_compact.F |
消费 rcoef(61,3) 生成 ch2..ch87,中性反应用 tcte,离子/电子反应用插值电子温度。 |
paramfoto_compact, reaction-rates |
prodsandlosses |
subroutine |
libf/aeronomars/paramfoto_compact.F |
清零并填充热层化学 P*/L* 逐反应矩阵与 *tot 总源汇,供隐式积分和 chemthermos 诊断读取。 |
paramfoto_compact |
implicito |
subroutine |
libf/aeronomars/paramfoto_compact.F |
用 (c_input+Prod*dt)/(1+Loss*dt) 更新非平衡物种,负输出时停止,低浓度抬底到 1.d-30。 |
paramfoto_compact |
rcoef |
real*8 module array |
libf/aeronomars/param_v4_h.F90 |
61 反应 x 3 Arrhenius 系数;由 chemthermos_readini 写入,paramfoto_compact 消费;在 param_v4_h 中未显式声明 SAVE/THREADPRIVATE。 |
param_v4_h, chemthermos_readini, reaction-rates |
perosat_mod |
module |
libf/aeronomars/perosat.F |
H2O2 饱和/凝结后处理模块;包装 perosat。 |
perosat, calchim_mod |
perosat |
subroutine |
libf/aeronomars/perosat.F |
光化学后处理 H2O2 超饱和:计算饱和摩尔分数、向下层转移超出量、写 pdqcloud/pdqscloud。 |
perosat, calchim_mod |
deposition_mod |
module |
libf/aeronomars/deposition.F |
化学物种干沉降模块;deposition 按阻力相似法算 ra/rb/vd/loss,第 128-129 行 6 小时测试赋值是注释行。 |
deposition |
deposition |
subroutine |
libf/aeronomars/deposition.F |
由 calchim_mod 在 if (depos) 下逐列调用;当前不修改 zycol(更新注释),仅 ig==ig_vl1 打印诊断。 |
deposition, conc_mod |
euvheat_mod |
module |
libf/aeronomars/euvheat.F90 |
热层 EUV 加热模块;保存线程私有 rm/euvmod/nespeuv 与 tracer 索引,包装 euvheat。 |
euvheat |
euvheat |
subroutine |
libf/aeronomars/euvheat.F90 |
由 thermosphere_mod 在 calleuv 下调用;校验 tracer、构造数密度矩阵、调 hrtherm 得 jtot,并换算为 pdteuv 后由调用方累加到 pdt。 |
euvheat, hrtherm, callkeys_mod |
hrtherm_mod |
module |
libf/aeronomars/hrtherm.F |
热层 EUV 加热率模块;hrtherm 计算 jtot(erg/s),调 jthermcalc_e107。 |
hrtherm |
hrtherm |
subroutine |
libf/aeronomars/hrtherm.F |
由 euvheat 逐列调用;打包数密度、调 jthermcalc_e107 填 jfotsout、按区间×物种加权求和得 jtot;夜间 zenit>140° 置 0。 |
hrtherm |
inichim_newstart_mod |
module |
libf/aeronomars/inichim_newstart.F90 |
newstart/testphys1d 化学初始场构造模块,包装 inichim_newstart。 |
inichim_newstart, intrplf, datafile_mod |
inichim_newstart |
subroutine |
libf/aeronomars/inichim_newstart.F90 |
按 noms 重建 tracer 索引和 mmol,读取 atmosfera_LMD_* VMR 廓线,按 log pressure 调 intrplf 插值并写入 pq/qsurf。 |
inichim_newstart, intrplf, testphys1d-config |
intrplf_mod |
module |
libf/aeronomars/intrplf.F |
一维线性插值模块;intrplf 端点常数外推,支持 xd 升/降序。 |
intrplf |
intrplf |
subroutine |
libf/aeronomars/intrplf.F |
自包含一维线性插值;由 inichim_newstart 插值初始成分廓线。 |
intrplf |
iono_h |
module |
libf/aeronomars/iono_h.F90 |
电离层共享状态模块;18 个 *_eq 平衡标志 + 27 个 tau* 反应系数(SAVE/THREADPRIVATE)。 |
iono_h |
jthermcalc_mod |
module |
libf/aeronomars/jthermcalc.F |
基础版热层光吸收系数计算模块,仅含 jthermcalc;当前已被 jthermcalc_e107_mod 取代。 |
jthermcalc |
jthermcalc |
subroutine |
libf/aeronomars/jthermcalc.F |
按 36 个光谱区间对 13 种物种柱密度做 interfast 查表插值,写 param_v4_h::jfotsout;夜间 zenit>140° 直接返回;当前源码未发现直接调用点。 |
jthermcalc |
jthermcalc_e107_mod |
module |
libf/aeronomars/jthermcalc_e107_mod.F |
E107 增强版热层光吸收系数计算模块,仅含 jthermcalc_e107;引入 E10.7 参数化、日火距离修正和 callkeys_mod 开关。 |
jthermcalc_e107_mod |
jthermcalc_e107 |
subroutine |
libf/aeronomars/jthermcalc_e107_mod.F |
E107 增强版光吸收系数计算;比基础版多 zday 参数,TOA 值用 4 阶 E10.7 多项式,末尾做 (1.52/dist_sol)² 修正;由 hrtherm/chemthermos 调用。 |
jthermcalc_e107_mod, hrtherm, chemthermos |
jthermcalc_util |
module |
libf/aeronomars/jthermcalc_util.F |
热层光吸收计算共享工具模块;含 column、interfast、espesor_optico_A、grid_R8、flujo。 |
jthermcalc_util |
column |
subroutine |
libf/aeronomars/jthermcalc_util.F |
计算 13 种物种柱密度(cm⁻²),含球面大气光学路径(espesor_optico_A);由 jthermcalc/jthermcalc_e107 调用。 |
jthermcalc_util, jthermcalc, jthermcalc_e107_mod |
interfast |
subroutine |
libf/aeronomars/jthermcalc_util.F |
柱密度查找表快速线性插值,返回权重 wm/wp 和索引 nm;由 jthermcalc/jthermcalc_e107 多次调用。 |
jthermcalc_util |
espesor_optico_A |
subroutine |
libf/aeronomars/jthermcalc_util.F |
球面大气几何光学路径厚度计算;三区间 SZA 处理(<60° 平面近似 / 60°–90° 弦长 / >90° 五区域);由 column 内部调用。 |
jthermcalc_util |
grid_R8 |
function |
libf/aeronomars/jthermcalc_util.F |
单调递增网格索引查找;越界钳位并警告;由 espesor_optico_A 内部调用。 |
jthermcalc_util |
flujo |
subroutine |
libf/aeronomars/jthermcalc_util.F |
遗留太阳通量 11 年周期修正(fluxtop 正弦修正 + 日火距离);当前无调用方。 |
jthermcalc_util |
allocate_param_iono |
subroutine |
libf/aeronomars/iono_h.F90 |
按 nlayer,nreact 分配 iono_h 数组;由 physiq_mod 调用。 |
iono_h, physiq_mod |
temp_elect |
function |
libf/aeronomars/iono_h.F90 |
按高度算电子温度(Viking 表插值 / MAVEN tanh 公式);由 calchim_mod 调用。注意 photochemistry_mod 另有同名局部数组遮蔽。 |
iono_h |
moldiff_mod |
module |
libf/aeronomars/moldiff.F |
原版 14 物种分子扩散模块(死代码,无调用方);包装 moldiff 主例程和 tridag_sp/LUBKSB_SP/LUDCMP_SP 数值辅助例程。 |
moldiff |
moldiff |
subroutine |
libf/aeronomars/moldiff.F |
Dickinson & Ridley 1972 α 矩阵 + LU 求逆 + 隐式三对角 14 物种分子扩散求解器;含 Jeans H/H₂ 逃逸和 O 质量守恒,仅 z>65km;已被 moldiff_red/moldiff_MPF 取代,无调用方。 |
moldiff, moldiffcoeff |
tridag_sp |
subroutine |
libf/aeronomars/moldiff.F |
Thomas 算法三对角求解器;由 moldiff 内部逐物种调用。 |
moldiff |
LUBKSB_SP |
subroutine |
libf/aeronomars/moldiff.F |
Numerical Recipes LU 回代;由 moldiff 求 α 逆矩阵时调用。 |
moldiff |
LUDCMP_SP |
subroutine |
libf/aeronomars/moldiff.F |
Numerical Recipes LU 分解 + 部分主元选取;奇异矩阵时 ierr=1 返回。 |
moldiff |
moldiff_MPF_mod |
module |
libf/aeronomars/moldiff_MPF.F90 |
MPF 16 物种分子扩散模块;包装 moldiff_MPF 主例程和 ~22 个辅助例程(网格、大气结构、扩散系数、时间分裂等)。 |
moldiff_MPF |
moldiff_MPF |
subroutine |
libf/aeronomars/moldiff_MPF.F90 |
Wilke 多组分扩散 + Krasnopolsky 涡流扩散 + Jeans H/H₂/D 逃逸 + 可选质量守恒修正;由 thermosphere_mod 在 moldiff_scheme==2(默认)下调用。 |
moldiff_MPF, moldiffcoeff_red |
tridagbloc |
subroutine |
libf/aeronomars/moldiff_MPF.F90 |
块三对角求解器;由 moldiff_MPF 时间分裂循环中隐式求解调用(定义但当前未被活跃调用)。 |
moldiff_MPF |
call_mass_fixer_moldiff_MPF |
module variable |
libf/aeronomars/moldiff_MPF.F90 |
可选质量守恒修正器开关(默认 .false.);由 conf_phys 经 getin_p 读取,moldiff_MPF 消费。 |
moldiff_MPF |
moldiff_red_mod |
module |
libf/aeronomars/moldiff_red.F90 |
简化版 16 物种分子扩散模块;包装 moldiff_red 主例程和 ~20 个辅助例程。 |
moldiff_red |
moldiff_red |
subroutine |
libf/aeronomars/moldiff_red.F90 |
二元 dij 简化公式逐物种隐式三对角扩散 + Jeans H/H₂/D 逃逸;由 thermosphere_mod 在 moldiff_scheme==1(非默认)下调用。 |
moldiff_red, moldiffcoeff_red |
moldiffcoeff_mod |
module |
libf/aeronomars/moldiffcoeff.F |
二元分子扩散系数模块;moldiffcoeff 按 Nair 1994 算 dij(14,14)。 |
moldiffcoeff |
moldiffcoeff |
subroutine |
libf/aeronomars/moldiffcoeff.F |
由 moldiff 调用;firstcall 缺任一必需 tracer 即 stop 并在通过后设置 GCM 索引,用 H2-X/H-O 基础系数按 sqrt(mmol) 缩放填对称 dij(对角 1.0);每次调用覆写 coeffs.dat。 |
moldiffcoeff, tracer_mod |
moldiffcoeff_red_mod |
module |
libf/aeronomars/moldiffcoeff_red.F |
简化分子扩散系数模块;moldiffcoeff_red 为 moldiffcoeff 变体。 |
moldiffcoeff_red |
moldiffcoeff_red |
subroutine |
libf/aeronomars/moldiffcoeff_red.F |
由 moldiff_red/moldiff_MPF 调用;gcmind 由调用方传入,h2/h/o 按 noms 名查,同 Nair 1994 算 dij;coeffs.dat 默认不写。 |
moldiffcoeff_red, moldiffcoeff |
comcstfi_h |
module |
libf/phymars/comcstfi_h.F90 |
保存 phymars 共享物理常数的模块。 |
comcstfi_h, config-system |
init_comcstfi_h |
subroutine |
libf/phymars/comcstfi_h.F90 |
初始化 rad/cpp/g/r 并计算 rcp=r/cpp。 |
comcstfi_h |
pi |
parameter |
libf/phymars/comcstfi_h.F90 |
圆周率常数,供几何、辐射和微物理公式读取。 |
comcstfi_h |
g |
module variable |
libf/phymars/comcstfi_h.F90 |
重力加速度,供层质量、沉降、拖曳和边界层计算读取。 |
comcstfi_h, callsedim_mod |
r |
module variable |
libf/phymars/comcstfi_h.F90 |
大气比气体常数,供密度和热力学计算读取。 |
comcstfi_h, calltherm_interface_mod |
cpp |
module variable |
libf/phymars/comcstfi_h.F90 |
大气定压比热,供加热率、热通量和云微物理读取。 |
comcstfi_h, co2cloud_mod |
rcp |
module variable |
libf/phymars/comcstfi_h.F90 |
r/cpp,供位温和 Exner 相关计算读取。 |
comcstfi_h, pbl_parameters_mod |
comgeomfi_h |
module |
libf/phymars/comgeomfi_h.F90 |
保存物理网格经纬度三角函数缓存的模块。 |
comgeomfi_h, radiation |
ini_comgeomfi_h |
subroutine |
libf/phymars/comgeomfi_h.F90 |
按 ngrid 分配 sinlat/coslat/sinlon/coslon 几何缓存数组。 |
comgeomfi_h |
end_comgeomfi_h |
subroutine |
libf/phymars/comgeomfi_h.F90 |
释放已分配的经纬度三角函数缓存数组。 |
comgeomfi_h |
ini_fillgeom |
subroutine |
libf/phymars/comgeomfi_h.F90 |
从调用方传入的弧度制纬度/经度填充 sinlat/coslat/sinlon/coslon。 |
comgeomfi_h, testphys1d-config |
sinlat |
module variable |
libf/phymars/comgeomfi_h.F90 |
物理格点纬度正弦缓存,供太阳几何、尘埃顶高纬向项和 1D Coriolis 参数读取。 |
comgeomfi_h, nirco2abs |
coslat |
module variable |
libf/phymars/comgeomfi_h.F90 |
物理格点纬度余弦缓存,供 solang 太阳几何计算读取。 |
comgeomfi_h, nirco2abs |
sinlon |
module variable |
libf/phymars/comgeomfi_h.F90 |
物理格点经度正弦缓存,供 solang 太阳几何计算读取。 |
comgeomfi_h, nirco2abs |
coslon |
module variable |
libf/phymars/comgeomfi_h.F90 |
物理格点经度余弦缓存,供 solang 太阳几何计算读取。 |
comgeomfi_h, nirco2abs |
comm_wrf |
module |
libf/phymars/comm_wrf.F90 |
MESOSCALE/WRF 风格输出缓存模块。 |
comm_wrf, radiation, dust-cycle, water-cycle |
allocate_comm_wrf |
subroutine |
libf/phymars/comm_wrf.F90 |
按 ngrid,nlayer 分配 WRF 输出诊断缓存数组。 |
comm_wrf |
deallocate_comm_wrf |
subroutine |
libf/phymars/comm_wrf.F90 |
无条件释放所有 WRF 输出诊断缓存数组。 |
comm_wrf |
comm_HR_SW / comm_HR_LW |
module variable |
libf/phymars/comm_wrf.F90 |
MESOSCALE 输出用短波/长波加热率缓存。 |
comm_wrf, radiation |
comm_TAU_DUST / comm_RDUST / comm_QSURFDUST |
module variable |
libf/phymars/comm_wrf.F90 |
MESOSCALE 输出用尘埃光学厚度、半径和地表尘埃质量缓存。 |
comm_wrf, dust-cycle |
comm_MTOT / comm_ICETOT / comm_VMR_ICE / comm_TAU_ICE / comm_RICE |
module variable |
libf/phymars/comm_wrf.F90 |
MESOSCALE 输出用水汽/水冰柱量、体积混合比、云光学厚度和冰粒半径缓存。 |
comm_wrf, water-cycle |
comsaison_h |
module |
libf/phymars/comsaison_h.F90 |
保存季节、太阳-火星距离、太阳赤纬、太阳天顶角余弦、日照比例和本地太阳时的共享状态模块。 |
comsaison_h, radiation, dust-cycle |
ini_comsaison_h |
subroutine |
libf/phymars/comsaison_h.F90 |
按 ngrid 分配 mu0/fract/local_time 数组。 |
comsaison_h |
end_comsaison_h |
subroutine |
libf/phymars/comsaison_h.F90 |
释放已分配的 mu0/fract/local_time 数组。 |
comsaison_h |
dist_sol / declin / zls |
module variable |
libf/phymars/comsaison_h.F90 |
太阳-火星距离、太阳赤纬和太阳经度 Ls;由 physiq 写入后供辐射、坡面、CO2/尘埃相关路径读取。 |
comsaison_h, radiation |
mu0 / fract |
module variable |
libf/phymars/comsaison_h.F90 |
每个格点的太阳天顶角余弦和日照时间比例;由 solang 或 mucorr 写入,供短波辐射、山顶尘流和火箭尘暴读取。 |
comsaison_h, topmons_mod, rocketduststorm_mod |
solang_mod |
module |
libf/phymars/solang.F |
日变化太阳角辅助模块。 |
solang, nirco2abs |
solang |
subroutine |
libf/phymars/solang.F |
按格点经纬度、太阳赤纬和时角计算 mu0 与 0/1 日照标志 fract。 |
solang, mucorr |
local_time |
module variable / diagnostic field |
libf/phymars/comsaison_h.F90 |
每个格点本地太阳时的 sol fraction;驱动 compute_dtau 和 vdifc 的尘埃注入时间窗,并由 physiq 输出诊断。 |
comsaison_h, dust-cycle |
initracer_mod |
module |
libf/phymars/initracer.F90 |
tracer 名称识别和物性初始化模块。 |
initracer, tracer_mod |
initracer |
subroutine |
libf/phymars/initracer.F90 |
按 noms(:) 识别 tracer 名称,写入 igcm_* 索引、mmol/radius/rho_q/alpha_*,并检查 dust/water/HDO/CO2/NLTE/chemistry 开关依赖。 |
initracer, initracer-co2-tracers, co2-cycle-config, water-cycle-config |
write_output |
subroutine |
libf/phymars/write_output_mod.F90 |
XIOS/传统诊断输出封装接口;文件专页已记录泛型分派、output_diagfi 和土壤字段分流。 |
write_output_mod, xios-config, water-cycle, co2-cycle |
zrecast |
program |
util/zrecast.F90 |
垂直坐标重投影离线工具。 |
zrecast |
concatnc |
program |
util/concatnc.F90 |
NetCDF 时间拼接离线工具;把多段 GCM 输出沿 Time 维追加为 concat.nc。 |
concatnc |
initiate |
subroutine |
util/concatnc.F90 |
创建并初始化 concat.nc 的坐标维度和 Time 变量。 |
concatnc |
init2 |
subroutine |
util/concatnc.F90 |
复制首个输入文件中的垂直坐标、面积和地形静态辅助变量。 |
concatnc |
change_time_axis |
subroutine |
util/concatnc.F90 |
将输出 sol 时间轴转换为 Ls,或在 adls 模式下新增 Ls 变量。 |
concatnc |
sol2ls |
subroutine |
util/concatnc.F90 |
concatnc 内部 sol 到太阳经度 Ls 的换算例程。 |
concatnc |
missing_value |
subroutine |
util/concatnc.F90 |
将输入变量的 valid_range 和 missing_value 属性复制到输出变量。 |
concatnc |
extract |
program |
util/extract.F90 |
从 zrecast 后的四维 NetCDF 变量抽取点值或垂直廓线到 ASCII。 |
extract |
extraction |
subroutine |
util/extract.F90 |
extract 的四维插值核心,按 time、altitude、latitude、longitude 顺序插值。 |
extract |
extract::ls2sol |
subroutine |
util/extract.F90 |
extract 内部 Ls 到 sol 的换算例程,用于把 Ls/LT 查询转换到输入文件 Time 坐标。 |
extract |
hrecast |
program |
util/hrecast.F90 |
水平重网格离线工具,将 GCM lon-lat 输出映射到用户给定经纬网格。 |
hrecast |
interp_horiz |
subroutine |
util/hrecast.F90 |
基于新旧格盒交叠面积执行水平重分配,并对极点行做面积平均。 |
hrecast |
iniinterp_h |
subroutine |
util/hrecast.F90 |
预计算新旧水平格盒交集索引、交集面积和新格盒面积。 |
hrecast |
genCol |
program |
util/gencol.F90 |
柱含量重算离线工具;把 4D tracer 的 MMR、VMR 或数浓度积分为 kg/m2 柱质量。 |
gencol |
genCol::initiate |
internal subroutine |
util/gencol.F90 |
创建 *_col.nc 并写入经纬度、高度和时间坐标变量。 |
gencol |
genCol::def_var |
internal subroutine |
util/gencol.F90 |
定义输出 NetCDF 变量,并写入 title 与 units 属性。 |
gencol |
genCol::getmm |
internal subroutine |
util/gencol.F90 |
从变量名解析物种名并查分子量,供 VMR 和数浓度到质量的转换使用。 |
gencol |
localtime |
program |
util/localtime.F90 |
本地时重排离线工具;把 3D/4D 变量沿时间插值到指定本地时。 |
localtime |
localtime::initiate |
internal subroutine |
util/localtime.F90 |
创建 *_LT.nc,定义经纬度、高度、Time、GCM_layers 和可选 controle。 |
localtime |
localtime::init2 |
internal subroutine |
util/localtime.F90 |
复制可选 aps/bps hybrid 坐标和 phisinit。 |
localtime |
localtime::def_var |
internal subroutine |
util/localtime.F90 |
定义输出变量并写入 long_name、units 属性。 |
localtime |
localtime::missing_value |
internal subroutine |
util/localtime.F90 |
把输入变量的 valid_range 和 missing_value 属性写到输出变量。 |
localtime |
localtime::interpolf |
internal subroutine |
util/localtime.F90 |
对一维时间序列做线性插值;超出范围或邻点缺测时返回 missing。 |
localtime |
aeropt_mod |
module |
util/aeropt_mod.F90 |
气溶胶光学性质表模块;保存波长、粒径、Qext 和 omeg 查找表。 |
aeropt_mod |
read_optpropfile |
subroutine |
util/aeropt_mod.F90 |
从 ASCII 光学性质文件读取 nwvl/nsize/wvl/radiusdyn/Qext/omeg。 |
aeropt_mod |
interp_wvl_reff |
subroutine |
util/aeropt_mod.F90 |
对 Qext/omeg 按有效半径和波长做线性插值。 |
aeropt_mod |
end_aeropt_mod |
subroutine |
util/aeropt_mod.F90 |
释放光学性质表缓存数组。 |
aeropt_mod |
create_logfile |
subroutine |
util/aeropt_mod.F90 |
创建或覆盖 aeroptical 运行日志文件。 |
aeropt_mod |
wvl / radiusdyn / Qext / omeg |
module arrays |
util/aeropt_mod.F90 |
光学性质表的波长轴、粒径轴、消光效率和单次散射反照率。 |
aeropt_mod |
aeroptical |
program |
util/aeroptical.F90 |
气溶胶不透明度离线工具;计算 opa_* 和可选 tau_*。 |
aeroptical |
aeroptical::status_check |
subroutine |
util/aeroptical.F90 |
NetCDF 状态检查;错误时打印 nf90_strerror 并停止。 |
aeroptical |
aeroptical::inidims |
subroutine |
util/aeroptical.F90 |
复制输入坐标和可选 controle,并定义输出 NetCDF 维度。 |
aeroptical |
aeroptical::init2 |
subroutine |
util/aeroptical.F90 |
复制垂直/静态辅助字段,并按多种路径计算 delta_z。 |
aeroptical |
check_co2cycle |
program |
util/check_co2cycle.F90 |
CO2 cycle 离线检查工具;输出 Viking/InSight 站点压力、全球 CO2 库存、日平均和谐波重建。 |
check_co2cycle |
check_co2cycle::sol2ls |
subroutine |
util/check_co2cycle.F90 |
将 sol 转换为太阳经度 Ls,并处理跨年 Ls 累加。 |
check_co2cycle |
check_co2cycle::ls2sol |
function |
util/check_co2cycle.F90 |
将 Ls 转回 sol,供 Ls-only 输出文件做日平均分组。 |
check_co2cycle |
DiscreetFourierHn |
subroutine |
util/check_co2cycle.F90 |
对离散压力序列计算 Fourier 谐波系数。 |
check_co2cycle |
expandstartfi |
program |
util/expandstartfi.F90 |
把 startfi.nc 的 physical_points 字段展开成显式经纬网格输出。 |
expandstartfi |
extractcolumnfor1D |
program |
util/extractcolumnfor1D.F90 |
从 4D GCM 输出中抽取指定经纬和时间索引的一维垂直列。 |
extractcolumnfor1D |
lslin |
program |
util/lslin.F90 |
把 GCM 输出重采样到等间隔太阳经度 Ls 坐标。 |
lslin |
lslin::initiate |
internal subroutine |
util/lslin.F90 |
创建 _Ls.nc 并写入坐标、Time 和可选 controle。 |
lslin |
lslin::init2 |
internal subroutine |
util/lslin.F90 |
尝试复制 aps、bps 和 phisinit 到输出文件。 |
lslin |
lslin::def_var |
internal subroutine |
util/lslin.F90 |
定义输出变量并写 long_name、units 属性。 |
lslin |
lslin::missing_value |
internal subroutine |
util/lslin.F90 |
为输出变量写 missing_value 属性。 |
lslin |
lslin::sol2ls |
internal subroutine |
util/lslin.F90 |
将 sol 日期转换为太阳经度 Ls。 |
lslin |
lslin::interpolf |
internal subroutine |
util/lslin.F90 |
对一维 Ls 时间序列做线性插值。 |
lslin |
solzenangle |
program |
util/solzenangle.F90 |
太阳天顶角插值离线工具;按晨侧或昏侧反解目标 SZA 的本地真太阳时,并把 3D/4D 变量插值到该时刻。 |
solzenangle |
solzenangle::LTsolzenangle |
internal subroutine |
util/solzenangle.F90 |
用纬度、Ls、晨/昏侧和目标 SZA 反解本地真太阳时;极昼/极夜无解时返回 missing。 |
solzenangle |
solzenangle::sol2ls |
internal subroutine |
util/solzenangle.F90 |
将 sol 日期转换为太阳经度 Ls,供 SZA 反解中的太阳赤纬计算使用。 |
solzenangle |
solzenangle::interpolf |
internal subroutine |
util/solzenangle.F90 |
沿时间维对每个格点变量序列做线性插值。 |
solzenangle |
solzenangle::initiate / init2 |
internal subroutines |
util/solzenangle.F90 |
创建 _MO/_EV.nc 输出并复制坐标、controle、aps/bps 和 phisinit。 |
solzenangle |
streamfunction |
program |
util/streamfunction.F90 |
流函数和总角动量离线诊断工具;对输入 GCM 输出做时间平均和纬向平均,写出 _stream.nc。 |
streamfunction |
streamfunction::initiate |
internal subroutine |
util/streamfunction.F90 |
创建单经度、单时间的输出 NetCDF 文件并写入纬度、高度、经度和 Time 坐标。 |
streamfunction |
streamfunction::init2 |
internal subroutine |
util/streamfunction.F90 |
从输入文件复制 aps 和 bps 到输出文件。 |
streamfunction |
streamfunction::def_var |
internal subroutine |
util/streamfunction.F90 |
定义输出变量并写入 title 与 units 属性。 |
streamfunction |
psi |
NetCDF output variable |
util/streamfunction.F90 |
经向质量流函数诊断,维度为单经度、纬度、高度、单时间。 |
streamfunction |
momave |
NetCDF output variable |
util/streamfunction.F90 |
由纬向平均风重算的纬向平均绝对角动量诊断。 |
streamfunction |
SUPERFIT |
program |
util/xvik/fit_Iceinertia_MONSicedepth.F |
读取四组 xvik 输出和 VL1 曲线,拟合冰热惯量、冰深系数和总 CO2 压力。 |
fit_Iceinertia_MONSicedepth |
RUNAVE |
subroutine |
util/xvik/fit_Iceinertia_MONSicedepth.F |
在周期 sol 坐标上对模拟压力和敏感度导数做滑动平均。 |
fit_Iceinertia_MONSicedepth |
fit_Iceinertia::ls2sol / sol2ls |
subroutines |
util/xvik/fit_Iceinertia_MONSicedepth.F |
在拟合输入和最终输出中转换 sol 与 Ls。 |
fit_Iceinertia_MONSicedepth |
planet_const |
module |
util/zrecast.F90 |
zrecast 内保存行星半径、重力和平均气体常数。 |
zrecast |
p_coord_interp |
subroutine |
util/zrecast.F90 |
将变量插值到压力坐标。 |
zrecast |
z_coord_interp |
subroutine |
util/zrecast.F90 |
将变量插值到 areoid 高度或半径坐标。 |
zrecast |
zs_coord_interp |
subroutine |
util/zrecast.F90 |
将变量插值到本地地表以上高度坐标。 |
zrecast |
geoid |
subroutine |
util/zrecast.F90 |
计算给定经纬度的 areoid 半径。 |
zrecast |
simu_MCS |
program |
util/simu_MCS.F90 |
MRO/MCS 观测模拟器主程序。 |
simu_MCS |
extraction |
subroutine |
util/simu_MCS.F90 |
在 GCM 4D 场上做四维线性插值。 |
simu_MCS |
ls2sol |
subroutine |
util/simu_MCS.F90 |
太阳经度 Ls 到 sol 的换算。 |
simu_MCS |
gen_sol_list |
subroutine |
util/simu_MCS.F90 |
生成 sol × 当地时采样点列表。 |
simu_MCS |
LTmod |
function |
util/simu_MCS.F90 |
夜间当地时连续化函数。 |
simu_MCS |
aerave_mod |
module |
libf/phymars/aerave.F |
气溶胶辐射性质带平均化模块。 |
aerave, radiation |
aerave |
subroutine |
libf/phymars/aerave.F |
将气溶胶光学性质从高分辨率光谱通过普朗克加权平均到 GCM 辐射带。 |
aerave |
blackl |
subroutine |
libf/phymars/aerave.F |
普朗克黑体辐射函数计算。 |
aerave |
suaer_mod |
module |
libf/phymars/suaer.F90 |
气溶胶光学属性查找表加载模块。 |
suaer, radiation |
suaer |
subroutine |
libf/phymars/suaer.F90 |
读取 optprop_* 表并填充 dimradmars_mod 离散 VIS/IR 光学查找表。 |
suaer, aerave |
QVISsQREF/QIRsQREF |
module variables |
libf/phymars/dimradmars_mod.F90 / filled by libf/phymars/suaer.F90 |
相对参考波长的 VIS/IR 消光效率查找表,供 aeroptproperties 按实际粒径分布插值。 |
dimradmars_mod, suaer, aeroptproperties |
radiustab/nsize |
module variables |
libf/phymars/dimradmars_mod.F90 / filled by libf/phymars/suaer.F90 |
气溶胶光学属性表的离散粒径轴和每类气溶胶的粒径数量。 |
dimradmars_mod, suaer, aeroptproperties |
comslope_mod |
module |
libf/phymars/comslope_mod.F90 |
次网格坡面参数化共享状态模块。 |
comslope_mod, water-cycle, co2-cycle |
ini_comslope_h |
subroutine |
libf/phymars/comslope_mod.F90 |
初始化分配坡面数组。 |
comslope_mod |
end_comslope_h |
subroutine |
libf/phymars/comslope_mod.F90 |
释放坡面数组。 |
comslope_mod |
compute_meshgridavg |
subroutine |
libf/phymars/comslope_mod.F90 |
计算坡面属性的网格平均值(反照率、发射率、温度、tracer)。 |
comslope_mod |
comsoil_h |
module |
libf/phymars/comsoil_h.F90 |
土壤共享状态模块:层数、深度几何、热惯量、热扩散系数、地下 tracer。 |
comsoil_h, water-cycle |
nsoilmx |
integer, parameter |
libf/phymars/comsoil_h.F90 |
土壤层数 = 57。 |
comsoil_h |
ini_comsoil_h |
subroutine |
libf/phymars/comsoil_h.F90 |
分配所有土壤数组。 |
comsoil_h |
end_comsoil_h |
subroutine |
libf/phymars/comsoil_h.F90 |
释放所有土壤数组。 |
comsoil_h |
iniwritesoil_mod |
module |
libf/phymars/iniwritesoil.F90 |
土壤诊断 NetCDF 初始化模块。 |
iniwritesoil |
iniwritesoil |
subroutine |
libf/phymars/iniwritesoil.F90 |
为 diagsoil.nc 创建维度和固定字段(area、th_inertia),由 writediagsoil 首次调用时触发。 |
iniwritesoil |
writediagsoil_mod |
module |
libf/phymars/writediagsoil.F90 |
土壤诊断 diagsoil.nc 写入模块,保存 diagsoil 输出开关。 |
writediagsoil |
diagsoil |
module variable |
libf/phymars/writediagsoil.F90 |
控制是否生成传统土壤诊断文件 diagsoil.nc;由 conf_phys 读取同名配置键后设置。 |
writediagsoil, testphys1d-config |
writediagsoil |
subroutine |
libf/phymars/writediagsoil.F90 |
按采样间隔向 diagsoil.nc 追加土壤剖面、地表场或标量诊断,并在首次调用时触发 iniwritesoil。 |
writediagsoil, iniwritesoil |
nslope |
module variable |
libf/phymars/comslope_mod.F90 |
坡面 bin 数量。 |
comslope_mod |
subslope_dist |
module variable |
libf/phymars/comslope_mod.F90 |
坡面在网格中的分布比例。 |
comslope_mod |
nirco2abs_mod |
module |
libf/phymars/nirco2abs.F |
近红外 CO2 吸收加热率计算模块。 |
nirco2abs, radiation, co2-cycle |
nirco2abs |
subroutine |
libf/phymars/nirco2abs.F |
计算大气 CO2 在近红外波段吸收太阳辐射产生的加热率,含 NLTE 修正。 |
nirco2abs |
interpnir |
subroutine |
libf/phymars/nirco2abs.F |
压力坐标线性插值(用于 NLTE 修正查找表)。 |
nirco2abs |
parse_tracer_file_mod |
module |
libf/phymars/parse_tracer_file.F90 |
新格式 tracer.def 解析接口模块。 |
parse_tracer_file |
get_nq_from_tracer_file |
subroutine |
libf/phymars/parse_tracer_file.F90 |
从 tracer.def 读取 tracer 总数。 |
parse_tracer_file |
get_names_from_tracer_file |
subroutine |
libf/phymars/parse_tracer_file.F90 |
从已解析的 tracers 数组提取所有 tracer 名称。 |
parse_tracer_file |
get_children_from_tracer_file |
subroutine |
libf/phymars/parse_tracer_file.F90 |
统计每个 tracer 的子 tracer 数量(parent 字段匹配)。 |
parse_tracer_file |
parse_traceur_file_mod |
module |
libf/phymars/parse_traceur_file.F90 |
旧格式 traceur.def 解析接口模块。 |
parse_traceur_file, tracer_mod |
get_nq_from_traceur_file |
subroutine |
libf/phymars/parse_traceur_file.F90 |
从 traceur.def 第一行读取 tracer 总数,并广播给所有进程。 |
parse_traceur_file |
get_names_from_traceur_file |
subroutine |
libf/phymars/parse_traceur_file.F90 |
读取旧格式 tracer 名称、parent 字段和每个 tracer 的子 tracer 数量。 |
parse_traceur_file, tracer_mod |
phyetat0_mod |
module |
libf/phymars/phyetat0_mod.F90 |
物理初始状态读取模块。 |
phyetat0_mod, iostart |
phyetat0 |
subroutine |
libf/phymars/phyetat0_mod.F90 |
从 startfi.nc 或 no-startfi 缺省路径初始化物理地表、土壤、坡面、tracer、古气候和 restart 记忆状态。 |
phyetat0_mod |
ini_tab_controle_dyn_xios |
subroutine |
libf/phymars/phyetat0_mod.F90 |
把网格大小、行星常数、物理时间步和初始时刻写入 tab_cntrl_mod。 |
phyetat0_mod |
tab_cntrl_mod |
saved module array |
libf/phymars/phyetat0_mod.F90 |
XIOS/动力控制表缓存,保存 nbp_lon/nbp_lat/nbp_lev、行星常数、dtphys 和 hour_ini 等槽位。 |
phyetat0_mod |
phyredem |
module |
libf/phymars/phyredem.F90 |
物理 start/restart 写出模块。 |
phyredem, iostart |
physdem0 |
subroutine |
libf/phymars/phyredem.F90 |
创建物理文件并写控制表、网格、静态地表、坡面和水冰标签字段。 |
phyredem |
physdem1 |
subroutine |
libf/phymars/phyredem.F90 |
先写 Time,再写 time-dependent 表面、土壤、tracer、尘埃、GW、古气候和质量修正 restart 字段。 |
phyredem |
phys_state_var_init_mod |
module |
libf/phymars/phys_state_var_init_mod.F90 |
物理状态变量初始化编排模块。 |
phys_state_var_init_mod |
phys_state_var_init |
subroutine |
libf/phymars/phys_state_var_init_mod.F90 |
从 startfi.nc 或默认路径确定 nslope,初始化物理常数/时间状态,并按当前维度释放和分配多个共享模块数组。 |
phys_state_var_init_mod |
blendrad_mod |
module |
libf/phymars/blendrad.F |
辐射倾向合并模块。 |
blendrad, radiation |
blendrad |
subroutine |
libf/phymars/blendrad.F |
用 sigmoid alpha 在 LTE/NLTE 之间平滑过渡,合并四路辐射倾向为净加热率 dtrad。 |
blendrad |
pbl_parameters_mod |
module |
libf/phymars/pbl_parameters_mod.F90 |
PBL 诊断参数计算模块。 |
pbl_parameters_mod |
pbl_parameters |
subroutine |
libf/phymars/pbl_parameters_mod.F90 |
计算摩擦速度/温度、Monin-Obukhov 内插、热通量/速度方差廓线;纯诊断不影响物理倾向。 |
pbl_parameters_mod |
paleoclimate_mod |
module |
libf/phymars/paleoclimate_mod.F90 |
古气候和 lag-layer 共享状态模块。 |
paleoclimate_mod, vdifc-water-surface-exchange |
paleoclimate |
module variable |
libf/phymars/paleoclimate_mod.F90 |
控制是否启用古气候 restart 字段和相关路径,由 conf_phys.F 读取。 |
paleoclimate_mod |
lag_layer |
module variable |
libf/phymars/paleoclimate_mod.F90 |
控制 vdifc 中 lag-layer 地下冰阻力/通量路径。 |
paleoclimate_mod, vdifc-water-surface-exchange |
include_waterbuoyancy |
module variable |
libf/phymars/paleoclimate_mod.F90 |
控制 PBL/交换系数中是否考虑水汽浮力修正;conf_phys.F 要求它依赖 paleoclimate。 |
paleoclimate_mod, pbl_parameters_mod, vdif_cd_mod |
h2oice_depth / co2ice_depth |
module array |
libf/phymars/paleoclimate_mod.F90 |
按 (ngrid,nslope) 保存最浅 H2O/CO2 冰层深度。 |
paleoclimate_mod |
coef_ssdif |
module array |
libf/phymars/paleoclimate_mod.F90 |
地下水扩散系数,供 vdifc 地下冰交换路径使用。 |
paleoclimate_mod, vdifc-water-surface-exchange |
zdqsdif_ssi_tot |
module array |
libf/phymars/paleoclimate_mod.F90 |
vdifc 累计的地下冰交互总通量缓存。 |
paleoclimate_mod, vdifc-water-surface-exchange |
ini_paleoclimate / end_paleoclimate |
subroutine |
libf/phymars/paleoclimate_mod.F90 |
按 ngrid,nslope 分配或释放古气候共享数组。 |
paleoclimate_mod |
slope_mod |
module |
libf/phymars/slope_mod.F90 |
坡面几何与太阳辐照度计算模块。 |
slope_mod, comslope_mod |
getslopes |
subroutine |
libf/phymars/slope_mod.F90 |
从地形势场计算坡面倾角和方位(仅串行模式)。 |
slope_mod |
param_slope |
subroutine |
libf/phymars/slope_mod.F90 |
用 Spiga & Forget (2008) 方法计算坡面上的太阳总辐照度(直接+散射+反射)。 |
slope_mod |
ini_slope_mod |
subroutine |
libf/phymars/slope_mod.F90 |
分配 theta_sl 和 psi_sl 数组。 |
slope_mod |
end_slope_mod |
subroutine |
libf/phymars/slope_mod.F90 |
释放 theta_sl 和 psi_sl 数组。 |
slope_mod |
theta_sl |
module variable |
libf/phymars/slope_mod.F90 |
坡面倾角数组(度),0=水平,90=垂直。 |
slope_mod |
psi_sl |
module variable |
libf/phymars/slope_mod.F90 |
坡面方位数组(度),0=北,90=东,180=南,270=西。 |
slope_mod |
soil_mod |
module |
libf/phymars/soil.F |
土壤热扩散隐式求解模块。 |
soil |
soil |
subroutine |
libf/phymars/soil.F |
隐式三对角矩阵求解土壤各层温度,输出地表热容量和扩散热通量。 |
soil |
soil_settings_mod |
module |
libf/phymars/soil_settings.F |
土壤初始化设置模块。 |
soil_settings |
soil_settings |
subroutine |
libf/phymars/soil_settings.F |
从 startfi.nc 读取土壤层深度、热惯量、温度和 tracer,层数不匹配时垂直插值。 |
soil_settings |
tracer_mass_fixer_dyn_mod |
module |
libf/phymars/tracer_mass_fixer_dyn_mod.F90 |
动力学 tracer 质量修正模块。 |
tracer_mass_fixer_dyn_mod |
tracer_mass_fixer_dyn |
subroutine |
libf/phymars/tracer_mass_fixer_dyn_mod.F90 |
计算 8 个主要大气成分的质量修正因子,返回 tendency 以修正动力传输的质量非守恒。 |
tracer_mass_fixer_dyn_mod |
compute_tracer_mass_global |
subroutine |
libf/phymars/tracer_mass_fixer_dyn_mod.F90 |
计算指定 tracer 的全球总质量(柱密度积分 + 全球求和)。 |
tracer_mass_fixer_dyn_mod |
call_mass_fixer_dyn |
callphys switch |
callphys.def.* / tracer_mass_fixer_dyn_mod.F90 |
控制是否启用动力学 tracer 质量修正。 |
tracer_mass_fixer_dyn_mod, config-system |
tracer_mod |
module |
libf/phymars/tracer_mod.F90 |
tracer 共享定义核心模块:tracer 数量、名称、分子量、物理属性和索引。 |
tracer_mod |
ini_tracer_mod |
subroutine |
libf/phymars/tracer_mod.F90 |
解析 traceur.def/tracer.def 配置文件,分配 tracer 数组,检查 CO2 tracer 存在性。 |
tracer_mod |
end_tracer_mod |
subroutine |
libf/phymars/tracer_mod.F90 |
释放多数 allocatable tracer 数组;源码未释放 nqchildren,页面已标为待确认遗漏。 |
tracer_mod |
vdif_cd_mod |
module |
libf/phymars/vdif_cd_mod.F90 |
地表层交换系数计算模块。 |
vdif_cd_mod |
vdif_cd |
subroutine |
libf/phymars/vdif_cd_mod.F90 |
计算地表动量/热量拖曳系数 Cd/Ch;callrichsl 选择简单对数公式或 Colaïtis 迭代,迭代内由 callatke 选择 ATKE 或 Dyer/England 稳定性函数。 |
vdif_cd_mod |
vdif_kc_mod |
module |
libf/phymars/vdif_kc.F |
垂直湍流扩散 K 系数方案模块。 |
vdif_kc |
vdif_kc |
subroutine |
libf/phymars/vdif_kc.F |
在 vdifc fallback 路径中更新 q2、动量扩散 km 与标量扩散 kn,并可用 CO2 tracer 修正稳定度。 |
vdif_kc |
vdifc_mod |
module |
libf/phymars/vdifc_mod.F |
垂直扩散主模块,集中组织地表层交换、PBL K 系数、隐式扩散、尘埃注入、水/HDO 地表交换和地下冰诊断。 |
vdifc_mod |
vdifc |
subroutine |
libf/phymars/vdifc_mod.F |
由 physiq 的 calldifv 分支调用,输出 U/V/热力/tracer 垂直扩散倾向以及地表温度、水冰、watercap 和尘埃/HDO 通量。 |
vdifc_mod, physiq_mod, vdifc-water-surface-exchange |
make_tsub |
subroutine |
libf/phymars/vdifc_mod.F |
为 vdifc 的 H2O 地表交换段按地表温度变化和霜/永久冰盖状态选择自适应子时间步数。 |
vdifc_mod, vdifc-water-surface-exchange |
compute_Tice |
subroutine |
libf/phymars/vdifc_mod.F |
按地下冰深度在土壤层温度间插值得到地下冰温度,供 lag-layer 地下冰通量使用。 |
vdifc_mod, vdifc-water-surface-exchange |
yamada4_mod |
module |
libf/phymars/yamada4.F |
Mars 版 Mellor-Yamada 湍流闭合模块。 |
yamada4, turb_mod |
yamada4 |
subroutine |
libf/phymars/yamada4.F |
按 iflag_pbl 分支更新 q2/km/kn/kq,由 vdifc 的 callyamada4 路径调用。 |
yamada4, vdifc_mod |
vdif_q2 |
subroutine |
libf/phymars/yamada4.F |
对 q2 做压力坐标隐式垂直扩散;当前只在 iflag_pbl==9 分支调用。 |
yamada4 |
nqmx |
module variable |
libf/phymars/tracer_mod.F90 |
tracer 总数。 |
tracer_mod |
noms |
module variable |
libf/phymars/tracer_mod.F90 |
tracer 名称数组 (character*30)。 |
tracer_mod |
mmol |
module variable |
libf/phymars/tracer_mod.F90 |
tracer 分子量数组 (g/mol)。 |
tracer_mod |
igcm_h2o_vap / igcm_h2o_ice |
module variable |
libf/phymars/tracer_mod.F90 |
水汽/水冰 tracer 索引。 |
tracer_mod, water-cycle |
igcm_co2 / igcm_co2_ice |
module variable |
libf/phymars/tracer_mod.F90 |
CO2/CO2 冰 tracer 索引。 |
tracer_mod, co2-cycle |
igcm_dust_mass / igcm_dust_number |
module variable |
libf/phymars/tracer_mod.F90 |
尘埃质量/数浓度 tracer 索引。 |
tracer_mod, dust-cycle |