Return the safety factor q on axis (q0), at the edge (qa)
    the minum values of q (qmin) and the maximum value of q
    (qmax).
real*8, intent(out) :: q0, qa, qmin, qmax
    Return average Grad-Shafranov Error normalized
    to R J_phi on axis.
real*8, intent(out) :: res
    Return the lowest eignevalue of delta-W, th epotential
    energy (determines ideal stability).
real*8, intent(out) :: p
    Return the magnetic axis position [m].
real*8, intent(out) :: p
    Return the magnetic field strength at the
    geometric centre [T].
real*8, intent(out) :: p
    Return the total plasma current [A/mu0].
real*8, intent(out) :: p
    Return the poloidal beta.
real*8, intent(out) :: p
    Return the toroidal beta.
real*8, intent(out) :: p
    Return the Troyon factor, also known
    as beta-Normalized.
real*8, intent(out) :: p
    Return the internal inductance li
real*8, intent(out) :: p
    Return the major radius (R at the geometric
    centre) [m].
real*8, intent(out) :: p
    Return the minor radius [m].
real*8, intent(out) :: p
    Return the cross-section elongation.
real*8, intent(out) :: p
    Return the cross-section triangularity
real*8, intent(out) :: p
    Return the number of coarse grain radial surfaces.
integer, intent(out) :: j
    Return the number of poloidal sections.
integer, intent(out) :: j
    Return the number 'kneg' of zero-crossings occurring at the node
    values 'nodes'. A value of kneg /=0 indicates ideal instability
    by virtue of Newcomb's criterion.
integer, intent(out) :: kneg, nodes(*)
integer, intent(in) :: nodes_size     size of nodes
    Return the number of singular surfaces.
integer, intent(out) :: josing
    Return the Delta' matching matrix in real/imag parts.
    kdim: leading dimension of re_delpr and im_delpr
    ksize: actual size (in general the no of singular surfaces nosing).
    *NOTE* To get the matching data in [1/psi] multiply these data
    by CMATCH.
integer, intent(in) :: kdim, ksize
real*8, intent(out) :: re_delpr(kdim,*), im_delpr(kdim,*)
    Return the Gama' matching matrix in real/imag parts.
    kdim: leading dimension of re_gampr and im_gampr
    ksize: actual size (in general the no of singular surfaces nosing).
    *NOTE*
    1. To get the matching data in [1/psi] multiply these data
    by CMATCH.
    2. These are the raw data after renormalization, which differ from
    the small to large solution coefficients by a term XSMNUS that
    has been subtracted off to regularize the Gamma's.
integer, intent(in) :: kdim, ksize
real*8, intent(out) :: re_gampr(kdim, *), im_gampr(kdim, *)
    Return Delta' error estimate from linear least square fit in the
    no of radial surfaces.
integer, intent(in) :: kdim, ksize
real*8, intent(out) :: err_delpr(kdim, *)
    Return Gamma' error estimate from linear least square fit in the
    no of radial surfaces.
integer, intent(in) :: kdim, ksize
real*8, intent(out) :: err_gampr(kdim, *)
    Return rs normalization factor. Multiply the PEST3
    matching data by this factor to get an approximate
    normalized value in the minor radius.
integer, intent(in) :: ksize
real*8, intent(out) :: pnorm(*)
    Return the subtraction coefficient of small solution of
    odd parity (Eq. 61 in PBD). This is the large solution
    coefficient of order one that is used to renormalized the large
    solution to give a well-behaved Frobenius expansion in the zero
    beta limit.
   
integer, intent(in) :: ksize
real*8, intent(out) :: psmnus(*)
    Return 2 mu f normalization factor in Delta'. Use this factor
    to obtain the matching data in [1/psi].
integer, intent(in) :: ksize
real*8, intent(out) :: pmatch(*)
    Return the values of the poloidal flux on axis (ppsi0), at the
    singular surfaces (ppsis), and at the edge (ppsia).
integer, intent(in) :: ksize
real*8, intent(out) :: ppsi0, ppsis(*), ppsia
    Return mu = sqrt(-D_I) at the singular surfaces, where
    D_I are the ideal Mercier indices.
integer, intent(in) :: ksize
real*8, intent(out) :: pmu(*)
    Return the resistive Mercier indices at the singular
    surfaces.
integer, intent(in) :: ksize
real*8, intent(out) :: p(*)
    Return the safety factor values at the singular
    surfaces.
integer, intent(in) :: ksize
real*8, intent(out) :: p(*)
    Return the Glasser-Greene-Johnson coefficents H at the singular
    surfaces.
integer, intent(in) :: ksize
real*8, intent(out) :: p(*)
    Return the Glasser-Greene-Johnson coefficents F at the singular
    surfaces.
integer, intent(in) :: ksize
real*8, intent(out) :: p(*)
    Return the zero-beta log term (re and imag parts)
integer, intent(in) :: ksize
real*8, intent(out) :: re_p(*), im_p(*)