Go to the documentation of this file.
44 private :: ocean_grid_cartesc_read
45 private :: ocean_grid_cartesc_generate
51 integer,
private,
parameter :: odz_max = 100
52 real(
rp),
private :: odz(odz_max)
54 character(len=H_LONG) :: ocean_grid_cartesc_in_basename =
''
55 logical :: ocean_grid_cartesc_in_aggregate
68 namelist / param_ocean_grid_cartesc / &
69 ocean_grid_cartesc_in_basename, &
70 ocean_grid_cartesc_in_aggregate, &
78 log_info(
"OCEAN_GRID_CARTESC_setup",*)
'Setup'
81 log_info(
"OCEAN_GRID_CARTESC_setup",*)
'Skip because OKMAX < 1'
91 read(
io_fid_conf,nml=param_ocean_grid_cartesc,iostat=ierr)
93 log_info(
"OCEAN_GRID_CARTESC_setup",*)
'Not found namelist. Default used.'
94 elseif( ierr > 0 )
then
95 log_error(
"OCEAN_GRID_CARTESC_setup",*)
'Not appropriate names in namelist PARAM_OCEAN_GRID_CARTESC. Check!'
98 log_nml(param_ocean_grid_cartesc)
105 log_info(
"OCEAN_GRID_CARTESC_setup",*)
'Ocean grid information '
107 if ( ocean_grid_cartesc_in_basename /=
'' )
then
108 call ocean_grid_cartesc_read
110 log_info(
"OCEAN_GRID_CARTESC_setup",*)
'Not found input grid file. Grid position is calculated.'
112 call ocean_grid_cartesc_generate
121 log_info(
"OCEAN_GRID_CARTESC_setup",
'(1x,A)')
'Vertical Coordinate'
122 log_info_cont(
'(1x,A)')
'| k z zh dz k |'
123 log_info_cont(
'(1x,A)')
'| [m] [m] [m] |'
127 log_info_cont(
'(1x,A,I4,F8.3,A,F8.3,A)')
'|',k,
ocean_grid_cartesc_cz(k),
' ',
ocean_grid_cartesc_cdz(k),
' | '
131 log_info_cont(
'(1x,A,I4,F8.3,A,F8.3,A)')
'|',k,
ocean_grid_cartesc_cz(k),
' ',
ocean_grid_cartesc_cdz(k),
' | '
133 log_info_cont(
'(1x,A)')
'|=================================|'
148 log_info(
"OCEAN_GRID_CARTESC_finalize",*)
'Finalize'
160 subroutine ocean_grid_cartesc_read
172 log_info(
"OCEAN_GRID_CARTESC_read",*)
'Input ocean grid file '
174 call file_open( ocean_grid_cartesc_in_basename, fid, rankid=
prc_myrank, aggregate=ocean_grid_cartesc_in_aggregate )
181 end subroutine ocean_grid_cartesc_read
186 subroutine ocean_grid_cartesc_generate
192 if (
oka == 1 .and. odz(1) == 0.0_rp )
then
207 end subroutine ocean_grid_cartesc_generate
subroutine, public prc_abort
Abort Process.
real(rp), dimension(:), allocatable, public ocean_grid_cartesc_cz
center coordinate [m]: z, local=global
subroutine, public file_open(basename, fid, mode, single, allnodes, aggregate, rankid, postfix)
integer, public prc_myrank
process num in local communicator
module ocean / grid / cartesianC
integer, parameter, public rp
subroutine, public ocean_grid_cartesc_finalize
Finalize.
real(rp), dimension(:), allocatable, public ocean_grid_cartesc_fz
face coordinate [m]: z, local=global
module atmosphere / grid / cartesC index
real(rp), dimension(:), allocatable, public ocean_grid_cartesc_cdz
z-length of control volume [m]
module ocean / grid / cartesianC / index
logical, public file_aggregate
subroutine, public ocean_grid_cartesc_setup
Setup.
integer, public io_fid_conf
Config file ID.