SCALE-RM
scale_urban_grid_cartesC_real.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
22  !-----------------------------------------------------------------------------
23  implicit none
24  private
25  !-----------------------------------------------------------------------------
26  !
27  !++ Public procedure
28  !
32 
33  !-----------------------------------------------------------------------------
34  !
35  !++ Public parameters & variables
36  !
37  real(rp), public, allocatable :: urban_grid_cartesc_real_area(:,:)
39  real(rp), public, allocatable :: urban_grid_cartesc_real_vol (:,:,:)
41 
42  !-----------------------------------------------------------------------------
43  !
44  !++ Private procedure
45  !
46  !-----------------------------------------------------------------------------
47  !
48  !++ Private parameters & variables
49  !
50  !-----------------------------------------------------------------------------
51 contains
52  !-----------------------------------------------------------------------------
55 
56  ! at this moment, horizontal grid is identical to that of the atmosphere
59  !$acc enter data create(URBAN_GRID_CARTESC_REAL_AREA,URBAN_GRID_CARTESC_REAL_VOL)
60 
61  return
62  end subroutine urban_grid_cartesc_real_setup
63 
64  !-----------------------------------------------------------------------------
67  implicit none
68 
69  !$acc exit data delete(URBAN_GRID_CARTESC_REAL_AREA,URBAN_GRID_CARTESC_REAL_VOL)
70  deallocate( urban_grid_cartesc_real_area )
71  deallocate( urban_grid_cartesc_real_vol )
72 
73  return
75 
76  !-----------------------------------------------------------------------------
80  use scale_urban_grid_cartesc, only: &
82  use scale_file_cartesc, only: &
84  use scale_landuse, only: &
86 
87  integer :: k, i, j
88 
89  do j = 1, uja
90  do i = 1, uia
92  end do
93  end do
94 
96  do j = ujs, uje
97  do i = uis, uie
99  end do
100  end do
101 
102  do j = 1, uja
103  do i = 1, uia
104  do k = uks, uke
106  enddo
107  enddo
108  enddo
109 
111  do j = ujs, uje
112  do i = uis, uie
113  do k = uks, uke
115  end do
116  end do
117  end do
118 
119  !$acc update device(URBAN_GRID_CARTESC_REAL_AREA,URBAN_GRID_CARTESC_REAL_VOL)
120 
122 
123  return
125 
module atmosphere / grid / cartesC index
module Atmosphere GRID CartesC Real(real space)
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_area
horizontal area ( xy, normal z) [m2]
module file / cartesianC
subroutine, public file_cartesc_set_coordinates_urban(VOL)
set volume for urban
module STDIO
Definition: scale_io.F90:10
module LANDUSE
real(rp), dimension(:,:), allocatable, public landuse_fact_urban
urban factor
module PRECISION
integer, parameter, public rp
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
subroutine, public urban_grid_cartesc_real_setup
Setup real grid.
real(rp), dimension(:,:,:), allocatable, public urban_grid_cartesc_real_vol
volume of grid cell
subroutine, public urban_grid_cartesc_real_finalize
Finalize.
module urban / grid / cartesianC
real(rp), dimension(:), allocatable, public urban_grid_cartesc_cdz
z-length of control volume [m]