As of Sat Apr 20 13:30:24 2024

VLBATECR: Procedure to calibrate ionospheric delay


INNAME                             Input UV file name (name)
INCLASS                            Input UV file name (class)
INSEQ             0.0     9999.0   Input UV file name (seq. #)
INDISK            0.0        9.0   Input UV file disk unit #
SUBARR                             Subarray to correct
                                     (0 => all)
TECRFILE                           IONEX file name
                                   '' => download autmatically
TECRTYPE                           type of IONEX file to
                                   download  ' ' -> 'jplg'
NFILES                             # of TECRFILES
APARM                              Switches
                                   APARM(1)=1 forced to do the
                                   dispersive delay
                                     (2) Follow ionosphere
                                     (3) > 0 use IGRFv13 for
                                         Earth magnetic field
                                     (4) TEC correction factor
                                         default 1.
                                     (5) TEC elevation increment
                                         (km) default 0
                                     (6) TEC elevation fudge
                                         factor, default 1
           VLBATECR is defined in the VLBAUTIL run file.


Type: Procedure
Use:  Automatically download IONEX files needed to correct the
      ionospheric dispersive delay with TECOR.  Then runs TECOR.
      See EXPLAIN TECOR for more information on this correction.
      To do the automatic download the system must have one of
      the following commands: wget, curl or ncftpget, and an NX
  INNAME.....Input UV file name (name).      Standard defaults.
  INCLASS....Input UV file name (class).     Standard defaults.
  INSEQ......Input UV file name (seq. #).    0 => highest.
  INDISK.....Disk drive # of input UV file.  0 => any.
  SUBARR.....Subarray to correct.            0 => all.
  TECRFILE...Input file.  If ''=> file will be automatically downloaded.
             If there is a problem with automatic downloads (this can
             be a problem with some firewalls) the file can be can
             be downloaded manually.  See EXPLAIN VLBATECR for details
             on how to download the file(s).
             The file should contain TEC maps spanning the time
             range covered by the input CL table and should be in
             IONEX format.  If NFILES > 1 then the name MUST be in
             standard format CCCCdddC.yyC where C can be any
             character, ddd is the day number, and yy is the year.
             Also the name given in INFILE must be the first day.
  TECRTYPE...Type of IONEX file to download.  ' ' -> 'jplg'
             There are many possibilities: c1pg (number '1')
             c2pg, carg, casg, codg, corg, ehrg, emrg (good?),
             esag, esrg, igrg, igsg, jplg, jprg, uhrg, upcg,
             uprg, uqrg, whrg, whug
  NFILES.....Number of IONEX files to use.  Note that if NFILES > 1
             then the TECRFILE must be in a standard format and the
             file in TECRFILE must be the first day of those to be
             loaded.  0 => 1
  APARM......Miscellaneous settings and switches.
             (1) Enable (> 0.5) or disable (<= 0.5) dispersive
                 delay corrections.  VLBATECR forces this to 1.
             (2) In principle, it is thought that the ionosphere
                 remains approximately fixed wrt the Sun.  Thus, the
                 task should predict which ionosphere is now in the
                 direction of the source by applying a time correction
                 to the apparent longitude while interpolating between
                 the table values, which are only given every two
                 hours.  This sometimes seems in fact to do odd
                 things.  This parameter allows you to do only a
                 fraction of the time correction, from epsilon to 1.0.
                 0 -> 1; < 0 -> 0.  A correction of zero is equivalent
                 to a model in which the ionosphere rotates with the
             (3) > 0 -> use IGRF version 13 magnetic field model for the
                 else   use older model
             (4)-(6) Leonid Petrov suggests a revised "mapping" function
                 See AJ, 2023, 165:183.  Instead of
                     TEPATH = TEC / cos (ZAion)
                     TEPATH = TEC * APARM(4) / P
                     P = sqrt (1 - Rf^2 * cos^2 (a*EL))
                     Rf = (Rearth / (Rearth + Alt + APARM(5))
                     a = APARM(6)
                 Petrov recommends 0.85, 56.7 km, 0.9782.
                    If APARM(4) < 0.1 or > 5, APARM(4) = 1
                    If APARM(5) < -200 or > 200, APARM(5) = 0
                    If APARM(6) < 0.5 or > 2, APARM(6) = 1
                 web reference:


VLBATECR: Procedure that corrects ionospheric dispersive delay
          using TECOR.  This procedure automatically downloads
          the IONEX files from the CDDIS archive.
DOCUMENTOR: Amy Mioduszewski, NRAO

VLBATECR is designed to make the use of TECOR easier.  It uses
the header and the NX table to calculate what files to download
from CDDIS.  It uses the CDDIS site in the US (
and downloads the jplg or user-specified version of the IONEX files.
Then it runs TECOR using these files.  For simplicity (files from
multiple days must to have the same prefix), all the files are renamed
with the jplg (or other) prefix.  The IONEX files are left in the /tmp
area of your computer, so you can copy them for your records or ignore

See EXPLAIN TECOR for details on the ionospheric correction.

This procedure is defined in VLBAUTIL, type RUN VLBAUTIL to load

   1) The dataset must have a correct observation date in the header;
      if it is wrong correct it with PUTHEAD.
      -> there is a weak test on the validity of the observation date;
         the observation year must be <= to the creation year.
   2) The dataset must have an NX table; run INDXR or VLBAFIX to create.
   3) The system must have one of the following commands: wget, curl or
      ncftpget.  VLBATECR will test for the existence of these commands
      in the order given above and will the first one it finds.
      Mac OS - will probably have curl; wget and ncftpget seem to be
      available in Fink.
   4) /tmp directory must exist on your computer
   5) Your computer must allow link to the Internet, some computers may
      have firewalls such that the above commands exist, but will not work.

VLBATECR should be run on data of 8 GHz and lower, and can be run
anytime before the last fringe fit and after VLBAFIX.  For simplicity,
it is recommended that it be run right after VLBAFIX or VLBAEOPS, so
all corrections to the data are done before calibration.

If there is a problem with the automatic download then you can download
the IONEX file(s) manually and set TECRFILE and NFILES:

Sometime in October 2020, for new requirements, you can consult

You may have to create an account with cddis in order to download in
some other fashion.

The command that does work from VLBATECR is (all on one line!)

curl -u --ftp-ssl
   gps/products/ionex/YYYY/DDD/jplgDDD0.YYi.Z > /tmp/jplgDDD0.YYi.Z

(no blanks between gov/ and gps) where YYYY is the year e.g. 2015, YY is
the last 2 digits of the year e.g. 15, and DDD is the day number within
the year.


On or about Oct 1, 2023, new names for the TEC files were introduced for
files created after day 219 (Aug 7).  Files from before use the above
naming convention.  The new names are

curl -u --ftp-ssl
 > /tmp/jplgDDD0.YYi.gz

and these files need gunzip rather the uncompress


iIf you do not have curl or a firewall or other issue makes this command
fail then, after Octo

The commands below will not work after October 2020.

1) ftp; login as anonymous.
   -- note that there is a mirror site at

2) cd pub/gps/products/ionex/YYYY/DDD (YYYY-year; DDD-day number)
   -- for cd pub/igs/iono/YYYY/DDD

3) prompt -1

4) mget jpl*.Z  (or get jplgDDD0.YYi.Z)  (not all *.Z !)

5) uncompress above file(s) before using TECOR

If more than one file is needed to cover the time period of
the experiment:

        -- download all the files

        -- make sure the files have the format CCCCdddC.yyC; where
           C is any character, ddd is the three digit day number and
           yy is the 2 digit year.  This is designed to work with
           the standard file names that the CDDIS data archive
           uses.  Note that the C's must be the same for each file
           and they must all be in the same directory.

        -- use the FIRST file as the INFILE

        -- set NFILES to the number of files