SCALE-RM
scalelib
src
ocean
grid
scale_ocean_grid_cartesC_index.F90
Go to the documentation of this file.
1
!-------------------------------------------------------------------------------
9
!-------------------------------------------------------------------------------
10
#include "scalelib.h"
11
module
scale_ocean_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
::
ocean_grid_cartesc_index_setup
27
28
!-----------------------------------------------------------------------------
29
!
30
!++ Public parameters & variables
31
!
32
integer
,
public
::
okmax
= -1
! # of computational cells: z for ocean
33
integer
,
public
::
oimax
= -1
! # of computational cells: x for ocean
34
integer
,
public
::
ojmax
= -1
! # of computational cells: y for ocean
35
36
integer
,
public
::
oka
= -1
! # of total grids: z for ocean, local
37
integer
,
public
::
oks
! start point of inner domain: z for ocean, local
38
integer
,
public
::
oke
! end point of inner domain: z for ocean, local
39
40
integer
,
public
::
oia
! # of total grids: x for ocean, local
41
integer
,
public
::
ois
! start point of inner domain: x for ocean, local
42
integer
,
public
::
oie
! end point of inner domain: x for ocean, local
43
44
integer
,
public
::
oja
! # of total grids: y for ocean, local
45
integer
,
public
::
ojs
! start point of inner domain: y for ocean, local
46
integer
,
public
::
oje
! end point of inner domain: y for ocean, local
47
48
!-----------------------------------------------------------------------------
49
!
50
!++ Private procedure
51
!
52
!-----------------------------------------------------------------------------
53
!
54
!++ Private parameters & variables
55
!
56
!-----------------------------------------------------------------------------
57
contains
58
!-----------------------------------------------------------------------------
60
subroutine
ocean_grid_cartesc_index_setup
61
use
scale_prc
,
only
: &
62
prc_abort
63
use
scale_atmos_grid_cartesc_index
,
only
: &
64
imax
, &
65
ia
,
is
,
ie
, &
66
jmax
, &
67
ja
,
js
,
je
68
implicit none
69
70
namelist / param_ocean_grid_cartesc_index / &
71
okmax
72
73
integer
:: ierr
74
!---------------------------------------------------------------------------
75
76
log_newline
77
log_info(
"OCEAN_GRID_CARTESC_INDEX_setup"
,*)
'Setup'
78
79
!--- read namelist
80
rewind(
io_fid_conf
)
81
read
(
io_fid_conf
,nml=param_ocean_grid_cartesc_index,iostat=ierr)
82
if
( ierr < 0 )
then
!--- missing
83
log_info(
"OCEAN_GRID_CARTESC_INDEX_setup"
,*)
'Not found namelist. Default used.'
84
elseif
( ierr > 0 )
then
!--- fatal error
85
log_error(
"OCEAN_GRID_CARTESC_INDEX_setup"
,*)
'Not appropriate names in namelist PARAM_OCEAN_GRID_CARTESC_INDEX. Check!'
86
call
prc_abort
87
endif
88
log_nml(param_ocean_grid_cartesc_index)
89
90
if
(
okmax
< 1 )
then
91
log_error(
"OCEAN_GRID_CARTESC_INDEX_setup"
,*)
'OKMAX must be >= 1 '
,
okmax
92
call
prc_abort
93
end if
94
95
oka
=
okmax
96
oks
= 1
97
oke
=
okmax
98
99
log_newline
100
log_info(
"OCEAN_GRID_CARTESC_INDEX_setup"
,*)
'Ocean grid index information '
101
log_info_cont(
'(1x,A,I6,A,I6,A,I6)'
)
'z-axis levels :'
,
okmax
102
103
104
! at this moment horizontal grid is same as that in atmosphere
105
oimax
=
imax
106
oia
=
ia
107
ois
=
is
108
oie
=
ie
109
110
ojmax
=
jmax
111
oja
=
ja
112
ojs
=
js
113
oje
=
je
114
115
return
116
end subroutine
ocean_grid_cartesc_index_setup
117
118
end module
scale_ocean_grid_cartesc_index
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition:
scale_prc.F90:342
scale_ocean_grid_cartesc_index::oke
integer, public oke
Definition:
scale_ocean_grid_cartesC_index.F90:38
scale_ocean_grid_cartesc_index::oie
integer, public oie
Definition:
scale_ocean_grid_cartesC_index.F90:42
scale_precision
module PRECISION
Definition:
scale_precision.F90:14
scale_ocean_grid_cartesc_index::oka
integer, public oka
Definition:
scale_ocean_grid_cartesC_index.F90:36
scale_ocean_grid_cartesc_index::okmax
integer, public okmax
Definition:
scale_ocean_grid_cartesC_index.F90:32
scale_ocean_grid_cartesc_index::ois
integer, public ois
Definition:
scale_ocean_grid_cartesC_index.F90:41
scale_atmos_grid_cartesc_index::imax
integer, public imax
Definition:
scale_atmos_grid_cartesC_index.F90:37
scale_prc
module PROCESS
Definition:
scale_prc.F90:11
scale_ocean_grid_cartesc_index::oje
integer, public oje
Definition:
scale_ocean_grid_cartesC_index.F90:46
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_ocean_grid_cartesc_index::oja
integer, public oja
Definition:
scale_ocean_grid_cartesC_index.F90:44
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_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_ocean_grid_cartesc_index
module ocean / grid / cartesianC / index
Definition:
scale_ocean_grid_cartesC_index.F90:11
scale_atmos_grid_cartesc_index::ja
integer, public ja
Definition:
scale_atmos_grid_cartesC_index.F90:49
scale_ocean_grid_cartesc_index::ocean_grid_cartesc_index_setup
subroutine, public ocean_grid_cartesc_index_setup
Setup.
Definition:
scale_ocean_grid_cartesC_index.F90:61
scale_ocean_grid_cartesc_index::oimax
integer, public oimax
Definition:
scale_ocean_grid_cartesC_index.F90:33
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_ocean_grid_cartesc_index::ojs
integer, public ojs
Definition:
scale_ocean_grid_cartesC_index.F90:45
scale_ocean_grid_cartesc_index::oia
integer, public oia
Definition:
scale_ocean_grid_cartesC_index.F90:40
scale_ocean_grid_cartesc_index::ojmax
integer, public ojmax
Definition:
scale_ocean_grid_cartesC_index.F90:34
scale_io::io_fid_conf
integer, public io_fid_conf
Config file ID.
Definition:
scale_io.F90:56
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_ocean_grid_cartesc_index::oks
integer, public oks
Definition:
scale_ocean_grid_cartesC_index.F90:37
Generated by
1.8.17