SCALE-RM
Functions/Subroutines | Variables
mod_mktopo Module Reference

module MKTOPO More...

Functions/Subroutines

subroutine, public mktopo_setup
 Setup. More...
 
subroutine, public mktopo
 Driver. More...
 

Variables

integer, public mktopo_type = -1
 
integer, parameter, public i_ignore = 0
 
integer, parameter, public i_flat = 1
 
integer, parameter, public i_bellshape = 2
 
integer, parameter, public i_schaer = 3
 

Detailed Description

module MKTOPO

Description
subroutines for preparing topography data (ideal case)
Author
Team SCALE
NAMELIST
  • PARAM_MKTOPO
    nametypedefault valuecomment
    MKTOPO_NAME character(len=H_SHORT) 'NONE'

  • PARAM_MKTOPO_FLAT
    nametypedefault valuecomment
    FLAT_HEIGHT real(RP) 100.0_RP height of mountain [m]

  • PARAM_MKTOPO_BELLSHAPE
    nametypedefault valuecomment
    BELL_EACHNODE logical .false. Arrange mountain at each node? [kg/kg]
    BELL_CX real(RP) 2.E3_RP center location [m]: x
    BELL_CY real(RP) 2.E3_RP center location [m]: y
    BELL_RX real(RP) 2.E3_RP bubble radius [m]: x
    BELL_RY real(RP) 2.E3_RP bubble radius [m]: y
    BELL_HEIGHT real(RP) 100.0_RP height of mountain [m]

  • PARAM_MKTOPO_SCHAER
    nametypedefault valuecomment
    SCHAER_CX real(RP) 25.E3_RP center location [m]: x
    SCHAER_RX real(RP) 5.E3_RP bubble radius [m]: x
    SCHAER_LAMBDA real(RP) 4.E3_RP wavelength of wavelike perturbation [m]: x
    SCHAER_HEIGHT real(RP) 250.0_RP height of mountain [m]
    SCHAER_SWAPXY logical .false.

History Output
No history output

Function/Subroutine Documentation

◆ mktopo_setup()

subroutine, public mod_mktopo::mktopo_setup ( )

Setup.

Definition at line 68 of file mod_mktopo.F90.

References i_bellshape, i_flat, i_ignore, i_schaer, scale_io::io_fid_conf, mktopo_type, and scale_prc::prc_abort().

Referenced by mod_rm_prep::rm_prep().

68  implicit none
69 
70  character(len=H_SHORT) :: mktopo_name = 'NONE'
71 
72  namelist / param_mktopo / &
73  mktopo_name
74 
75  integer :: ierr
76  !---------------------------------------------------------------------------
77 
78  log_newline
79  log_info("MKTOPO_setup",*) 'Setup'
80 
81  !--- read namelist
82  rewind(io_fid_conf)
83  read(io_fid_conf,nml=param_mktopo,iostat=ierr)
84  if( ierr < 0 ) then !--- missing
85  log_info("MKTOPO_setup",*) 'Not found namelist. Default used.'
86  elseif( ierr > 0 ) then !--- fatal error
87  log_error("MKTOPO_setup",*) 'Not appropriate names in namelist PARAM_MKTOPO. Check!'
88  call prc_abort
89  endif
90  log_nml(param_mktopo)
91 
92  select case(mktopo_name)
93  case('NONE')
94  mktopo_type = i_ignore
95  case('FLAT')
96  mktopo_type = i_flat
97  case('BELLSHAPE')
98  mktopo_type = i_bellshape
99  case('SCHAER')
100  mktopo_type = i_schaer
101  case default
102  log_error("MKTOPO_setup",*) 'Unsupported TYPE:', trim(mktopo_name)
103  call prc_abort
104  endselect
105 
106  return
integer, public io_fid_conf
Config file ID.
Definition: scale_io.F90:55
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:338
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mktopo()

subroutine, public mod_mktopo::mktopo ( )

Driver.

Definition at line 112 of file mod_mktopo.F90.

References scale_const::const_pi, i_bellshape, i_flat, i_ignore, i_schaer, scale_atmos_grid_cartesc_index::ia, scale_io::io_fid_conf, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::js, mktopo_type, scale_prc::prc_abort(), scale_topography::topo_write(), and scale_topography::topo_zsfc.

Referenced by mod_rm_prep::rm_prep().

112  use scale_topography, only: &
113  topo_write
114  implicit none
115  !---------------------------------------------------------------------------
116 
117  if ( mktopo_type == i_ignore ) then
118  log_newline
119  log_info("MKTOPO",*) 'SKIP MAKING TOPOGRAPHY DATA'
120  else
121  log_newline
122  log_info("MKTOP",*) 'START MAKING TOPOGRAPHY DATA'
123 
124  select case(mktopo_type)
125  case(i_flat)
126  call mktopo_flat
127 
128  case(i_bellshape)
129  call mktopo_bellshape
130 
131  case(i_schaer)
132  call mktopo_schaer
133 
134  case default
135  log_error("MKTOPO",*) 'Unsupported TYPE:', mktopo_type
136  call prc_abort
137  endselect
138 
139  log_info("MKTOPO",*) 'END MAKING TOPOGRAPHY DATA'
140 
141  ! output topography file
142  call topo_write
143  endif
144 
145  return
subroutine, public topo_write
Write topography.
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:338
module TOPOGRAPHY
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ mktopo_type

integer, public mod_mktopo::mktopo_type = -1

Definition at line 44 of file mod_mktopo.F90.

Referenced by mktopo(), and mktopo_setup().

44  integer, public :: mktopo_type = -1

◆ i_ignore

integer, parameter, public mod_mktopo::i_ignore = 0

Definition at line 45 of file mod_mktopo.F90.

Referenced by mktopo(), and mktopo_setup().

45  integer, public, parameter :: i_ignore = 0

◆ i_flat

integer, parameter, public mod_mktopo::i_flat = 1

Definition at line 46 of file mod_mktopo.F90.

Referenced by mktopo(), and mktopo_setup().

46  integer, public, parameter :: i_flat = 1

◆ i_bellshape

integer, parameter, public mod_mktopo::i_bellshape = 2

Definition at line 47 of file mod_mktopo.F90.

Referenced by mktopo(), and mktopo_setup().

47  integer, public, parameter :: i_bellshape = 2

◆ i_schaer

integer, parameter, public mod_mktopo::i_schaer = 3

Definition at line 48 of file mod_mktopo.F90.

Referenced by mktopo(), and mktopo_setup().

48  integer, public, parameter :: i_schaer = 3