trend

- 4

Trapped Radiation ENvironment model Development

History

[ Current version | Changes | Future improvements | Release Date ]

Current version

    The current version of the UNILIB libray is

    Version 2.09

    This version has been compiled and delivered for DecAlpha(VMS), PC(MS-Windows), HP9000(HPUX) and SPARC(SunOS) platforms on July 1, 2002.

    The reported bugs for this version are:

    • Problems have been discovered in subroutine UM510 when the argument kint is set to 4 (evaluation of DGRF/IGRF by the Kluge algorithm).

Changes

    From v2.05 to v2.09
    • Several small anomalies have been fixed.
    From v2.03 to v2.05
    • The subroutines UT550 (coordinate transformation) has been corrected for an oversight affecting GSE coordinate system.
    There is no version v2.04
    From v2.02 to v2.03
    • The subroutines UL225 and UM538 have been introduced to compute the invariant radius and latitude (R,lambda), and the magnetic local time (MLT), respectively.
    • The subroutine UXIDL has been created in order to allow the access to the library from IDL on UNIX platforms as well as MS-Windows computers. This subroutine provides an interface to several UNILIB routines.
    • Oversights have been corrected in a few subroutines relating to the argument lbint of subroutine UM510, the computation of multiple L values with subroutine UL220 and the accuracy of subroutine UL242.
    • The algorithm of subroutine UF423 has been slightly modified such that, when some of the diagnostics of subroutine UM530 are generated, the Runge-Kutta step is nevertheless completely applied and new error codes are generated.
    From v2.01 to v2.02
    • The external magnetic field model Tsyganenko 89a (argument kext = 4 in subroutine UM520) has been replaced in EXT530 by the Tsyganenko 89c model.
    • An oversight, present in version 2.00 and 2.01, has been corrected in subroutine UM520. Due to this oversight, the parameters of external field models (passed in the argument param) were forced to their default values. This erroneous behaviour affects user applications using external magnetic field models except the Olson & Pfitzer quiet [1977] model (kext=5).
    From v2.00 to v2.01
    • The number of field line segments generated by subroutine UD317 when tracing a magnetic drift shell has been increased by about 50%.
    • The argument kflag(39) of common block UC150 is active and initialized to 1 by subroutine UT990. The argument is used to control, in subroutine UA633, the dependance of the IRI model either on the Sun spot numbers (default) or on the F10.7 radio flux.
    • The synopsis of the argument zsub of the subroutines UD320 and UA636. The new synopsis is:
            RECORD/zgeo/mpos
            RECORD/zvec/mb
            INTEGER*4     kpar1, ktrl, ifail
            REAL*8        rpar2, eng, fct, rmass
      c      
            CALL ZSUB (kpar1, rpar2, mpos, mb, fct, ifail)      
            CALL UA636 (ktrl, eng, mpos, mb, rmass, ifail)
      It includes the argument mb corresponding to the magnetic field vector at location mpos. Note that the value of argument mb does not affect the behaviour of subroutine UA636.
    • The entries UD322 and UD323 have been implemented in subroutines UD320 and UD321, respectively.
    • The subroutine UL242 has been corrected for a lack of accuracy at low I.
    • The diagnostic messages of subroutine UT980 have been simplified. As a consequence, the subroutines UT981 and UT982 have been removed from the library.
    • Errors in the algorithm of subroutine UD327 have been fixed and the synopsis of the subroutine have been changed. The new synopsis is:
            RECORD /zgeo/ mgp1, mgp2, mgp3, mextr
            REAL*8        fct1, fct2, fct3, est
            INTEGER*4     ifail
      
            CALL UD327 (mgp1, mgp2, mgp3, fct1, fct2, fct3, mextr, est, ifail)
      It includes the argument est to return an estimation of the function. The errors affected the behaviour of the subroutine UD315 which returns the mirror point with the lowest altitude on a magnetic drift shell.
    • An error in passing local time to the atmospheric models MSIS and IRI-90 has been fixed in subroutines UA632 and UA633, respectively.
    • Delivery of a PC/Linux version using the PGI Fortran compiler. Note that the g77 compiler do not support the STRUCTURE and RECORD statements.
    From v1.13 to v2.00
    • The algorithm of subroutines UF420, UF422 and UF427 has been improved for the tracing of field line segment with small value of their integral invariant I.
    • The new subroutines UD317 and UF417 have been created in order to replace the (always existing) subroutines UD310 and UF410, respectively. This replacement should improve the drift shell tracing, specially in near-equatorial regions. FORTRAN programs using subroutine UD310 can be adapted by the insertion of the following lines:
      C     to be included in the declaration part
      C
            RECORD /zlbl/ mlab0
            REAL*8        altmin
      C 
      C     to replace the calling sequence
      C        CALL UD310 (fbm0, flm0, falt, knfl, ktyplus, ifail)
      C
            mlab0.lbmp = .TRUE.
            mlab0.llmi = .TRUE.
            mlab0.linv = .FALSE.
            mlab0.fbmp = fbm0
            mlab0.flmi = flm0
            CALL UD317 (mlab0, falt, ktyplus, altmin, ifail)
      C
      C     note that knfl is ignored by UD317
      C           and altmin is an output argument
      C
      
    • Coordinate transformation to/from the Geocentric Solar Ecliptic coordinate system has been included in subroutine UT550.
    • The library documentation has been reviewed: for each argument of every subroutine, a tag have been added to clearly distinguish between input, output and modifiable arguments.
    From v1.12 to v1.13
    • The synopsis of subroutine UT986 has been modified. FORTRAN programs using previous versions of the library can be adapted by the insertion of the following lines:
      C     to be included in the declaration part
      C
            REAL*8   bsun
      C 
      C     to replace the old calling sequence
      C        CALL UT986 (gm, colat, elong, msun, re)
      C
            CALL UT986(gm, colat, elong, msun, re, bsun)
      
    • The algorithm of subroutines UF420, UF422, UF427 and UF428 have been reviewed and improved. Due to these modifications, the subroutines UL220 and UD310 have a much better behaviour than in version 1.10 or 1.11, especially near the magnetic equator region and at large L.
    Note:gm, colat, elong, msun, re the help page T.07 has been added in the library FAQ.
    From v1.11 to v1.12
    • A bug present in the algorithms of the subroutine UF426, UF427 and UF428 subroutine has been corrected (see R.3).
    • An error in the FORMAT statements of the subroutine UM520 has been corrected.
    • The subroutines UM520 and UM532, and the package EXT530 have been extended in order to implement the external magnetic field model of Ostapenko & Maltsev [1997].
    • Due to problems with some Fortran compilers (e.g. Microsoft PowerStation), the DATA statements of the block data DGRFBD have been directly included in the subroutine UM513. The common block DGRF has been removed.
    From v1.10 to v1.11
    Note: The version v1.11 has not been distributed.
    • The sizes of the common blocks UC120, UC130 and UC170 have been increased to nx120= 500, nx130= 20000, and nx170= 500, respectively. This change affects the include file structure.h.
    • The parameter nx170 is used instead of the argument nxstp of the common block UC190. This last argument has been removed from the common block.
    • The argument kum533 has been added to the common block UC190 to control the behaviour of subroutine UM533. When the argument kum533 is set to a value less or equal to 0, the subroutine UM533 does not check if the current geocentric location is or is not beyond the magnetopause.
    • In subroutine UT990, the initialisation of common blocks UC190 and UC192 has been modified in order to improve the precision of the library. The old and new values of the corresponding arguments are shown in the table below.

      Argumentv1.10 and earlierNew value
      stepx0.40.075
      stpmin5.02.0
      epskm0.250.20
      stplst25.015.0
      dltlat2.01.0

    From v1.07 to v1.10
    • Print formats in subroutines UM520 and UT993 have been modified.
    • Bugs in the coordinate transformation (subroutine UT550) have been fixed.
    • Note that the Postscript and the PDF versions of the documentation have been rebuilt.
    There are no versions v1.08 and v1.09
    From v1.06 to v1.07
    • Bugs in the implementation of the external magnetic field models have been fixed (R.02).
    • The Tsyganenko T96 external magnetic field model has been included (EXT530).
    • The synopsis of subroutine UM520 has been modified. FORTRAN programs using previous versions of the library can be adapted by the insertion of the following lines:
      C     to be included in the declaration part
      C
            REAL*8   param(10)
            DATA     param/ 10*0.0d0/
      C 
      C     to replace the old calling sequence
      C        CALL UM520(kext, amjd, dst, fkp, swd, swv, lbext, kunit, ifail)
      C
            param(1) =  fkp
            param(2) =  dst
            param(4) =  swd
            param(5) =  swv
            CALL UM520(kext, amjd, param, lbext, kunit, ifail)
      
    • The declaration of the structure /zemf/ has been modified. Consequently the include file structure.h is changed and has to be reloaded.
    • A drift shell printing subroutine has been added (UT993).
    • The DGRF/IGRF block data has been declared as REAL*8 instead of REAL*4 (DGRFBD).

    From v1.05 to v1.06

    Version v1.05
    The version 1.05 is the first official version of the library.

Future improvements

  • To be determined

Release Date

    A new version of the library will probably not be delivered before December 1999. The table below shows the release date of the previous versions.

    v2.05November 1999v1.11December 1997
    v2.02March 1999 v1.10November 1997
    v2.01January 1999 v1.07September 1997
    v2.00June 1998 v1.06September 1997
    v1.13February 1998v1.05August 1997
    v1.12January 1998