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 
scale_landuse::landuse_fact_ocean
real(rp), dimension(:,:), allocatable, public landuse_fact_ocean
ocean factor
Definition: scale_landuse.F90:45
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:38
scale_ocean_grid_cartesc_index::oke
integer, public oke
Definition: scale_ocean_grid_cartesC_index.F90:39
scale_ocean_grid_cartesc_index::oie
integer, public oie
Definition: scale_ocean_grid_cartesC_index.F90:44
scale_precision
module PRECISION
Definition: scale_precision.F90:14
scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_setup
subroutine, public ocean_grid_cartesc_real_setup
Setup area and volume.
Definition: scale_ocean_grid_cartesC_real.F90:56
scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_finalize
subroutine, public ocean_grid_cartesc_real_finalize
Finalize.
Definition: scale_ocean_grid_cartesC_real.F90:69
scale_ocean_grid_cartesc_index::oka
integer, public oka
Definition: scale_ocean_grid_cartesC_index.F90:37
scale_ocean_grid_cartesc
module ocean / grid / cartesianC
Definition: scale_ocean_grid_cartesC.F90:12
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:37
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:43
scale_precision::rp
integer, parameter, public rp
Definition: scale_precision.F90:41
scale_ocean_grid_cartesc_index::oje
integer, public oje
Definition: scale_ocean_grid_cartesC_index.F90:49
scale_io
module STDIO
Definition: scale_io.F90:10
scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_set_areavol
subroutine, public ocean_grid_cartesc_real_set_areavol
Definition: scale_ocean_grid_cartesC_real.F90:80
scale_ocean_grid_cartesc_index::oja
integer, public oja
Definition: scale_ocean_grid_cartesC_index.F90:47
scale_atmos_grid_cartesc_index
module atmosphere / grid / cartesC index
Definition: scale_atmos_grid_cartesC_index.F90:12
scale_file_cartesc::file_cartesc_set_coordinates_ocean
subroutine, public file_cartesc_set_coordinates_ocean(VOL)
set volume for ocean
Definition: scale_file_cartesC.F90:556
scale_ocean_grid_cartesc::ocean_grid_cartesc_cdz
real(rp), dimension(:), allocatable, public ocean_grid_cartesc_cdz
z-length of control volume [m]
Definition: scale_ocean_grid_cartesC.F90:38
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_ocean_grid_cartesc_index
module ocean / grid / cartesianC / index
Definition: scale_ocean_grid_cartesC_index.F90:11
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:39
scale_ocean_grid_cartesc_index::ojs
integer, public ojs
Definition: scale_ocean_grid_cartesC_index.F90:48
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:42
scale_landuse
module LANDUSE
Definition: scale_landuse.F90:19
scale_file_cartesc
module file / cartesianC
Definition: scale_file_cartesC.F90:11
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:40
scale_ocean_grid_cartesc_index::oks
integer, public oks
Definition: scale_ocean_grid_cartesC_index.F90:38