SCALE-RM
Functions/Subroutines | Variables
scale_land_grid_cartesc Module Reference

module land / grid / cartesianC More...

Functions/Subroutines

subroutine, public land_grid_cartesc_setup
 Setup. More...
 

Variables

real(rp), dimension(:), allocatable, public land_grid_cartesc_cz
 center coordinate [m]: z, local=global More...
 
real(rp), dimension(:), allocatable, public land_grid_cartesc_fz
 face coordinate [m]: z, local=global More...
 
real(rp), dimension(:), allocatable, public land_grid_cartesc_cdz
 z-length of control volume [m] More...
 

Detailed Description

module land / grid / cartesianC

Description
Grid module for cartesian coordinate for land
Author
Team SCALE
NAMELIST
  • PARAM_LAND_GRID_CARTESC
    nametypedefault valuecomment
    LAND_GRID_CARTESC_IN_BASENAME character(len=H_LONG) ''
    LAND_GRID_CARTESC_IN_AGGREGATE logical
    LDZ real(RP), dimension(100)

History Output
No history output

Function/Subroutine Documentation

◆ land_grid_cartesc_setup()

subroutine, public scale_land_grid_cartesc::land_grid_cartesc_setup

Setup.

Definition at line 59 of file scale_land_grid_cartesC.F90.

59  use scale_prc, only: &
60  prc_abort
61  use scale_file, only: &
62  file_aggregate
63  implicit none
64 
65  namelist / param_land_grid_cartesc / &
66  land_grid_cartesc_in_basename, &
67  land_grid_cartesc_in_aggregate, &
68  ldz
69 
70  integer :: ierr
71  integer :: k
72  !---------------------------------------------------------------------------
73 
74  log_newline
75  log_info("LAND_GRID_CARTESC_setup",*) 'Setup'
76 
77  if ( lkmax < 1 ) then
78  log_info("LAND_GRID_CARTESC_setup",*) 'Skip because LKMAX < 1'
79  return
80  end if
81 
82  ldz(:) = 0.0_rp
83 
84  land_grid_cartesc_in_aggregate = file_aggregate
85 
86  !--- read namelist
87  rewind(io_fid_conf)
88  read(io_fid_conf,nml=param_land_grid_cartesc,iostat=ierr)
89  if( ierr < 0 ) then !--- missing
90  log_info("LAND_GRID_CARTESC_setup",*) 'Not found namelist. Default used.'
91  elseif( ierr > 0 ) then !--- fatal error
92  log_error("LAND_GRID_CARTESC_setup",*) 'Not appropriate names in namelist PARAM_LAND_GRID_CARTESC. Check!'
93  call prc_abort
94  endif
95  log_nml(param_land_grid_cartesc)
96 
97  allocate( land_grid_cartesc_cz(lks :lke) )
98  allocate( land_grid_cartesc_fz(lks-1:lke) )
99  allocate( land_grid_cartesc_cdz(lks :lke) )
100 
101  log_newline
102  log_info("LAND_GRID_CARTESC_setup",*) 'Land grid information '
103 
104  if ( land_grid_cartesc_in_basename /= '' ) then
105  call land_grid_cartesc_read
106  else
107  log_info("LAND_GRID_CARTESC_setup",*) 'Not found input grid file. Grid position is calculated.'
108 
109  call land_grid_cartesc_generate
110  endif
111 
112  if ( lke == lks ) then
113  log_newline
114  log_info("LAND_GRID_CARTESC_setup",*) 'Single layer. LDZ = ', ldz(1)
115  else
116  log_newline
117  log_info_cont('(1x,A)') 'Vertical Coordinate'
118  log_info_cont('(1x,A)') '| k z zh dz k |'
119  log_info_cont('(1x,A)') '| [m] [m] [m] |'
120  k = lks-1
121  log_info_cont('(1x,A,F8.3,A,I4,A)') '| ',land_grid_cartesc_fz(k),' ',k,' | Atmosphere interface'
122  do k = lks, lke-1
123  log_info_cont('(1x,A,I4,F8.3,A,F8.3,A)') '|',k,land_grid_cartesc_cz(k),' ',land_grid_cartesc_cdz(k),' | '
124  log_info_cont('(1x,A,F8.3,A,I4,A)') '| ',land_grid_cartesc_fz(k),' |',k,' | '
125  enddo
126  k = lke
127  log_info_cont('(1x,A,I4,F8.3,A,F8.3,A)') '|',k,land_grid_cartesc_cz(k),' ',land_grid_cartesc_cdz(k),' | '
128  log_info_cont('(1x,A,F8.3,A,I4,A)') '| ',land_grid_cartesc_fz(k),' ',k,' | bedrock'
129  log_info_cont('(1x,A)') '|=================================|'
130  endif
131 
132  return

References scale_file::file_aggregate, scale_file::file_open(), scale_io::io_fid_conf, land_grid_cartesc_cdz, land_grid_cartesc_cz, land_grid_cartesc_fz, scale_land_grid_cartesc_index::lke, scale_land_grid_cartesc_index::lkmax, scale_land_grid_cartesc_index::lks, scale_prc::prc_abort(), and scale_prc::prc_myrank.

Referenced by mod_rm_driver::rm_driver(), and mod_rm_prep::rm_prep().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ land_grid_cartesc_cz

real(rp), dimension (:), allocatable, public scale_land_grid_cartesc::land_grid_cartesc_cz

◆ land_grid_cartesc_fz

real(rp), dimension (:), allocatable, public scale_land_grid_cartesc::land_grid_cartesc_fz

face coordinate [m]: z, local=global

Definition at line 35 of file scale_land_grid_cartesC.F90.

35  real(RP), public, allocatable :: LAND_GRID_CARTESC_FZ (:)

Referenced by scale_file_cartesc::file_cartesc_write_axes(), scale_file_history_cartesc::file_history_cartesc_truncate_3d(), and land_grid_cartesc_setup().

◆ land_grid_cartesc_cdz

real(rp), dimension(:), allocatable, public scale_land_grid_cartesc::land_grid_cartesc_cdz
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:342
scale_land_grid_cartesc::land_grid_cartesc_cdz
real(rp), dimension(:), allocatable, public land_grid_cartesc_cdz
z-length of control volume [m]
Definition: scale_land_grid_cartesC.F90:36
scale_file
module file
Definition: scale_file.F90:15
scale_prc
module PROCESS
Definition: scale_prc.F90:11
scale_land_grid_cartesc::land_grid_cartesc_cz
real(rp), dimension(:), allocatable, public land_grid_cartesc_cz
center coordinate [m]: z, local=global
Definition: scale_land_grid_cartesC.F90:34
scale_land_grid_cartesc::land_grid_cartesc_fz
real(rp), dimension(:), allocatable, public land_grid_cartesc_fz
face coordinate [m]: z, local=global
Definition: scale_land_grid_cartesC.F90:35