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
module atmosphere / grid / cartesC index
integer, public ie
end point of inner domain: x, local
integer, public je
end point of inner domain: y, local
integer, public is
start point of inner domain: x, local
integer, public js
start point of inner domain: y, local
integer, public ke
end point of inner domain: z, local
integer, public ks
start point of inner domain: z, local
module Atmosphere GRID CartesC Real(real space)
real(rp), public atmos_grid_cartesc_real_totvolwxy
total volume (wxy, local) [m3]
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_real_totareazuy_x
total area (zuy, normal x) [m2]
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_volwxy
control volume (wxy) [m3]
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_vol
control volume (zxy) [m3]
real(rp), public atmos_grid_cartesc_real_totvol
total volume (zxy, local) [m3]
real(rp), public atmos_grid_cartesc_real_totvolzuy
total volume (zuy, local) [m3]
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_volzuy
control volume (zuy) [m3]
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_volzxv
control volume (zxv) [m3]
real(rp), public atmos_grid_cartesc_real_totareauy
total area (uy, local) [m2]
real(rp), public atmos_grid_cartesc_real_totareaxv
total area (xv, local) [m2]
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_areaxv
horizontal area ( xv, normal z) [m2]
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_areazuy_x
virtical area (zuy, normal x) [m2]
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_area
horizontal area ( xy, normal z) [m2]
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_real_totareazxv_y
total area (zxv, normal y) [m2]
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_areauy
horizontal area ( uy, normal z) [m2]
real(rp), public atmos_grid_cartesc_real_totvolzxv
total volume (zxv, local) [m3]
real(rp), public atmos_grid_cartesc_real_totarea
total area (xy, local) [m2]
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_areazxv_y
virtical area (zxv, normal y) [m2]
module STDIO
Definition: scale_io.F90:10
module land / grid / cartesianC / index
module land / grid / cartesianC / real
real(rp), dimension(:,:,:), allocatable, public land_grid_cartesc_real_vol
volume of grid cell
real(rp), public land_grid_cartesc_real_totvol
total volume
real(rp), public land_grid_cartesc_real_totarea
total area
real(rp), dimension(:,:), allocatable, public land_grid_cartesc_real_area
area of grid cell
module MONITOR CartesC
subroutine, public monitor_cartesc_setup(dt, ATMOS_do, OCEAN_do, LAND_do, URBAN_do)
Setup.
module MONITOR
subroutine, public monitor_setup(dt)
Setup.
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.
module ocean / grid / cartesianC / index
module ocean / grid / cartesianC / real
real(rp), dimension(:,:,:), allocatable, public ocean_grid_cartesc_real_vol
volume of grid cell
real(rp), dimension(:,:), allocatable, public ocean_grid_cartesc_real_area
area of grid cell
real(rp), public ocean_grid_cartesc_real_totvol
total volume
real(rp), public ocean_grid_cartesc_real_totarea
total area
module process / cartesC
logical, public prc_twod
2D experiment
module PRECISION
integer, parameter, public dp
module profiler
Definition: scale_prof.F90:11
module urban / grid / icosahedralA / index
module urban / grid / cartesianC / real
real(rp), public urban_grid_cartesc_real_totarea
total area
real(rp), dimension(:,:), allocatable, public urban_grid_cartesc_real_area
area of grid cell
real(rp), public urban_grid_cartesc_real_totvol
total volume
real(rp), dimension(:,:,:), allocatable, public urban_grid_cartesc_real_vol
volume of grid cell