$$ \theta=T*(P/P_{ref})^{-\kappa},\qquad T=\theta*(P/P_{ref})^{\kappa},\qquad \kappa=R/C_p $$

在LMDMARS/LMDZ.MARS/libf/dynphy_lonlat/phymars/newstart.F中,给出了一些常量

cpp    = 744.499 ! for Mars, instead of 1004.70885 (Earth)
preff  = 610.    ! for Mars, instead of 101325. (Earth)
pa= 20           ! for Mars, instead of 500 (Earth)
planet_type="mars"

而kappa在/LMDMARS/LMDZ.MARS/libf/dynphy_lonlat/phymars/ini_archive.F中,指出kappa存放于controle变量的第9个。

tab_cntrl(1)  = REAL(iim) ! nombre de points en longitude
tab_cntrl(2)  = REAL(jjm) ! nombre de points en latitude
tab_cntrl(3)  = REAL(llm) ! nombre de couches
tab_cntrl(4)  = REAL(idayref) ! jour 0
tab_cntrl(5)  = rad ! rayon de mars(m) ~3397200
tab_cntrl(6)  = omeg ! vitesse de rotation (rad.s-1)
tab_cntrl(7)  = g   ! gravite (m.s-2) ~3.72
tab_cntrl(8)  = cpp 
tab_cntrl(8)  = 43.49 !mars temporaire Masse molaire de l''atm (g.mol-1) ~43.49
tab_cntrl(9)  = kappa ! = r/cp  ~0.256793 (=rcp dans physique)
tab_cntrl(10) = daysec ! duree du sol (s)  ~88775
tab_cntrl(11) = dtvr ! pas de temps de la dynamique (s)
tab_cntrl(12) = etot0 ! energie totale    !
tab_cntrl(13) = ptot0 ! pression totalei   !    variables
tab_cntrl(14) = ztot0 ! enstrophie totale   !  de controle
tab_cntrl(15) = stot0 ! enthalpie totale   !    globales
tab_cntrl(16) = ang0 ! moment cinetique  !
tab_cntrl(17) = pa
tab_cntrl(18) = preff

一些验证

diagfi.nc中,pressure变量的值和aps+bps*ps的值的差距在1e-6量级,可以认为相同。

由start.nc中,aps+bps*ps构建的气压场,结合teta位温变量,代入位温表达式后换算出的温度,和相应时刻diagfi输出的温度,差距在1e-2到1e-3量级,应当也可认为相同

扰动和缩放时要不要插值

由于LMD模式特性,实际扰动的量是位温。rmse是基于温度计算的,由位温计算温度需要结合气压。扰动实验和控制实验的网格气压是不一样的,所以根据计算出的rmse,直接扰动位温会有问题。虽然直觉上插值会比较合理,但是插值和不插值,各有一套自洽的方案。对于插值的方案,计算的是同气压层的温度差;不插值的方案,则计算的是同模式层的温度差。

首先要弄清楚的是,在同一个时间点上,存在三套数据:控制实验(C),扰动实验(P),缩放后的下一步扰动实验(NP, N)。而每套数据,我们有三个关心的变量,温度(T),压强(p),位温(θ)。下面用变量加下标的形式表示。

经过模式运行一次后,所得到的控制和扰动的输出文件中得到的是位温和压强,温度由两个变量构建,即

$$ T_C=\theta_C k_C,\qquad T_p=\theta_Pk_P $$

这里k是气压的单值函数,即开头的温度与位温的换算公式。

如下定义RMS,对于有N个格点的物理场A

$$ \Vert A\Vert=\sqrt{\left(\sum A^2\right)/N} $$

对于插值的方案,RMSE和新扰动的计算如下。

$$ \begin{cases}RMSE=\Vert T_I-T_C\Vert\\ \theta_N=\theta_C+\frac{AMP}{RMSE} ( \theta_I-\theta_C)\end{cases} $$

其中下标I表示扰动实验的变量,根据扰动实验的气压插值到控制实验的气压上。AMP为设定的扰动幅值。如此,缩放是自洽的。因为控制实验,插值后扰动实验和新实验是同一套气压坐标(k_C=k_N=k_I)

$$ \begin{aligned}\Vert T_N-T_C\Vert&=\Vert \theta_N k_N-\theta_Ck_C\Vert=\Vert k_C(\theta_N-\theta_C)\Vert\\&=\left\Vert k_C \frac{AMP}{RMSE}(\theta_I-\theta_C)\right\Vert\\&=\frac{AMP}{RMSE}\left\Vert k_C\theta_I-k_C\theta_C\right\Vert\\&=\frac{AMP}{RMSE}\left\Vert T_I-T_C\right\Vert=AMP\end{aligned} $$