This module compute heating and dissipation for Held and Suarez(1994) benchmark integration of a dry GCM.
Held and Suarez(1994) の乾燥大気 GCM ベンチマーク用の加熱と散逸を計算する。
use type_mod, only : STRING, DBKIND
private public:: hs94forcing_init, hs94forcing, hs94forcing_end ! subroutines
type(AXISINFO), intent(in) :: & & x_Lon , & ! 経度座標 & y_Lat , & ! 緯度座標 & z_Sigma ! σレベル(整数)座標
加熱と散逸の結果は xyz_VelLon_phy, xyz_VelLat_phy, xyz_Temp_phy として返る。
subroutine hs94forcing( & & xyz_VelLon_b , xyz_VelLat_b , xyz_Temp_b , xy_Ps_b , & & xyz_VelLon_phy, xyz_VelLat_phy, xyz_Temp_phy )
use type_mod, only: INTKIND, STRING, TOKEN, REKIND, DBKIND use constants_mod, only: RAir, Cp, SecPerDay use grid_3d_mod , only: im, jm, km use io_gt4_out_mod,only: io_gt4_out_Put use dc_trace , only: DbgMessage, BeginSub, EndSub, DataDump
real(DBKIND), intent(in) :: & & xyz_VelLon_b(:,:,:) , & ! 速度経度成分 (t-Δt) & xyz_VelLat_b(:,:,:) , & ! 速度緯度成分 (t-Δt) & xyz_Temp_b(:,:,:) , & ! 温度 (t-Δt) & xy_Ps_b(:,:) ! 地表面気圧 (t-Δt)
real(DBKIND), intent(out) :: & & xyz_VelLon_phy(:,:,:) , & ! 速度経度成分の加熱散逸効果 & xyz_VelLat_phy(:,:,:) , & ! 速度緯度成分の加熱散逸効果 & xyz_Temp_phy(:,:,:) ! 温度の加熱散逸効果
hs94forcing_init で allocate した変数を deallocate する。
subroutine hs94forcing_end
use type_mod, only: STRING, DBKIND, INTKIND use dc_trace, only: BeginSub, EndSub, DbgMessage