latentheat_old.f90

Path: physics/latentheat_old.f90
Last Update: Thu Mar 03 13:31:20 +0900 2011

    Copyright (C) GFD Dennou Club, 2004. All rights reserved.

begin

Subroutine LatentHeat

  * Developer: KITAMORI Taichi
  * Version: $Id: latentheat_old.f90,v 1.1 2009-03-05 05:39:42 yamasita Exp $
  * Tag Name: $Name:  $
  * Change History:

Overview

凝結量から凝結熱を計算する. 凝結熱を出力しない.

Error Handling

Known Bugs

Note

Future Plans

end

Required files

Methods

Included Modules

dc_trace gridset ChemData basicset

Public Instance methods

Subroutine :
xz_Masscond(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 凝結量 [kg/m^3 s]
xz_LatHeatPerMass(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 単位質量あたりの潜熱 [J/kg]
xz_Qcond(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(out)
: 凝結熱による温度変化率 [K/s]

(out) 凝結熱による温度変化率

begin

Dependency

[Source]

subroutine LatentHeat(xz_Masscond, xz_LatHeatPerMass, xz_Qcond)              !(out) 凝結熱による温度変化率
                                                                 !=begin
  !==Dependency
  use dc_trace, only: BeginSub, EndSub  
  use gridset,  only: DimXMin, DimXMax, DimZMin, DimZMax
!  use physset,  only: GasR              ! 気体定数
!  use cloudset, only: SatPressB         ! Antoine の式の係数 B
  use ChemData, only: ChemData_SVapPress_AntoineB, ChemData_Cp        ! 湿潤成分の定圧比熱
  use basicset, only: xz_DensBasicZ, xz_ExnerBasicZ, GasRDry, CpDry              ! 定圧比熱
                                                                 !=end
  !==暗黙の型宣言を禁止
  implicit none
  
  !==Input
  real(8)                :: xz_LatHeatPerMass(DimXMin:DimXMax, DimZMin:DimZMax)
                                           ! 単位質量あたりの潜熱 [J/kg]
  real(8)                :: xz_Masscond(DimXMin:DimXMax, DimZMin:DimZMax) 
                                           ! 凝結量 [kg/m^3 s]

  !==Output
  real(8), intent(out)   :: xz_Qcond(DimXMin:DimXMax, DimZMin:DimZMax) 
                                           ! 凝結熱による温度変化率 [K/s]
  
  !==Work

  call BeginSub("LatentHeat", fmt="%c", c1="Calculate potential temperature tendency bylatent heating.")

  xz_Qcond = xz_LatHeatPerMass * xz_Masscond / (CpDry * xz_DensBasicZ * xz_ExnerBasicZ)  
!    & / (ss_CpBasicZ * xz_DensBasicZ * xz_ExnerBasicZ)  

  call EndSub("LatentHeat")

end subroutine LatentHeat