Changeset 3772
- Timestamp:
- Apr 27, 2005, 9:59:04 AM (21 years ago)
- Location:
- trunk/doc/pslib
- Files:
-
- 5 edited
-
ChangeLogADD.tex (modified) (1 diff)
-
ChangeLogSDRS.tex (modified) (3 diffs)
-
psLibADD.tex (modified) (17 diffs)
-
psLibSDRS.tex (modified) (16 diffs)
-
rotations.sxd (modified) ( previous)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/pslib/ChangeLogADD.tex
r3721 r3772 52 52 \item moved some sections to reflect order in SDRS (matrix, fftw) 53 53 \end{itemize} 54 55 \subsection{Changes from version 10 (19 April 2005) to version 11 (27 April 2005)} 56 57 \begin{itemize} 58 \item fixed some typos in the definition of the rotation from CEO to GCRS (Eqn~\ref{CEOtoGCRS}). 59 \item added references to the SDRS APIs for the Earth Orientation section 60 61 \end{itemize} -
trunk/doc/pslib/ChangeLogSDRS.tex
r3767 r3772 1 %%% $Id: ChangeLogSDRS.tex,v 1.9 0 2005-04-25 21:20:41 price Exp $1 %%% $Id: ChangeLogSDRS.tex,v 1.91 2005-04-27 19:59:03 eugene Exp $ 2 2 3 3 \subsection{Changes from version 00 to version 01} … … 520 520 \item Moved Fixed Pattern out of Astronomical Images 521 521 \end{itemize} 522 522 \end{itemize} 523 524 \subsection{Changes from Revision 13 (30 March 2005) to Revision 14 (27 April 2005)} 525 526 \begin{itemize} 523 527 \item Restrictions on the use of \code{malloc}, \code{calloc}, \code{realloc}, and \code{free} should not be unintentionaly imposed on 3rd party code. 524 528 \item Add database support for ``auto-incrementing'' … … 547 551 \item Removed pre-defined LM minimization functions; these will be defined in the Modules SDRS. 548 552 \end{itemize} 549 \end{itemize} 553 554 \item defined \code{psEarthPole}, re-cast Earth Orientation 555 Calculations to use it for inputs and outputs. 556 \item minor name changes in Earth Orientation to match ADD changes. 557 \item dropped TBD for \code{psFitsUpdateImage} 558 \item \code{psAberration} return value defined. 559 \item added \code{psArrayRemove} function (already exists in psArray.c) 560 \item added \code{psVectorExtend} function 561 \item changed inputs to \code{psImageSlice} to use \code{psRegion} 562 \end{itemize} -
trunk/doc/pslib/psLibADD.tex
r3721 r3772 1 %%% $Id: psLibADD.tex,v 1.7 2 2005-04-19 23:44:43eugene Exp $1 %%% $Id: psLibADD.tex,v 1.73 2005-04-27 19:59:04 eugene Exp $ 2 2 \documentclass[panstarrs]{panstarrs} 3 3 … … 14 14 \project{Pan-STARRS Image Processing Pipeline} 15 15 \organization{Institute for Astronomy} 16 \version{1 0}16 \version{11} 17 17 \docnumber{PSDC-430-006} 18 18 … … 41 41 09 & 2005 Feb 14 & Frozen for Cycle 5 \\ \hline 42 42 10 & 2005 Apr 19 & Frozen for Cycle 6 \\ \hline 43 11 & 2005 Apr 27 & Update for Cycle 6 \\ \hline 43 44 \RevisionsEnd 44 45 … … 1553 1554 the quarternion for this transformation. 1554 1555 1555 \tbd{can we drop this, since we do this with the quaternion?}1556 1557 1556 The relevant trigonometric relationships are: 1558 1557 % … … 1611 1610 \phi_p & = & 90^\circ + 0^\circ.6406161\, T + 0^\circ.0003041\, T^2 + 0^\circ.0000051\, T^3 1612 1611 \end{eqnarray} 1613 where $T$ is $($MJD$_{\rm out} -$ MJD$_{\rm in})/36525$ is the difference1614 between the two epochs, in Julian centuries. 1615 1612 where $T$ is $($MJD$_{\rm out} -$ MJD$_{\rm in})/36525$ is the 1613 difference between the two epochs, in Julian centuries. This 1614 precession form shall be used to implement \code{PS_PRECESS_ROUGH}. 1616 1615 1617 1616 \subsubsection{Suggested test cases} … … 1648 1647 There are two reference implementatins for the code to account for the 1649 1648 motion of the Earth in space. The first are the sample routines 1650 provided by the IERS to accompany chaper 5 of IERS Bulletin 32. This 1651 document and the code can be downloaded from 1652 http://maia.usno.navy.mil/conv2003.html . The second reference 1653 implementation is the SOFA software package managed by the IAU and 1654 available at http://www.iau-sofa.rl.ac.uk Only the 2003-04-29 version 1655 of SOFA should be used. The IERS code requires a few of the rotation 1656 matrix utility routines from SOFA. 1649 provided by the IERS to accompany chaper 5 of IERS Bulletin 1650 32.\footnote{http://maia.usno.navy.mil/conv2003.html} The second 1651 reference implementation is the SOFA software package managed by the 1652 IAU.\footnote{http://www.iau-sofa.rl.ac.uk} Only the 2003-04-29 1653 version of SOFA should be considered. The IERS code requires a few of 1654 the rotation matrix utility routines from SOFA. 1657 1655 1658 1656 Both implementations are in FORTRAN 77. The SOFA code has a more … … 1663 1661 reference for psLib should be the IERS code. Note that the IERS code 1664 1662 calculates the transform from terrestrial to celestial coordinates, 1665 while the SOFA code calculates its inverse. 1663 while the SOFA code calculates its inverse. This code may be using as 1664 a comparison for testing purposes. 1666 1665 1667 1666 \subsubsection{Coordinate Systems} … … 1711 1710 1712 1711 The X axes of the intermediate coordinate systems are known as the 1713 Celestial and Terrestrial Ephemeris Origins. (CEO and TEO). Both are defined1714 to be non-rotating origins. A non-rotating origin is a point on the equator 1715 whose instantaneous motion is always orthogonal to the equator 1716 (Kaplan 2003 IAU XXV Joint Discussion 16 1717 \footnote{http://aa.usno.navy.mil/kaplan/NROs\%5BJD16proc\%5D.pdf}).1718 Thus the CEO is defined by its position in the GCRS at some epoch and by the1719 motion of the CIP in the GCRS since that date. Similarly the TEO is 1720 defined by its position in the ITRS at some epoch and the motion ofthe1721 CIP in the ITRS since that date.1712 Celestial and Terrestrial Ephemeris Origins. (CEO and TEO). Both are 1713 defined to be non-rotating origins. A non-rotating origin is a point 1714 on the equator whose instantaneous motion is always orthogonal to the 1715 equator (Kaplan 2003 IAU XXV Joint Discussion 1716 16\footnote{http://aa.usno.navy.mil/kaplan/NROs\%5BJD16proc\%5D.pdf}). 1717 Thus the CEO is defined by its position in the GCRS at some epoch and 1718 by the motion of the CIP in the GCRS since that date. Similarly the 1719 TEO is defined by its position in the ITRS at some epoch and the 1720 motion of the CIP in the ITRS since that date. 1722 1721 1723 1722 \subsubsection{ICRS - GCRS} … … 1793 1792 1794 1793 This section is largely a summary of Chapter 5 of IERS Technical Note 1795 32 \footnote{http://maia.usno.navy.mil/conv2003.html} (hereafter1794 32\footnote{http://maia.usno.navy.mil/conv2003.html} (hereafter 1796 1795 IERS32), which is a description of the implementation of the 1797 1796 Resoltions of the XXIVth General Assembly of the IAU, available from … … 1807 1806 accurate to the 0.2 mas level. For higher accuracy the user must 1808 1807 apply corrections to the model, which are tabulated by the IERS. 1808 1809 \subparagraph{IAU 200A Precession/Nutation Model : {\tt psEOC\_PrecessionModel}} 1809 1810 1810 1811 The IAU 2000A precession-nutation model may be calculated in the … … 1855 1856 The constants $p_j$, $w_{i,j,k}$, $(a_{{\rm s},j})_i$, and $(a_{{\rm c},j})_i$ 1856 1857 are given in the ASCII files: 1857 tab5.2a.txt \footnote{http://maia.usno.navy.mil/conv2000/chapter5/tab5.2a.txt} (for $X$),1858 tab5.2b.txt \footnote{http://maia.usno.navy.mil/conv2000/chapter5/tab5.2b.txt} (for $Y$), and1859 tab5.2c.txt \footnote{http://maia.usno.navy.mil/conv2000/chapter5/tab5.2c.txt} (for $s+XY/2$).1858 tab5.2a.txt\footnote{http://maia.usno.navy.mil/conv2000/chapter5/tab5.2a.txt} (for $X$), 1859 tab5.2b.txt\footnote{http://maia.usno.navy.mil/conv2000/chapter5/tab5.2b.txt} (for $Y$), and 1860 tab5.2c.txt\footnote{http://maia.usno.navy.mil/conv2000/chapter5/tab5.2c.txt} (for $s+XY/2$). 1860 1861 Note that the expansion is given for $s+XY/2$, since this series converges 1861 1862 more rapidly than the one for $s$ alone. … … 1876 1877 1877 1878 A FORTRAN reference implementation for the precession/nutation model 1878 is available from the IERS 1879 \footnote{http://maia.usno.navy.mil/conv2000/chapter5/XYS2000A.f}. 1880 The psLib results should agree with the reference implementation to within 1881 the limits of numerical precision. 1882 1883 Next, corrections to $X$, and $Y$ may be obtained from the IERS as 1879 is available from the 1880 IERS.\footnote{http://maia.usno.navy.mil/conv2000/chapter5/XYS2000A.f} 1881 The psLib results should agree with the reference implementation to 1882 within the limits of numerical precision. 1883 1884 \subparagraph{Corrections to the Model : {\tt psEOC\_PrecessionCorr}} 1885 1886 Corrections to $X$, and $Y$ may be obtained from the IERS as 1884 1887 part of Bulletin A, or B. It is recommended to use the values 1885 1888 published daily by USNO in the table … … 1895 1898 the result as instantaneous values. 1896 1899 1897 The final step is to use $X$, $Y$, and $s$ to calculate the rotation 1898 matrix from the CIP/CEO system to the GCRS using IERS32 equation (10), 1899 reproduced below: 1900 1901 \begin{equation} 1900 \subparagraph{Spherical Rotation from Polar Coordinates : {\tt psSphereRot\_CEOtoGCRS}} 1901 1902 In order to relate the values $X$, $Y$, and $s$ to the rotation 1903 components, the rotation matrix below must be used. The definitions 1904 of $X$, $Y$, and $s$ transform from the CIP/CEO system to the GCRS 1905 using IERS32 equation (10), reproduced below: 1906 1907 \begin{equation} 1908 \label{CEOtoGCRS} 1902 1909 \begin{pmatrix}1-aX^2& -aXY& X\cr -aXY& 1-aY^2& Y\cr -X& -Y& 1903 1910 1-a(X^2+Y^2)\cr 1904 1911 \end{pmatrix} \cdot R_3(s), 1905 1912 \end{equation} 1906 where $R_3$ denotes a rotation about the Z axis, 1907 $a = 1/(1+\sqrt{1 - X^2 + Y^2})$, 1908 and $X$ and $Y$ are expressed in radians. 1909 A FORTRAN reference implementation for this calculation is given 1910 by the IERS \footnote{http://maia.usno.navy.mil/conv2000/chapter5/BPN2000.f}. 1911 1912 Note that above we gave the expression for the transform toward celestial 1913 coordinates (upward in figure X), in order to match the IERS reference code. 1914 The inverse transform may be found byinverting the resulting rotation.1915 1916 \paragraph{ Rotation of the Earth}1913 where $R_3$ denotes a rotation about the Z axis, $a = 1/(1+\sqrt{1 - 1914 (X^2 + Y^2})$, and $X$ and $Y$ are expressed in radians. A FORTRAN 1915 reference implementation for this calculation is given by the 1916 IERS.\footnote{http://maia.usno.navy.mil/conv2000/chapter5/BPN2000.f} 1917 1918 Note that above we gave the expression for the transform toward 1919 celestial coordinates (upward in Figure~\ref{earthrot}), in order to 1920 match the IERS reference code. The inverse transform may be found by 1921 inverting the resulting rotation. 1922 1923 \paragraph{Earth Rotation} 1917 1924 1918 1925 The transform from the CIP/CEO to CIP/TEO coordinate systems is a … … 1931 1938 motion''. Similarly to precession/nutation, the instantaneous position 1932 1939 of the CIP in the ITRS is specified by the quantites $x_p$, and $y_p$, 1933 and a third quantity, $s'$, gives the position of the TEO with respect 1934 to the ITRS. The values of $x_p$ and $y_p$ are published daily by the 1935 IERS\footnote{http://maia.usno.navy.mil/ser7/finals2000A.daily}, with 1940 and a third quantity, $s'$, which give the position of the TEO with 1941 respect to the ITRS. The values of $x_p$ and $y_p$ are published 1942 daily by the 1943 IERS,\footnote{http://maia.usno.navy.mil/ser7/finals2000A.daily} with 1936 1944 a format described by their 1937 1945 \code{readme.finals2000A}\footnote{http://maia.usno.navy.mil/ser7/readme.finals2000A}. 1938 1946 The UT1$-$UTC, and the precession/nutation corrections (discussed 1939 1947 elsewhere in this document) come from this same source. 1948 1949 \subparagraph{Polar Motion from Bulletin : {\tt psEOC\_GetPolarMotion}} 1940 1950 1941 1951 The polar motion coordinates should be interpolated using a third … … 1953 1963 The tidal effects should be included by using the Ray tidal model 1954 1964 given in IERS Gazette \#13. The definition of this correction is 1955 provided below. 1965 provided below (Section~\ref{Raymodel}). 1966 1967 \subparagraph{Polar Motion Nutation Correction : {\tt psEOC\_NutationCorr}} 1956 1968 1957 1969 By definition of the CIP, nutation terms with periods less than 2 days … … 1966 1978 over this century by $s' = -4.7 \times 10^{-5} t$ in arcseconds. There 1967 1979 is no need to apply short timescale corrections to $s'$. 1980 1981 \subparagraph{Spherical Rotation from Polar Motion : {\tt psSphereRot\_ITRStoTEO}} 1968 1982 1969 1983 The transform from the ITRS to the CIP/TEO frame can be constructed by … … 2009 2023 correction from the Ray Tidal Model applied. 2010 2024 2011 \subsubsection{Ray Tidal Model }2025 \subsubsection{Ray Tidal Model : {\tt psEOC\_PolarTideCorr}} 2012 2026 2013 2027 The Ray Model tidal corrections to X, Y, and dT are given by the the -
trunk/doc/pslib/psLibSDRS.tex
r3767 r3772 1 %%% $Id: psLibSDRS.tex,v 1.20 7 2005-04-25 21:20:41 price Exp $1 %%% $Id: psLibSDRS.tex,v 1.208 2005-04-27 19:59:04 eugene Exp $ 2 2 \documentclass[panstarrs,spec]{panstarrs} 3 3 … … 11 11 \project{Pan-STARRS Image Processing Pipeline} 12 12 \organization{Institute for Astronomy} 13 \version{1 3}13 \version{14} 14 14 \docnumber{PSDC-430-007} 15 15 … … 44 44 11 & 2005 Jan 21 & draft for cycle 5 \\ \hline 45 45 12 & 2005 Feb 09 & final for cycle 5 \\ 46 13 & 2005 Mar 30 & draft for cycle 6 \\ 47 14 & 2005 Apr 27 & final for cycle 6 \\ 46 48 \RevisionsEnd 47 49 … … 1374 1376 If the value of \code{vector} is \code{NULL}, then 1375 1377 \code{psVectorRealloc} must return an error. 1378 1379 \begin{verbatim} 1380 psVector *psVectorExtend(psVector *vector, int delta, int nExtend); 1381 \end{verbatim} 1382 1383 This function increments \code{psVector.n}, the number of elements in 1384 the vector by \code{nExtend}. If the current length of the vector 1385 plus {\em twice} the number of new elements is greater than the 1386 allocated space, an additional \code{delta} elements are allocated. 1387 If the value of \code{delta} is less than 1, 10 shall be used. 1388 1389 Here is an example of how \code{psVectorExtend} is used to 1390 automatically increment the vector length. 1391 \begin{verbatim} 1392 // create data vector 1393 psVector *y = psVectorAlloc (100); 1394 y->n = 0; 1395 for (int i = 0; i < 1000; i++) { 1396 y->data.F32[y->n + 0] = 2*i; 1397 y->data.F32[y->n + 1] = 2*i; 1398 y->data.F32[y->n + 2] = 2*i; 1399 psVectorExtend (y, 100, 3); 1400 // increments n by 1, extends length if needed by 100 1401 } 1402 \end{verbatim} 1403 Note that the specification that the allocation always be greater than 1404 the number of elements by twice the number of new elements implies 1405 that there will be room on the next loop for \code{nExtend} new 1406 elements, as in this example. 1376 1407 1377 1408 \subsection{Simple Images} … … 1492 1523 \code{delta} defines how many elements to add on each pass (if this 1493 1524 value is less than 1, 10 shall be used). 1525 1526 \begin{verbatim} 1527 psBool psArrayRemove(psArray *array, psPtr value); 1528 \end{verbatim} 1529 1530 This function removes all entries of \code{value} in the \code{array}, 1531 reducing the total number of elements of \code{array} as needed. 1532 Returns \code{TRUE} if any elements were removed, otherwise 1533 \code{FALSE}. 1494 1534 1495 1535 \begin{verbatim} … … 2679 2719 } psImageCutDirection; 2680 2720 2681 psVector *psImageSlice(psVector *out, psVector *coords, const psImage *input, 2682 const psImage *mask, unsigned int maskVal, int x0, int y0, 2683 int x1, int y1, psImageCutDirection direction, const psStats *stats); 2721 psVector *psImageSlice(psVector *out, 2722 psVector *coords, 2723 const psImage *input, 2724 const psImage *mask, 2725 unsigned int maskVal, 2726 int x0, int y0, int x1, int y1, 2727 psImageCutDirection direction, 2728 const psStats *stats); 2684 2729 \end{verbatim} 2685 2730 Extract pixels from rectlinear region to a vector (array of floats). … … 3916 3961 the conventions of the \code{psList} iterators. 3917 3962 \begin{verbatim} 3918 psListIterator *psMetadataIteratorAlloc(psMetadata *md, int location, bool mutable);3963 psListIterator *psMetadataIteratorAlloc(psMetadata *md, int location, const char *regex); 3919 3964 bool psMetadataIteratorSet(psListIterator *iterator, int location); 3920 psMetadataItem *psMetadataGetAndIncrement(psListIterator *iterator , const char *regex);3921 psMetadataItem *psMetadataGetAndDecrement(psListIterator *iterator , const char *regex);3965 psMetadataItem *psMetadataGetAndIncrement(psListIterator *iterator); 3966 psMetadataItem *psMetadataGetAndDecrement(psListIterator *iterator); 3922 3967 \end{verbatim} 3923 3968 … … 4509 4554 bool psFitsUpdateImage(psFits *fits, const psImage *input, psRegion region, int z); 4510 4555 \end{verbatim} 4511 \tbd{we have discussed this as the alternate name}4512 4556 Write an image section to the open \code{psFits} file pointer. This 4513 4557 operation may write a portion of an image over the existing bytes of … … 4609 4653 4610 4654 \begin{verbatim} 4611 bool psFitsUpdateTable(psFits* fits, psMetadata *header, psMetadata* data, int row);4655 bool psFitsUpdateTable(psFits* fits, psMetadata* data, int row); 4612 4656 \end{verbatim} 4613 4657 Writes the \code{psMetadata} data to a FITS table at the specified row … … 5364 5408 \tbd{supply the velocity as an un-normalized 3 vector?} 5365 5409 5410 \tbd{MHPCC: please code this section as currently specified. We will 5411 define a function, and algorithm, to return the current velocity 5412 vector given a time and position, which can be fed to this 5413 function}. 5414 5366 5415 \paragraph{Aberration} 5367 5416 The following function calculates the \code{apparent} position of a … … 5369 5418 observer, represented as a speed and a direction: 5370 5419 \begin{verbatim} 5371 ps Aberration(psSphere *apparent, psSphere *actual, psSphere direction, double speed);5420 psSphere *psAberration(psSphere *apparent, psSphere *actual, psSphere direction, double speed); 5372 5421 \end{verbatim} 5373 5422 The \code{actual} and \code{apparent} positions are represented as 5374 5423 \code{psSphere} entries, as is the \code{direction} of motion. The 5375 speed in that direction is given in units of the speed of light. 5424 speed in that direction is given in units of the speed of light. If 5425 the value of \code{apparent} is NULL, a new \code{psSphere} is 5426 allocated, otherwise the point to \code{apparent} is used for the 5427 result. 5376 5428 5377 5429 \paragraph{Gravitational Deflection} 5378 5430 5431 The following function calculates the \code{apparent} position of a 5432 star, given its \code{actual} position and the position of the sun: 5433 \begin{verbatim} 5434 psSphere *psGravityDeflection(psSphere *apparent, psSphere *actual, psSphere *sun); 5435 \end{verbatim} 5436 The \code{actual} and \code{apparent} positions are represented as 5437 \code{psSphere} entries, as is position of the sun. If the value of 5438 \code{apparent} is NULL, a new \code{psSphere} is allocated, otherwise 5439 the point to \code{apparent} is used for the result. 5440 5379 5441 \paragraph{Parallax} 5380 5442 … … 5385 5447 5386 5448 \subsubsection{Transformation from GCRS to ITRS} 5449 5450 The following functions calculate the components, $X$, $Y$, and $s$, 5451 representing the location of the earth's pole at any moment, or they 5452 determine the velocity of the pole $X'$, $Y'$, $s'$. We use the 5453 following structure to carry the polar coordinate information. This 5454 representation may be converted to a rotation between the frames. 5455 5456 \begin{verbatim} 5457 typedef struct { 5458 double x; 5459 double y; 5460 double s; 5461 } psEarthPole; 5462 \end{verbatim} 5387 5463 5388 5464 \paragraph{Precession/Nutation} … … 5393 5469 % 5394 5470 \begin{verbatim} 5395 ps Sphere *psEOC_PrecessionModel(double *s,const psTime *time)5471 psEarthPole *psEOC_PrecessionModel(const psTime *time) 5396 5472 \end{verbatim} 5397 5473 % … … 5401 5477 machine accuracy. 5402 5478 5403 The following function provides interpolated corrections to $X$ and5404 $Y$ from the tables provided by the IERS, just as it does for UT1 and5405 polar motion. 5406 5407 \begin{verbatim} 5408 ps Sphere *psEOC_GetPolarCorr(const psTime *time, psTimeBulletin bulletin);5479 The following function provides interpolated corrections to the $X$ 5480 and $Y$ components of the polar coordinates from the tables provided 5481 by the IERS, just as it does for UT1 and polar motion. 5482 5483 \begin{verbatim} 5484 psEarthPole *psEOC_PrecessionCorr(const psTime *time, psTimeBulletin bulletin); 5409 5485 \end{verbatim} 5410 5486 5411 5487 The polar correction is applied to the $X$ and $Y$ elements of the 5412 5488 rotation to provide higher accuracy. The spherical rotation term is 5413 generated by providing the three elements of the rotation to the5414 following function: 5415 \begin{verbatim} 5416 psSphereRot *psSphereRot_CEOtoGCRS(double s, const psSphere *pole) 5417 \end{verbatim} 5418 The re tulting \code{psSphereRot} may be used to determine the rotation5489 generated by providing the polar coordinate to the following function: 5490 \begin{verbatim} 5491 psSphereRot *psSphereRot_CEOtoGCRS(const psEarthPole *pole) 5492 \end{verbatim} 5493 This function constructs the rotation element as described in the ADD ( 5494 The resulting \code{psSphereRot} may be used to determine the rotation 5419 5495 from CIP/CEO to GCRS. This function must give results identical to 5420 5496 the IERS BPN2000, within the limits of machine accuracy. … … 5434 5510 motion components, $x_p$ and $y_p$, extracted from the IERS tables. 5435 5511 \begin{verbatim} 5436 ps Sphere *psEOC_GetPoleCoords(const psTime *time, psTimeBulletin bulletin);5512 psEarthPole *psEOC_GetPolarMotion(const psTime *time, psTimeBulletin bulletin); 5437 5513 \end{verbatim} 5438 5514 … … 5441 5517 ADD). 5442 5518 \begin{verbatim} 5443 ps Sphere *psEOC_TidePolarCorr(const psTime *time);5519 psEarthPole *psEOC_PolarTideCorr(const psTime *time); 5444 5520 \end{verbatim} 5445 5521 5446 5522 The following function provides the additional corrections due to nutation 5447 terms with periods less than or equal to two days: 5448 \begin{verbatim} 5449 psSphere *psEOC_NutationCorr(psTime *time); 5450 \end{verbatim} 5451 5452 The following function should generate the \code{psSphereRot} transform from 5453 ITRS to CIP/TEO: 5454 \begin{verbatim} 5455 psSphereRot *psSphereRot_ITRStoTEO(psSphere pole, psTime *time); 5456 \end{verbatim} 5457 The time argument should be used to internally calculate $s'$. 5458 This function should give identical results to the IERS POM2000 subroutine. 5523 terms with periods less than or equal to two days, as well as the 5524 correction to the $s'$ component of the polar motion: 5525 \begin{verbatim} 5526 psEarthPole *psEOC_NutationCorr(psTime *time); 5527 \end{verbatim} 5528 5529 The following function converts the polar motion corrections to a 5530 spherical rotation using the prescription in the ADD: 5531 \begin{verbatim} 5532 psSphereRot *psSphereRot_ITRStoTEO(const psEarthPole *motion); 5533 \end{verbatim} 5534 This function should give identical results to the IERS POM2000 5535 subroutine. 5459 5536 5460 5537 \subsubsection{Earth Orientation Wrappers}
Note:
See TracChangeset
for help on using the changeset viewer.
