Download

Fortran Source Code

The Fortran source codes listed below can be compiled into executable programs by g77 and gfortran which are usually installed on Linux workstations. On Windows PCs, Cygwin plathome provides such compiliers. In order to run the programs with the IGRF model and the IRI model, external data file which are created by optional programs are required.

VLF_DE_dipole_F.f

VLF_DE_IGRF_F.f

RAY TRACING PROGRAM FOR VLF WAVE (X-MODE) IN DE-MODEL
Dipole model is selected in REF by Call dipole   
IGRF model is selected in REF by Call IGRF
kizami H is shown in Adam_update 
Result of ray tracing (OUT1) is written in fort.21 
Instantaneous H is written in fort.25                 

HF_IRI_dipole_F.f

RAY TRACING PROGRAM FOR HF WAVE O- and X-mode IN IRI-MODEL
Dipole model is selected in REF by Call dipole   
IGRF model is selected in REF by Call IGRF
O-mode is for MODEPR= 0 and X-mode is for MODEPR = 1 
kizami H is shown in Adam_update 
Result of ray tracing (OUT1) is written in fort.21 
Instantaneous H is written in fort.25  
Maximum number of hops is assigned by NOHOPS 

IRI data are processed from IRI using e.g. IRI_UT03_5, in which ionospheric data at UT03hour for a certain altitude, latitude and longitude range assigned in the iri_main.f. Processed data are stored in 'iri_UT03_5.dat' which is taken to the present ray tracing program, and rearranged as ENE(I,J,K).

mesh.f

iri_UT03_5.zip

C++ Source Code

Basic program

The basic C++ program is simply a translation of the FORTRAN program listed above. In this C++ program, the IGRF model and the diffusive equilibrium density model are used to derive refractive indices. The IGRF model is updated to the 10th generation model which covers the period between 1900 and 2010. Although the program code is divided into several files, they can be compiled together by make command.

Basic ray tracing program : igrf_de.tgz

Ray tracing using the GCPM

The global core plasma model (GCPM) which was developed by D. L. Gallagher [Gallagher et al., 2000] represents plasma density distribution as a function of geomagnetic and solar conditions throughout the inner magnetosphere. The GCPM is composed of existing region-specific models for the ionosphere, plasmasphere, plasmapause, trough, and polar cap. One of the great advantages to use the GCPM in the ray tracing is that the model always provides continuous density in value and gradients. As an implementation of the GCPM, FORTRAN computer code is available on the NASA website ( http://plasmasphere.nasa.gov/models/ ). Although the latest version of the GCPM is 2.4 in Feb. 2010, we have only verified the validity of the ray tracing program with the GCPM whose version is 2.2. Three packages ( gcpm_v22.zip, 00_iri2007.tar, and xform.zip ) on the website are required to make the ray tracing program with the GCPM. Each package includes tens of FORTRAN subroutines. In order to remove bugs and adapt the subroutines to the ray tracing source code, patch files should be applied. Then, the subroutines in the packages are compiled into library files libgcpm.a, libiri2007.a, and libxform.a, respectively. An executable program is obtained by linking these libraries to object files of the ray tracing.

Ray tracing program using the GCPM: igrf_gcpm.tgz

How to make the GCPM library

(1) Extract gcpm_v22.zip into the directory gcpm_v22

% unzip gcpm_v22.zip –d gcpm_v22

(2) Place the patch file ( gcpm_v22.patch ) to the directory gcpm_v22 and apply it.

% cd gcpm_v22; patch < gcpm_v22.patch

(3) Make

How to make the IRI library

(1) Extract 00_iri2007.tar into the directory named iri2007

% mkdir iri2007; tar xvf 00_iri2007.tar –C iri2007

(2) Move IRI data files to the directory /usr/local/etc/iri2007

% mkdir /usr/local/etc/iri2007

% mv iri2007/*.dat iri2007/*.asc /usr/local/etc/iri2007

(3) Place the patch file ( iri2007.patch ) to the directory iri2007 and apply it.

% cd iri2007; patch < iri2007.patch

(4) Make

It takes 30 minutes or more to compile iridreg.for by gfortran.

How to make the xform library

(1) Extract xform.zip into the directory xform

% unzip xform.zip –d xform

(2) Move source codes in a subdirectory to the top of the xform directory.

% mv xform/Myprojects/Coordinates_Math/xform/* xform/

(3) Place the Makefile to the directory

(4) Make