SCALE-RM
scale_urban_grid_icoA_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 :: ukmax = -1 ! # of computational cells: z for urban
33  integer, public :: uimax = -1 ! # of computational cells: x for urban
34  integer, public :: ujmax = -1 ! # of computational cells: y for urban
35 
36  integer, public :: uka ! # of total grids: z for urban, local
37  integer, public :: uks ! start point of inner domain: z for urban, local
38  integer, public :: uke ! end point of inner domain: z for urban, local
39  integer, public :: uia ! # of total grids: x for urban, local
40  integer, public :: uis ! start point of inner domain: x for urban, local
41  integer, public :: uie ! end point of inner domain: x for urban, local
42  integer, public :: uja ! # of total grids: Y for urban, local
43  integer, public :: ujs ! start point of inner domain: y for urban, local
44  integer, public :: uje ! end point of inner domain: y for urban, local
45 
46  !-----------------------------------------------------------------------------
47  !
48  !++ Private procedure
49  !
50  !-----------------------------------------------------------------------------
51  !
52  !++ Private parameters & variables
53  !
54  !-----------------------------------------------------------------------------
55 contains
56  !-----------------------------------------------------------------------------
59  use scale_prc, only: &
60  prc_abort
61  use scale_atmos_grid_icoa_index, only: &
62  imax, &
63  ia, is, ie, &
64  jmax, &
65  ja, js, je
66  implicit none
67 
68  namelist / param_urban_grid_icoa_index / &
69  ukmax
70 
71  integer :: ierr
72  !---------------------------------------------------------------------------
73 
74  log_newline
75  log_info("URBAN_GRID_ICOA_INDEX_setup",*) 'Setup'
76 
77  !--- read namelist
78  rewind(io_fid_conf)
79  read(io_fid_conf,nml=param_urban_grid_icoa_index,iostat=ierr)
80  if( ierr < 0 ) then !--- missing
81  log_info("URBAN_GRID_ICOA_INDEX_setup",*) 'Not found namelist. Default used.'
82  elseif( ierr > 0 ) then !--- fatal error
83  log_error("URBAN_GRID_ICOA_INDEX_setup",*) 'Not appropriate names in namelist PARAM_URBAN_GRID_ICOA_INDEX. Check!'
84  call prc_abort
85  endif
86  log_nml(param_urban_grid_icoa_index)
87 
88  if ( ukmax < 1 ) then
89  log_error("URBAN_GRID_ICOA_INDEX_setup",*) 'UKMAX must be >= 1 ', ukmax
90  call prc_abort
91  end if
92 
93  uka = ukmax
94  uks = 1
95  uke = ukmax
96 
97  log_newline
98  log_info("URBAN_GRID_ICOA_INDEX_setup",*) 'Urban grid index information '
99  log_info_cont('(1x,A,I6,A,I6,A,I6)') 'z-axis levels :', ukmax
100 
101  ! at this moment horizontal grid is same as that in atmosphere
102  uimax = imax
103  uia = ia
104  uis = is
105  uie = ie
106 
107  ujmax = jmax
108  uja = ja
109  ujs = js
110  uje = je
111 
112  return
113  end subroutine urban_grid_icoa_index_setup
114 
scale_atmos_grid_icoa_index::ia
integer, public ia
Definition: scale_atmos_grid_icoA_index.F90:93
scale_urban_grid_icoa_index::ujmax
integer, public ujmax
Definition: scale_urban_grid_icoA_index.F90:34
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:342
scale_urban_grid_icoa_index::ukmax
integer, public ukmax
Definition: scale_urban_grid_icoA_index.F90:32
scale_precision
module PRECISION
Definition: scale_precision.F90:14
scale_urban_grid_icoa_index::uis
integer, public uis
Definition: scale_urban_grid_icoA_index.F90:40
scale_atmos_grid_icoa_index::je
integer, public je
Definition: scale_atmos_grid_icoA_index.F90:96
scale_prc
module PROCESS
Definition: scale_prc.F90:11
scale_io
module STDIO
Definition: scale_io.F90:10
scale_atmos_grid_icoa_index::ie
integer, public ie
Definition: scale_atmos_grid_icoA_index.F90:92
scale_urban_grid_icoa_index::uja
integer, public uja
Definition: scale_urban_grid_icoA_index.F90:42
scale_atmos_grid_icoa_index::is
integer, parameter, public is
Definition: scale_atmos_grid_icoA_index.F90:91
scale_prof
module profiler
Definition: scale_prof.F90:11
scale_atmos_grid_icoa_index::jmax
integer, public jmax
Definition: scale_atmos_grid_icoA_index.F90:94
scale_urban_grid_icoa_index::uke
integer, public uke
Definition: scale_urban_grid_icoA_index.F90:38
scale_urban_grid_icoa_index::urban_grid_icoa_index_setup
subroutine, public urban_grid_icoa_index_setup
Setup.
Definition: scale_urban_grid_icoA_index.F90:59
scale_atmos_grid_icoa_index
module atmosphere / grid / icosahedralA / index
Definition: scale_atmos_grid_icoA_index.F90:12
scale_urban_grid_icoa_index::ujs
integer, public ujs
Definition: scale_urban_grid_icoA_index.F90:43
scale_urban_grid_icoa_index::uimax
integer, public uimax
Definition: scale_urban_grid_icoA_index.F90:33
scale_urban_grid_icoa_index
module urban / grid / icosahedralA / index
Definition: scale_urban_grid_icoA_index.F90:11
scale_urban_grid_icoa_index::uks
integer, public uks
Definition: scale_urban_grid_icoA_index.F90:37
scale_atmos_grid_icoa_index::imax
integer, public imax
Definition: scale_atmos_grid_icoA_index.F90:90
scale_urban_grid_icoa_index::uje
integer, public uje
Definition: scale_urban_grid_icoA_index.F90:44
scale_atmos_grid_icoa_index::ja
integer, public ja
Definition: scale_atmos_grid_icoA_index.F90:97
scale_urban_grid_icoa_index::uka
integer, public uka
Definition: scale_urban_grid_icoA_index.F90:36
scale_io::io_fid_conf
integer, public io_fid_conf
Config file ID.
Definition: scale_io.F90:56
scale_urban_grid_icoa_index::uie
integer, public uie
Definition: scale_urban_grid_icoA_index.F90:41
scale_atmos_grid_icoa_index::js
integer, parameter, public js
Definition: scale_atmos_grid_icoA_index.F90:95
scale_urban_grid_icoa_index::uia
integer, public uia
Definition: scale_urban_grid_icoA_index.F90:39