|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgov.sandia.gnem.slbmjni.SlbmInterface
public class SlbmInterface
A Java Native Interface to the SLBM C++ library, providing access to all supported functionality.
SlbmInterface (Java) manages a connection to the C++
SLBM
library.
To make this work, 5 conditions must be met:
1) The C++ shared objects libgeotesscpp.so, libslbm.so and libslbmjni.so
must both be accessible via the LD_LIBRARY_PATH.
2) The java application must include the jar file slbmjni.jar in its
classpath.
3) The java application must import gov.sandia.gnem.slbmjni.*;
4) The java application must execute the command:
System.loadLibrary("slbmjni");
5) The java applicaiton can then instantiate a new SlbmInterface object
by calling
SlbmInterface slbm = new SlbmInterface();
If all of these conditions are successfully met, then the the Java application can use the slbm attribute to access all the methods described in this document.
A SlbmInterface object maintains a C++
Grid
object, which manages interaction
with the Earth model. The Earth model is loaded by calling the
loadVelocityModelBinary(java.lang.String)
method, described below. This
Grid object remains in
memory until the SlbmInterface object goes out of scope, or a different
Earth model is loaded with another call to loadVelocityModelBinary(java.lang.String)
.
SlbmInterface also maintains a single instance of a C++
GreatCircle
object
which is instantiated with a call to
createGreatCircle().
Once instantiated, many
SlbmInterface methods can retrieve information from this
GreatCircle
object, such as getTravelTime()
,
getWeights()
, toString(int)
, and more. Once instantiated, the
GreatCircle
can be interrogated until it is replaced with another
GreatCircle
by a subsequent call to createGreatCircle(),
or is deleted by clear()
.
The Grid
object owned by SlbmInterface stores a vector of map objects which associates
the phase and Location
of a
CrustalProfile
object with a pointer to the instance of the
CrustalProfile.
When createGreatCircle()
is called with a latitude, longitude and depth which has been used before, the
Grid
object will return a pointer to the existing
CrustalProfile
object, thereby enhancing performance.
This vector of maps is cleared when clear()
is called. The
implications of all this is that applications that loop over many calls to
createGreatCircle()
will see a performance improvement if clear()
is not called
within the loop. However, for problems where the number of sources and/or receivers
is so large that memory becomes an issue, applications could call clear()
within the loop to save memory.
All calculations assume the Earth is defined by a GRS80 ellipsoid. For a description of how points along a great circle are calculated see SLBM_Root/doc/geovectors.pdf
Copyright 2009 Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software.
BSD Open Source License. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:Author: Sandy Ballard
Version: 3.0
Nested Class Summary | |
---|---|
static class |
SlbmInterface.Layers
|
Field Summary | |
---|---|
static int |
PWAVE
|
static int |
SWAVE
|
protected int |
vtkId
|
Constructor Summary | |
---|---|
SlbmInterface()
This is the constructor that should be used under normal circumstances. |
|
SlbmInterface(double earthRadius)
Location::EARTH_RADIUS is a variable that controls how the radius of the earth is defined. |
Method Summary | |
---|---|
void |
clear()
Delete the current GreatCircle object from memory and clear the pool of stored CrustalProfile objects. |
void |
clearHitCount()
Reset the hit count of every grid node to zero. |
void |
close()
Delete the C++ SlbmInterface object from memory. |
void |
createGreatCircle(java.lang.String phase,
double sourceLat,
double sourceLon,
double sourceDepth,
double receiverLat,
double receiverLon,
double receiverDepth)
Instantiate a new GreatCircle object between two locations. |
void |
finalize()
Delete the C++ SlbmInterface object from memory. |
double |
get_dtt_ddepth()
Retrieve the derivative of travel time wrt to source depth, in seconds/km. |
double |
get_dtt_dlat()
Retrieve the derivative of travel time wrt to source latitude, in seconds/radian. |
double |
get_dtt_dlon()
Retrieve the derivative of travel time wrt to source longitude, in seconds/radian. |
GridProfile |
getActiveNodeData(int nodeId)
Retrieve the lat (radians), lon (radians), interface depths (km), P and S wave interval velocities (km/sec) and P and S mantle gradient (1/sec) information associated with a specified active node in the velocity grid. |
int |
getActiveNodeId(int gridNodeId)
Retrieve the active node ID that corresponds to a specified grid node ID. |
QueryNeighborInfo |
getActiveNodeNeighborInfo(int actnid)
Retrieve NeighborInfo |
int[] |
getActiveNodeNeighbors(int nodeId)
Retrieve the active node IDs of the nodes that surround the specified active node. |
GridWeight |
getActiveNodeWeights()
Retrieve the weight assigned to each active node that was touched by the GreatCircle that is currently in memory. |
GridWeight |
getActiveNodeWeightsReceiver()
|
GridWeight |
getActiveNodeWeightsSource()
|
double |
getAverageMantleVelocity(int type)
Retrieve the average P or S wave mantle velocity that is specified in the model input file. |
double |
getCHMax()
Retrieve the current value of chMax. |
double |
getDelDepth()
Retrieve del_depth, the vertical separation of two points used to compute derivative of travel time with respect to depth (in km). |
double |
getDelDistance()
Retrieve the horizontal separation of two points used to compute horizontal slowness and derivatives of travel time with respect to latitude and longitude (in radians). |
double |
getDistance()
Retrieve the source-receiver separation, in radians. |
double[] |
getDistAz(double latA,
double lonA,
double latB,
double lonB,
double naValue)
Retrieve distance and azimuth between two points, A and B (all quantities are in radians). |
double |
getFractionActive()
Retrieve the fraction of the path length of the current GreatCircle object that is within the currently defined active region. |
GreatCircleData |
getGreatCircleData()
Retrieve the information required for input to the travel time calculation, for the GreatCircle object currently in memory. |
double[][] |
getGreatCircleLocations()
Retrieve the latitudes, longitudes and depths of all the profile positions along the moho. |
double[][] |
getGreatCirclePoints(double aLat,
double aLon,
double bLat,
double bLon,
int npoints)
Retrieve an array of lat, lon points along a great circle path between two points, a and b. |
double[][] |
getGreatCirclePointsOnCenters(double aLat,
double aLon,
double bLat,
double bLon,
int npoints)
Retrieve an array of lat, lon points along a great circle path between two specified points. |
GridProfile |
getGridData(int nodeId)
Retrieve data from a single grid node in the earth model. |
int |
getGridNodeId(int activeNodeId)
Retrieve the grid node ID that corresponds to a specified active node ID. |
double |
getHeadwaveDistance()
Retrieve the angular distance traveled by the ray below the headwave interface, in radians. |
double |
getHeadwaveDistanceKm()
Retrieve horizontal distance traveled by the ray below the headwave interface, in km. |
QueryProfile |
getInterpolatedPoint(double lat,
double lon)
Retrieve interpolated data from the earth model at a single specified latitude, longitude. |
java.util.ArrayList<QueryProfile> |
getInterpolatedTransect(java.util.ArrayList<java.lang.Double> lat,
java.util.ArrayList<java.lang.Double> lon)
Retrieve interpolated data from the earth model along a 1 dimensional transect across the model. |
java.lang.String |
getInterpolatorType()
Retrieve the current interpolatorType, either 'linear' or 'natural_neighbor'. |
double |
getMaxDepth()
Retrieve the current value for the maximum source depth, in km. |
double |
getMaxDistance()
Retrieve the current value for the maximum source-receiver separation, in radians. |
int |
getNActiveNodes()
Retrieve the number of active nodes in the Grid. |
int |
getNGridNodes()
Retrieve the number of Grid nodes in the Earth model. |
int |
getNHeadWavePoints()
Retrieve the number of Head Wave Points. |
double |
getNodeAzimuth(int node1,
int node2)
Retrieve the azimuth from grid node1 to grid node2, radians. |
int |
getNodeHitCount(int nodeId)
Retrieve the number of times that the specified node has been 'touched' by a GreatCircle object. |
QueryNeighborInfo |
getNodeNeighborInfo(int nid)
Retrieve NeighborInfo |
int[] |
getNodeNeighbors(int nodeId)
Retrieve the node IDs of the nodes that surround the specified node. |
double |
getNodeSeparation(int node1,
int node2)
Retrieve the angular separation of two grid nodes, in radians. |
double |
getPathIncrement()
Retrieve the current value of the spacing of great circle nodes along the head wave interface, in radians. |
double[] |
getPgLgComponents()
Retrieve information about Pg/Lg travel time calculations. |
java.lang.String |
getPhase()
Retrieve phase specified in last call to createGreatCircle() |
double[] |
getPiercePointReceiver()
Retrieve the geographic latitude, longitude and depth of the moho pierce point below the receiver, in radians, km. |
double[] |
getPiercePointSource()
Retrieve the geographic latitude, longitude and depth of the moho pierce point below the receiver, in radians, km. |
double[] |
getReceiverCoefficients()
Retrieve the interpolation coefficients for grid nodes that contributed to the interpolation of values at the receiver location. |
double |
getReceiverDistance()
Retrieve horizontal offset below the receiver, in radians. |
int[] |
getReceiverNodeIds()
Retrieve the node IDs for grid nodes that contributed to the interpolation of values at the receiver location. |
double |
getSlowness()
Retrieve horizontal slowness, in seconds/radian. |
double |
getSlownessUncertainty()
Get the slowness uncertainty (seconds/radian) resulting from last call to createGreatCircle() |
double |
getSlownessUncertainty(java.lang.String phase,
double distance)
Retrieve uncertainty of horizontal slowness, in seconds/radian-km. |
double[] |
getSourceCoefficients()
Retrieve the interpolation coefficients for grid nodes that contributed to the interpolation of values at the source location. |
double |
getSourceDistance()
Retrieve horizontal offset below the source, in radians. |
int[] |
getSourceNodeIds()
Retrieve the node IDs for grid nodes that contributed to the interpolation of values at the source location. |
java.lang.String |
getTessId()
Retrieve the tessellation ID of the model currently in memory. |
double |
getTravelTime()
Retrieve the total travel time for the GreatCircle, in seconds. |
double[] |
getTravelTimeComponents()
Retrieve the total travel time and all the components that contributed to the total. |
double |
getTravelTimeUncertainty()
Calculate an uncertainty value (seconds) resulting from last call to createGreatCircle() |
double |
getTravelTimeUncertainty(java.lang.String phase,
double distance)
Calculate an uncertainty value (seconds) as a function of distance in radians for a supported seismic phase (Pn, Sn, Pg, & Lg). |
java.lang.String |
getVersion()
Retrieve the SLBM version number. |
GridWeight |
getWeights()
Retrieve the weight assigned to each grid node that was touched by the GreatCircle that is currently in memory. |
GridWeight |
getWeightsReceiver()
|
GridWeight |
getWeightsSource()
|
ZhaoParameters |
getZhaoParameters()
Retrieve some of the parameters that contribute to the calculation of of total travel time using the Zhao algorithm. |
void |
initializeActiveNodes(double latmin,
double lonmin,
double latmax,
double lonmax)
Initialize the list of active nodes in the model grid. |
void |
loadVelocityModel(java.lang.String modelFileName)
Load the velocity model into memory from the specified file. |
void |
loadVelocityModelBinary(java.lang.String modelDirectory)
Load the velocity model into memory from the specified file. |
double[] |
movePoint(double latA,
double lonA,
double distance,
double azimuth)
Find geographic latitude and longitude of the point that is the specified distance and azimuth from point A. |
void |
saveVelocityModel(java.lang.String modelFileName)
Save the velocity model currently in memory to the specified file. |
void |
saveVelocityModel(java.lang.String modelFileName,
int format)
\brief Save the velocity model currently in memory to the specified file. |
void |
saveVelocityModelBinary()
Write the model currently in memory out to files. |
void |
setActiveNodeData(GridProfile gridProfile)
Modify the velocity and gradient information associated with a specified active node in the Grid. |
void |
setAverageMantleVelocity(int type,
double velocity)
Set the average P or S wave mantle velocity that is specified in the model input file. |
void |
setCHMax(double chMax)
Set the value of chMax. |
void |
setDelDepth(double del_depth)
Modify the value of del_depth, the vertical separation of two points used to compute derivative of travel time with respect to depth (in km). |
void |
setDelDistance(double del_distance)
Modify the horizontal separation of two points used to compute horizontal slowness and derivatives of travel time with respect to latitude and longitude. |
void |
setGridData(GridProfile gridProfile)
Modify the velocity and gradient information for a single grid node in the earth model currently in memory. |
void |
setInterpolatorType(java.lang.String interpolatorType)
Set the interpolatorType to either 'linear' or 'natural_neighbor'. |
void |
setMaxDepth(double maxDepth)
Set the maximum source depth for Pn/Sn phase, in km. |
void |
setMaxDistance(double maxDistance)
Set the maximum source-receiver separation for Pn/Sn phase, in radians. |
void |
setPathIncrement(double pathIncrement)
Set the desired spacing of great circle nodes along the head wave interface, in radians. |
void |
specifyOutputDirectory(java.lang.String directoryName)
Specify the directory where the model that is currently in memory should be written to the next time that saveVelocityModelBinary() is called. |
java.lang.String |
toString(int verbosity)
Retrieve a formatted String representation of the results computed by a GreatCircle object. |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int vtkId
public static final int PWAVE
public static final int SWAVE
Constructor Detail |
---|
public SlbmInterface()
public SlbmInterface(double earthRadius)
In it's default state, SLBM will return travel times that do not require application of ellipticity corrections, since the radius of the elliptical earth is computed at every latitude. However, when comparing SLBM results to results obtained with radially symmetric, 1D models, or any model which assumes a spherical earth, it is important to fix the Earth radius to the correct value for the comparison (usually 6371 km).
earthRadius
- double earth radius in km.Method Detail |
---|
public void finalize()
finalize
in class java.lang.Object
public void close()
public java.lang.String getVersion()
public void loadVelocityModel(java.lang.String modelFileName) throws SLBMException
modelFileName
- String
SLBMException
public void loadVelocityModelBinary(java.lang.String modelDirectory)
modelDirectory
- String
SLBMException
public void saveVelocityModel(java.lang.String modelFileName) throws SLBMException
modelFileName
- String
SLBMException
public void saveVelocityModel(java.lang.String modelFileName, int format) throws SLBMException
The following formats are supported:
Models stored in SLBM version 1 and 2 formats (formats 1 and 2) only support linear interpolation. Models stored in SLBM version 3 formats (formats 3 and 4) support both linear and natural neighbor interpolation.
modelFileName
- the full or relative path to the
file or directory to which the earth model is to
be written. For formats 2 and 3, the directory will be
created if it does not exist.format
- the desired format of the output.
If omitted, defaults to 4: all model information written to a single
file.
SLBMException
public void specifyOutputDirectory(java.lang.String directoryName)
Note that specified directory name is associated with the Grid object currently in memory. If the current Grid object is deleted and a different Grid object loaded, the directoryName will be reset to "".
directoryName
- Stringpublic void saveVelocityModelBinary()
public void createGreatCircle(java.lang.String phase, double sourceLat, double sourceLon, double sourceDepth, double receiverLat, double receiverLon, double receiverDepth) throws SLBMException
phase
- the phase that this GreatCircle is to
support. Recognized phases are Pn, Sn, Pg and Lg.sourceLat
- the geographic latitude of the source
in radians.sourceLon
- the geographic longitude of source in radians.sourceDepth
- the depth of the source in km.receiverLat
- the geographic latitude of the receiver
in radians.receiverLon
- the geographic longitude of the receiver in radians.receiverDepth
- the depth of the receiver in km.
along the head wave interface, in radians.
SLBMException
public void clear()
createGreatCircle(java.lang.String, double, double, double, double, double, double)
is called with a latitude,
longitude and depth which has been used before, the
Grid
object will return a
pointer to the existing
CrustalProfile
object, thereby enhancing performance.
This vector of maps is cleared when clear()
is called. The
implications of all this is that applications that loop over many calls to
createGreatCircle(java.lang.String, double, double, double, double, double, double)
will see a performance improvement if clear()
is not called
within the loop. However, for problems with a huge number of sources and or receivers,
if memory becomes an issue, applications could call clear()
within the loop
to save memory.
public java.lang.String toString(int verbosity) throws SLBMException
verbosity
- specifies the amount of information
that is to be included in the return string. Each
verbosity level includes all information in preceeding
verbosity levels.SLBMException
public double getTravelTime() throws SLBMException
SLBMException
public java.lang.String getPhase() throws SLBMException
SLBMException
public double getDistance() throws SLBMException
SLBMException
public double getSourceDistance() throws SLBMException
SLBMException
public double getReceiverDistance() throws SLBMException
SLBMException
public double getHeadwaveDistance() throws SLBMException
SLBMException
public double getHeadwaveDistanceKm() throws SLBMException
SLBMException
public double[] getTravelTimeComponents() throws SLBMException
SLBMException
public GridWeight getWeights() throws SLBMException
A map which associates an instance of a GridProfile object with a double weight is initialized. Then every LayerProfile on the head wave interface between the source and receiver is visited and the angular distance, d, that the ray traveled in the horizontal segment is retreived. If d > 0, then the neighboring GridProfile objects that contributed to the interpolated value of the LayerProfile are visited. The product of d * R * C is added to the weight associated with that GridProfile object, where R is the radius of the head wave interface for the LayerProfile object being evaluated, and C is the interpolation coefficient for the GridProfile - LayerProfile pair under consideration. Then, all the GridProfile objects in the map are visited, the grid node IDs extracted into int array node, and the weight extracted into double array weight.
Note: Only grid nodes touched by this GreatCircle are included in the output. Each grid node is included only once, even though more than one LayerProfile object may have contributed some weight to it. The sum of all the weights will equal the horizontal distance traveled by the ray along the head wave interface, from the source pierce point to the receiver pierce point, in km.
SLBMException
public GridWeight getWeightsSource() throws SLBMException
SLBMException
public GridWeight getActiveNodeWeightsSource() throws SLBMException
SLBMException
public GridWeight getWeightsReceiver() throws SLBMException
SLBMException
public GridWeight getActiveNodeWeightsReceiver() throws SLBMException
SLBMException
public int[] getSourceNodeIds()
public double[] getSourceCoefficients()
public int[] getReceiverNodeIds()
public double[] getReceiverCoefficients()
public GridProfile getGridData(int nodeId) throws SLBMException
nodeId
- the grid node ID number.
SLBMException
public void setGridData(GridProfile gridProfile) throws SLBMException
saveVelocityModel(String)
gridProfile
- GridProfile
containing the nodeId, velocity and gradient information that
is to replace the information currently stored in the
Earth model in memory.
SLBMException
public void setActiveNodeData(GridProfile gridProfile) throws SLBMException
gridProfile
- the node number of the grid point in the model. (zero
based index).
SLBMException
public QueryProfile getInterpolatedPoint(double lat, double lon) throws SLBMException
lat
- the latitude where information is to be interpolated,
in radians.lon
- the longitude where information is to be interpolated,
in radians.
SLBMException
public java.util.ArrayList<QueryProfile> getInterpolatedTransect(java.util.ArrayList<java.lang.Double> lat, java.util.ArrayList<java.lang.Double> lon) throws SLBMException
lat
- the latitudes where information is to be interpolated,
in radians.lon
- the longitudes where information is to be interpolated,
in radians.
SLBMException
public GreatCircleData getGreatCircleData() throws SLBMException
SLBMException
public double[][] getGreatCircleLocations() throws SLBMException
SLBMException
public double[][] getGreatCirclePoints(double aLat, double aLon, double bLat, double bLon, int npoints) throws SLBMException
aLat
- double the latitude of the first point in radians.aLon
- double the longitude of the first point in radians.bLat
- double the latitude of the second point in radians.bLon
- double the longitude of the second point in radians.npoints
- int the number of points desired.
SLBMException
public double[][] getGreatCirclePointsOnCenters(double aLat, double aLon, double bLat, double bLon, int npoints) throws SLBMException
aLat
- double the latitude of the first point in radians.aLon
- double the longitude of the first point in radians.bLat
- double the latitude of the second point in radians.bLon
- double the longitude of the second point in radians.npoints
- int the number of points desired.
SLBMException
public double getTravelTimeUncertainty() throws SLBMException
SLBMException
public double getTravelTimeUncertainty(java.lang.String phase, double distance) throws SLBMException
phase
- String one of Pn, Sn, Pg, Lgdistance
- the angular distance in radians
SLBMException
public ZhaoParameters getZhaoParameters() throws SLBMException
SLBMException
public double[] getPgLgComponents() throws SLBMException
This method returns a 7 element array of doubles. The values have the following interpretation:
0: total travel time, sec
1: TauP travel time, sec
2: Headwave travel time, sec
3: TauP ray parameter, seconds/radian
4: Headwave ray parameter, seconds/km
5: TauP Turning radius, km
6: Headwave turning radius, km
SLBMException
public int[] getNodeNeighbors(int nodeId)
nodeId
- int
public int[] getActiveNodeNeighbors(int nodeId)
nodeId
- int
public double getNodeSeparation(int node1, int node2)
node1
- intnode2
- int
public double getNodeAzimuth(int node1, int node2)
node1
- intnode2
- int
public void initializeActiveNodes(double latmin, double lonmin, double latmax, double lonmax)
Active nodes includes all grid nodes that fall within the specified range of latitude and longitude. Lats and lons must be specified in radians. Lonmin and lonmax should -PI <= lon <= PI.
latmin
- doublelonmin
- doublelatmax
- doublelonmax
- doublepublic int getNodeHitCount(int nodeId)
nodeId
- int
public int getNActiveNodes()
public int getGridNodeId(int activeNodeId)
activeNodeId
- int
public int getActiveNodeId(int gridNodeId)
gridNodeId
- int
public GridWeight getActiveNodeWeights() throws SLBMException
A map which associates an instance of a GridProfile object with a double weight is initialized. Then every LayerProfile on the head wave interface between the source and receiver is visited and the angular distance, d, that the ray traveled in the horizontal segment is retreived. If d > 0, then the neighboring GridProfile objects that contributed to the interpolated value of the LayerProfile are visited. The product of d * R * C is added to the weight associated with that GridProfile object, where R is the radius of the head wave interface for the LayerProfile object being evaluated, and C is the interpolation coefficient for the GridProfile - LayerProfile pair under consideration. Then, all the GridProfile objects in the map are visited, the grid node IDs extracted into int array node, and the weight extracted into double array weight.
Note: Only active nodes touched by this GreatCircle are included in the output. Each active node is included only once, even though more than one LayerProfile object may have contributed some weight to it. The sum of all the weights will equal the horizontal distance traveled by the ray along the head wave interface, from the source pierce point to the receiver pierce point, in km.
SLBMException
public GridProfile getActiveNodeData(int nodeId) throws SLBMException
nodeId
- the active node ID of the grid point in the model (zero
based index).
SLBMException
public int getNGridNodes()
public int getNHeadWavePoints()
public QueryNeighborInfo getNodeNeighborInfo(int nid)
nid
- int
public QueryNeighborInfo getActiveNodeNeighborInfo(int actnid)
actnid
- int
public void setCHMax(double chMax)
chMax
- doublepublic double getCHMax()
public double getAverageMantleVelocity(int type)
type
- specify either BaseObject::PWAVE or BaseObject::SWAVE.
public void setAverageMantleVelocity(int type, double velocity)
type
- specify either BaseObject::PWAVE or BaseObject::SWAVE.velocity
- the P or S wave velocity that is to be set,
in km/sec. This value will be stored in the model file, if the
model file is written to file by a call to saveVelocityModel()
subsequent to a call to this method.public java.lang.String getTessId()
public double getFractionActive()
public void setMaxDistance(double maxDistance)
maxDistance
- doublepublic double getMaxDistance()
public void setMaxDepth(double maxDepth)
maxDepth
- doublepublic double getMaxDepth()
public double get_dtt_dlat() throws SLBMException
SLBMException
public double get_dtt_dlon() throws SLBMException
SLBMException
public double get_dtt_ddepth() throws SLBMException
SLBMException
public double getSlowness() throws SLBMException
SLBMException
public double getSlownessUncertainty() throws SLBMException
SLBMException
public double getSlownessUncertainty(java.lang.String phase, double distance) throws SLBMException
phase
- Stringdistance
- double
SLBMException
public double[] movePoint(double latA, double lonA, double distance, double azimuth)
latA
- radianslonA
- radiansdistance
- radiansazimuth
- radians
public double[] getDistAz(double latA, double lonA, double latB, double lonB, double naValue)
latA
- geographic latitude of point A, in radians.lonA
- geographic longitude of point A, in radians.latB
- geographic latitude of point B, in radians.lonB
- geographic longitude of point B, in radians.naValue
- if distance is zero or if A is coincident with north
or south pole, then azimuth is invalid and this value will be returned as the azimuth.
public double[] getPiercePointSource()
public double[] getPiercePointReceiver()
public double getDelDistance() throws SLBMException
SLBMException
public void setDelDistance(double del_distance)
del_distance
- in radianspublic double getDelDepth() throws SLBMException
SLBMException
public void setDelDepth(double del_depth)
del_depth
- in km.public void setPathIncrement(double pathIncrement)
pathIncrement
- the desired spacing of great circle nodes
along the head wave interface, in radians.public double getPathIncrement()
public void setInterpolatorType(java.lang.String interpolatorType)
interpolatorType
- either 'linear' or 'natural_neighbor'.public java.lang.String getInterpolatorType()
public void clearHitCount()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |