SCALE-RM
scale_land_grid_cartesC_real.F90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
9 !-------------------------------------------------------------------------------
10 #include "scalelib.h"
12  !-----------------------------------------------------------------------------
13  !
14  !++ used modules
15  !
16  use scale_precision
17  use scale_io
18  use scale_prof
21  !-----------------------------------------------------------------------------
22  implicit none
23  private
24  !-----------------------------------------------------------------------------
25  !
26  !++ Public procedure
27  !
31 
32  !-----------------------------------------------------------------------------
33  !
34  !++ Public parameters & variables
35  !
36  real(rp), public, allocatable :: land_grid_cartesc_real_area(:,:)
38  real(rp), public, allocatable :: land_grid_cartesc_real_vol (:,:,:)
40 
41  !-----------------------------------------------------------------------------
42  !
43  !++ Private procedure
44  !
45  !-----------------------------------------------------------------------------
46  !
47  !++ Private parameters & variables
48  !
49  !-----------------------------------------------------------------------------
50 contains
51  !-----------------------------------------------------------------------------
54 
55  ! at this moment, horizontal grid is identical to that of the atmosphere
56  allocate( land_grid_cartesc_real_area( lia,lja) )
58  !$acc enter data create(LAND_GRID_CARTESC_REAL_AREA, LAND_GRID_CARTESC_REAL_VOL)
59 
60  return
61  end subroutine land_grid_cartesc_real_setup
62 
63  !-----------------------------------------------------------------------------
66  implicit none
67 
68  !$acc exit data delete(LAND_GRID_CARTESC_REAL_AREA, LAND_GRID_CARTESC_REAL_VOL)
69  deallocate( land_grid_cartesc_real_area )
70  deallocate( land_grid_cartesc_real_vol )
71 
72  return
73  end subroutine land_grid_cartesc_real_finalize
74  !-----------------------------------------------------------------------------
75 
79  use scale_land_grid_cartesc, only: &
81  use scale_file_cartesc, only: &
83  use scale_landuse, only: &
85 
86  integer :: k, i, j
87 
88  do j = 1, lja
89  do i = 1, lia
91  end do
92  end do
93  !$acc update device(LAND_GRID_CARTESC_REAL_AREA) async
94 
96  do j = ljs, lje
97  do i = lis, lie
99  end do
100  end do
101 
102  do j = 1, lja
103  do i = 1, lia
104  do k = lks, lke
106  enddo
107  enddo
108  enddo
109  !$acc update device(LAND_GRID_CARTESC_REAL_VOL) async
110 
112  do j = ljs, lje
113  do i = lis, lie
114  do k = lks, lke
116  end do
117  end do
118  end do
119 
121  !$acc wait
122 
123  return
125 
scale_land_grid_cartesc_real::land_grid_cartesc_real_setup
subroutine, public land_grid_cartesc_real_setup
Setup real grid.
Definition: scale_land_grid_cartesC_real.F90:54
scale_file_cartesc::file_cartesc_set_coordinates_land
subroutine, public file_cartesc_set_coordinates_land(VOL)
set volume for land
Definition: scale_file_cartesC.F90:570
scale_land_grid_cartesc_index::ljs
integer, public ljs
Definition: scale_land_grid_cartesC_index.F90:46
scale_land_grid_cartesc_index::lia
integer, public lia
Definition: scale_land_grid_cartesC_index.F90:41
scale_land_grid_cartesc_index::lja
integer, public lja
Definition: scale_land_grid_cartesC_index.F90:45
scale_land_grid_cartesc::land_grid_cartesc_cdz
real(rp), dimension(:), allocatable, public land_grid_cartesc_cdz
z-length of control volume [m]
Definition: scale_land_grid_cartesC.F90:37
scale_precision
module PRECISION
Definition: scale_precision.F90:14
scale_land_grid_cartesc_index::lje
integer, public lje
Definition: scale_land_grid_cartesC_index.F90:47
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:37
scale_atmos_grid_cartesc_real
module Atmosphere GRID CartesC Real(real space)
Definition: scale_atmos_grid_cartesC_real.F90:11
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:39
scale_land_grid_cartesc_index
module land / grid / cartesianC / index
Definition: scale_land_grid_cartesC_index.F90:11
scale_precision::rp
integer, parameter, public rp
Definition: scale_precision.F90:41
scale_io
module STDIO
Definition: scale_io.F90:10
scale_atmos_grid_cartesc_index
module atmosphere / grid / cartesC index
Definition: scale_atmos_grid_cartesC_index.F90:12
scale_land_grid_cartesc_index::lie
integer, public lie
Definition: scale_land_grid_cartesC_index.F90:43
scale_land_grid_cartesc_real
module land / grid / cartesianC / real
Definition: scale_land_grid_cartesC_real.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:66
scale_land_grid_cartesc_real::land_grid_cartesc_real_finalize
subroutine, public land_grid_cartesc_real_finalize
Finalize.
Definition: scale_land_grid_cartesC_real.F90:66
scale_land_grid_cartesc_index::lis
integer, public lis
Definition: scale_land_grid_cartesC_index.F90:42
scale_landuse::landuse_fact_land
real(rp), dimension(:,:), allocatable, public landuse_fact_land
land factor
Definition: scale_landuse.F90:46
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:38
scale_land_grid_cartesc_real::land_grid_cartesc_real_set_areavol
subroutine, public land_grid_cartesc_real_set_areavol
Definition: scale_land_grid_cartesC_real.F90:77
scale_land_grid_cartesc
module land / grid / cartesianC
Definition: scale_land_grid_cartesC.F90:11
scale_land_grid_cartesc_index::lke
integer, public lke
Definition: scale_land_grid_cartesC_index.F90:39
scale_landuse
module LANDUSE
Definition: scale_landuse.F90:19
scale_land_grid_cartesc_index::lks
integer, public lks
Definition: scale_land_grid_cartesC_index.F90:38
scale_file_cartesc
module file / cartesianC
Definition: scale_file_cartesC.F90:11
scale_land_grid_cartesc_index::lka
integer, public lka
Definition: scale_land_grid_cartesC_index.F90:37
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:36