SCALE-RM
scale_ocean_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 :: ocean_grid_cartesc_real_area(:,:)
39  real(rp), public, allocatable :: ocean_grid_cartesc_real_vol (:,:,:)
41  !$acc declare create(OCEAN_GRID_CARTESC_REAL_TOTAREA,OCEAN_GRID_CARTESC_REAL_TOTVOL)
42 
43  !-----------------------------------------------------------------------------
44  !
45  !++ Private procedure
46  !
47  !-----------------------------------------------------------------------------
48  !
49  !++ Private parameters & variables
50  !
51  !-----------------------------------------------------------------------------
52 contains
53  !-----------------------------------------------------------------------------
56  implicit none
57 
58  ! at this moment, horizontal grid is identical to that of the atmosphere
61  !$acc enter data create(OCEAN_GRID_CARTESC_REAL_AREA,OCEAN_GRID_CARTESC_REAL_VOL)
62 
63  return
64  end subroutine ocean_grid_cartesc_real_setup
65 
66  !-----------------------------------------------------------------------------
69  implicit none
70 
71  !$acc exit data delete(OCEAN_GRID_CARTESC_REAL_AREA,OCEAN_GRID_CARTESC_REAL_VOL)
72  deallocate( ocean_grid_cartesc_real_area )
73  deallocate( ocean_grid_cartesc_real_vol )
74 
75  return
77 
78  !-----------------------------------------------------------------------------
82  use scale_ocean_grid_cartesc, only: &
84  use scale_file_cartesc, only: &
86  use scale_landuse, only: &
88  implicit none
89 
90  integer :: k, i, j
91 
92  do j = 1, oja
93  do i = 1, oia
95  end do
96  end do
97 
99  do j = ojs, oje
100  do i = ois, oie
102  end do
103  end do
104 
105  do j = 1, oja
106  do i = 1, oia
107  do k = oks, oke
109  enddo
110  enddo
111  enddo
112 
114  do j = ojs, oje
115  do i = ois, oie
116  do k = oks, oke
118  end do
119  end do
120  end do
121 
123 
124  !$acc update device(OCEAN_GRID_CARTESC_REAL_AREA,OCEAN_GRID_CARTESC_REAL_VOL)
125  !$acc update device(OCEAN_GRID_CARTESC_REAL_TOTAREA,OCEAN_GRID_CARTESC_REAL_TOTVOL)
126  return
128 
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_ocean(VOL)
set volume for ocean
module STDIO
Definition: scale_io.F90:10
module LANDUSE
real(rp), dimension(:,:), allocatable, public landuse_fact_ocean
ocean factor
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
subroutine, public ocean_grid_cartesc_real_finalize
Finalize.
subroutine, public ocean_grid_cartesc_real_setup
Setup area and volume.
module ocean / grid / cartesianC
real(rp), dimension(:), allocatable, public ocean_grid_cartesc_cdz
z-length of control volume [m]
module PRECISION
integer, parameter, public rp
module profiler
Definition: scale_prof.F90:11