SCALE-RM
scale_ocean_grid_cartesC_index.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
19  !-----------------------------------------------------------------------------
20  implicit none
21  private
22  !-----------------------------------------------------------------------------
23  !
24  !++ Public procedure
25  !
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  !-----------------------------------------------------------------------------
61  use scale_prc, only: &
62  prc_abort
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 
integer, public jmax
of computational cells: y, local
subroutine, public ocean_grid_cartesc_index_setup
Setup.
integer, public imax
of computational cells: x, local
integer, public ia
of whole cells: x, local, with HALO
integer, public ja
of whole cells: y, local, with HALO
integer, public io_fid_conf
Config file ID.
Definition: scale_io.F90:55
integer, public is
start point of inner domain: x, local
integer, public ie
end point of inner domain: x, local
module atmosphere / grid / cartesC index
module PROCESS
Definition: scale_prc.F90:11
integer, public je
end point of inner domain: y, local
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:338
integer, public js
start point of inner domain: y, local
module ocean / grid / cartesianC / index
module profiler
Definition: scale_prof.F90:11
module PRECISION
module STDIO
Definition: scale_io.F90:10