SCALE-RM
scalelib
src
land
grid
scale_land_grid_cartesC_index.F90
Go to the documentation of this file.
1
!-------------------------------------------------------------------------------
9
!-------------------------------------------------------------------------------
10
#include "scalelib.h"
11
module
scale_land_grid_cartesc_index
12
!-----------------------------------------------------------------------------
13
!
14
!++ used modules
15
!
16
use
scale_precision
17
use
scale_io
18
use
scale_prof
19
!-----------------------------------------------------------------------------
20
implicit none
21
private
22
!-----------------------------------------------------------------------------
23
!
24
!++ Public procedure
25
!
26
public
::
land_grid_cartesc_index_setup
27
28
!-----------------------------------------------------------------------------
29
!
30
!++ Public parameters & variables
31
!
32
integer
,
public
::
lkmax
= -1
! # of computational cells: z for land
33
integer
,
public
::
limax
= -1
! # of computational cells: x for land
34
integer
,
public
::
ljmax
= -1
! # of computational cells: y for land
35
!$acc declare create(LKMAX, LIMAX, LJMAX)
36
37
integer
,
public
::
lka
= -1
! # of total grids: z for land, local
38
integer
,
public
::
lks
! start point of inner domain: z for land, local
39
integer
,
public
::
lke
! end point of inner domain: z for land, local
40
41
integer
,
public
::
lia
! # of total grids: x for land, local
42
integer
,
public
::
lis
! start point of inner domain: x for land, local
43
integer
,
public
::
lie
! end point of inner domain: x for land, local
44
45
integer
,
public
::
lja
! # of total grids: y for land, local
46
integer
,
public
::
ljs
! start point of inner domain: y for land, local
47
integer
,
public
::
lje
! end point of inner domain: y for land, local
48
!$acc declare create(LKA, LIA, LJA, LKS, LKE, LIS, LIE, LJS, LJE)
49
50
!-----------------------------------------------------------------------------
51
!
52
!++ Private procedure
53
!
54
!-----------------------------------------------------------------------------
55
!
56
!++ Private parameters & variables
57
!
58
!-----------------------------------------------------------------------------
59
contains
60
!-----------------------------------------------------------------------------
62
subroutine
land_grid_cartesc_index_setup
63
use
scale_prc
,
only
: &
64
prc_abort
65
use
scale_atmos_grid_cartesc_index
,
only
: &
66
imax
, &
67
ia
,
is
,
ie
, &
68
jmax
, &
69
ja
,
js
,
je
70
implicit none
71
72
namelist / param_land_grid_cartesc_index / &
73
lkmax
74
75
integer
:: ierr
76
!---------------------------------------------------------------------------
77
78
log_newline
79
log_info(
"LAND_GRID_CARTESC_INDEX_setup"
,*)
'Setup'
80
81
!--- read namelist
82
rewind(
io_fid_conf
)
83
read
(
io_fid_conf
,nml=param_land_grid_cartesc_index,iostat=ierr)
84
if
( ierr < 0 )
then
!--- missing
85
log_info(
"LAND_GRID_CARTESC_INDEX_setup"
,*)
'Not found namelist. Default used.'
86
elseif
( ierr > 0 )
then
!--- fatal error
87
log_error(
"LAND_GRID_CARTESC_INDEX_setup"
,*)
'Not appropriate names in namelist PARAM_LAND_GRID_CARTESC_INDEX. Check!'
88
call
prc_abort
89
endif
90
log_nml(param_land_grid_cartesc_index)
91
92
if
(
lkmax
< 1 )
then
93
log_error(
"LAND_GRID_CARTESC_INDEX_setup"
,*)
'LKMAX must be >= 1 '
,
lkmax
94
call
prc_abort
95
end if
96
97
lks
= 1
98
lke
=
lkmax
99
lka
=
lkmax
100
101
log_newline
102
log_info(
"LAND_GRID_CARTESC_INDEX_setup"
,*)
'Land grid index information '
103
log_info_cont(
'(1x,A,I6,A,I6,A,I6)'
)
'z-axis levels :'
,
lkmax
104
105
! at this moment horizontal grid is same as that in atmosphere
106
limax
=
imax
107
lia
=
ia
108
lis
=
is
109
lie
=
ie
110
111
ljmax
=
jmax
112
lja
=
ja
113
ljs
=
js
114
lje
=
je
115
116
!$acc update device(LKMAX, LIMAX, LJMAX)
117
!$acc update device(LKA, LIA, LJA, LKS, LKE, LIS, LIE, LJS, LJE)
118
119
return
120
end subroutine
land_grid_cartesc_index_setup
121
122
end module
scale_land_grid_cartesc_index
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition:
scale_prc.F90:350
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_index::limax
integer, public limax
Definition:
scale_land_grid_cartesC_index.F90:33
scale_precision
module PRECISION
Definition:
scale_precision.F90:14
scale_land_grid_cartesc_index::lkmax
integer, public lkmax
Definition:
scale_land_grid_cartesC_index.F90:32
scale_land_grid_cartesc_index::lje
integer, public lje
Definition:
scale_land_grid_cartesC_index.F90:47
scale_atmos_grid_cartesc_index::imax
integer, public imax
Definition:
scale_atmos_grid_cartesC_index.F90:37
scale_land_grid_cartesc_index
module land / grid / cartesianC / index
Definition:
scale_land_grid_cartesC_index.F90:11
scale_prc
module PROCESS
Definition:
scale_prc.F90:11
scale_atmos_grid_cartesc_index::ie
integer, public ie
end point of inner domain: x, local
Definition:
scale_atmos_grid_cartesC_index.F90:54
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_atmos_grid_cartesc_index::ia
integer, public ia
Definition:
scale_atmos_grid_cartesC_index.F90:48
scale_land_grid_cartesc_index::lie
integer, public lie
Definition:
scale_land_grid_cartesC_index.F90:43
scale_land_grid_cartesc_index::land_grid_cartesc_index_setup
subroutine, public land_grid_cartesc_index_setup
Setup.
Definition:
scale_land_grid_cartesC_index.F90:63
scale_prof
module profiler
Definition:
scale_prof.F90:11
scale_atmos_grid_cartesc_index::is
integer, public is
start point of inner domain: x, local
Definition:
scale_atmos_grid_cartesC_index.F90:53
scale_atmos_grid_cartesc_index::ja
integer, public ja
Definition:
scale_atmos_grid_cartesC_index.F90:49
scale_land_grid_cartesc_index::lis
integer, public lis
Definition:
scale_land_grid_cartesC_index.F90:42
scale_atmos_grid_cartesc_index::jmax
integer, public jmax
Definition:
scale_atmos_grid_cartesC_index.F90:38
scale_atmos_grid_cartesc_index::js
integer, public js
start point of inner domain: y, local
Definition:
scale_atmos_grid_cartesC_index.F90:55
scale_land_grid_cartesc_index::lke
integer, public lke
Definition:
scale_land_grid_cartesC_index.F90:39
scale_land_grid_cartesc_index::ljmax
integer, public ljmax
Definition:
scale_land_grid_cartesC_index.F90:34
scale_io::io_fid_conf
integer, public io_fid_conf
Config file ID.
Definition:
scale_io.F90:57
scale_land_grid_cartesc_index::lks
integer, public lks
Definition:
scale_land_grid_cartesC_index.F90:38
scale_atmos_grid_cartesc_index::je
integer, public je
end point of inner domain: y, local
Definition:
scale_atmos_grid_cartesC_index.F90:56
scale_land_grid_cartesc_index::lka
integer, public lka
Definition:
scale_land_grid_cartesC_index.F90:37
Generated by
1.8.17