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_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.


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_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.


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.