SourceReceiverPositions Module

Reads in source depths, receiver depths, receiver ranges, and receiver bearings


Uses

  • module~~sourcereceiverpositions~~UsesGraph module~sourcereceiverpositions SourceReceiverPositions module~fatalerror FatalError module~sourcereceiverpositions->module~fatalerror module~monotonicmod monotonicMod module~sourcereceiverpositions->module~monotonicmod module~sortmod SortMod module~sourcereceiverpositions->module~sortmod module~subtabulate SubTabulate module~sourcereceiverpositions->module~subtabulate

Used by

  • module~~sourcereceiverpositions~~UsedByGraph module~sourcereceiverpositions SourceReceiverPositions module~anglemod anglemod module~anglemod->module~sourcereceiverpositions module~influence Influence module~influence->module~sourcereceiverpositions module~influence3d Influence3D module~influence3d->module~sourcereceiverpositions module~rwshdfile RWSHDFile module~rwshdfile->module~sourcereceiverpositions proc~bellhopcore BellhopCore proc~bellhopcore->module~sourcereceiverpositions proc~bellhopcore->module~anglemod proc~openoutputfiles OpenOutputFiles proc~openoutputfiles->module~sourcereceiverpositions proc~openoutputfiles->module~anglemod proc~openoutputfiles->module~rwshdfile proc~readenvironment ReadEnvironment proc~readenvironment->module~sourcereceiverpositions proc~readenvironment->module~anglemod proc~readruntype ReadRunType proc~readruntype->module~sourcereceiverpositions program~bellhop BELLHOP program~bellhop->module~sourcereceiverpositions program~bellhop->module~anglemod program~bellhop->module~influence program~bellhop3d BELLHOP3D program~bellhop3d->module~influence program~bellhop3d->module~influence3d

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: Number_to_Echo = 10
integer, public :: Nfreq = 1
real(kind=8), public, ALLOCATABLE :: freqVec(:)
type(Position), public :: Pos

Derived Types

type, public ::  Position

Components

Type Visibility Attributes Name Initial
integer, public :: NSx = 1
integer, public :: NSy = 1
integer, public :: NSz = 1
integer, public :: NRz = 1
integer, public :: NRr = 1
integer, public :: Ntheta = 1
real, public :: Delta_r
real, public :: Delta_theta
integer, public, ALLOCATABLE :: iSz(:)
integer, public, ALLOCATABLE :: iRz(:)
real, public, ALLOCATABLE :: Sx(:)
real, public, ALLOCATABLE :: Sy(:)
real, public, ALLOCATABLE :: Sz(:)
real, public, ALLOCATABLE :: Rr(:)
real, public, ALLOCATABLE :: Rz(:)
real, public, ALLOCATABLE :: ws(:)
real, public, ALLOCATABLE :: wr(:)
real, public, ALLOCATABLE :: theta(:)

Functions

public function RToIR(r)

! Assumes Pos%r is a vector of equally spaced points

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: r

Return Value integer


Subroutines

public subroutine ReadfreqVec(freq0, BroadbandOption)

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: freq0
character(len=1), intent(in) :: BroadbandOption

public subroutine ReadSxSy(ThreeD)

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: ThreeD

public subroutine ReadSzRz(zMin, zMax)

$ IF ( .NOT. monotonic( Pos%sz, Pos%NSz ) ) THEN $ CALL ERROUT( 'SzRzRMod', 'Source depths are not monotonically increasing' ) $ END IF $ $ IF ( .NOT. monotonic( Pos%rz, Pos%NRz ) ) THEN $ CALL ERROUT( 'SzRzRMod', 'Receiver depths are not monotonically increasing' ) $ END IF

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: zMin
real, intent(in) :: zMax

public subroutine ReadRcvrRanges()

Arguments

None

public subroutine ReadRcvrBearings()

Arguments

None

public subroutine ReadVector(Nx, x, Description, Units)

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: Nx
real, intent(out), ALLOCATABLE :: x(:)
character(len=1), intent(in) :: Description*(*)
character(len=1), intent(in) :: Units*(*)