European Space Agency

European Space Agency

Royal Belgian Institute for Aeronomy

Royal Belgian Institute for Aeronomy

../_images/whiteSpace.png

T.07 - Which subroutines are mandatory?

Answer

Since several common blocks are used in the UNILIB library to pass data between subroutines, calls to initialisation subroutines have to be done before a call to a specific subroutine. The documentation of each subroutine includes a list of the common blocks accessed by the subroutine, and the documentation on the common blocks includes the list of the subroutines which modify or initialize the common blocks. So, an appropriate browsing of the documentation should determine which are the subroutines to be called mandatory before a specific subroutine. For the sake of clarity, the dependencies for the mostly used subroutines are given in the table below. The table indicates when the subroutines ut990(), um510(), um520(), ua610(), ud310() and ut550() have to be called, and in which order.

ut990()

um510()

um520()

ua610()

ud310()

ut550()

Evaluation of the magnetic field vector with subroutines um530(), um539() or ut998()

1

2

3

Tracing of a magnetic field line segment with subroutines ul220(), uf410() or uf420()

1

2

3

Evaluation of the third invariant with subroutine ud330()

1

2

3

4

Applying geocentric/geodetic or cartesian/spherical conversion with subroutines um535(), um536(), ut541(), ut542(), ut546(), ut547()

1

Transforming between coordinate systems with subroutines ut555() or ut556()

1

2(*)

3(*)

4

Converting between date and modified Julian day with subroutines ut540() or ut545()

Evaluating atmospheric densities with subroutines ua630() or ua636()

1

2

Evaluating a mean atmospheric density over a drift shell with subroutine ud320()

1

2

3

4/5

5/4

It clearly appears from the table that, a good rule of conduct consists in calling the subroutine ut990() at the beginning of all application using the UNILIB library.

Note

To initialize the coordinate system transformation, the subroutine ut550() needs as input the orientation of the geomagnetic field dipole axis (MAG, SM, GSM) and the Sun direction (GEI, SM, GSM). The geomagnetic field can be selected with subroutine um510(). The Sun direction can be set either by subroutine um520() or by subroutine um522().

Illustration

None

See also

  • ud310(), trace a magnetic drift shell

  • um510(), select a geomagnetic field model

  • um520(), select an external magnetic field model

  • ut550(), select a coordinate transformation

  • ua610(), select an atmospheric, ionospheric and/or plasmaspheric model

  • ut990(), initialize the UNILIB library

The dependencies of the common blocks defined in the UNILIB library (uc110, uc120, uc130, uc140, uc150, uc160, uc170, uc190, uc192)


UNILIB/tags/v3.02