saturationratio.f90

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

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

begin

Subroutine SaturationRatio

  * Developer: KITAMORI Taichi
  * Version: $
  * Tag Name: $Name:  $
  * Change History:

Overview

²ÐÀ±¼¾½áÂÐή·×»»ÍÑ. Ë°ÏÂÈæ¤ò·×»»¤¹¤ë.

Error Handling

Known Bugs

Note

Future Plans

end

Required files

Methods

Included Modules

dc_trace gridset basicset ChemData

Public Instance methods

Subroutine :
xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(out)
: =end

(out)

begin

Dependency

[Source]

subroutine SaturationRatio(xz_Exner, xz_PotTemp, xz_SatRatio)   !(out)
                                                                 !=begin
  !== Dependency
  use dc_trace, only:  BeginSub, EndSub
  use gridset,  only:  DimXMin, DimXMax, DimZMin, DimZMax
  use basicset, only:  xz_ExnerBasicZ, xz_PotTempBasicZ, GasRDry, CpDry, PressSfc
  use ChemData, only: ChemData_Cp, ChemData_SVapPress_AntoineA, ChemData_SVapPress_AntoineB    ! Antoine ¤Î¼°¤Î·¸¿ô B
!  use physset,  only:  GasR, &
!    &                  PressSfc
!  use cloudset, only:  SatPressA,   &
!    &                  SatPressB

  !== Input
  real(8), intent(in)   :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(in)   :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)

  !== Output
  real(8), intent(out)  :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
                                                                 !=end

  call BeginSub("SaturationRatio", fmt="%c", c1="Calculate saturation ratio.")

  xz_SatRatio = PressSfc * (xz_ExnerBasicZ + xz_Exner)**(CpDry / GasRDry) * (  exp( - ChemData_SVapPress_AntoineA(12) + ChemData_SVapPress_AntoineB(12) / ( (xz_ExnerBasicZ + xz_Exner) *  (xz_PotTempBasicZ + xz_PotTemp) ) ) ) 

!  xz_SatRatio =  &
!    &  PressSfc * (xz_ExnerBasicZ + xz_Exner)**(xz_CpBasicZ / GasR) &
!    &  * (  exp(  &
!    &           - SatPressA &
!    &           + SatPressB  &
!    &             / ( (xz_ExnerBasicZ + xz_Exner) &
!    &                 *  (xz_PotTempBasicZ + xz_PotTemp) )&
!    &          )  &
!    &    ) 

  call EndSub("SaturationRatio")

end subroutine SaturationRatio