ISCE_INSAR/components/isceobj/Util/Library/geometry/src/geometryModule.F

67 lines
2.6 KiB
Fortran

!#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!# Author: Piyush Agram
!# Copyright 2014, by the California Institute of Technology. ALL RIGHTS RESERVED.
!# United States Government Sponsorship acknowledged.
!# Any commercial use must be negotiated with the Office of Technology Transfer at
!# the California Institute of Technology.
!# This software may be subject to U.S. export control laws.
!# By accepting this software, the user agrees to comply with all applicable U.S.
!# export laws and regulations. User has the responsibility to obtain export licenses,
!# or other export authority as may be required before exporting such information to
!# foreign countries or providing access to foreign persons.
!#
!#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module geometryModule
use, intrinsic :: iso_c_binding
implicit none
type, bind(C) :: pegType
real(C_DOUBLE) :: r_lat
real(C_DOUBLE) :: r_lon
real(C_DOUBLE) :: r_hdg
end type pegType
type, bind(C) :: ellipsoidType
real(C_DOUBLE) :: r_a
real(C_DOUBLE) :: r_e2
end type ellipsoidType
type, bind(C) :: pegtransType
real(C_DOUBLE), dimension(3,3) :: r_mat
real(C_DOUBLE), dimension(3,3) :: r_matinv
real(C_DOUBLE), dimension(3) :: r_ov
real(C_DOUBLE) :: r_radcur
end type pegtransType
type, bind(C) :: positionType
real(C_DOUBLE), dimension(3) :: r_j
real(C_DOUBLE), dimension(3) :: r_jdot
real(C_DOUBLE), dimension(3) :: r_jddt
end type positionType
integer, parameter :: SCH_2_XYZ = 0
integer, parameter :: XYZ_2_SCH = 1
integer, parameter :: LLH_2_UTM = 1
integer, parameter :: UTM_2_LLH = 2
integer, parameter :: LLH_2_XYZ = 1
integer, parameter :: XYZ_2_LLH = 2
integer, parameter :: XYZ_2_LLH_OLD = 3
contains
include 'convert_sch_to_xyz.F'
include 'convert_schdot_to_xyzdot.F'
include 'cosineC.F'
include 'curvature.F'
include 'enubasis.F'
include 'schbasis.F'
include 'getangs.F'
include 'gettcn_tcvec.F'
include 'latlon.F'
include 'lookvec.F'
include 'radar_to_xyz.F'
include 'tcnbasis.F'
end module geometryModule