orbite.F

路径

LMDZ.MARS\libf\phymars\orbite.F

所属目录 / 模块

libf\phymars

文件定位

orbite.F 定义 orbite_mod,只提供 orbite 一个例程。它把太阳经度 Ls 转换成当前太阳-行星距离 dist_sol 和太阳赤纬 declin,是 physiq_mod.F 中辐射几何准备的一步。

当前主路径中,physiq_mod.F 先用 solarlong 得到共享状态 zls,再在 callrad 分支中调用 orbite(zls,dist_sol,declin)。随后 declin 进入 solangmucorr 计算 mu0/fractdist_sol 则用于辐射、坡面直接辐射、近红外 CO2 吸收和热层等路径的太阳通量缩放。

定义的符号

符号 类型 行号 作用
orbite_mod module 1 封装太阳经度到日火距离和太阳赤纬的换算例程。
orbite subroutine 7 由输入 pls 计算输出 pdist_solpdecli

依赖的模块

use 模块 only 列表 用途 待确认
planete_h e_elips, p_elips, obliquit, lsperi 提供轨道偏心率、半通径、转轴倾角和近日点太阳经度。 -
comcstfi_h pi obliquit 从度转换为弧度。 -

调用的关键例程

被调用例程 所在模块 / 文件 调用位置 作用
- - - 本文件不调用其他自定义例程,只使用 cossinasin 等 Fortran intrinsic。

上游调用点

调用方 源码位置 调用条件 传入 / 接收关系
physiq_mod.F libf/phymars/physiq_mod.F:90, 1010 callrad 为真时,在完成 zls 计算后调用。 传入 zls,输出写入 comsaison_h::dist_solcomsaison_h::declin

输入

输入 来源 类型 / 维度 单位 含义
pls physiq_mod.F 中的 zls,由 solarlong 或初始日分支给出 real scalar, intent(in) rad 太阳经度 Ls。
e_elips planete_h,由 iniorbit 或 1D 初始化轨道参数设置 real saved scalar - 轨道偏心率。
p_elips planete_h::iniorbit real saved scalar AU 椭圆半通径;源码注释称 ellipse parameter。
lsperi planete_h::iniorbit 或 1D 初始化 real saved scalar rad 近日点太阳经度。
obliquit planete_h real saved scalar degree 行星转轴倾角,进入赤纬公式前乘 pi/180.

输出

输出 去向 类型 / 维度 单位 含义
pdist_sol physiq_mod.Fdist_sol,即 comsaison_h::dist_sol real scalar, intent(out) AU 当前太阳-行星距离。
pdecli physiq_mod.Fdeclin,即 comsaison_h::declin real scalar, intent(out) rad 当前太阳赤纬。

共享状态与副作用

核心逻辑

  1. 接收当前太阳经度 pls,不对角度范围做归一化。
  2. 用椭圆轨道公式计算太阳-行星距离:
pdist_sol = p_elips / (1 + e_elips * cos(pls - lsperi))
  1. 用倾角和太阳经度计算太阳赤纬:
pdecli = asin(sin(pls) * sin(obliquit * pi / 180.))
  1. 直接返回两个标量;没有额外限幅、异常处理或日志输出。

伪代码

orbite(pls):
    distance = p_elips / (1 + e_elips * cos(pls - lsperi))
    declination = asin(sin(pls) * sin(obliquit * pi / 180))
    return distance, declination

参与的主题流程

主题 参与方式
轨道 / 季节换算 solarlong 给出的 zls 转换成距离太阳的 AU 值和太阳赤纬。
太阳几何 declinsolangmucorr 计算 mu0/fract 的上游输入。
辐射调用链 dist_sol 进入 callradite 和其他太阳通量缩放路径,用于按 1/dist_sol^2 调整 1 AU 太阳常数。
近红外 CO2 吸收 nirco2abs 接收 dist_sol/mu0/fract/declin 计算近红外 CO2 加热率。
坡面和热层路径 physiq 坡面直接辐射和 thermosphere 调用也读取 dist_sol,坡面参数还读取 declin

写法特点

复现要点

待确认

相关页面