48 character(len=H_LONG),
private :: topo_in_basename =
'' 49 character(len=H_LONG),
private :: topo_out_basename =
'' 50 character(len=H_MID),
private :: topo_out_title =
'SCALE-RM TOPOGRAPHY' 51 character(len=H_MID),
private :: topo_out_dtype =
'DEFAULT' 62 namelist / param_topo / &
71 if(
io_l )
write(
io_fid_log,*)
'++++++ Module[TOPOGRAPHY] / Categ[ATMOS-RM GRID] / Origin[SCALElib]' 77 if(
io_l )
write(
io_fid_log,*)
'*** Not found namelist. Default used.' 78 elseif( ierr > 0 )
then 79 write(*,*)
'xxx Not appropriate names in namelist PARAM_TOPO. Check!' 100 real(RP),
intent(inout),
optional :: Zsfc(
ia,
ja)
103 if (
present(zsfc) )
then 104 call comm_vars8( zsfc(:,:), 1 )
105 call comm_wait ( zsfc(:,:), 1 )
130 real(RP) :: tmp_CX(
ia), tmp_CY(
ja)
135 epsilon = 0.1_rp**(
rp-1)
140 if ( topo_in_basename /=
'' )
then 143 topo_in_basename,
'TOPO',
'XY', step=1 )
149 call fileread( tmp_cx(:), topo_in_basename,
'CX', 1,
prc_myrank )
150 call fileread( tmp_cy(:), topo_in_basename,
'CY', 1,
prc_myrank )
153 if( abs(tmp_cx(i) -
grid_cx(i)) > epsilon )
then 154 write(
io_fid_log,
'(A)')
'*** X position in TOPO_IN_BASENAME is different from GRID_IN_BASENAME ***' 160 if( abs(tmp_cy(j) -
grid_cy(j)) > epsilon )
then 161 write(
io_fid_log,
'(A)')
'*** Y position in TOPO_IN_BASENAME is different from GRID_IN_BASENAME ***' 168 if(
io_l )
write(
io_fid_log,*)
'*** topography file is not specified.' 174 end subroutine topo_read
184 if ( topo_out_basename /=
'' )
then 189 call fileio_write(
topo_zsfc(:,:), topo_out_basename, topo_out_title, &
190 'TOPO',
'Topography',
'm',
'XY', topo_out_dtype, &
subroutine, public topo_write
Write topography.
subroutine, public topo_fillhalo(Zsfc)
HALO Communication.
subroutine, public prc_mpistop
Abort MPI.
logical, public io_l
output log or not? (this process)
integer, public ia
of x whole cells (local, with HALO)
subroutine, public topo_setup
Setup.
integer, public prc_myrank
process num in local communicator
real(rp), dimension(:), allocatable, public grid_cx
center coordinate [m]: x, local
logical, public topo_exist
topography exists?
logical, public io_lnml
output log or not? (for namelist, this process)
real(rp), dimension(:,:), allocatable, public topo_zsfc
absolute ground height [m]
integer, public io_fid_conf
Config file ID.
integer, public io_fid_log
Log file ID.
integer, parameter, public rp
real(rp), dimension(:), allocatable, public grid_cy
center coordinate [m]: y, local
integer, public ja
of y whole cells (local, with HALO)