densitycloud.f90

Path: physics/densitycloud.f90
Last Update: Tue Oct 25 17:24:02 +0900 2011

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

begin

Subroutine DensityCloud

  * Developer: Kitamori Taichi
  * Version: $Id: densitycloud.f90,v 1.5 2011-10-25 08:24:02 yamasita Exp $
  * Tag Name: $Name: arare4-20111026 $
  * Change History:

Overview

雲密度の時間発展を解く

Error Handling

Known Bugs

Note

  * フラックス形式の方程式を解いている
  * 乱流拡散項を考慮する
  * 北守修論によると, 雲粒落下の速さは十分小さいので,
    雲粒の落下の効果は無視(山下, 080411)
  * 雲密度の移流, 拡散を計算.
    長い時間ステップに対するループで別途計算した移流, 拡散を使って
    雲密度の仮値を計算. .
    凝結部分は移流拡散による負の雲密度の穴埋めを行なった後で計算.

Future Plans

end

Required files

Methods

Included Modules

dc_trace gridset

Public Instance methods

Subroutine :
xz_DensCloudNs(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 雲の密度 [kg/m^3]
DelTimeShort :real(8), intent(in)
: leapfrog スキームの時間間隔 [s]
xz_TendDensCloudNl(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 長い時間ステップで評価する項 [kg/m^3 s]
xz_DensCloudWorkAs(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(out)
: 雲の密度(負の密度調整前) [kg/m^3]

(out) 雲の密度(負の密度の調整前の値)

[Source]

subroutine DensityCloud( xz_DensCloudNs, DelTimeShort, xz_TendDensCloudNl, xz_DensCloudWorkAs)               !(out) 雲の密度(負の密度の調整前の値)

                                                                 !=begin  
  !== Dependancy
  use dc_trace, only: BeginSub, EndSub, DbgMessage
  use gridset,  only: DimXMin, DimXMax, DimZMin, DimZMax
!  use bcset,    only: xz_BC

                                                                 !=end
  !== 暗黙の型宣言禁止
  implicit none
                                                                 !=begin
  !== Input
  real(8), intent(in)  :: DelTimeShort  ! leapfrog スキームの時間間隔 [s]
  real(8), intent(in)  :: xz_DensCloudNs(DimXMin:DimXMax, DimZMin:DimZMax)
                                        ! 雲の密度 [kg/m^3]
  real(8)  :: xz_TendDensCloudNl(DimXMin:DimXMax, DimZMin:DimZMax)
                                        ! 長い時間ステップで評価する項 [kg/m^3 \s]

  !== Output
  real(8), intent(out)  :: xz_DensCloudWorkAs(DimXMin:DimXMax, DimZMin:DimZMax)
                                        ! 雲の密度(負の密度調整前) [kg/m^3]

                                                                 !=end  

  call BeginSub("DensityCloud", fmt="%c", c1="Time integration of density of cloud.")
  
  xz_DensCloudWorkAs = xz_DensCloudNs + DelTimeShort * xz_TendDensCloudNl

  call EndSub("DensityCloud")
  
end subroutine DensityCloud