SCALE-RM
scale_monitor_cartesC.F90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
10 !-------------------------------------------------------------------------------
11 #include "scalelib.h"
13  !-----------------------------------------------------------------------------
14  !
15  !++ Used modules
16  !
17  use scale_precision
18  use scale_io
19  use scale_prof
24  !-----------------------------------------------------------------------------
25  implicit none
26  private
27  !-----------------------------------------------------------------------------
28  !
29  !++ Public procedures
30  !
31  public :: monitor_cartesc_setup
32 
33  !-----------------------------------------------------------------------------
34  !
35  !++ Public parameters & variables
36  !
37  !-----------------------------------------------------------------------------
38  !
39  !++ Private procedures
40  !
41  !-----------------------------------------------------------------------------
42  !
43  !++ Private parameters & variables
44  !
45  !-----------------------------------------------------------------------------
46 contains
47  !-----------------------------------------------------------------------------
49  subroutine monitor_cartesc_setup( &
50  dt, &
51  ATMOS_do, OCEAN_do, LAND_do, URBAN_do )
52  use scale_prc_cartesc, only: &
53  prc_twod
54  use scale_monitor, only: &
55  monitor_setup, &
81  use scale_land_grid_cartesc_real, only: &
91  implicit none
92 
93  real(dp), intent(in) :: dt
94  logical, intent(in) :: atmos_do
95  logical, intent(in) :: ocean_do
96  logical, intent(in) :: land_do
97  logical, intent(in) :: urban_do
98  !---------------------------------------------------------------------------
99 
100 
101  call monitor_setup( dt )
102 
103  ! atmos
104  if ( atmos_do ) then
105  call monitor_set_dim( ka, ks, ke, ia, is, ie, ja, js, je, &
106  "ZXY", 3, &
111  call monitor_set_dim( ka, ks, ke, ia, is, ie, ja, js, je, &
112  "WXY", 3, &
117  call monitor_set_dim( ka, ks, ke, ia, is, ie, ja, js, je, &
118  "ZUY", 3, &
123  call monitor_set_dim( ka, ks, ke, ia, is, ie, ja, js, je, &
124  "ZXV", 3, &
129  call monitor_set_dim( ka, ks, ke, ia, is, ie, ja, js, je, &
130  "XY", 2, &
133  if ( prc_twod ) then
134  call monitor_set_dim( ka, ks, ke, ka, ks, ke, ja, js, je, &
135  "ZY-W", 2, &
138  else
139  call monitor_set_dim( ka, ks, ke, ka, ks, ke, ja, js, je, &
140  "ZY-W", 2, &
143  end if
144  call monitor_set_dim( ka, ks, ke, ka, ks, ke, ja, js, je, &
145  "ZY-E", 2, &
148  call monitor_set_dim( ka, ks, ke, ka, ks, ke, ia, is, ie, &
149  "ZX-S", 2, &
152  call monitor_set_dim( ka, ks, ke, ka, ks, ke, ia, is, ie, &
153  "ZX-N", 2, &
156  end if
157 
158  ! ocean
159  if ( ocean_do ) then
160  call monitor_set_dim( oka, oks, oke, oia, ois, oie, oja, ojs, oje, &
161  "OXY", 3, &
166  end if
167 
168  ! land
169  if ( land_do ) then
170  call monitor_set_dim( lka, lks, lke, lia, lis, lie, lja, ljs, lje, &
171  "LXY", 3, &
176  end if
177 
178  ! urban
179  if ( urban_do ) then
180  call monitor_set_dim( uka, uks, uke, uia, uis, uie, uja, ujs, uje, &
181  "UXY", 3, &
186  end if
187 
188  return
189  end subroutine monitor_cartesc_setup
190 
191 end module scale_monitor_cartesc
scale_urban_grid_cartesc_index::uja
integer, public uja
Definition: scale_urban_grid_cartesC_index.F90:44
scale_atmos_grid_cartesc_index::ke
integer, public ke
end point of inner domain: z, local
Definition: scale_atmos_grid_cartesC_index.F90:52
scale_urban_grid_cartesc_real::urban_grid_cartesc_real_vol
real(rp), dimension(:,:,:), allocatable, public urban_grid_cartesc_real_vol
volume of grid cell
Definition: scale_urban_grid_cartesC_real.F90:38
scale_urban_grid_cartesc_real::urban_grid_cartesc_real_totvol
real(rp), public urban_grid_cartesc_real_totvol
total volume
Definition: scale_urban_grid_cartesC_real.F90:39
scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_totarea
real(rp), public ocean_grid_cartesc_real_totarea
total area
Definition: scale_ocean_grid_cartesC_real.F90:37
scale_land_grid_cartesc_index::ljs
integer, public ljs
Definition: scale_land_grid_cartesC_index.F90:45
scale_land_grid_cartesc_index::lia
integer, public lia
Definition: scale_land_grid_cartesC_index.F90:37
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolzxv
real(rp), public atmos_grid_cartesc_real_totvolzxv
total volume (zxv, local) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:90
scale_urban_grid_cartesc_index::uia
integer, public uia
Definition: scale_urban_grid_cartesC_index.F90:40
scale_ocean_grid_cartesc_index::oke
integer, public oke
Definition: scale_ocean_grid_cartesC_index.F90:38
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volwxy
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_volwxy
control volume (wxy) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:84
scale_land_grid_cartesc_index::lja
integer, public lja
Definition: scale_land_grid_cartesC_index.F90:38
scale_ocean_grid_cartesc_index::oie
integer, public oie
Definition: scale_ocean_grid_cartesC_index.F90:42
scale_precision
module PRECISION
Definition: scale_precision.F90:14
scale_atmos_grid_cartesc_index::ka
integer, public ka
Definition: scale_atmos_grid_cartesC_index.F90:47
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totarea
real(rp), public atmos_grid_cartesc_real_totarea
total area (xy, local) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:77
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolwxy
real(rp), public atmos_grid_cartesc_real_totvolwxy
total volume (wxy, local) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:88
scale_land_grid_cartesc_index::lje
integer, public lje
Definition: scale_land_grid_cartesC_index.F90:46
scale_ocean_grid_cartesc_index::oka
integer, public oka
Definition: scale_ocean_grid_cartesC_index.F90:36
scale_land_grid_cartesc_real::land_grid_cartesc_real_totarea
real(rp), public land_grid_cartesc_real_totarea
total area
Definition: scale_land_grid_cartesC_real.F90:36
scale_urban_grid_cartesc_index
module urban / grid / icosahedralA / index
Definition: scale_urban_grid_cartesC_index.F90:11
scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_area
real(rp), dimension(:,:), allocatable, public ocean_grid_cartesc_real_area
area of grid cell
Definition: scale_ocean_grid_cartesC_real.F90:36
scale_atmos_grid_cartesc_real
module Atmosphere GRID CartesC Real(real space)
Definition: scale_atmos_grid_cartesC_real.F90:11
scale_ocean_grid_cartesc_index::ois
integer, public ois
Definition: scale_ocean_grid_cartesC_index.F90:41
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volzuy
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_volzuy
control volume (zuy) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:85
scale_land_grid_cartesc_real::land_grid_cartesc_real_totvol
real(rp), public land_grid_cartesc_real_totvol
total volume
Definition: scale_land_grid_cartesC_real.F90:38
scale_land_grid_cartesc_index
module land / grid / cartesianC / index
Definition: scale_land_grid_cartesC_index.F90:11
scale_monitor::monitor_set_dim
subroutine, public monitor_set_dim(KA, KS, KE, IA, IS, IE, JA, JS, JE, dim_type, dim_size, area, total_area, volume, total_volume)
Set area and volume.
Definition: scale_monitor.F90:190
scale_ocean_grid_cartesc_index::oje
integer, public oje
Definition: scale_ocean_grid_cartesC_index.F90:46
scale_atmos_grid_cartesc_index::ie
integer, public ie
end point of inner domain: x, local
Definition: scale_atmos_grid_cartesC_index.F90:54
scale_io
module STDIO
Definition: scale_io.F90:10
scale_ocean_grid_cartesc_index::oja
integer, public oja
Definition: scale_ocean_grid_cartesC_index.F90:44
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volzxv
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_volzxv
control volume (zxv) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:86
scale_atmos_grid_cartesc_index
module atmosphere / grid / cartesC index
Definition: scale_atmos_grid_cartesC_index.F90:12
scale_atmos_grid_cartesc_index::ia
integer, public ia
Definition: scale_atmos_grid_cartesC_index.F90:48
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_vol
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_vol
control volume (zxy) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:83
scale_land_grid_cartesc_index::lie
integer, public lie
Definition: scale_land_grid_cartesC_index.F90:44
scale_land_grid_cartesc_real
module land / grid / cartesianC / real
Definition: scale_land_grid_cartesC_real.F90:11
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areazuy_x
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_areazuy_x
virtical area (zuy, normal x) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:66
scale_prc_cartesc
module process / cartesC
Definition: scale_prc_cartesC.F90:11
scale_prof
module profiler
Definition: scale_prof.F90:11
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_area
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_area
horizontal area ( xy, normal z) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:65
scale_atmos_grid_cartesc_index::is
integer, public is
start point of inner domain: x, local
Definition: scale_atmos_grid_cartesC_index.F90:53
scale_ocean_grid_cartesc_index
module ocean / grid / cartesianC / index
Definition: scale_ocean_grid_cartesC_index.F90:11
scale_precision::dp
integer, parameter, public dp
Definition: scale_precision.F90:32
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totareauy
real(rp), public atmos_grid_cartesc_real_totareauy
total area (uy, local) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:78
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolzuy
real(rp), public atmos_grid_cartesc_real_totvolzuy
total volume (zuy, local) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:89
scale_atmos_grid_cartesc_index::ja
integer, public ja
Definition: scale_atmos_grid_cartesC_index.F90:49
scale_land_grid_cartesc_index::lis
integer, public lis
Definition: scale_land_grid_cartesC_index.F90:42
scale_monitor_cartesc::monitor_cartesc_setup
subroutine, public monitor_cartesc_setup(dt, ATMOS_do, OCEAN_do, LAND_do, URBAN_do)
Setup.
Definition: scale_monitor_cartesC.F90:52
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areauy
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_areauy
horizontal area ( uy, normal z) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:70
scale_urban_grid_cartesc_index::uks
integer, public uks
Definition: scale_urban_grid_cartesC_index.F90:37
scale_atmos_grid_cartesc_index::ks
integer, public ks
start point of inner domain: z, local
Definition: scale_atmos_grid_cartesC_index.F90:51
scale_land_grid_cartesc_real::land_grid_cartesc_real_vol
real(rp), dimension(:,:,:), allocatable, public land_grid_cartesc_real_vol
volume of grid cell
Definition: scale_land_grid_cartesC_real.F90:37
scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_vol
real(rp), dimension(:,:,:), allocatable, public ocean_grid_cartesc_real_vol
volume of grid cell
Definition: scale_ocean_grid_cartesC_real.F90:38
scale_monitor_cartesc
module MONITOR CartesC
Definition: scale_monitor_cartesC.F90:12
scale_atmos_grid_cartesc_index::js
integer, public js
start point of inner domain: y, local
Definition: scale_atmos_grid_cartesC_index.F90:55
scale_ocean_grid_cartesc_index::ojs
integer, public ojs
Definition: scale_ocean_grid_cartesC_index.F90:45
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totareazuy_x
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_real_totareazuy_x
total area (zuy, normal x) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:80
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totareaxv
real(rp), public atmos_grid_cartesc_real_totareaxv
total area (xv, local) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:79
scale_urban_grid_cartesc_index::uka
integer, public uka
Definition: scale_urban_grid_cartesC_index.F90:36
scale_urban_grid_cartesc_index::uis
integer, public uis
Definition: scale_urban_grid_cartesC_index.F90:41
scale_ocean_grid_cartesc_real
module ocean / grid / cartesianC / real
Definition: scale_ocean_grid_cartesC_real.F90:12
scale_ocean_grid_cartesc_index::oia
integer, public oia
Definition: scale_ocean_grid_cartesC_index.F90:40
scale_monitor::monitor_setup
subroutine, public monitor_setup(dt)
Setup.
Definition: scale_monitor.F90:105
scale_urban_grid_cartesc_real::urban_grid_cartesc_real_totarea
real(rp), public urban_grid_cartesc_real_totarea
total area
Definition: scale_urban_grid_cartesC_real.F90:37
scale_land_grid_cartesc_index::lke
integer, public lke
Definition: scale_land_grid_cartesC_index.F90:41
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areaxv
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_areaxv
horizontal area ( xv, normal z) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:73
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvol
real(rp), public atmos_grid_cartesc_real_totvol
total volume (zxy, local) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:87
scale_urban_grid_cartesc_real
module urban / grid / cartesianC / real
Definition: scale_urban_grid_cartesC_real.F90:12
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_areazxv_y
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_areazxv_y
virtical area (zxv, normal y) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:67
scale_urban_grid_cartesc_index::uje
integer, public uje
Definition: scale_urban_grid_cartesC_index.F90:46
scale_urban_grid_cartesc_index::ujs
integer, public ujs
Definition: scale_urban_grid_cartesC_index.F90:45
scale_land_grid_cartesc_index::lks
integer, public lks
Definition: scale_land_grid_cartesC_index.F90:40
scale_atmos_grid_cartesc_index::je
integer, public je
end point of inner domain: y, local
Definition: scale_atmos_grid_cartesC_index.F90:56
scale_prc_cartesc::prc_twod
logical, public prc_twod
2D experiment
Definition: scale_prc_cartesC.F90:55
scale_urban_grid_cartesc_index::uie
integer, public uie
Definition: scale_urban_grid_cartesC_index.F90:42
scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_totvol
real(rp), public ocean_grid_cartesc_real_totvol
total volume
Definition: scale_ocean_grid_cartesC_real.F90:39
scale_urban_grid_cartesc_index::uke
integer, public uke
Definition: scale_urban_grid_cartesC_index.F90:38
scale_land_grid_cartesc_index::lka
integer, public lka
Definition: scale_land_grid_cartesC_index.F90:36
scale_land_grid_cartesc_real::land_grid_cartesc_real_area
real(rp), dimension(:,:), allocatable, public land_grid_cartesc_real_area
area of grid cell
Definition: scale_land_grid_cartesC_real.F90:35
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totareazxv_y
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_real_totareazxv_y
total area (zxv, normal y) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:81
scale_urban_grid_cartesc_real::urban_grid_cartesc_real_area
real(rp), dimension(:,:), allocatable, public urban_grid_cartesc_real_area
area of grid cell
Definition: scale_urban_grid_cartesC_real.F90:36
scale_ocean_grid_cartesc_index::oks
integer, public oks
Definition: scale_ocean_grid_cartesC_index.F90:37
scale_monitor
module MONITOR
Definition: scale_monitor.F90:12