bdry3Dmod Module

3D boundary handling for complex altimetry and bathymetry with spatial interpolation


Uses

  • module~~bdry3dmod~~UsesGraph module~bdry3dmod bdry3Dmod module~fatalerror FatalError module~bdry3dmod->module~fatalerror module~monotonicmod monotonicMod module~bdry3dmod->module~monotonicmod module~subtabulate SubTabulate module~bdry3dmod->module~subtabulate

Used by

  • module~~bdry3dmod~~UsedByGraph module~bdry3dmod bdry3Dmod module~step3dmod Step3DMod module~step3dmod->module~bdry3dmod program~bellhop3d BELLHOP3D program~bellhop3d->module~bdry3dmod proc~step2d~2 Step2D proc~step2d~2->module~step3dmod proc~traceray3d TraceRay3D proc~traceray3d->module~step3dmod

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: ATIFile = 40
integer, public, parameter :: BTYFile = 41
integer, public, parameter :: Number_to_Echo = 21
integer, public :: IsegTopx
integer, public :: IsegTopy
integer, public :: IsegBotx
integer, public :: IsegBoty
integer, public :: NATIPts(2)
integer, public :: NBTYPts(2)
integer, public :: ix
integer, public :: iy
integer, public :: IOStat
integer, public :: IAllocStat
integer, public :: iSmallStepCtr = 0
real(kind=8), public :: xTopseg(2)
real(kind=8), public :: yTopseg(2)
real(kind=8), public :: xBotseg(2)
real(kind=8), public :: yBotseg(2)
real(kind=8), public :: Topx(3)
real(kind=8), public :: Botx(3)
real(kind=8), public :: Topn(3)
real(kind=8), public :: Botn(3)
real(kind=8), public :: Topxmid(3)
real(kind=8), public :: Botxmid(3)
logical, public :: Top_td_side
logical, public :: Bot_td_side
logical, public :: Top_td_onEdge
logical, public :: Bot_td_onEdge
logical, public :: Top_td_justSteppedTo
logical, public :: Bot_td_justSteppedTo
logical, public :: Top_td_outgoingSide
logical, public :: Bot_td_outgoingSide
real(kind=8), public, parameter :: TRIDIAG_THRESH = 3D-6
real(kind=8), public, parameter :: big = 1E25
character(len=1), public :: atiType
character(len=1), public :: btyType
type(BdryPt), public, ALLOCATABLE :: Bot(:,:)
type(BdryPt), public, ALLOCATABLE :: Top(:,:)

Derived Types

type, public ::  BdryPt

Components

Type Visibility Attributes Name Initial
real(kind=8), public :: x(3)
real(kind=8), public :: t(3)
real(kind=8), public :: n(3)
real(kind=8), public :: n1(3)
real(kind=8), public :: n2(3)
real(kind=8), public :: Len
real(kind=8), public :: Noden(3)
real(kind=8), public :: Noden_unscaled(3)
real(kind=8), public :: z_xx
real(kind=8), public :: z_xy
real(kind=8), public :: z_yy
real(kind=8), public :: phi_xx
real(kind=8), public :: phi_xy
real(kind=8), public :: phi_yy
real(kind=8), public :: kappa_xx
real(kind=8), public :: kappa_xy
real(kind=8), public :: kappa_yy

Subroutines

public subroutine ReadATI3D(FileRoot, TopATI, DepthT, PRTFile)

Arguments

Type IntentOptional Attributes Name
character(len=80), intent(in) :: FileRoot
character(len=1), intent(in) :: TopATI
real(kind=8), intent(in) :: DepthT
integer, intent(in) :: PRTFile

public subroutine ReadBTY3D(FileRoot, BotBTY, DepthB, PRTFile)

Reads in the bottom bathymetry

Arguments

Type IntentOptional Attributes Name
character(len=80), intent(in) :: FileRoot
character(len=1), intent(in) :: BotBTY
real(kind=8), intent(in) :: DepthB
integer, intent(in) :: PRTFile

public subroutine GetTopSeg3D(x, t, isInit)

Gets the Top segment info

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: x(3)
real(kind=8), intent(in) :: t(3)
logical, intent(in) :: isInit

public subroutine GetBotSeg3D(x, t, isInit)

Gets the Bottom segment info

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: x(3)
real(kind=8), intent(in) :: t(3)
logical, intent(in) :: isInit

public subroutine ComputeBdryTangentNormal(Bdry, BotTop)

$ write( , * ) 'ix=1', Bdry( 1, : )%kappa_xx $ write( , * ) 'ix=1', Bdry( 1, : )%kappa_xy $ write( , * ) 'ix=1', Bdry( 1, : )%kappa_yy $ write( , * ) 'iy=1', Bdry( :, 1 )%kappa_xx $ write( , * ) 'iy=1', Bdry( :, 1 )%kappa_xy $ write( , * ) 'iy=1', Bdry( :, 1 )%kappa_yy $ write( , * ) 'D' $ write( , * ) Bdry( :, : )%z_xx $ write( , * ) Bdry( :, : )%z_xy $ write( , * ) Bdry( :, : )%z_yy $ $ write( , * ) 'kappa' $ write( , * ) Bdry( :, : )%kappa_xx $ write( , * ) Bdry( :, : )%kappa_xy $ write( , * ) Bdry( :, : )%kappa_yy

Arguments

Type IntentOptional Attributes Name
type(BdryPt), intent(inout) :: Bdry(:,:)
character(len=3), intent(in) :: BotTop