Class StorePotTemp
In: setup/storepottemp.f90

温位に関する積算値を保管するための変数型モジュール.

Methods

Included Modules

gridset TimeSet

Public Instance methods

Subroutine :
Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

移流項の保管

[Source]

  subroutine StorePotTempAdv( Work )
    !移流項の保管

    implicit none

    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)

    Work2  = xz_Adv + Work
    xz_Adv = Work2

    CalNumAdv = CalNumAdv + 1

  end subroutine StorePotTempAdv
Subroutine :

保管した値のクリアー

[Source]

  subroutine StorePotTempClean( )
    !保管した値のクリアー
    
    z_Adv  = 0.0d0
    z_Turb = 0.0d0
    z_Diff = 0.0d0
    z_Disp = 0.0d0
    z_Rad  = 0.0d0
    z_Damp = 0.0d0
    z_Cond = 0.0d0
    za_Cond2 = 0.0d0
    z_Cond3 = 0.0d0
    z_Flux = 0.0d0

    xz_Adv  = 0.0d0
    xz_Turb = 0.0d0
    xz_Diff = 0.0d0
    xz_Disp = 0.0d0
    xz_Rad  = 0.0d0
    xz_Damp = 0.0d0
    xz_Cond = 0.0d0
    xza_Cond2 = 0.0d0
    xz_Cond3 = 0.0d0
    xz_Flux = 0.0d0

!    write(*,*) "CalNumAdv  ", CalNumAdv
!    write(*,*) "CalNumCond ", CalNumCond
!    write(*,*) "CalNumRad  ", CalNumRad
!    write(*,*) "CalNumFlux ", CalNumFlux

    CalNumAdv  = 0
    CalNumTurb = 0
    CalNumDiff = 0
    CalNumDisp = 0
    CalNumRad  = 0
    CalNumDamp = 0
    CalNumCond = 0
    CalNumCond2= 0
    CalNumCond3= 0
    CalNumFlux = 0
  end subroutine StorePotTempClean
Subroutine :
Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

潜熱・蒸発熱の保管

[Source]

  subroutine StorePotTempCond( Work )
    !潜熱・蒸発熱の保管

    implicit none
    
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)

    Work2   = xz_Cond + Work
    xz_Cond = Work2
    
    CalNumCond = CalNumCond + 1

  end subroutine StorePotTempCond
Subroutine :
Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
ID :integer

潜熱・蒸発熱の保管

[Source]

  subroutine StorePotTempCond2( Work, ID )
    !潜熱・蒸発熱の保管

    implicit none
    
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax, 1:SpcNum)
    integer              :: ID

    Work2(:,:,ID)    = xza_Cond2(:,:,ID) +  Work 
    xza_Cond2(:,:,ID) = Work2(:,:,ID)

    CalNumCond2 = CalNumCond2 + 1

  end subroutine StorePotTempCond2
Subroutine :
Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

潜熱・蒸発熱の保管

[Source]

  subroutine StorePotTempCond3( Work )
    !潜熱・蒸発熱の保管

    implicit none
    
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)

    Work2   = xz_Cond3 + Work 
    xz_Cond3 = Work2

    CalNumCond3 = CalNumCond3 + 1

  end subroutine StorePotTempCond3
Subroutine :
Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

ダンピング項の保管

[Source]

  subroutine StorePotTempDamp( Work )
    !ダンピング項の保管

    implicit none
    
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)

    Work2   = xz_Damp + Work
    xz_Damp = Work2

    CalNumDamp = CalNumDamp + 1

  end subroutine StorePotTempDamp
Subroutine :
Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

数値拡散項の保管

[Source]

  subroutine StorePotTempDiff( Work )
    !数値拡散項の保管

    implicit none
    
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)

    Work2   = xz_Diff + Work
    xz_Diff = Work2

    CalNumDiff = CalNumDiff + 1

  end subroutine StorePotTempDiff
Subroutine :
Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

散逸加熱項の保管

[Source]

  subroutine StorePotTempDisp( Work )
    !散逸加熱項の保管

    implicit none
    
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)

    Work2   = xz_Disp + Work
    xz_Disp = Work2

    CalNumDisp = CalNumDisp + 1

  end subroutine StorePotTempDisp
Subroutine :
Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

地表面フラックスの保管

[Source]

  subroutine StorePotTempFlux( Work )
    !地表面フラックスの保管

    implicit none
    
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)

    Work2   = xz_Flux + Work
    xz_Flux = Work2

    CalNumFlux = CalNumFlux + 1

  end subroutine StorePotTempFlux
Subroutine :

[Source]

  subroutine StorePotTempMeanX( )

    real(8):: CalNum

    CalNum = TimeDisp / DelTimeLong

    z_Adv  = a_MeanX_aa( xz_Adv )   / CalNum
    z_Turb = a_MeanX_aa( xz_Turb )  / CalNum
    z_Diff = a_MeanX_aa( xz_Diff )  / CalNum
    z_Disp = a_MeanX_aa( xz_Disp )  / CalNum
    z_Rad  = a_MeanX_aa( xz_Rad )  / CalNum
    z_Damp = a_MeanX_aa( xz_Damp )  / CalNum
    z_Cond = a_MeanX_aa( xz_Cond )  / CalNum
    za_Cond2 = aa_MeanX_aaa( xza_Cond2 )  / CalNum
    z_Cond3 = a_MeanX_aa( xz_Cond3 )  / CalNum
    z_Flux = a_MeanX_aa( xz_Flux )  / CalNum

  end subroutine StorePotTempMeanX
Subroutine :
Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

放射冷却項の保管

[Source]

  subroutine StorePotTempRad( Work )
    !放射冷却項の保管

    implicit none
    
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)

    Work2  = xz_Rad + Work
    xz_Rad = Work2

    CalNumRad = CalNumRad + 1

  end subroutine StorePotTempRad
Subroutine :
Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

乱流項の保管

[Source]

  subroutine StorePotTempTurb( Work )
    !乱流項の保管

    implicit none

    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)

    Work2   = xz_Turb + Work
    xz_Turb = Work2

    CalNumTurb = CalNumTurb + 1

  end subroutine StorePotTempTurb
Subroutine :

[Source]

  subroutine StorePotTemp_Init()

    !初期化ルーチン
    allocate( z_Adv(DimZMin:DimZMax), z_Turb(DimZMin:DimZMax), z_Disp(DimZMin:DimZMax), z_Diff(DimZMin:DimZMax), z_Rad(DimZMin:DimZMax), z_Damp(DimZMin:DimZMax), z_Cond(DimZMin:DimZMax), za_Cond2(DimZMin:DimZMax, 1:SpcNum), z_Cond3(DimZMin:DimZMax), z_Flux(DimZMin:DimZMax), xz_Adv(DimXMin:DimXMax, DimZMin:DimZMax), xz_Turb(DimXMin:DimXMax, DimZMin:DimZMax), xz_Disp(DimXMin:DimXMax, DimZMin:DimZMax), xz_Diff(DimXMin:DimXMax, DimZMin:DimZMax), xz_Rad(DimXMin:DimXMax, DimZMin:DimZMax), xz_Damp(DimXMin:DimXMax, DimZMin:DimZMax), xz_Cond(DimXMin:DimXMax, DimZMin:DimZMax), xza_Cond2(DimXMin:DimXMax, DimZMin:DimZMax, 1:SpcNum), xz_Cond3(DimXMin:DimXMax, DimZMin:DimZMax), xz_Flux(DimXMin:DimXMax, DimZMin:DimZMax) )

    call StorePotTempClean

  end subroutine StorePotTemp_Init
xz_Adv
Variable :
xz_Adv(:,:) :real(8), allocatable
xz_Cond
Variable :
xz_Cond(:,:) :real(8), allocatable
xz_Damp
Variable :
xz_Damp(:,:) :real(8), allocatable
xz_Diff
Variable :
xz_Diff(:,:) :real(8), allocatable
xz_Disp
Variable :
xz_Disp(:,:) :real(8), allocatable
xz_Flux
Variable :
xz_Flux(:,:) :real(8), allocatable
xz_Rad
Variable :
xz_Rad(:,:) :real(8), allocatable
xz_Turb
Variable :
xz_Turb(:,:) :real(8), allocatable
z_Adv
Variable :
z_Adv(:) :real(8), allocatable
z_Cond
Variable :
z_Cond(:) :real(8), allocatable
z_Cond3
Variable :
z_Cond3(:) :real(8), allocatable
z_Damp
Variable :
z_Damp(:) :real(8), allocatable
z_Diff
Variable :
z_Diff(:) :real(8), allocatable
z_Disp
Variable :
z_Disp(:) :real(8), allocatable
z_Flux
Variable :
z_Flux(:) :real(8), allocatable
z_Rad
Variable :
z_Rad(:) :real(8), allocatable
z_Turb
Variable :
z_Turb(:) :real(8), allocatable
za_Cond2
Variable :
za_Cond2(:,:) :real(8), allocatable