CALC 10.0 User's Guide David Gordon 2006.04.20 Questions and comments about this guide should be sent to: David Gordon ( dgg@leo.gsfc.nasa.gov ) Table of contents: 1 ................ Overview ________________________________________________________________________________ 1 Overview ========== For CALC 10.0 to execute successfully the input database must contain a minimum set of data elements. Databases which have been created by DBEDIT will be guaranteed to contain those elements. To run CALC 10.0, a run string in the following form must be submitted: >calc 0 N File_name1 or: >calc 0 N File_name1 File_name2 File_name1 is the name (with path if neccessary) of the CALC control file. N must be either 0 or -1. If 0, the standard CALC observation lines are written to the users terminal. If -1 all observation lines are supppressed, but setup and warning messages are still listed. The Calc control file (traditionally called the 'calcon' file) must contain 3 lines per data base and be in the following form: Calc 10.00 with External Inputs -DG- $06APR03XA $06APR03XA 00000000000000000000000000000000000000000000000000000000000000 The first line is a history entry. The second line contains the input and output database names and version numbers (format: A10, I10, 5X, A10, I10). Normally the input and output database names are the same, and the version numbers are left blank. The third line contains the flow control flags, described below. Normally it is a string of 62 zeroes. They are in pairs, with the first one controlling module options, and the second turning ON (1) or OFF (0) the module debug printouts. To process more than one database in a single Calc run, lines 4-6, and 7-9, etc., should be like the first three lines. File_name2 is the name of an external input control file. If file_name2 is not given, then Calc will operate as in earlier versions, using the site, source, and Earth orientation information in the input data bases via data base GET's. If file_name2 is given, then Calc 10 will look for the various a priori information in the files specified in file_name2. File_name2 should look like the following: Sites /solve/apriori_files/blokq.dat Sources /solve/apriori_files/blokq.dat Ocean /solve/apriori_files/blokq.dat EOPs /solve/apriori_files/usno_finals.erp Tilts /solve/apriori_files/tilt.dat In the above example, Calc would get site, source, Ocean Loading, EOP, and fixed-axis tilt information from the files specified. To get some information from the database and some from external files, File_name2 could look like the following: Sites /solve/apriori_files/blokq.dat Sources /solve/apriori_files/blokq.dat Ocean None EOPs None Tilts /solve/apriori_files/tilt.dat The input formats for sites, sources, and ocean loading are identical to those in the Mark III 'blokq.dat' file, and 'blokq.dat' should appear in the file name. (For other files and/or formats, contact D. Gordon for advice.) The input format for EOP's are in the SOLVE standard EOP mod file format. (Note that the EOP file now MUST be at 1-day intervals.) The tilt.dat file contains fixed-axis tilts for the VLBA antennas. It should not be changed, except for updating the Pietown tilts. The tilt.dat file can be made optional here, provided it is specified in the param.i file ($MK5_ROOT/include/param.i, variable 'A_TILTS'). If so, it can be omitted from File_name2, and will still be applied. (It should be defined in param.i so that it will be applied when the external input mode is not used - but you will probably have to set it manually.) Databases coming from the correlators do NOT have the apriori information. Also, the old Mark3 programs 'apriori', 'skeleton', and 'ut1pm' are no longer supported. So for any analysis beginning with version 1 databases, you MUST use the external input mode. A short Fortran program (up10) and some scripts are availble, or can be written, to create the calcon file and start Calc in the external input mode. For help here, contact D. Gordon. There is an alternate source input format, which allows proper motion velocities (arc-secs/year in RA and Dec) and/or source distances (parsecs) to be read in. (These can also be read in using data base GET's). IMPORTANT NOTE: When using the external input mode, the standard leap second file must be availble to Calc. The location of this file is given in the 'param.i' file ($MK5_ROOT/include/param.i, variable 'DFLEAP'). If it is not available, you will get very disturbing solutions with Solve. Also: Make sure the JPL DE405 ephemeris file is available and properly referenced in the param.i file. For Linux users, 'JPL_405' should be '...../DE405_le.jpl' [little Endian]). For HP-UNIX users, 'JPL_405' should be '...../DE405_be.jpl' [big Endian]). There is a chance of using the wrong file or even a DE403 file, and not getting any error messages. The following describes the individual module flow control and debug flags in Calc 10. The defaults are all zero. Non-zero options are for various non-standard functions. They are generally for testing purposes or for compatability with earlier versions of Calc. Using them will cause alternate module control messages to be written in the database header, but they will probably not be supported by Solve. The debug flags are there mostly for historical reasons. See the module and subroutine source code to determine what the debug printout will be. The flag functions are as follows: Atmosphere Module. (KATMC is column 1; KATMD is column 2.) KATMC = 0 Compute atmosphere contributions based on the Niell dry and wet models but do not add to the theoreticals. = 1 ADD the Niell dry atmosphere contributions to the theoreticals. Axis Offset Module. (KAXOC is column 3; KAXOD is column 4.) KAXOC = 0 Include the effects of axis offsets in the theoreticals. = 1 Do not include the effects of axis offsets in the theoreticals. Pole Tide Module. (KPTDC is column 5, KPTDD is column 6.) KPTDC = 0 Compute pole tide and apply to the theoreticals. = 1 Do not compute pole tide. = 2 Compute pole tide contributions but do not apply to the theoreticals. Diurnal Polar Motion Module. (KDNPC is column 7, KDNPD is column 8) KDNPC - No longer defined, no function. Earth Tide Module. (KETDC is column 9; KETDD is column 10.) KETDC = 0 Include the effects of solid Earth tides using the 2003 IERS Conventions model (default). = 1 Turn off solid Earth tides, no corrections computed. Ion Module. (KSIOC is column 11, KIOND is column 12) KIONC - Module nonexestant, no function. Nutation Module. (KNUTC is column 13, KNUTD is column 14). KNUTC = 0 Compute and use X, Y, and s (new paradigm bias-precession- nutation quanties). They are used to compute the theoreticals. Also computes classical nutation using the IAU200A model (but not used to compute the theoreticals). Also computes the older Wahr (IAU 1976/1980) nutation and inserts a correction into the data base to convert to the Wahr model. (For use in Solve. This is somewhat ad-hoc and not completely accurate. Its use is not recommended. Note also, changes in the fundamental arguments means that the Wahr nutation values will not be identical to Calc 9.1x versions.) = 1 Do NOT compute the effects of bias-nutation-precession (X,Y,s) or of classical nutation. Precession Module. (KPREC is column 15, KPRED is column 16.) KPREC = 0 Compute precession (classical method) and use for classical rotation matrix (not used to compute the theoreticals). = 1 Do not compute precession. Relativity/Theory module. (KRELC is column 17, KTHED is column 18) KRELC = 0 Include the effects of gravitiational bending in the Consensus model. = 1 Do not include gravitational bending. Site Module. (KSITC is column 19, KSITD is column 20) KSITC - No function. Star Module. (KSTRC is column 21, KSTRD is column 22) KSTRC = 0 Do not add proper motion constants to data base when in external file mode (Lcode 'PRMOTION'). Do not compute any proper motion contributions. Remove any previous proper motion contribution Lcodes. = 1 Add proper motion constants ('PRMOTION') if in external file input mode. Compute proper motion contributions if proper motion constants are available and insert in data base under Lcode 'PMOTNCON'. Do NOT add these contributions to the theoretical. [They can be ADDED in SOLVE to get proper motion corrected delays and rates.] = 2 Add proper motion constants ('PRMOTION') if in external file input mode. Also, ADD the proper motions to source vector and use the proper motion corrected source vector throughout all computations. Compute a contribution (ADD to theoretical) that will (approximately) return the delays and rates to their non-proper motion corrected values, and put in Lcode 'PMOT2CON'. Recommended when there is a large accumulated proper motion (greater than ~1 arcsec). Intended for correlator useage only - but USE WITH CAUTION!! UT1 Module. (KUT1C is column 23, KUT1D is column 24.) KUT1C = 0 Do spline interpolation for a 1-day series using TAI-UT1 (true UT1). Smoothing is no longer performed, and the EOP series MUST be at 1-day intervals. = 1 Module completely off, that is, UT1 set equal to AT (UT1-TAI=0). = 2 Use TAI-UT1 as in #0; but use cubic interpolation. The EOP series MUST be at 1-day intervals. = 3 Use TAI-UT1 as in #0; but use linear interpolation. The EOP series MUST be at 1-day intervals. = 4 Convert table to TAI-UT1S UT1 using the UT1S model of Defrainge and Smits, 1999. Do spline interpolation, then restore to TAI-UT1 (true UT1). The EOP series MUST be at 1-day intervals. Wobble Module. (KWOBC is column 25, KWOBD is column 26.) KWOBC = 0 Compute polar motion effects and apply to the theoreticals. Use spline interpolation for a 1-day series. = 1 Set polar motion offsets to zero. = 2 Compute polar motion effects and apply to the theoreticals. Use linear interpolation. = 3 Compute polar motion effects and apply to the theoreticals. Use cubic interpolation for a 1-day series. UTCCM Module. (KUTCC is column 27, KUTCD is column 28) KUTCC - No function. ATIME Module. (KATIC is column 29, KATID is column 30) KATIC = 0 ATIME utility turned on. = 1 ATIME utility turned off. CTIME Module. (KCTIC is column 31, KCTID is column 32) KCTIC = 0 ON. = 1 OFF. = 2 Periodic terms off. PEP module (KPEPC is column 33, KPEPD is column 34) KPEPC - No options. Solar system geometry will be taken from the JPL DE/LE405 ephemeris file. (Sun, Moon, Earth, and all other planets except Pluto) The location of this file must be specified in the param.i include file. Diurnal spin utility. (KDIUC is column 35, KDIUD is column 36) KDIUC - No function. J2000 rotation matrix utility. (KM20C is column 37, KM20D is column 38) KM20C - No function. J2000 site rotation utility. (KROSC is column 39, KROSD is column 40) KROSC - No function. SITCR Module. (KSTEC is column 41, KSTED is column 42) KSTEC - No function. ?????? Module. (KSUNC is column 43, KSUND is column 44) KSUNC - No function. ?????? Module. (KSARC is column 45, KSARD is column 46) KSARC - No function. Thery Module. (KTHEC is column 47, KTHED is column 48) KTHEC - No function. Matrix utility. (KMATC is column 49, KMATD is column 50) KMATC - No function. Vector utility. (KVECC is column 51, KVECD is column 52) KVECC - No function. Ocean Loading Module. (KOCEC is column 53, KOCED is column 54.) KOCEC = 0 Compute the effects of ocean loading and store the contribitions in the database, but do not apply to the theoreticals. [Note for correlator users. For historical reasons, these corrections are not applied here, but are usually turned on during the geodetic SOLVE/GLOBL analysis. They have alway been found to improve the solution. When Calc_user = 'C', and Apply_ocean = 'Y' in cuser.i, as recommended, this option gets reversed and these corrections WILL then be applied to the theoreticals.] = 1 Do not compute ocean loading effects. = 2 Compute ocean loading contributions and apply them to the theoreticals. (Reminder: Ocean Loading is different from other modules in that the default is to NOT apply the model to the theoreticals. Correlator users should apply these corrections using the options in cuser.i - see #0 option above.) = 3 Same as #1, except proceed even if the horizontal catalog is not in the database. Zero out the horizontal catalog. U/V Module. (KASTC is column 55, KASTD is column 56) KASTC - The computation of U,V coordinates. = 0 ON. For analysis system users - computes 'UVF/ASEC', U/V coordinates in fringes per arcsec. (Previously computed by the Mark 3 correlators.) Multiply by 206264.81 to get familiar numbers. For correlator useage, computes 'UVF/MHz ', U/V coordinates in fringes per arcsec per MHz. = 0 OFF, no computations. Start Module. (KSTAC is column 57, KSTAD is column 58) KSTAC - No function. Parallax Module. (KPLXC is column 59, KPLXD is column 60) KPLXC = 0 Module partially on. Compute parallax partials with respect to the parallax parameter (old computation, but still valid - Lcode 'PLX PART') and with respect to the inverse distance (in parsecs) (Lcode PLX1PART). = 1 Module completely on. Compute the two partials as above; also compute a delay and rate correction if a distance, in parsecs, is supplied (either via access code 'DISTPSEC' or via external file input of source coordinates. Feed Rotation Module. (KPANC is column 61, KPAND is column 62) KPANC = 0 Module on. Feed rotation applied to phase delays. = 1 Module off. No corrections. The following is the correspondance between CALC control and debug flags and the columns in line #3 of the CALC control file. Many of the flags have no function. KATMC 1 KATMD 2 KAXOC 3 KAXOD 4 KPTDC 5 KPTDD 6 KDNPC 7 KDNPD 8 KETDC 9 KETDD 10 KIONC 11 KIOND 12 KNUTC 13 KNUTD 14 KPREC 15 KPRED 16 KRELC 17 KRELD 18 KSITC 19 KSITD 20 KSTRC 21 KSTRD 22 KUT1C 23 KUT1D 24 KWOBC 25 KWOBD 26 KUTCC 27 KUTCD 28 KATIC 29 KATID 30 KCTIC 31 KCTID 32 KPEPC 33 KPEPD 34 KDIUC 35 KDIUD 36 KM20C 37 KM20D 38 KROSC 39 KROSD 40 KSTEC 41 KSTED 42 KSUNC 43 KSUND 44 KSARC 45 KSARD 46 KTHEC 47 KTHED 48 KMATC 49 KMATD 50 KVECC 51 KVECD 52 KOCEC 53 KOCED 54 KASTC 55 KASTD 56 KSTAC 57 KSTAD 58 KPLXC 59 KPLXD 60 KPANC 61 KPAND 62