Derived Types
- type specgrid_t
The specgrid_t type represents a grid of spectroscopic data.
This grid may be used to interpolate the intensity (or related quantities) across a wavelength abscissa and for a set of photospheric parameter values.
- subroutine get_rank(rank)
Get the rank (dimension) of the grid.
- Parameters:
rank [integer ,out] :: Rank.
- subroutine get_shape(shape)
Get the shape of the grid.
- Parameters:
shape (*) [integer ,out] :: Shape; length rank.
- subroutine get_axis(i, axis)
Get an axis of the grid.
- Parameters:
i [integer ,in] :: Index of axis (between 1 and rank).
axis [axis_t ,out] :: Axis.
- subroutine get_lam_min(lam_min)
Get the minimum wavelength of the grid.
- Parameters:
lam_min [real(RD),out] :: Minimum wavelength (Å).
- subroutine get_lam_max(lam_max)
Get the maximum wavelength of the grid.
- Parameters:
lam_max [real(RD),out] :: Maximum wavelength (Å).
- subroutine get_cache_lam_min(cache_lam_min)
Get the minimum wavelength of the grid cache.
- Parameters:
lam_min [real(RD),out] :: Minimum wavelength (Å).
- subroutine get_cache_lam_max(cache_lam_max)
Get the maximum wavelength of the grid cache.
- Parameters:
cache_lam_max [real(RD),out] :: Maximum wavelength (Å).
- subroutine get_cache_limit(cache_limit)
Get the maximum memory usage of the grid cache.
- Parameters:
cache_limit [integer ,out] :: Maximum memory usage (MB).
- subroutine get_cache_usage(cache_usage)
Get the current memory usage of the grid cache.
- Parameters:
cache_usage [integer ,out] :: Current memory usage (MB)
- subroutine set_cache_lam_min(cache_lam_min, stat)
Set the minimum wavelength of the grid cache.
- Parameters:
lam_min [real(RD),in] :: Minimum wavelength (Å).
- Options:
stat [integer ,out] :: Status code.
- subroutine set_cache_lam_max(cache_lam_max, stat)
Set the maximum wavelength of the grid cache.
- Parameters:
cache_lam_max [real(RD),in] :: Maximum wavelength (Å).
- Options:
stat [integer ,out] :: Status code.
- subroutine set_cache_limit(cache_limit, stat)
Set the maximum memory usage of the grid cache.
- Parameters:
cache_limit [integer ,in] :: Maximum memory usage (MB).
- Options:
stat [integer ,out] :: Status code.
- subroutine interp_intensity(x_vec, mu, lam, I, stat, deriv_vec)
Interpolate the spectroscopic intensity.
- Parameters:
x_vec (*) [real(RD),in] :: Photospheric parameter values.
mu [real(RD),in] :: Cosine of angle of emergence relative to surface normal.
lam (*) [real(RD),in] :: Wavelength abscissa (Å).
I (*) [real(RD),out] :: Spectroscopic intensity (erg/cm^2/s/Å/sr) in bins delineated by lam; length LEN(lam)-1.
- Options:
stat [integer ,out] :: Status code.
deriv_vec (*) [logical ,in] :: Derivative flags.
- subroutine interp_E_moment(x_vec, k, lam, E, stat, deriv_vec)
Interpolate the spectroscopic intensity E-moment.
- Parameters:
x_vec (*) [real(RD),in] :: Photospheric parameter values.
k [integer ,in] :: Degree of moment.
lam (*) [real(RD),in] :: Wavelength abscissa (Å).
E (*) [real(RD),out] :: Spectroscopic intensity E-moment (erg/cm^2/s/Å) in bins delineated by lam; length LEN(lam)-1.
- Options:
stat [integer ,out] :: Status code.
deriv_vec (*) [logical ,in] :: Derivative flags.
- subroutine interp_D_moment(x_vec, l, lam, D, stat, deriv_vec)
Interpolate the spectroscopic intensity D-moment.
- Parameters:
x_vec (*) [real(RD),in] :: Photospheric parameter values.
l [integer ,in] :: Harmonic degree of moment.
lam (*) [real(RD),in] :: Wavelength abscissa (Å).
D (*) [real(RD),out] :: Spectroscopic intensity D-moment (erg/cm^2/s/Å) in bins delineated by lam; length LEN(lam)-1.
- Options:
stat [integer ,out] :: Status code.
deriv_vec (*) [logical ,in] :: Derivative flags.
- subroutine interp_flux(x_vec, lam, I, stat, deriv_vec)
Interpolate the spectroscopic flux.
- Parameters:
x_vec (*) [real(RD),in] :: Photospheric parameter values.
lam (*) [real(RD),in] :: Wavelength abscissa (Å).
F (*) [real(RD),out] :: Spectroscopic flux (erg/cm^2/s/Å) in bins delineated by lam; length LEN(lam)-1.
- Options:
stat [integer ,out] :: Status code.
deriv_vec (*) [logical ,in] :: Derivative flags.
- subroutine adjust_x_vec(x_vec, dx_vec, x_adj, stat)
Adjust photospheric parameters in a specified direction, until they fall within a valid part of the grid.
- Parameters:
x_vec (*) [real(RD),in] :: Photospheric parameter values.
dx_vec (*) [real(RD),in] :: Photospheric parameter adjustment direction. The overall scaling is unimportant, but at least one element must be non-zero.
x_adj (*) [real(RD),out] :: Adjusted photospheric parameter values.
- Options:
stat [integer ,out] :: Status code.
- type photgrid_t
The photgrid_t type represents a grid of photometric data.
This grid may be used to interpolate the intensity (or related quantities) for a set of photospheric parameter values.
- subroutine get_rank(rank)
Get the rank (dimension) of the grid.
- Parameters:
rank [integer ,out] :: Returned rank.
- subroutine get_shape(shape)
Get the shape of the grid.
- Parameters:
shape (*) [integer ,out] :: Shape; length rank.
- subroutine get_axis(i, axis)
Get an axis of the grid.
- Parameters:
i [integer ,in] :: Index of axis (between 1 and rank)
axis [axis_t ,out] :: Returned axis.
- subroutine get_cache_limit(cache_limit)
Get the maximum memory usage of the cache.
- Parameters:
cache_limit [integer ,out] :: Maximum memory usage (MB).
- subroutine get_cache_usage(cache_usage)
Get the current memory usage of the cache.
- Parameters:
cache_usage [integer ,out] :: Current memory usage (MB)
- subroutine set_cache_limit(cache_limit, stat)
Set the maximum memory usage of the cache.
- Parameters:
cache_limit [integer ,in] :: Maximum memory usage (MB).
- Options:
stat [integer ,out] :: Status code.
- subroutine interp_intensity(x_vec, mu, I, stat, deriv_vec)
Interpolate the photometric intensity, normalized to the zero-point flux.
- Parameters:
x_vec (*) [real(RD),in] :: Photospheric parameter values.
mu [real(RD),in] :: Cosine of angle of emergence relative to surface normal.
I [real(RD),out] :: Photometric intensity (/sr).
- Options:
stat [integer ,out] :: Status code.
deriv_vec (*) [logical ,in] :: Derivative flags.
- subroutine interp_E_moment(x_vec, k, E, stat, deriv_vec)
Interpolate the photometric E-moment, normalized to the zero-point flux.
- Parameters:
x_vec (*) [real(RD),in] :: Photospheric parameter values.
k [integer ,in] :: Degree of of moment.
E [real(RD),out] :: Photometric E-moment.
- Options:
stat [integer ,out] :: Status code.
deriv_vec (*) [logical ,in] :: Derivative flags.
- subroutine interp_D_moment(x_vec, l, D, stat, deriv_vec)
Interpolate the photometric D-moment, normalized to the zero-point flux.
- Parameters:
x_vec (*) [real(RD),in] :: Photospheric parameter values.
l [integer ,in] :: Harmonic degree of moment.
D [real(RD),out] :: Photometric D-moment.
- Options:
stat [integer ,out] :: Status code.
deriv_vec (*) [logical ,in] :: Derivative flags.
- subroutine interp_flux(x_vec, F, stat, deriv_vec)
Interpolate the photometric flux, normalized to the zero-point flux.
- Parameters:
x_vec (*) [real(RD),in] :: Photospheric parameter values.
F [real(RD),out] :: Photometric flux.
- Options:
stat [integer ,out] :: Status code.
deriv_vec (*) [logical ,in] :: Derivative flags.
- subroutine adjust_x_vec(x_vec, dx_vec, x_adj, stat)
Adjust photospheric parameters in a specified direction, until they fall within a valid part of the grid.
- Parameters:
x_vec (*) [real(RD),in] :: Photospheric parameter values.
dx_vec (*) [real(RD),in] :: Photospheric parameter adjustment direction. The overall scaling is unimportant, but at least one element must be non-zero.
x_adj (*) [real(RD),out] :: Adjusted photospheric parameter values.
- Options:
stat [integer ,out] :: Status code.
- type axis_t
The axis_t type represents a grid axis.
- subroutine get_n(n)
Get the number of points making up the axis.
- Parameters:
rank [integer ,out] :: Number of points.
- subroutine get_x_min(x_min)
Get the minimum value of the axis.
- Parameters:
x_min [real(RD),out] :: Minimum value.
- subroutine get_x_max(x_max)
Get the maximum value of the axis.
- Parameters:
x_max [real(RD),out] :: Maximum value.
- subroutine get_label(label)
Get the axis label.
- Parameters:
character (*) :: Label.
- subroutine fetch(i, x, stat)
Fetch an axis value.
- Parameters:
i [integer ,in] :: Index of value (from 1 to n).
x [real(RD),out] :: Axis value.
- Options:
stat [integer ,out] :: Status code.
- subroutine locate(x, i)
Locate where along the axis a value falls.
- Parameters:
x [real(RD),out] :: Value to locate.
i [integer ,out] :: Location index.