CALC 10 Release Memo
David Gordon
2006 April 26


Calc version 10 is released. It has been updated to comply with the IERS 
Conventions (2003). Below is a brief summary of the changes and new features.
Comments, suggestions, question, complaints, etc should be sent to me at 
dgg@leo.gsfc.nasa.gov. 

For instructions on running Calc 10, see the Calc User's Guide, file 
calc_01.txt, in your $SOLVE_HELP_DIR directory. Details of a comparison of
Calc 9 and Calc 10 will be published in the 2006 IVS General Meeting 
Proceedings. A preliminary version (postscript) can be found at
http://lupus.gsfc.nasa.gov/discussions/calc10/calc10.ps

TRF-to-CRF Solid Body Rotation: 
Calc 10 now uses the CIO-based method (the 'new paradigm') for rotating from 
Earth-fixed coordinates to the celestial reference frame. Most of the new 
code for this was taken from SOFA-based routines on the IERS web site at
USNO and modified as needed to compute time derivatives and various partial
derivatives. The rotation matrices are saved in the databases, as in Calc 9,
but the Lcode name has been changed from 'CF2J2000' to 'CF2J2K  '. 

Calc 10 also computes a classical TRF-to-CRF rotation matrix. It uses the 
IAU2000A nutation model, along with modifications to precession, Greenwich
Siderial Time, polar motion, and a bias rotation, as specified by the 2003
Conventions. The two version of the TRF-to-CRF rotation matrix are supposed
to be very nearly identical. I have checked this for a few epochs and find 
that they produce rotated site positions differing by no more than ~30 
microns (~1 micro-arc-sec), and usually much less. 

Nutation/Precession Modules:
Calc 10 makes 2 different nutation/precession computations. First, the
X and Y coordinates of the Celestial Intermediate Pole {CIP) in the 
Geocentric Celestial Reference System (GCRS) and s (provides the position
of the Celestial Intermediate Origin [CIO] on the equator of the CIP) are 
computed (using a modified version of SOFA-based subroutine XYS2000A). 
They are stored in the database under the new type 2 Lcode 'NUT2KXYS', 
dimensioned (3,2). Second, the classical nutation offsets (delta-psi, 
delta-epsilon) are computed based on the IAU2000A nutation model (using a
modified version of the SOFA-based subroutine NU2000A). These offsets are
stored in the database under the new type 2 Lcode 'NUT2000A', dimensioned
(2,2), which replaces Lcode 'NUT 1996'. 

Partial derivatives of the delays and rates with respect to X and Y are 
computed from the CIO-based formulation, and stored in the database under 
the new type 2 Lcode 'NUT2KXYP', dimensioned (2,2). Partial derivatives of 
the delays and rates with respect to the classical nutation offsets, delta-psi
and delta-epsilon, are also computed and stored under the new Lcode 'NUT2000P',
dimensioned (2,2), which replaces 'NUT PART'. Calc 10 still also computes the 
old Wahr nutation (IAU1976/1980 Precession/Nutation models), and saves the
difference between the IAU1980 and IAU2000A nutations.  

The current version of Solve estimates classical nutation corrections
with respect to IAU2000A, using the 'NUT2000P' partials. It then converts
these to both delta-X and delta-Y corrections, and corrections to the IAU1980 
(Wahr) nutation. This scheme should be accurate to a few micro-arc-seconds in 
X and Y, but eventually, Solve should be modified to use the 'NUT2KXYP'
partials and estimate X and Y corrections directly. The conversion from 
IAU2000A nutation offsets to IAU1980 (Wahr) nutation offsets applies a
precession rate difference and a frame offset. Our comparisons with Calc 9
solutions though shows that this conversion may not be quite correct. 

Polar Motion Module: 
The polar motion rotation matrix now uses an additional term, s', which 
provides the position of the Terrestrial Intermediate Origin (TIO) on the 
equator of the CIP. There is a rotation about the Z-axis of -s', which has
a small effect on UT1.

Short period ocean tide and nutation contributions to polar motion are now
computed, as directed by the 2003 Conventions. The short period nutation 
contributions are computed using the terms of Table 5.1, and the short 
period ocean tide contributions are computed using subroutine Ortho_EOP. 
(Ortho_EOP was coded by Richard Eanes and is based on Richard Ray's ocean
tide model.) These two contributions should be added after interpolation of
the Xp and Yp tabular pole coordinates, according to the new Conventions. 
These contributions will be optional in Calc/Solve (i.e., not included in the 
default delays and rates). They will be available via the Lcodes 'WOBNUTAT'
and 'WOBORTHO', which can be applied using the Solve CORF-file. If turned 
on, the jmg96.hf model should be turned off in Solve.

UT1 Module: 
UT1 is now used to compute an Earth rotation angle, as specified in the IERS
Conventions (2003), for use in the CIO-based transformations. And the 
computation of Greenwich siderial time, needed for the classical 
transformations, has been modified according to the new Conventions.

Subroutine Ortho_EOP also computes a short period UT1 correction for ocean 
tide effects,  which Calc 10 stores under the Lcode 'UT1ORTHO'. It also can 
be applied using the Solve CORF-file. ('WOBORTHO' and 'UT1ORTHO' should
only be applied together, not singly, in Solve; and if they are applied, the
jmg96.hf model should be turned off.)

Some structural changes were made in the UT1 interpolation. Calc 10 no
longer applies (in default mode) any smoothing of the tabular points. 
[Previous versions removed the fortnightly terms (originally called the 
Yoder terms) from the tabular values. The interpolation for each observation
epoch was made using the modified tabular points, then fortnightly terms at
the observation epoch were added back to the interpolated value at each 
epoch.] However, Calc has used a 1-day EOP series for many years now, and 
these fortnightly terms all have periods of 5 days or greater, so removing 
and then restoring them has almost no effect. Die-hard users can still apply
UT1 smoothing by setting the UT1 flag (KUT1C) equal to 4. If this option is
used, the fortnightly terms model by Defraigne and Smits (1999) is used, as
given by the coefficients of Table 8.1 from the IERS Conventions (2003). 
Calc 10 was also changed so that it will only accept a 1.0 day interval EOP 
series.

Planetary Ephemeris Module: 
The JPL DE/LE405 ephemeris is now used. Two binary versions will be
distributed with Calc 10. One is a 100-year file (1950-2050, 9.3 Mbytes) for
use on big Endian architectures (file DE405_be.jpl). The other is an 80-year 
file (1960-2040, 7.5 Mbytes) for little Endian architecture (file 
DE405_le.jpl). The user should check and verify that the proper version gets
into the param.i file in directory $MK5_ROOT/include. [For details on making 
and reading ephemeris files, see the JPL web site 
ftp://ssd.jpl.nasa.gov/pub/eph/export.]

Fundamental Arguments: 
The luni-solar terms were updated to match the IERS Conventions (2003) and
expanded to include the 9 planetary terms. They are used for the CIO-based 
computations. Calc 10 also has two other sets of fundamental arguments (for 
use in the IAU2000A nutation model and for use in the IAU1980 (Wahr) 
nutation model) each with small differences in some of the components. 
Fundamental arguments were saved in the databases by Calc 9, but were never 
used. Calc 10 no longer saves them.

Solid Earth Tides Module: 
Some small changes were made to match the new Conventions, as described in 
Chapter 7. Step 1 is unchanged from Calc 9, except there is now no 
elastic/anelastic option. Step 2 uses different tables and additional terms.
The partial derivatives defined by John Gipson for Calc 9 were never used
and have been removed.

Pole Tide Module:
Mean (secular) pole offsets are subtracted from the polar motion values,
then these modified X-pole and Y-pole values are used to compute the pole 
tide corrections. We use the linear approximation formalae (IERS Conventions 
(2003), Chapter 7, eqns 22, 23a and 23b.) for the secular offsets. The same 
was done in Calc 9, but with slightly different linear formulae. Also as in 
Calc 9, we compute a delay and rate contribution ('PTOLDCON') that will 
remove this step. Adding the 'PTOLDCON' values to the delays and rates will 
be the same as computing the pole tide with X-pole and Y-pole values 
uncorrected for secular polar motion. 

Axis Offsets Module, Antenna Tilts: 
Calc 10 has been updated to read an antenna fixed-axis tilt file. This file 
has a large set of tilts (E-W and N-S) for Pietown (from 1989-2004), and single
tilts for the other 9 VLBA antennas (only SC-VLBA's is significant though).
If anyone knows of other antennas that should be included here, please let me 
know. We'll try to get this file updated, as the last Pietown data is 
two years old. Calc 10 will read these tilts and use them in the axis offset 
computations, if they are provided when Calc is run. The tilt file name can 
be provided in the external input mode (see the Calc users guide, file 
calc01.txt), or via a param.i definition, or via a database record type 1 
Lcode ('AXISTILT') input read. An output Lcode contribution is also written
('TILTRMVR'), which can be used in Solve (via the CORFxx file) to remove this
correction. The default will be to use the tilt corrections.

A small error was found in the axis offset computations. Apparently it was 
never quite correct. A small atmosphere term was incorrectly modified several 
versions ago, when it should have been replaced with a relativity correction.
It has finally been corrected. The effect is to slightly reduce the axis 
offset formal errors and change some axis offset by up to ~0.1%. A Calc 10
set of axis offsets will be made available to the community in the near future.

Ocean Loading Module: 
The ocean loading module in Calc 10 has not changed from Calc 9. However,
we obtained new ocean loading coefficients for all stations using the GOT00.2
model and replaced the earlier coefficients in blokq.dat. These were obtained 
from the ocean loading service web site at Chalmers University
(http://www.oso.chalmers.se/~loading), with assistance from Hans-Georg 
Scherneck.

Atmosphere Loading, Antenna Thermal Deformation: 
No corrections will be made in Calc 10. Solve has some models for these 
effects, and they will be used there. 

Correlator version:
Not much has been done yet on the correlator version. Use of the high frequency 
EOP and the antenna tilts (at the VLBA correlator) may slightly improve 
astronomy usage. The other changes in Calc 10 should have little effect though. 

Apriori's to use with Calc 10:
A new blokq.dat file has been generated for use with Calc 10. We used site
and source positions from a recent Globl solution, and GOT00.2 ocean loading
coefficients. The new blokq.dat file will be distributed with the Calc/Solve 
release.



*********************************************************************************

    Old Lcodes removed by Calc 10:
Type
 1   PEP TAPE
 2   AXO2CONT
 2   C82ETCON
 2   PERMDEF
 2   ELASTCON
 2   GDNUTCON
 2   EQE DIFF
 2   OLDEQCON
 2   FUNDARGS
 2   ETJMGPAR
 2   NUT 1996
 2   NUT PART
 2   CF2J2000


    New Lcodes added by Calc 10:
Type 
 1   AXISTILT  (2,#sites)  - Axis tilt information (arc-minutes)
 2   NUT2000A  (2,2)       - Nutation - delta-psi, delta-epsilon
 2   NUT2000P  (2,2)       - Nutation partials - delta-psi, delta-epsilon
 2   NUT2KXYS  (3,2)       - Nutation - X, Y, S
 2   NUT2KXYP  (2,2)       - Nutation partials - X, Y
 2   CF2J2K    (3,3,3)     - TRF-to-CRF rotation matrix
 2   TILTRMVR  (2,1)       - Removes tilt correction (sec)
 2   WOBNUTAT  (2,1)       - Short period nutation corrcection to Xp, Yp
 2   WOBORTHO  (2,1)       - Short period ocean tidal correction to Xp, Yp
 2   UT1ORTHO  (2,1)       - Short period ocean tidal correction to UT1


    Old Lcodes Replaced by New Lcodes by Calc 10:
Type   Old    Dimensions    New    Dimensions    New     Dimensions
 2   NUT 1996  (2,2)      NUT2000A  (2,2)  and  NUT2KXYS  (3,2)     
 2   NUT PART  (2,2)      NUT2000P  (2,2)  and  NUT2KXYP  (2,2) 
 2   CF2J2000  (3,3,3)    CF2J2K    (3,3,3)


*********************************************************************************

    New CORFxx file for Calc 10:

1000 Section 20
    1  cable             CABL DEL         CBL STAT        1  -1
    2  pcal rmv          UNPHASCL                        -1  -1
    3  Nieltdry          NDRYCONT                         1   1
    4  Nieltwet          NWETCONT                         1   1
    5  user cal
    6  WVR               WVRDELAY         WVR STAT       -1   1
1000 Section 21
    1  cable
1000 Section 30
    1  WVR @ zenith      WVR DELY
1000  Section 40
    1  Pol Tide          PTD CONT
    2  WobXCont          WOBXCONT
    3  WobYCont          WOBYCONT
    4  EarthTid          ETD CONT
    5  Ocean             OCE CONT
    6  PTideOld          PTOLDCON
    7  UT1Ortho          UT1ORTHO
    8  XpYpOrth          WOBORTHO
    9  XpYpNutn          WOBNUTAT
   10  Feed Rot          FEED.COR
   11  Wahr Nut          WAHRCONT
   12  TiltRmvr          TILTRMVR
1000  Section 41
    1  Pol_Tide
    2  WobXCont
    3  WobYCont
    4  EarthTid
    5  Ocean
    6  Feed Rot
1000  Section 42
    1  Pol Tide
    2  WobXCont
    3  WobYCont
    4  EarthTid
1000  Section 50
    1  SourStru          SOURSTRU
    2  SpurPcal          SPURPCAL
    3  UserMcal          USERMCAL
1000  Section 51
    1  UserMcal
