grid_tools  1.13.0
pmat5.f90 File Reference

Handy geographical transformations. More...

Go to the source code of this file.

Data Types

interface  pmat5::ctoc_schm
 
interface  pmat5::ctog
 
interface  pmat5::ctogr
 
interface  pmat5::frametwist
 
interface  pmat5::grtoc
 
interface  pmat5::gtoc
 
interface  pmat5::gtoframe
 
interface  pmat5::ininmap
 
interface  pmat5::inivmap
 
interface  pmat5::paraframe
 
interface  pmat5::plctoc
 
interface  pmat5::plrot
 
interface  pmat5::plroti
 

Modules

module  cstgeo
 Constants for orientation and stretching of map.
 
module  dcstgeo
 Constants for orientation and stretching of map.
 
module  pmat5
 Utility routines for orienting the globe and basic geographical mappings.
 

Functions/Subroutines

subroutine pmat5::dctoc (s, xc1, xc2)
 Evaluate Schmidt transformation, xc1 –> xc2, with scaling parameter s. More...
 
subroutine pmat5::dctocd (s, xc1, xc2, dxc2)
 Evaluate Schmidt transformation, xc1 –> xc2, with scaling parameter s, and its jacobian, dxc2. More...
 
subroutine pmat5::dctocdd (s, xc1, xc2, dxc2, ddxc2)
 Evaluate Schmidt transformation, xc1 –> xc2, with scaling parameter s, its jacobian, dxc2, and its 2nd derivative, ddxc2. More...
 
subroutine pmat5::dctog (xe, dlat, dlon)
 Transform "Cartesian" to "Geographical" coordinates, where the geographical coordinates refer to latitude and longitude (degrees) and cartesian coordinates are standard earth-centered cartesian coordinates: xe(3) pointing north, xe(1) pointing to the 0-meridian. More...
 
subroutine pmat5::dctogr (xe, rlat, rlon)
 Transform "Cartesian" to "Geographical" coordinates, where the geographical coordinates refer to latitude and longitude (radians) and cartesian coordinates are standard earth-centered cartesian coordinates: xe(3) pointing north, xe(1) pointing to the 0-meridian. More...
 
subroutine pmat5::dgrtoc (rlat, rlon, xe)
 Transform "Geographical" to "Cartesian" coordinates. More...
 
subroutine pmat5::dgrtocd (rlat, rlon, xe, dxedlat, dxedlon)
 Transform "Geographical" to "Cartesian" coordinates, together with the partial derivatives of cartesians wrt latitude and longitude. More...
 
subroutine pmat5::dgrtocdd (rlat, rlon, xe, dxedlat, dxedlon, ddxedlatdlat, ddxedlatdlon, ddxedlondlon)
 Transform "Geographical" to "Cartesian" coordinates, together with the 1st and 2nd partial derivatives of cartesians wrt latitude and longitude. More...
 
subroutine pmat5::dgtoc (dlat, dlon, xe)
 Transform "Geographical" to "Cartesian" coordinates, where the geographical coordinates refer to latitude and longitude (degrees) and cartesian coordinates are standard earth-centered cartesian coordinates: xe(3) pointing north, xe(1) pointing to the 0-meridian. More...
 
subroutine pmat5::dgtocd (dlat, dlon, xe, dxedlat, dxedlon)
 Transform "Geographical" to "Cartesian" coordinates, where the geographical coordinates refer to latitude and longitude (degrees) and cartesian coordinates are standard earth-centered cartesian coordinates: xe(3) pointing north, xe(1) pointing to the 0-meridian. More...
 
subroutine pmat5::dgtocdd (dlat, dlon, xe, dxedlat, dxedlon, ddxedlatdlat, ddxedlatdlon, ddxedlondlon)
 Transform "Geographical" to "Cartesian" coordinates, where the geographical coordinates refer to latitude and longitude (degrees) and cartesian coordinates are standard earth-centered cartesian coordinates: xe(3) pointing north, xe(1) pointing to the 0-meridian. More...
 
subroutine pmat5::dininmap (alon0, alat0, rot3)
 Initialize the rotation matrix ROT3 needed to transform standard earth-centered cartesian components to the alternative cartesian frame oriented so as to put geographical point (ALAT0,ALON0) on the projection axis. More...
 
subroutine pmat5::dinivmap (alon0, alat0, rot3)
 Initialize the rotation matrix ROT3 needed to transform standard earth-centered cartesian components to the alternative cartesian frame oriented so as to put geographical point (ALAT0,ALON0) at the viewing nadir. More...
 
subroutine pmat5::dplrot (rot3, n, x, y, z)
 Apply a constant rotation to a three dimensional polyline. More...
 
subroutine pmat5::dplroti (rot3, n, x, y, z)
 Invert the rotation of a three-dimensional polyline. More...
 
subroutine, public pmat5::frametwist (xp, yp, zp, xv, yv, zv, twist)
 Given a principal cartesian orthonormal frame, {xp,yp,zp} (i.e., at P with Earth-centered cartesians, zp), and another similar frame {xv,yv,zv} at V with Earth-centered cartesians zv, find the relative rotation angle, "twist" by which the frame at V is rotated in the counterclockwise sense relative to the parallel-transportation of P's frame to V. More...
 
subroutine pmat5::gtoframem (plat, plon, orth)
 From the degree lat and lon (plat and plon) return the standard orthogonal 3D frame at this location as an orthonormal matrix, orth. More...
 
subroutine pmat5::gtoframev (plat, plon, xp, yp, zp)
 Given a geographical point by its degrees lat and lon, plat and plon, return its standard orthogonal cartesian frame, {xp,yp,zp} in earth-centered coordinates. More...
 
subroutine, public pmat5::paraframe (xp, yp, zp, xv, yv, zv)
 Take a principal reference orthonormal frame, {xp,yp,zp} and a dependent point defined by unit vector, zv, and complete the V-frame cartesian components, {xv,yv}, that are the result of parallel-transport of {xp,yp} along the geodesic between P and V. More...
 
subroutine, public pmat5::plctoc (s, n, x, y, z)
 Perform Schmidt transformation with scaling parameter s to a polyline. More...
 
subroutine, public pmat5::plrot (rot3, n, x, y, z)
 Apply a constant rotation to a three dimensional polyline. More...
 
subroutine, public pmat5::plroti (rot3, n, x, y, z)
 Invert the rotation of a three-dimensional polyline. More...
 
subroutine pmat5::sctoc (s, xc1, xc2)
 Evaluate Schmidt transformation, xc1 –> xc2, with scaling parameter s. More...
 
subroutine pmat5::sctocd (s, xc1, xc2, dxc2)
 Evaluate Schmidt transformation, xc1 –> xc2, with scaling parameter s, and its jacobian, dxc2. More...
 
subroutine pmat5::sctocdd (s, xc1, xc2, dxc2, ddxc2)
 Evaluate Schmidt transformation, xc1 –> xc2, with scaling parameter s, its jacobian, dxc2, and its 2nd derivative, ddxc2. More...
 
subroutine pmat5::sctog (xe, dlat, dlon)
 Transform "Cartesian" to "Geographical" coordinates, where the geographical coordinates refer to latitude and longitude (degrees) and cartesian coordinates are standard earth-centered cartesian coordinates: xe(3) pointing north, xe(1) pointing to the 0-meridian. More...
 
subroutine pmat5::sctogr (xe, rlat, rlon)
 Transform "Cartesian" to "Geographical" coordinates, where the geographical coordinates refer to latitude and longitude (radians) and cartesian coordinates are standard earth-centered cartesian coordinates: xe(3) pointing north, xe(1) pointing to the 0-meridian. More...
 
subroutine pmat5::sframetwist (sxp, syp, szp, sxv, syv, szv, stwist)
 Given a principal cartesian orthonormal frame, {xp,yp,zp} (i.e., at P with Earth-centered cartesians, zp), and another similar frame {xv,yv,zv} at V with Earth-centered cartesians zv, find the relative rotation angle, "twist" by which the frame at V is rotated in the counterclockwise sense relative to the parallel-transportation of P's frame to V. More...
 
subroutine pmat5::sgrtoc (rlat, rlon, xe)
 Transform "Geographical" to "Cartesian" coordinates. More...
 
subroutine pmat5::sgrtocd (rlat, rlon, xe, dxedlat, dxedlon)
 Transform "Geographical" to "Cartesian" coordinates, together with the partial derivatives of cartesians wrt latitude and longitude. More...
 
subroutine pmat5::sgrtocdd (rlat, rlon, xe, dxedlat, dxedlon, ddxedlatdlat, ddxedlatdlon, ddxedlondlon)
 Transform "Geographical" to "Cartesian" coordinates, together with the 1st and 2nd partial derivatives of cartesians wrt latitude and longitude. More...
 
subroutine pmat5::sgtoc (dlat, dlon, xe)
 Transform "Geographical" to "Cartesian" coordinates, where the geographical coordinates refer to latitude and longitude (degrees) and cartesian coordinates are standard earth-centered cartesian coordinates: xe(3) pointing north, xe(1) pointing to the 0-meridian. More...
 
subroutine pmat5::sgtocd (dlat, dlon, xe, dxedlat, dxedlon)
 Transform "Geographical" to "Cartesian" coordinates, where the geographical coordinates refer to latitude and longitude (degrees) and cartesian coordinates are standard earth-centered cartesian coordinates: xe(3) pointing north, xe(1) pointing to the 0-meridian. More...
 
subroutine pmat5::sgtocdd (dlat, dlon, xe, dxedlat, dxedlon, ddxedlatdlat, ddxedlatdlon, ddxedlondlon)
 Transform "Geographical" to "Cartesian" coordinates, where the geographical coordinates refer to latitude and longitude (degrees) and cartesian coordinates are standard earth-centered cartesian coordinates: xe(3) pointing north, xe(1) pointing to the 0-meridian. More...
 
subroutine pmat5::sgtoframem (splat, splon, sorth)
 From the degree lat and lon (plat and plon) return the standard orthogonal 3D frame at this location as an orthonormal matrix, orth. More...
 
subroutine pmat5::sgtoframev (splat, splon, sxp, syp, szp)
 Given a geographical point by its degrees lat and lon, plat and plon, return its standard orthogonal cartesian frame, {xp,yp,zp} in earth-centered coordinates. More...
 
subroutine pmat5::sininmap (alon0, alat0, rot3)
 Initialize the rotation matrix ROT3 needed to transform standard earth-centered cartesian components to the alternative cartesian frame oriented so as to put geographical point (ALAT0,ALON0) on the projection axis. More...
 
subroutine pmat5::sinivmap (alon0, alat0, rot3)
 Initialize the rotation matrix ROT3 needed to transform standard earth-centered cartesian components to the alternative cartesian frame oriented so as to put geographical point (ALAT0,ALON0) at the viewing nadir. More...
 
subroutine pmat5::sparaframe (sxp, syp, szp, sxv, syv, szv)
 Take a principal reference orthonormal frame, {xp,yp,zp} and a dependent point defined by unit vector, zv, and complete the V-frame cartesian components, {xv,yv}, that are the result of parallel-transport of {xp,yp} along the geodesic between P and V. More...
 

Variables

real(sp), dimension(3, 3) cstgeo::rotm
 Orthogonal rotation matrix. More...
 
real(dp), dimension(3, 3) dcstgeo::rotm
 Orthogonal rotation matrix. More...
 
real(sp) cstgeo::sc
 Schmidt stretching factor. More...
 
real(dp) dcstgeo::sc
 Schmidt stretching factor. More...
 
real(sp) cstgeo::sci
 Schmidt inverse stretching factor. More...
 
real(dp) dcstgeo::sci
 Schmidt inverse stretching factor. More...
 

Detailed Description

Handy geographical transformations.

Author
R. J. Purser
Date
1996

Definition in file pmat5.f90.