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