Prerequisites

GAMIT/GLOBK requires a few other programs to be installed before compiling the source code and running the software to its full capacity. These prerequisites are also listed on our website at http://geoweb.mit.edu/gg/pre.php.

In addition to a basic Unix- or Linux-based operating system, there are four fundamental requirements for installing GAMIT/GLOBK on any system:

  • a Fortran compiler;

  • a C compiler;

  • X11 libraries and headers, specifically:

    • an X11 library (libX11.a, libX11.so, libX11.dylib, libX11.la or libX11.dll.a); and

    • an X11 header file (Xlib.h).

Many operating systems will have some or all of these installed by default but others may not.

Below are details about what to expect from our experience with various operating systems. Once you have completed the steps described for your system, below, download the source code provided on our server, via FTP or secure HTTP, and install GAMIT/GLOBK. Further information is available in the Downloading Source Code section and on the main GAMIT/GLOBK web page.

Debian-Based Linux

Debian-based Linux distributions include the common Ubuntu operating system. Install the prerequisite programs, including any dependencies and others that we have found to be missing in the core distribution but must be installed, i.e. (requires administrative privileges):

$ sudo apt install gfortran make libx11-dev csh tcsh bc curl

RPM-Based Linux

RPM-based Linux distributions include Fedora, CentOS and openSUSE operating systems. Install the prerequisite programs, including any dependencies and others that we have found to be missing in the core distribution but must be installed, i.e. (requires administrative privileges):

$ sudo zypper install gcc-fortran libX11-devel csh tcsh ftp hostname

macOS

macOS (previously Mac OS X) requires the installation of Command Line Tools for Xcode, a Fortran compiler and XQuartz. The simplest way to install Command Line Tools for Xcode is to open a Terminal window and run:

$ xcode-select --install

This will download and install core command line programs, including a C compiler, and any dependencies. A Fortran compiler is not included but you may install gfortran from a standard installer (.dmg) file available from the GCC Wiki web page. Install the X Windows libraries and headers with XQuartz, which is available for download as a standard installer (.dmg) file.

Windows

Recent releases of Windows 10 and above may install and run the Windows Subsystem for Linux. See the Microsoft Docs installation guide for details. Once complete, install required packages following the instructions for Linux distributions, above, e.g. for Debian-Based Linux if you install and use the Ubuntu or Debian package, or for RPM-Based Linux if you install and use the openSUSE package.

Otherwise we recommend installing a virtual machine (e.g. VirtualBox or VMWare Workstation Player), which requires the installation of a regular Linux distribution (e.g. Ubuntu to run via the virtual machine. GAMIT/GLOBK may then be installed and run on this virtual machine operating system, again following the instructions for the relevant Linux distribution, above.

Previously we had preferred to use Cygwin, which is a Linux emulator for Windows, for installing and running GAMIT/GLOBK. To install Cygwin, download and run setup-x86.exe (for 32-bit computers) or setup-x86_64.exe (64-bit) to begin installation. Generally, the defaults shown throughout the installation process are adequate and need not be changed. There are, however, specific packages which are required in addition to the default Cygwin packages that are installed. These are at least:

  • Devel/gcc-fortran (allowing the required dependencies to be installed will ensure the GCC core packages are also installed, including a C compiler)

  • Devel/make

  • Math/bc

  • Shells/tcsh

  • X11/libX11-devel

(One may search for the appropriate packages from the Cygwin package search. Search for “libX11.*” and “Xlib.h” for the X11 libraries and header file, respectively, to find the appropriate package.) We also highly recommend installing the X11/xinit package and its dependencies. This will provide an X Windows environment from which one can open and use, for example, Emacs for creating or editing text files. This is important given the different end-of-line characters between Windows and other systems (Unix, Linux and macOS).

Access to the CDDIS, EarthScope (Formerly UNAVCO) and SOPAC Global Data Centers

Access to the CDDIS global data server via anonymous FTP was discontinued after 31 October 2020. CDDIS now needs to be accessed via authenticated secure HTTP or anonymous secure FTP. Several of our scripts which download data for use during GNSS data processing have been updated to accommodate this change.

We recommend you register to use authenticated secure HTTP by creating a NASA Earthdata account at https://urs.earthdata.nasa.gov/. Then you must include this information in a .netrc file (note the dot at the beginning of the file name) in your home directory with the following line:

machine urs.earthdata.nasa.gov login <username> password <password>

where <username> is replaced by your Earthdata username and <password> is replaced by your Earthdata password. (Do not use quotation marks or brackets around your <username> or <password> in this line in .netrc.) If you do not wish to create an Earthdata account, you may still access the CDDIS archive via anonymous secure FTP but this requires your system to have curl version ≥ 7.11.0 or wget version ≥ 1.18.

We also recommend adding a similar line in a .netrc file in your home directory to provide the CDDIS secure FTP server and the SOPAC server with the information they request:

machine gdc.cddis.eosdis.nasa.gov login anonymous password <email>
machine garner.ucsd.edu login anonymous password <email>

where <email> is replaced by your email address (again, without quotation marks or brackets around it).

We recommend installing the EarthScope Command Line Interface (CLI) to download data and products from EarthScope (formerly UNAVCO). You must have Python version 3.7 or above available on your operating system. We suggest installing the EarthScope CLI in a virtual environment in a hidden directory, e.g. .earthscope-cli, in your home directory and adding $HOME/.earthscope-cli/bin to your PATH environment variable or linking the es program to a directory you already have in your PATH, e.g. ~/gg/com/, so GAMIT/GLOBK may run it, e.g.

$ cd ~
$ mkdir .earthscope-cli
$ python3 -m venv .earthscope-cli
$ . .earthscope-cli/bin/activate
$ pip install earthscope-cli
$ ln -s ~/.earthscope-cli/bin/es ~/gg/com/es

See https://cddis.nasa.gov/Data_and_Derived_Products/CDDIS_Archive_Access.html (CDDIS), https://www.unavco.org/data/gps-gnss/file-server/file-server-access-examples.html (EarthScope, formerly UNAVCO) and http://garner.ucsd.edu/ (SOPAC) for more information.