Define fieldline structure, contains routines to process it, interface to read it. More...
Data Types | |
type | fieldline_type |
nsize: length of fieldline arrays curv : curvlinear abscissa (m) alt : altitude (m) r : radial distance (normalised by Rastre) lon : longitude (degree) lat : latitude (degree) bnorm: magnetic field norm (T) br : B radial (T) bp : B zonal (T) bt ! B meridional (T) More... | |
Public Member Functions | |
subroutine | maximum_altitude (fieldline, zmax, imax) |
Find the maximum altitude and its index. | |
real *8 function | expansion_factor (fieldline, ialt_in) |
Compute the expansion factor at some altitude. More... | |
subroutine | order_fieldline (fieldline) |
Rearrange orientation of a fieldline. More... | |
logical function | is_closed (fieldline) |
Check if a fieldline is closed or open. More... | |
subroutine | split_fieldline (x, x_s, x_n) |
Split a closed magnetic fieldline into its 2 hemispheres. More... | |
subroutine | print_fieldline (x, fid) |
Print a fieldline_type in an already open file. | |
subroutine | allocate_fieldline (x) |
Allocate fieldline_type. | |
subroutine | deallocate_fieldline (x) |
Deallocate fieldline_type. | |
Define fieldline structure, contains routines to process it, interface to read it.
real*8 function module_fieldline::expansion_factor | ( | type(fieldline_type), intent(in) | fieldline, |
integer, intent(in) | ialt_in | ||
) |
Compute the expansion factor at some altitude.
[in] | fieldline | type(fieldline) |
[in] | ialt_in | index altitude where the factor is computed |
expansion_factor = (R(1)/R(ialt_in))^2*(Bnorm(1)/Bnorm(ialt_in))
logical function module_fieldline::is_closed | ( | type(fieldline_type) | fieldline | ) |
Check if a fieldline is closed or open.
Close if zmax .gt. fieldlinealt(1) .and. zmax .gt. fieldlinealt(fieldlinensize)
subroutine module_fieldline::order_fieldline | ( | type(fieldline_type) | fieldline | ) |
Rearrange orientation of a fieldline.
For open fieldline:
bottom at ialt == 1
For close fieldline:
first index is in Southern hemisphere or at least southern than last index
subroutine module_fieldline::split_fieldline | ( | type(fieldline_type), intent(in) | x, |
type(fieldline_type) | x_s, | ||
type(fieldline_type) | x_n | ||
) |
Split a closed magnetic fieldline into its 2 hemispheres.
Apex at Rmax or Bmin (index = nmax).
First hemisphere (Southern or Southest)
Second hemisphere (Northern or Northest)