! written by plasma_state_gen.py
!   input: plasma_state_spec.dat, version id: 2.055
! *** do not edit *** (use code generator instead)


Python code generated description of PLASMA_STATE definition:
=============================================================

For the original specification and description of elements and parts of
the plasma state and its definition, please see:

                   plasma_state_spec.dat ...

For an alphabetic listing of all plasma state components and data elements,
please see:

                   plasma_state_index.txt ...

For a listing of data elements, sorted by component, and sorted within
each component by section, please see:

                   ps_component_index.txt ...

Every data element belongs to a physics component and to one of the
following section categories:

   MACHINE_DESCRIPTION  --  time invariant within a simulation.
   SHOT_CONFIGURATION   --  time invariant within a simulation.
   SIMULATION_INIT      --  time invariant within a simulation.

      data elements in the above are scalars or arrays of rank at most 1.

   STATE_DATA     --  time varying scalars and arrays of scalars.
   STATE_PROFILES --  time varying gridded profile data.

=============================================================
=============================================================


Data elements, sorted by SWIM physics components (components listed in
alphabetic order; elements sorted by section within each component listing):


-------------------------------------------------------------------------
Physics component:  ANOM:
     Anomalous transport

  Section: MACHINE_DESCRIPTION (component: ANOM)
    (no data elements)

  Section: SHOT_CONFIGURATION (component: ANOM)
    (no data elements)

  Section: SIMULATION_INIT (component: ANOM)

    ANOM_CODE_INFO:
      Specification:  C*80   ANOM_Code_Info
      Declaration:  CHARACTER*80 ps%ANOM_Code_Info
      Comments:
        Information: code implementing ANOM component

    E_ANOM:
      Specification:  G  E_anom(nefi_anom)
      Declaration:  REAL(KIND=rspec) ps%E_anom(ps%nefi_anom)
      Units:  keV
      Comments:
        (optional) energy grid (1d profiles)
        for separated variation of fast ion
        anomalous transport with fast ion energy

    E_ANOM2:
      Specification:  G  E_anom2(nefi_anom2)
      Declaration:  REAL(KIND=rspec) ps%E_anom2(ps%nefi_anom2)
      Units:  keV
      Comments:
        energy grid (2d anomalous transport profiles)
        for Db(E,rho), separate profiles for various
        pitch related limiting orbit topologies:
        deeply trapped
        barely trapped
        barely passing  co/ctr
        vpll/v -> 1 limit  co/ctr

    NEFI_ANOM:
      Specification:  G  E_anom(nefi_anom)
      Declaration:  INTEGER ps%nefi_anom
      Comments:
        grid dimension of E_anom (E coordinate)

    NEFI_ANOM2:
      Specification:  G  E_anom2(nefi_anom2)
      Declaration:  INTEGER ps%nefi_anom2
      Comments:
        grid dimension of E_anom2 (E coordinate)

    NKY_ANOMTH:
      Specification:  I|ENUM  nky_anomth
      Declaration:  INTEGER ps%nky_anomth
      Comments:
        number of points, ky grid ( anomalous data over ky spectrum)

    NKY_MMM:
      Specification:  I|ENUM  nky_mmm
      Declaration:  INTEGER ps%nky_mmm
      Comments:
        number of points, ky grid for MMM model

    NRHO_ANOM:
      Specification:  G  rho_anom(nrho_anom)
      Declaration:  INTEGER ps%nrho_anom
      Comments:
        grid dimension of rho_anom (RHO coordinate)

    NRHO_ANOM2:
      Specification:  G  rho_anom2(nrho_anom2)
      Declaration:  INTEGER ps%nrho_anom2
      Comments:
        grid dimension of rho_anom2 (RHO coordinate)

    NRHO_ANOMTH:
      Specification:  G  rho_anomth(nrho_anomth)
      Declaration:  INTEGER ps%nrho_anomth
      Comments:
        grid dimension of rho_anomth (RHO coordinate)

    RHO_ANOM:
      Specification:  G  rho_anom(nrho_anom)
      Declaration:  REAL(KIND=rspec) ps%rho_anom(ps%nrho_anom)
      Units:  -
      Comments:
        rho grid (1d anomalous transport profiles)

    RHO_ANOM2:
      Specification:  G  rho_anom2(nrho_anom2)
      Declaration:  REAL(KIND=rspec) ps%rho_anom2(ps%nrho_anom2)
      Units:  -
      Comments:
        rho grid (2d anomalous transport profiles)

    RHO_ANOMTH:
      Specification:  G  rho_anomth(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%rho_anomth(ps%nrho_anomth)
      Units:  -
      Comments:
        rho grid (1d anomalous data for 1d
        transport models)

  Section: STATE_DATA (component: ANOM)

    NMDIFB:
      Specification:  I   nmdifb = 0
      Declaration:  INTEGER ps%nmdifb
      Comments:
        type of fast ion diffusivity
        =4: 2D fast ion diffusivity from ufiles
        =6: fast ion diffusivity from dep code

    NMODEL_BDY:
      Specification:  R|units=m^-3   nmodel_bdy
      Declaration:  REAL(KIND=rspec) ps%nmodel_bdy
      Units:  m^-3
      Comments:
        model density, boundary value

    TMODEL_BDY:
      Specification:  R|units=keV    tmodel_bdy
      Declaration:  REAL(KIND=rspec) ps%tmodel_bdy
      Units:  keV
      Comments:
        model temperature, boundary value

  Section: STATE_PROFILES (component: ANOM)

    ANOM_EVAR:
      Specification:  R|pclin|units=- anom_evar(nefi_anom)
      Declaration:  REAL(KIND=rspec) ps%anom_evar(ps%nefi_anom)
      Units:  -
      Comments:
        anomalous transport energy variation
        =1 to use transport profiles as given; O(1) expected.
        if undefined, use transport profiles as given.

    BIDIFF_BPASS_CO:
      Specification:  R|units=m^2/sec|pclin  bidiff_bpass_co(nefi_anom2,nrho_anom2,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%bidiff_bpass_co(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_beam)
      Units:  m^2/sec
      Comments:
        beam ion diffusivity: co barely passing orbits

    BIDIFF_BPASS_CTR:
      Specification:  R|units=m^2/sec|pclin  bidiff_bpass_ctr(nefi_anom2,nrho_anom2,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%bidiff_bpass_ctr(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_beam)
      Units:  m^2/sec
      Comments:
        beam ion diffusivity: ctr barely passing orbits

    BIDIFF_BTRAP:
      Specification:  R|units=m^2/sec|pclin  bidiff_btrap(nefi_anom2,nrho_anom2,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%bidiff_btrap(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_beam)
      Units:  m^2/sec
      Comments:
        beam ion diffusivity: barely trapped orbits

    BIDIFF_DPASS_CO:
      Specification:  R|units=m^2/sec|pclin  bidiff_dpass_co(nefi_anom2,nrho_anom2,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%bidiff_dpass_co(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_beam)
      Units:  m^2/sec
      Comments:
        beam ion diffusivity: co passing |vpll/v| -> 1

    BIDIFF_DPASS_CTR:
      Specification:  R|units=m^2/sec|pclin  bidiff_dpass_ctr(nefi_anom2,nrho_anom2,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%bidiff_dpass_ctr(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_beam)
      Units:  m^2/sec
      Comments:
        beam ion diffusivity: ctr passing |vpll/v| -> 1

    BIDIFF_DTRAP:
      Specification:  R|units=m^2/sec|pclin  bidiff_dtrap(nefi_anom2,nrho_anom2,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%bidiff_dtrap(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_beam)
      Units:  m^2/sec
      Comments:
        beam ion diffusivity: deeply trapped orbits

    CHIE_ANOM:
      Specification:  R|units=m^2/sec|pclin  chie_anom(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_anom(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        Te-equation, diffusivity term

    CHIE_DRBM:
      Specification:  R|units=m^2/sec|pclin  chie_drbm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_drbm(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        Te-equation, diffusivity term

    CHIE_ETG:
      Specification:  R|units=m^2/sec|pclin chie_etg(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_etg(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        Te-equation, diffusivity term ETG model

    CHIE_GLF:
      Specification:  R|units=m^2/s|pclin chie_glf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_glf(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Te-equation, diffusivity from GLF23 model

    CHIE_GTCNEO:
      Specification:  R|units=m^2/s|pclin chie_gtcneo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_gtcneo(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Te-equation, neoclassical diffusivity from GTC_NEO model

    CHIE_MMM71:
      Specification:  R|units=m^2/sec|pclin  chie_mmm71(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_mmm71(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        Te-equation, diffusivity term

    CHIE_MTM:
      Specification:  R|units=m^2/sec|pclin chie_mtm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_mtm(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        Te-equation, thermal diffusivity term MTM model

    CHIE_NCLASS:
      Specification:  R|units=m^2/s|pclin chie_nclass(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_nclass(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Te-equation, neoclassical diffusivity from NCLASS model

    CHIE_NEO:
      Specification:  R|units=m^2/s|pclin chie_neo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_neo(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Te-equation, neoclassical diffusivity from NEO model

    CHIE_NTM:
      Specification:  R|units=m^2/s|pclin chie_ntm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_ntm(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Te-equation, neoclassical diffusivity from NTM model

    CHIE_PALEO:
      Specification:  R|units=m^2/sec|pclin chie_paleo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_paleo(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        Te-equation, diffusivity term PALEO model

    CHIE_TGLF:
      Specification:  R|units=m^2/s|pclin chie_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_tglf(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Te-equation, diffusivity from TGLF model

    CHIE_W19:
      Specification:  R|units=m^2/sec|pclin  chie_w19(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chie_w19(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        Te-equation, diffusivity term

    CHII_ANOM:
      Specification:  R|units=m^2/sec|pclin  chii_anom(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chii_anom(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        Ti-equation, diffusivity term

    CHII_DRBM:
      Specification:  R|units=m^2/sec|pclin  chii_drbm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chii_drbm(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        Ti-equation, diffusivity term

    CHII_GLF:
      Specification:  R|units=m^2/s|pclin chii_glf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chii_glf(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Ti-equation, diffusivity from GLF23 model

    CHII_GTCNEO:
      Specification:  R|units=m^2/s|pclin chii_gtcneo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chii_gtcneo(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Ti-equation, neoclassical diffusivity from GTC_NEO model

    CHII_MMM71:
      Specification:  R|units=m^2/sec|pclin  chii_mmm71(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chii_mmm71(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        Ti-equation, diffusivity term

    CHII_NCLASS:
      Specification:  R|units=m^2/s|pclin chii_nclass(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chii_nclass(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Ti-equation, neoclassical diffusivity from NCALSS model

    CHII_NEO:
      Specification:  R|units=m^2/s|pclin chii_neo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chii_neo(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Ti-equation, neoclassical diffusivity from NEO model

    CHII_NTM:
      Specification:  R|units=m^2/s|pclin chii_ntm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chii_ntm(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Ti-equation, neoclassical diffusivity from NTM model

    CHII_TGLF:
      Specification:  R|units=m^2/s|pclin chii_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chii_tglf(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        Ti-equation, diffusivity from TGLF model

    CHII_W19:
      Specification:  R|units=m^2/sec|pclin  chii_w19(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chii_w19(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        Ti-equation, diffusivity term

    CHIPHI_ANOM:
      Specification:  R|units=m^2/sec|pclin  chiphi_anom(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chiphi_anom(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        momentum-equation, diffusivity term

    CHIPHI_DRBM:
      Specification:  R|units=m^2/sec|pclin  chiphi_drbm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chiphi_drbm(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        momentum-equation, diffusivity term

    CHIPHI_GLF:
      Specification:  R|units=m^2/s|pclin chiphi_glf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chiphi_glf(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        momentum-equation, diffusivity from GLF23 model

    CHIPHI_GTCNEO:
      Specification:  R|units=m^2/s|pclin chiphi_gtcneo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chiphi_gtcneo(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        momentum-equation, neoclassical diffusivity from GTC_NEO model

    CHIPHI_MMM71:
      Specification:  R|units=m^2/sec|pclin  chiphi_mmm71(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chiphi_mmm71(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        momentum-equation, diffusivity term, toroidal

    CHIPHI_NEO:
      Specification:  R|units=m^2/s|pclin chiphi_neo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chiphi_neo(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        momentum-equation, neoclassical diffusivity from NEO model

    CHIPHI_TGLF:
      Specification:  R|units=m^2/s|pclin chiphi_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chiphi_tglf(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        momentum-equation, diffusivity from TGLF model

    CHIPHI_W19:
      Specification:  R|units=m^2/sec|pclin  chiphi_w19(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chiphi_w19(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        momentum-equation, diffusivity term

    CHITHETA_MMM71:
      Specification:  R|units=m^2/sec|pclin  chitheta_mmm71(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%chitheta_mmm71(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        momentum-equation, diffusivity term, poloidal

    DB_MTM:
      Specification:  R|units=-|pclin db_mtm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%db_mtm(ps%nrho_anomth)
      Units:  -
      Comments:
        dB/B from MTM model

    DIFB_FUSI:
      Specification:  R|pclin  difb_fusi(nrho_anom)
      Declaration:  REAL(KIND=rspec) ps%difb_fusi(ps%nrho_anom)
      Units:  m^2/sec
      Comments:
        fusion ion anomalous diffusivity

    DIFB_NBI:
      Specification:  R|pclin  difb_nbi(nrho_anom)
      Declaration:  REAL(KIND=rspec) ps%difb_nbi(ps%nrho_anom)
      Units:  m^2/sec
      Comments:
        beam ion anomalous diffusivity

    DIFB_RFMI:
      Specification:  R|pclin  difb_rfmi(nrho_anom)
      Declaration:  REAL(KIND=rspec) ps%difb_rfmi(ps%nrho_anom)
      Units:  m^2/sec
      Comments:
        RF minority ion anomalous diffusivity

    DIFNE_NCLASS:
      Specification:  R|units=m^2/s|pclin difne_nclass(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%difne_nclass(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        electron-density-equations, neoclassical diffusivity from NCLASS model

    DIFNH_NCLASS:
      Specification:  R|units=m^2/s|pclin difnh_nclass(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%difnh_nclass(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        main-hydrogenic-density-equations, neoclassical diffusivity from NCLASS model

    DIFNS_ANOM:
      Specification:  R|units=m^2/sec|pclin  difns_anom(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%difns_anom(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m^2/sec
      Comments:
        density-equations, diffusivity term

    DIFNS_DRBM:
      Specification:  R|units=m^2/sec|pclin  difns_drbm(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%difns_drbm(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m^2/sec
      Comments:
        density-equations, diffusivity term

    DIFNS_GLF:
      Specification:  R|units=m^2/s|pclin difns_glf(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%difns_glf(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m^2/s
      Comments:
        density-equations, diffusivity from GLF23 model

    DIFNS_GTCNEO:
      Specification:  R|units=m^2/s|pclin difns_gtcneo(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%difns_gtcneo(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m^2/s
      Comments:
        density-equations, neoclassical diffusivity from GTC_NEO model

    DIFNS_MMM71:
      Specification:  R|units=m^2/sec|pclin  difns_mmm71(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%difns_mmm71(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m^2/sec
      Comments:
        density-equations, diffusivity term

    DIFNS_NCLASS:
      Specification:  R|units=m^2/s|pclin difns_nclass(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%difns_nclass(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m^2/s
      Comments:
        density-equations, neoclassical diffusivity from NCLASS model

    DIFNS_NEO:
      Specification:  R|units=m^2/s|pclin difns_neo(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%difns_neo(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m^2/s
      Comments:
        density-equations, neoclassical diffusivity from NEO model

    DIFNS_TGLF:
      Specification:  R|units=m^2/s|pclin difns_tglf(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%difns_tglf(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m^2/s
      Comments:
        density-equations, diffusivity from TGLF model

    DIFNS_W19:
      Specification:  R|units=m^2/sec|pclin  difns_w19(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%difns_w19(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m^2/sec
      Comments:
        density-equations, diffusivity term

    DIFNX_NCLASS:
      Specification:  R|units=m^2/s|pclin difnx_nclass(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%difnx_nclass(ps%nrho_anomth)
      Units:  m^2/s
      Comments:
        main-impurity-density-equations, neoclassical diffusivity from NCLASS model

    DIFNZ_MMM71:
      Specification:  R|units=m^2/sec|pclin  difnz_mmm71(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%difnz_mmm71(ps%nrho_anomth)
      Units:  m^2/sec
      Comments:
        impurity ion diffusivity term

    DQEDGRDTE_TGLF:
      Specification:  R|units=1/(m*s)|pclin dQedGrdte_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%dQedGrdte_tglf(ps%nrho_anomth)
      Units:  1/(m*s)
      Comments:
        Te flux gradient term from TGLF model

    DQEDGRDTI_TGLF:
      Specification:  R|units=1/(m*s)|pclin dQedGrdti_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%dQedGrdti_tglf(ps%nrho_anomth)
      Units:  1/(m*s)
      Comments:
        Te flux gradient term from TGLF model

    DQIDGRDTE_TGLF:
      Specification:  R|units=1/(m*s)|pclin dQidGrdte_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%dQidGrdte_tglf(ps%nrho_anomth)
      Units:  1/(m*s)
      Comments:
        Ti flux gradient term from TGLF model

    DQIDGRDTI_TGLF:
      Specification:  R|units=1/(m*s)|pclin dQidGrdti_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%dQidGrdti_tglf(ps%nrho_anomth)
      Units:  1/(m*s)
      Comments:
        Ti flux gradient term from TGLF model

    EE_MOBILITY_FACTOR:
      Specification:  R|units=-|Hermite  ee_mobility_factor(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%ee_mobility_factor(ps%nrho_anomth)
      Units:  -
      Comments:
        chi_e/chi_i
        ratio of electron heat diffusivity to ion heat diffusivity, a model input
        (does not effect relative non-diffusive heat pinch velocities).

    FIDIFF_BPASS_CO:
      Specification:  R|units=m^2/sec|pclin  fidiff_bpass_co(nefi_anom2,nrho_anom2,nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%fidiff_bpass_co(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_fusion)
      Units:  m^2/sec
      Comments:
        fusion ion diffusivity: co barely passing orbits

    FIDIFF_BPASS_CTR:
      Specification:  R|units=m^2/sec|pclin  fidiff_bpass_ctr(nefi_anom2,nrho_anom2,nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%fidiff_bpass_ctr(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_fusion)
      Units:  m^2/sec
      Comments:
        fusion ion diffusivity: ctr barely passing orbits

    FIDIFF_BTRAP:
      Specification:  R|units=m^2/sec|pclin  fidiff_btrap(nefi_anom2,nrho_anom2,nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%fidiff_btrap(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_fusion)
      Units:  m^2/sec
      Comments:
        fusion ion diffusivity: barely trapped orbits

    FIDIFF_DPASS_CO:
      Specification:  R|units=m^2/sec|pclin  fidiff_dpass_co(nefi_anom2,nrho_anom2,nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%fidiff_dpass_co(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_fusion)
      Units:  m^2/sec
      Comments:
        fusion ion diffusivity: co passing |vpll/v| -> 1

    FIDIFF_DPASS_CTR:
      Specification:  R|units=m^2/sec|pclin  fidiff_dpass_ctr(nefi_anom2,nrho_anom2,nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%fidiff_dpass_ctr(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_fusion)
      Units:  m^2/sec
      Comments:
        fusion ion diffusivity: ctr passing |vpll/v| -> 1

    FIDIFF_DTRAP:
      Specification:  R|units=m^2/sec|pclin  fidiff_dtrap(nefi_anom2,nrho_anom2,nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%fidiff_dtrap(ps%nefi_anom2,ps%nrho_anom2,ps%nspec_fusion)
      Units:  m^2/sec
      Comments:
        fusion ion diffusivity: deeply trapped orbits

    FREQ_DRBM:
      Specification:  R|units=GB|pclin freq_drbm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%freq_drbm(ps%nrho_anomth)
      Units:  GB
      Comments:
        frequency from DRBM model

    FREQ_GLF:
      Specification:  R|units=GB|pclin freq_glf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%freq_glf(ps%nrho_anomth)
      Units:  GB
      Comments:
        frequency from GLF23 model

    FREQ_MAX_TGLF:
      Specification:  R|units=GB|pclin freq_max_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%freq_max_tglf(ps%nrho_anomth)
      Units:  GB
      Comments:
        frequency corresponding maximum growthrate from TGLF model

    FREQ_MMM71:
      Specification:  R|units=GB|pclin freq_mmm71(nrho_anomth,nky_mmm)
      Declaration:  REAL(KIND=rspec) ps%freq_mmm71(ps%nrho_anomth,ps%nky_mmm)
      Units:  GB
      Comments:
        frequency from mmm71 model

    FREQ_MTM:
      Specification:  R|units=rad/sec|pclin freq_mtm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%freq_mtm(ps%nrho_anomth)
      Units:  rad/sec
      Comments:
        frequency from MTM model

    FREQ_TGLF:
      Specification:  R|units=GB|pclin freq_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%freq_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        frequency from TGLF model

    GROWTHRATE_DRBM:
      Specification:  R|units=GB|pclin growthrate_drbm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%growthrate_drbm(ps%nrho_anomth)
      Units:  GB
      Comments:
        growthrate from DRBM model

    GROWTHRATE_GLF:
      Specification:  R|units=GB|pclin growthrate_glf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%growthrate_glf(ps%nrho_anomth)
      Units:  GB
      Comments:
        growthrate from GLF23 model

    GROWTHRATE_MAX_TGLF:
      Specification:  R|units=GB|pclin growthrate_max_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%growthrate_max_tglf(ps%nrho_anomth)
      Units:  GB
      Comments:
        maximum growthrate from TGLF model

    GROWTHRATE_MMM71:
      Specification:  R|units=GB|pclin growthrate_mmm71(nrho_anomth,nky_mmm)
      Declaration:  REAL(KIND=rspec) ps%growthrate_mmm71(ps%nrho_anomth,ps%nky_mmm)
      Units:  GB
      Comments:
        growthrate from mmm71 model

    GROWTHRATE_MTM:
      Specification:  R|units=1/sec|pclin growthrate_mtm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%growthrate_mtm(ps%nrho_anomth)
      Units:  1/sec
      Comments:
        growthrate from MTM model

    GROWTHRATE_TGLF:
      Specification:  R|units=GB|pclin growthrate_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%growthrate_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        growthrate from TGLF model

    GROWTHRATE_VPAR:
      Specification:  R|units=GB|pclin growthrate_vpar(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%growthrate_vpar(ps%nrho_anomth,0:ps%nspec_th)
      Units:  GB
      Comments:
        growthrate from parallel velocity shear

    KYRHOS_MTM:
      Specification:  R|units=-|pclin kyrhos_mtm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%kyrhos_mtm(ps%nrho_anomth)
      Units:  -
      Comments:
        ky*rhos at max growth rate for MTM model

    KYSPECTRUM_TGLF:
      Specification:  R|units=-|pclin kyspectrum_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%kyspectrum_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  -
      Comments:
        ky-spectrum from TGLF model

    NEFLUX_KY_TGLF:
      Specification:  R|units=GB|pclin neflux_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%neflux_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        electron density flux spectrum

    NE_KY_TGLF:
      Specification:  R|units=GB|pclin ne_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%ne_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        electron density fluctuation spectrum

    NIFLUX_KY_TGLF:
      Specification:  R|units=GB|pclin niflux_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%niflux_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        ion density flux spectrum

    NI_KY_TGLF:
      Specification:  R|units=GB|pclin ni_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%ni_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        ion density fluctuation spectrum

    NMODEL:
      Specification:  R|units=m^-3|step  nmodel(~nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%nmodel(ps%nrho_anomth-1)
      Units:  m^-3
      Comments:
        target density profile
        from experiment or "profile consistency" model

    NZFLUX_KY_TGLF:
      Specification:  R|units=GB|pclin nzflux_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%nzflux_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        impurity density flux spectrum

    NZ_KY_TGLF:
      Specification:  R|units=GB|pclin nz_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%nz_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        impurity density fluctuation spectrum

    OMEGA_EXB:
      Specification:  R|units=GB|pclin omega_exb(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%omega_exb(ps%nrho_anomth)
      Units:  GB
      Comments:
        ExB flow shear rate

    PE_ANOM:
      Specification:  R|units=W|step*dV  pe_anom(~nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%pe_anom(ps%nrho_anomth-1)
      Units:  W
      Comments:
        anomalous electron heating

    PHIFLUX_KY_TGLF:
      Specification:  R|units=GB|pclin phiflux_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%phiflux_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        momentum fluctuation spectrum

    PI_ANOM:
      Specification:  R|units=W|step*dV  pi_anom(~nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%pi_anom(ps%nrho_anomth-1)
      Units:  W
      Comments:
        anomalous ion heating

    POT_KY_TGLF:
      Specification:  R|units=GB|pclin pot_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%pot_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        potential fluctuation spectrum

    SC_ANOM:
      Specification:  R|units=#/sec|step*dV sc_anom(~nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%sc_anom(ps%nrho_anomth-1,0:ps%nspec_th)
      Units:  #/sec
      Comments:
        anomalous sources

    TEFLUX_KY_TGLF:
      Specification:  R|units=GB|pclin teflux_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%teflux_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        electron density flux spectrum

    TE_KY_TGLF:
      Specification:  R|units=GB|pclin te_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%te_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        electron density fluctuation spectrum

    TIFLUX_KY_TGLF:
      Specification:  R|units=GB|pclin tiflux_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%tiflux_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        ion density flux spectrum

    TI_KY_TGLF:
      Specification:  R|units=GB|pclin ti_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%ti_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        ion density fluctuation spectrum

    TMODEL:
      Specification:  R|units=keV|step*nmodel   tmodel(~nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%tmodel(ps%nrho_anomth-1)
      Units:  keV
      Comments:
        target temperature profile
        from experiment or "profile consistency" model

    TQ_ANOM:
      Specification:  R|units=Nt*m|step*dV  tq_anom(~nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%tq_anom(ps%nrho_anomth-1)
      Units:  Nt*m
      Comments:
        anomalous torque

    TZFLUX_KY_TGLF:
      Specification:  R|units=GB|pclin tzflux_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%tzflux_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        impurity density flux spectrum

    TZ_KY_TGLF:
      Specification:  R|units=GB|pclin tz_ky_tglf(nrho_anomth,nky_anomth)
      Declaration:  REAL(KIND=rspec) ps%tz_ky_tglf(ps%nrho_anomth,ps%nky_anomth)
      Units:  GB
      Comments:
        impurity density fluctuation spectrum

    VELB_FUSI:
      Specification:  R|pclin  velb_fusi(nrho_anom)
      Declaration:  REAL(KIND=rspec) ps%velb_fusi(ps%nrho_anom)
      Units:  m/sec
      Comments:
        fusion ion anom. radial velocity

    VELB_NBI:
      Specification:  R|pclin  velb_nbi(nrho_anom)
      Declaration:  REAL(KIND=rspec) ps%velb_nbi(ps%nrho_anom)
      Units:  m/sec
      Comments:
        beam ion anom. radial velocity

    VELB_RFMI:
      Specification:  R|pclin  velb_rfmi(nrho_anom)
      Declaration:  REAL(KIND=rspec) ps%velb_rfmi(ps%nrho_anom)
      Units:  m/sec
      Comments:
        RF minority ion anom. radial velocity

    VELNE_NCLASS:
      Specification:  R|units=m/sec|pclin velne_nclass(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velne_nclass(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        electron-density-equations, advective velocity term from NCLASS model

    VELNH_NCLASS:
      Specification:  R|units=m/sec|pclin velnh_nclass(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velnh_nclass(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        main-hydrogenic-density-equations, advective velocity term from NCLASS model

    VELNI_DRBM:
      Specification:  R|units=m/s|pclin velni_drbm(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velni_drbm(ps%nrho_anomth)
      Units:  m/s
      Comments:
        ion convective velocity

    VELNS_ANOM:
      Specification:  R|units=m/sec|pclin  velns_anom(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%velns_anom(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        density-equations, advective velocity term

    VELNS_GLF:
      Specification:  R|units=m/sec|pclin  velns_glf(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%velns_glf(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        density-equations, advective velocity term from GLF23 model

    VELNS_GTCNEO:
      Specification:  R|units=m/sec|pclin  velns_gtcneo(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%velns_gtcneo(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        density-equations, advective velocity term from GTC_NEO model

    VELNS_MMM71:
      Specification:  R|units=m/sec|pclin  velns_mmm71(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%velns_mmm71(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        density-equations, advective velocity term from MMM71 model

    VELNS_NCLASS:
      Specification:  R|units=m/sec|pclin velns_nclass(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%velns_nclass(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        density-equations, advective velocity term from NCLASS model

    VELNS_NEO:
      Specification:  R|units=m/sec|pclin  velns_neo(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%velns_neo(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        density-equations, advective velocity term from NEO model

    VELNS_TGLF:
      Specification:  R|units=m/sec|pclin velns_tglf(nrho_anomth,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%velns_tglf(ps%nrho_anomth,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        density-equations, advective velocity term from TGLF model

    VELNX_NCLASS:
      Specification:  R|units=m/sec|pclin velnx_nclass(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velnx_nclass(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        main-impurity-density-equations, advective velocity term from NCLASS model

    VELPPHI_ANOM:
      Specification:  R|units=m/sec|pclin  velpphi_anom(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velpphi_anom(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        momentum-equation, advective velocity term

    VELPPHI_GLF:
      Specification:  R|units=m/sec|pclin  velpphi_glf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velpphi_glf(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        momentum-equation, advective velocity term from GLF23 model

    VELPPHI_GTCNEO:
      Specification:  R|units=m/sec|pclin  velpphi_gtcneo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velpphi_gtcneo(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        momentum-equation, advective velocity term from GTC_NEO model

    VELPPHI_MMM71:
      Specification:  R|units=m/sec|pclin  velpphi_mmm71(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velpphi_mmm71(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        momentum-equation, advective velocity term from MMM71 model

    VELPPHI_NEO:
      Specification:  R|units=m/sec|pclin  velpphi_neo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velpphi_neo(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        momentum-equation, advective velocity term from NEO model

    VELPPHI_TGLF:
      Specification:  R|units=m/sec|pclin velpphi_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velpphi_tglf(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        momentum-equation, advective velocity term from TGLF model

    VELTE_ANOM:
      Specification:  R|units=m/sec|pclin  velte_anom(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velte_anom(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Te-equation, advective velocity term

    VELTE_GLF:
      Specification:  R|units=m/sec|pclin  velte_glf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velte_glf(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Te-equation, advective velocity term from GLF23 model

    VELTE_GTCNEO:
      Specification:  R|units=m/sec|pclin  velte_gtcneo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velte_gtcneo(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Te-equation, advective velocity term from GTC_NEO model

    VELTE_MMM71:
      Specification:  R|units=m/sec|pclin  velte_mmm71(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velte_mmm71(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Te-equation, advective velocity term from MMM71 model

    VELTE_NCLASS:
      Specification:  R|units=m/sec|pclin velte_nclass(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velte_nclass(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Te-equation, advective velocity term from NCLASS model

    VELTE_NEO:
      Specification:  R|units=m/sec|pclin  velte_neo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velte_neo(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Te-equation, advective velocity term from NEO model

    VELTE_PALEO:
      Specification:  R|units=m/sec|pclin   velte_paleo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velte_paleo(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Te-equation, convection term from PALEO model

    VELTE_TGLF:
      Specification:  R|units=m/sec|pclin velte_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velte_tglf(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Te-equation, advective velocity term from TGLF model

    VELTI_ANOM:
      Specification:  R|units=m/sec|pclin  velti_anom(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velti_anom(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Ti-equation, advective velocity term

    VELTI_GLF:
      Specification:  R|units=m/sec|pclin  velti_glf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velti_glf(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Ti-equation, advective velocity term from GLF23 model

    VELTI_GTCNEO:
      Specification:  R|units=m/sec|pclin  velti_gtcneo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velti_gtcneo(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Ti-equation, advective velocity term from GTC_NEO model

    VELTI_MMM71:
      Specification:  R|units=m/sec|pclin  velti_mmm71(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velti_mmm71(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Ti-equation, advective velocity term from MMM71 model

    VELTI_NCLASS:
      Specification:  R|units=m/sec|pclin velti_nclass(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velti_nclass(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Ti-equation, advective velocity term from NCLASS model

    VELTI_NEO:
      Specification:  R|units=m/sec|pclin  velti_neo(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velti_neo(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Ti-equation, advective velocity term from NEO model

    VELTI_TGLF:
      Specification:  R|units=m/sec|pclin velti_tglf(nrho_anomth)
      Declaration:  REAL(KIND=rspec) ps%velti_tglf(ps%nrho_anomth)
      Units:  m/sec
      Comments:
        Ti-equation, advective velocity term from TGLF model

-------------------------------------------------------------------------
Physics component:  EC:
     Electron cyclotron heating and current drive

  Section: MACHINE_DESCRIPTION (component: EC)

    ECRF_SRC_NAME:
      Specification:  L|ecrf_source   ecrf_src_name(necrf_src)
      Declaration:  CHARACTER*32 ps%ecrf_src_name(ps%necrf_src)
      Comments:
        number & name of ECRF sources

    EC_BEAM_ELONGATION:
      Specification:  R|units=-   EC_Beam_Elongation(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%EC_Beam_Elongation(ps%necrf_src)
      Units:  -
      Comments:
        EC beam ellipticity
        The conical EC beam shape can be elongated
        "vertically" (elongation > 1) or "horizontally"
        (elongation < 1).  Here "vertical" means in the
        direction normal to the plane contaiing the beam
        centerline and the +phi unit vector; "horizontal"
        means normal to the plane of the beam centerline
        and the "vertical" direction.  If this quantity is
        defaulted to zero, it is reset to 1.0 exactly, i.e.
        for a beam with circular cross section.

    EC_HALF_POWER_ANGLE:
      Specification:  R|units=degrees  EC_Half_Power_Angle(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%EC_Half_Power_Angle(ps%necrf_src)
      Units:  degrees
      Comments:
        Divergence of EC beam
        beam at half-power, this half-angle away from
        direction of beam centerline which is started
        at the launcher (treated as a point source);
        See EC_theta_aim(necrf_src) & EC_phi_aim(necrf_src)
        in the shot configuration section.

    EC_PRINC_CURV_HOR:
      Specification:  R|units=m  EC_PRINC_CURV_HOR(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%EC_PRINC_CURV_HOR(ps%necrf_src)
      Units:  m
      Comments:
        principal curvature in horizontal direction

    EC_PRINC_CURV_VERT:
      Specification:  R|units=m  EC_PRINC_CURV_VERT(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%EC_PRINC_CURV_VERT(ps%necrf_src)
      Units:  m
      Comments:
        principal curvature in vertical direction

    EC_PRINC_WIDTH_HOR:
      Specification:  R|units=m  EC_PRINC_WIDTH_HOR(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%EC_PRINC_WIDTH_HOR(ps%necrf_src)
      Units:  m
      Comments:
        principal beam width in horizontal direction

    EC_PRINC_WIDTH_VERT:
      Specification:  R|units=m  EC_PRINC_WIDTH_VERT(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%EC_PRINC_WIDTH_VERT(ps%necrf_src)
      Units:  m
      Comments:
        principal beam width in vertical direction

    NECRF_SRC:
      Specification:  L|ecrf_source   ecrf_src_name(necrf_src)
      Declaration:  INTEGER ps%necrf_src
      Comments:
        item list dimension of ecrf_src_name (ecrf_source)

    PHI_EC_LAUNCH:
      Specification:  R|units=degrees  Phi_EC_launch(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%Phi_EC_launch(ps%necrf_src)
      Units:  degrees
      Comments:
        Phi of center of launcher
        this may be left at zero for axisymmetric simulations.

    R_EC_LAUNCH:
      Specification:  R|units=m   R_EC_launch(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%R_EC_launch(ps%necrf_src)
      Units:  m
      Comments:
        R of center of launcher

    Z_EC_LAUNCH:
      Specification:  R|units=m   Z_EC_launch(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%Z_EC_launch(ps%necrf_src)
      Units:  m
      Comments:
        Z of center of launcher

  Section: SHOT_CONFIGURATION (component: EC)

    EC_OMODE_FRACTION:
      Specification:  R|units=-   EC_Omode_Fraction(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%EC_Omode_Fraction(ps%necrf_src)
      Units:  -
      Comments:
        O-mode fraction of EC source
        Power(O-mode)/(Power(O-mode)+Power(X-mode))

    EC_PHI_AIM:
      Specification:  R|units=degrees  EC_phi_aim(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%EC_phi_aim(ps%necrf_src)
      Units:  degrees
      Comments:
        toroidal aiming angle
        0 degrees-> component of beam in +R direction
        90 degrees-> component of beam in +phi direction
        180 degrees-> component of beam in -R direction
        270 degrees or -90 degrees-> component in -phi direction
        An EC beam with a component in the +phi direction
        will push electrons in the +phi direction, counter
        clockwise (CCW) around the machine axis as viewed
        from above; and hence drive current in a clockwise
        (CW) direction.  See shot configuration variable
        kCCW_Jphi for orientation of main plasma current.
        See also EC_theta_aim(...).

    EC_THETA_AIM:
      Specification:  R|units=degrees  EC_theta_aim(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%EC_theta_aim(ps%necrf_src)
      Units:  degrees
      Comments:
        poloidal aiming angle
        = angle from +Z direction:
        0 degrees-> straight up;
        +/-  45 degrees-> on a cone in an upward direction
        +/-  90 degrees-> in a horizontal direction...
        +/- 135 degrees-> on a cone in a downward direction
        +/- 180 degrees-> straight down
        (for values other than 0,+/- 180, see alse EC_phi_aim).

    FREQ_EC:
      Specification:  R|units=Hz freq_ec(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%freq_ec(ps%necrf_src)
      Units:  Hz
      Comments:
        frequency of EC source

  Section: SIMULATION_INIT (component: EC)

    EC_CODE_INFO:
      Specification:  C*80   EC_Code_Info
      Declaration:  CHARACTER*80 ps%EC_Code_Info
      Comments:
        Information: code implementing EC component

    EC_DATA_INFO:
      Specification:  C*80   EC_Data_Info
      Declaration:  CHARACTER*80 ps%EC_Data_Info
      Comments:
        information on source of ECRF power data

    NRHO_ECRF:
      Specification:  G  rho_ecrf(nrho_ecrf)
      Declaration:  INTEGER ps%nrho_ecrf
      Comments:
        grid dimension of rho_ecrf (RHO coordinate)

    RHO_ECRF:
      Specification:  G  rho_ecrf(nrho_ecrf)
      Declaration:  REAL(KIND=rspec) ps%rho_ecrf(ps%nrho_ecrf)
      Units:  -
      Comments:
        rho grid -- ECRF

  Section: STATE_DATA (component: EC)

    POWER_EC:
      Specification:  R|units=W  power_ec(necrf_src)
      Declaration:  REAL(KIND=rspec) ps%power_ec(ps%necrf_src)
      Units:  W
      Comments:
        power on each ECRF source

  Section: STATE_PROFILES (component: EC)

    CURECH:
      Specification:  R|step*dA|units=A   curech(~nrho_ecrf)
      Declaration:  REAL(KIND=rspec) ps%curech(ps%nrho_ecrf-1)
      Units:  A
      Comments:
        ECH current drive

    CURECH_SRC:
      Specification:  R|step*dA|units=A   curech_src(~nrho_ecrf,necrf_src)
      Declaration:  REAL(KIND=rspec) ps%curech_src(ps%nrho_ecrf-1,ps%necrf_src)
      Units:  A
      Comments:
        ECH current drive (by antenna)

    PEECH:
      Specification:  R|step*dV|units=W   peech(~nrho_ecrf)
      Declaration:  REAL(KIND=rspec) ps%peech(ps%nrho_ecrf-1)
      Units:  W
      Comments:
        electron heating by ECH

    PEECH_SRC:
      Specification:  R|step*dV|units=W   peech_src(~nrho_ecrf,necrf_src)
      Declaration:  REAL(KIND=rspec) ps%peech_src(ps%nrho_ecrf-1,ps%necrf_src)
      Units:  W
      Comments:
        ECH heating (by antenna)

-------------------------------------------------------------------------
Physics component:  EQ:
     MHD equilibrium

  Section: MACHINE_DESCRIPTION (component: EQ)

    ANG_HREF_COIL:
      Specification:  R|units=degrees Ang_Href_coil(ncoils)
      Declaration:  REAL(KIND=rspec) ps%Ang_Href_coil(ps%ncoils)
      Units:  degrees
      Comments:
        angle w.r.t. horizontal of coil base
        zero means, base is alligned horizontally
        +10 (degrees) means, tilted up to the right;
        -10 (degrees) means, tilted down to the right

    ANG_VREF_COIL:
      Specification:  R|units=degrees Ang_Vref_coil(ncoils)
      Declaration:  REAL(KIND=rspec) ps%Ang_Vref_coil(ps%ncoils)
      Units:  degrees
      Comments:
        angle w.r.t. vertical of coil sides
        zero means, walls are alligned vertically
        +10 (degrees) means, tilted up and to left 10 degrees from vertical
        -10 (degrees) means, tilted up and to right, 10 degrees from vertical

    CIRCUIT_NAME:
      Specification:  L|pf_circuits  circuit_name(ncircuits)
      Declaration:  CHARACTER*32 ps%circuit_name(ps%ncircuits)
      Comments:
        Number & names of circuits
        connecting coils affecting poloidal field-- axisymmetric coils,
        or eddy currents represented as cancelling coil pairs

    COIL_IN_CIRCUIT:
      Specification:  N  coil_in_circuit(ncoils)
      Declaration:  CHARACTER*32 ps%coil_in_circuit(ps%ncoils)
      Comments:
        circuit to which each coil belongs
        (each must exactly match a name in the circuit_name(...) list).

    COIL_NAME:
      Specification:  L|pf_coils     coil_name(ncoils)
      Declaration:  CHARACTER*32 ps%coil_name(ps%ncoils)
      Comments:
        Number & name of axisymmetric coils

    COIL_RESISPT:
      Specification:  R|units=ohms/turn  coil_resispt(ncoils)
      Declaration:  REAL(KIND=rspec) ps%coil_resispt(ps%ncoils)
      Units:  ohms/turn
      Comments:
        coil resistance per turn
        total resistance (ohms) of coil j: abs(Nturns(j))*coil_resispt(j)

    GEOMETRY:
      Specification:  F  geometry
      Declaration:  CHARACTER*256 ps%geometry
      Comments:
        path to file(s) vac. vessel & coil descr.

    HSIZE_COIL:
      Specification:  R|units=m  Hsize_coil(ncoils)
      Declaration:  REAL(KIND=rspec) ps%Hsize_coil(ps%ncoils)
      Units:  m
      Comments:
        (Rotatable) Horizontal coil base size

    NCIRCUITS:
      Specification:  L|pf_circuits  circuit_name(ncircuits)
      Declaration:  INTEGER ps%ncircuits
      Comments:
        item list dimension of circuit_name (pf_circuits)

    NCOILS:
      Specification:  L|pf_coils     coil_name(ncoils)
      Declaration:  INTEGER ps%ncoils
      Comments:
        item list dimension of coil_name (pf_coils)

    NTURNS:
      Specification:  I  Nturns(ncoils)
      Declaration:  INTEGER ps%Nturns(ps%ncoils)
      Comments:
        SIGNED number of conductor turns wrapped in each coil
        + means, a positive current flows counter-clockwise viewed from above;
        - means, a positive current flows clockwise viewed from above;

    NUM_RZLIM:
      Specification:  I|ENUM  num_rzlim
      Declaration:  INTEGER ps%num_rzlim
      Comments:
        number of points, axisymmetric (R,Z) limiter
        dimension for rlim & zlim -- closed axisymmetric piecewise linear
        contour describing axisymmetric limiter or vacuum vessel wall
        expect rlim(1)=rlim(num_rzlim) and zlim(1)=zlim(num_rzlim)

    RLIM:
      Specification:  R|units=m  rlim(num_rzlim)
      Declaration:  REAL(KIND=rspec) ps%rlim(ps%num_rzlim)
      Units:  m
      Comments:
        R points in closed (R,Z) contour sequence

    RLOC_COIL:
      Specification:  R|units=m  Rloc_coil(ncoils)
      Declaration:  REAL(KIND=rspec) ps%Rloc_coil(ps%ncoils)
      Units:  m
      Comments:
        R location of coil, lower left corner

    R_MAX_BOX:
      Specification:  R  R_max_box
      Declaration:  REAL(KIND=rspec) ps%R_max_box
      Units:  m
      Comments:
        R_max of bounding box

    R_MIN_BOX:
      Specification:  R  R_min_box
      Declaration:  REAL(KIND=rspec) ps%R_min_box
      Units:  m
      Comments:
        R_min of bounding box

    VREP_COIL_COUNT:
      Specification:  I  VRep_coil_count(ncoils)
      Declaration:  INTEGER ps%VRep_coil_count(ps%ncoils)
      Comments:
        replication count, vertical coil stack
        default: 1

    VREP_COIL_SPACING:
      Specification:  R|units=m Vrep_coil_spacing(ncoils)
      Declaration:  REAL(KIND=rspec) ps%Vrep_coil_spacing(ps%ncoils)
      Units:  m
      Comments:
        replicated coil separation
        (only meaningful for coils {k} with VRep_coil_count(k) > 1).

    VSIZE_COIL:
      Specification:  R|units=m  Vsize_coil(ncoils)
      Declaration:  REAL(KIND=rspec) ps%Vsize_coil(ps%ncoils)
      Units:  m
      Comments:
        (Rotatable) Vertical coil size

    ZLIM:
      Specification:  R|units=m  zlim(num_rzlim)
      Declaration:  REAL(KIND=rspec) ps%zlim(ps%num_rzlim)
      Units:  m
      Comments:
        Z points in closed (R,Z) contour sequence

    ZLOC_COIL:
      Specification:  R|units=m  Zloc_coil(ncoils)
      Declaration:  REAL(KIND=rspec) ps%Zloc_coil(ps%ncoils)
      Units:  m
      Comments:
        Z location of coil, lower left corner

    Z_MAX_BOX:
      Specification:  R  Z_max_box
      Declaration:  REAL(KIND=rspec) ps%Z_max_box
      Units:  m
      Comments:
        Z_max of bounding box

    Z_MIN_BOX:
      Specification:  R  Z_min_box
      Declaration:  REAL(KIND=rspec) ps%Z_min_box
      Units:  m
      Comments:
        Z_min of bounding box

  Section: SHOT_CONFIGURATION (component: EQ)

    KCCW_BPHI:
      Specification:  I  kccw_Bphi = 0
      Declaration:  INTEGER ps%kccw_Bphi
      Comments:
        B_phi orientation: +1 means CCW viewed from above
        -1 means clockwise (CW) viewed from above.

    KCCW_JPHI:
      Specification:  I  kccw_Jphi = 0
      Declaration:  INTEGER ps%kccw_Jphi
      Comments:
        J_phi orientation: +1 means CCW viewed from above

  Section: SIMULATION_INIT (component: EQ)

    EQMOM_NUM:
      Specification:  L|EQ_moments  eqmom_num(neqmom)
      Declaration:  CHARACTER*32 ps%eqmom_num(ps%neqmom)
      Comments:
        Equilibrium moments
        neqmom = nmom; eqmom_num(1)='1', eqmom_num(2)='2', etc...

    EQ_CODE_INFO:
      Specification:  C*80   EQ_Code_Info
      Declaration:  CHARACTER*80 ps%EQ_Code_Info
      Comments:
        Information: code implementing EQ component

    EQ_DATA_INFO:
      Specification:  C*80   EQ_Data_Info
      Declaration:  CHARACTER*80 ps%EQ_Data_Info
      Comments:
        Information: source of EQ input data

    ICIRCUIT_COIL:
      Specification:  I  icircuit_coil(ncoils)
      Declaration:  INTEGER ps%icircuit_coil(ps%ncoils)
      Comments:
        index of circuit to which each coil belongs
        (derived from machine description): coil j, named coil_name(j),
        belongs to the circuit named circuit_name(icircuit_coil(j)).

    NEQMOM:
      Specification:  L|EQ_moments  eqmom_num(neqmom)
      Declaration:  INTEGER ps%neqmom
      Comments:
        item list dimension of eqmom_num (EQ_moments)

    NMOM:
      Specification:  I  nmom = 16
      Declaration:  INTEGER ps%nmom
      Comments:
        number of Fourier (R,Z) moments
        requested for Fourier Spline representation
        R(x,th) = R0(x) + sum x*(xRj(x)*cos(j*th) + xRj~(x)*sin(j*th))
        Z(x,th) = Z0(x) + sum x*(xZj~(x)*cos(j*th) + xZj(x)*sin(j*th))

    NPSMOM:
      Specification:  L|PS_moments  psmom_num(npsmom)
      Declaration:  INTEGER ps%npsmom
      Comments:
        item list dimension of psmom_num (PS_moments)

    NR:
      Specification:  G   R_grid(nR)
      Declaration:  INTEGER ps%nr
      Comments:
        grid dimension of R_grid (R coordinate)

    NRHO_EQ:
      Specification:  G   rho_eq(nrho_eq)
      Declaration:  INTEGER ps%nrho_eq
      Comments:
        grid dimension of rho_eq (RHO coordinate)

    NRHO_EQ_GEO:
      Specification:  G   rho_eq_geo(nrho_eq_geo)
      Declaration:  INTEGER ps%nrho_eq_geo
      Comments:
        grid dimension of rho_eq_geo (RHO coordinate)

    NTH_EQ:
      Specification:  G|CCW   th_eq(nth_eq)
      Declaration:  INTEGER ps%nth_eq
      Comments:
        grid dimension of th_eq (TH coordinate)

    NZ:
      Specification:  G   Z_grid(nZ)
      Declaration:  INTEGER ps%nz
      Comments:
        grid dimension of Z_grid (Z coordinate)

    PSMOM_NUM:
      Specification:  L|PS_moments  psmom_num(npsmom)
      Declaration:  CHARACTER*32 ps%psmom_num(ps%npsmom)
      Comments:
        Pfirsch-Schlutter moments
        if call to compute PS moments occurs and this has not been
        initialized, npsmom=16 will be set, and psmom_num(1)='1',
        psmom_num(2)='2', ..., psmom_num(16)='16'

    RHO_EQ:
      Specification:  G   rho_eq(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%rho_eq(ps%nrho_eq)
      Units:  -
      Comments:
        rho grid (EQ)

    RHO_EQ_GEO:
      Specification:  G   rho_eq_geo(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%rho_eq_geo(ps%nrho_eq_geo)
      Units:  -
      Comments:
        rho grid (EQ flux surface averages)
        this grid is built from rho_eq: nrho_eq_geo = 2*nrho_eq - 1
        rho_eq_geo(1:nrho_eq_geo:2) = rho_eq(1:nrho_eq)
        rho_eq_geo(2:nrho_eq_geo:2) =
        (rho_eq(1:nrho_eq-1)+rho_eq(2:nrho_eq))/2
        i.e. a doubly fine grid for metric flux surface averages stored
        as piecewise linear radidal profiles.

    R_GRID:
      Specification:  G   R_grid(nR)
      Declaration:  REAL(KIND=rspec) ps%R_grid(ps%nr)
      Units:  m
      Comments:
        R grid

    TH_EQ:
      Specification:  G|CCW   th_eq(nth_eq)
      Declaration:  REAL(KIND=rspec) ps%th_eq(ps%nth_eq)
      Units:  rad
      Comments:
        theta grid (EQ)

    Z_GRID:
      Specification:  G   Z_grid(nZ)
      Declaration:  REAL(KIND=rspec) ps%Z_grid(ps%nz)
      Units:  m
      Comments:
        Z grid

  Section: STATE_DATA (component: EQ)

    B_AXIS:
      Specification:  R  B_axis
      Declaration:  REAL(KIND=rspec) ps%B_axis
      Units:  T
      Comments:
        |B| at magnetic axis

    B_AXIS_VAC:
      Specification:  R  B_axis_vac
      Declaration:  REAL(KIND=rspec) ps%B_axis_vac
      Units:  T
      Comments:
        vacuum B field at axis

    B_MAX_LCFS:
      Specification:  R  B_max_lcfs
      Declaration:  REAL(KIND=rspec) ps%B_max_lcfs
      Units:  T
      Comments:
        |B|_max of last closed flux surface

    B_MIN_LCFS:
      Specification:  R  B_min_lcfs
      Declaration:  REAL(KIND=rspec) ps%B_min_lcfs
      Units:  T
      Comments:
        |B|_min of last closed flux surface

    COIL_APT:
      Specification:  R|units=amps/turn coil_apt(ncircuits)
      Declaration:  REAL(KIND=rspec) ps%coil_apt(ps%ncircuits)
      Units:  amps/turn
      Comments:
        SIGNED circuit current
        amps/turn within each coil attached to the indicated circult:
        SIGN: + means current flows counter-clockwise, viewed from above, for
        a coil (j) with Nturns(j) > 0; direction opposite if Nturns(j) < 0
        - means the reverse.
        The SIGNED current in coil (j) is Nturns(j)*coil_apt(icircuit_coil(j));
        a positive current flows counter-clockwise viewed from above.
        Any element of Nturns(...) and any element of coil_apt(...) can be
        either positive or negative.

    EQDSK_FILE:
      Specification:  F  eqdsk_file
      Declaration:  CHARACTER*256 ps%eqdsk_file
      Comments:
        EFIT G-eqdsk file: psi(R,Z), g(psi), etc.

    PSI_TO_MACHINE_AXIS:
      Specification:  R|units=Wb/rad   Psi_to_machine_axis
      Declaration:  REAL(KIND=rspec) ps%Psi_to_machine_axis
      Units:  Wb/rad
      Comments:
        delta(Psi) from magnetic axis to machine axis
        subtract this from Psi(R,Z) to get a Psi value
        that approaches zero as R-> zero: Psi ~ R*A_phi
        (as in the EFIT free boundary representation).
        Note: prescribed boundary code runs (e.g.
        traditional TRANSP runs) cannot know this
        number; so Plasma States created from such run
        data will leave this at zero.  Plasma States
        using free boundary MHD equilibrium information
        will always have a non-zero value here.

    R_AXIS:
      Specification:  R  R_axis
      Declaration:  REAL(KIND=rspec) ps%R_axis
      Units:  m
      Comments:
        R of magnetic axis

    R_MAX_LCFS:
      Specification:  R  R_max_lcfs
      Declaration:  REAL(KIND=rspec) ps%R_max_lcfs
      Units:  m
      Comments:
        R_max of last closed flux surface

    R_MIN_LCFS:
      Specification:  R  R_min_lcfs
      Declaration:  REAL(KIND=rspec) ps%R_min_lcfs
      Units:  m
      Comments:
        R_min of last closed flux surface

    Z_AXIS:
      Specification:  R  Z_axis
      Declaration:  REAL(KIND=rspec) ps%Z_axis
      Units:  m
      Comments:
        Z of magnetic axis

    Z_MAX_LCFS:
      Specification:  R  Z_max_lcfs
      Declaration:  REAL(KIND=rspec) ps%Z_max_lcfs
      Units:  m
      Comments:
        Z_max of last closed flux surface

    Z_MIN_LCFS:
      Specification:  R  Z_min_lcfs
      Declaration:  REAL(KIND=rspec) ps%Z_min_lcfs
      Units:  m
      Comments:
        Z_min of last closed flux surface

  Section: STATE_PROFILES (component: EQ)

    AREA:
      Specification:  R|units=m^2|Spline_00 area(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%area(ps%nrho_eq)
      Units:  m^2
      Comments:
        enclosed area

    BPHIRZ:
      Specification:  R|units=T|Hermite      BphiRZ(nR,nZ)
      Declaration:  REAL(KIND=rspec) ps%BphiRZ(ps%nr,ps%nz)
      Units:  T
      Comments:
        Toroidal field

    BRRZ:
      Specification:  R|units=T|Hermite      BRRZ(nR,nZ)
      Declaration:  REAL(KIND=rspec) ps%BRRZ(ps%nr,ps%nz)
      Units:  T
      Comments:
        R component of poloidal field

    BZRZ:
      Specification:  R|units=T|Hermite      BZRZ(nR,nZ)
      Declaration:  REAL(KIND=rspec) ps%BZRZ(ps%nr,ps%nz)
      Units:  T
      Comments:
        Z component of poloidal field

    B_SURFMAX:
      Specification:  R|pclin  B_surfMax(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%B_surfMax(ps%nrho_eq_geo)
      Units:  T
      Comments:
        max mod(B) on flux surface

    B_SURFMIN:
      Specification:  R|pclin  B_surfMin(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%B_surfMin(ps%nrho_eq_geo)
      Units:  T
      Comments:
        min mod(B) on flux surface

    CURT:
      Specification:  R|units=A|Spline_00   curt(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%curt(ps%nrho_eq)
      Units:  A
      Comments:
        total enclosed toroidal current
        this includes <j.B> contributions and <j x B> contributions and
        is related to the poloidal field:
        mu0*I(rho) = rho*phit(nrho_eq)/(q(rho)*2*pi*pi)
        * grho2r2i(rho) * (dVol/drho)
        (From Ampere's Law, mu0*I_phi = loop integral (B_pol*dl)
        = loop integral (dl * grad(psi)/R)
        = rho*phit(nrho_eq)/(q(rho)*pi) *
        loop integral (dl * grad(rho)/R)
        (2*pi) * loop integral (dl * grad(rho)/rho)
        = loop integral (dl * 2*pi*R/grad(rho) * grad(rho)**2/R**2)
        = grho2r2i(rho) * dVol/drho
        derivation depends on the definition of the radial coord.:
        rho = sqrt(phit(rho)/phit(rho=1))
        curt(nrho_eq) gives the total current, >0 by convention;
        see kccw_Jphi, +/-1, for direction of toroidal current.

    D2R_GEO_DRHODTH:
      Specification:  R|units=m|Hermite_explicit R_geo(nrho_eq,nth_eq)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%d2R_geo_dRHOdTH(ps%nrho_eq,ps%nth_eq)
      Units:  m/-/rad
      Comments:
        flux surfaces R(rho,theta)

    D2Z_GEO_DRHODTH:
      Specification:  R|units=m|Hermite_explicit Z_geo(nrho_eq,nth_eq)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%d2Z_geo_dRHOdTH(ps%nrho_eq,ps%nth_eq)
      Units:  m/-/rad
      Comments:
        flux surfaces Z(rho,theta)

    DR0_MOMEQ_DRHO:
      Specification:  R|units=m|Hermite_explicit  R0_momeq(nrho_eq)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%dR0_momeq_dRHO(ps%nrho_eq)
      Units:  m/-
      Comments:
        R0 of flux surface
        Fourier Spline representation

    DR_GEO_DRHO:
      Specification:  R|units=m|Hermite_explicit R_geo(nrho_eq,nth_eq)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%dR_geo_dRHO(ps%nrho_eq,ps%nth_eq)
      Units:  m/-
      Comments:
        flux surfaces R(rho,theta)

    DR_GEO_DTH:
      Specification:  R|units=m|Hermite_explicit R_geo(nrho_eq,nth_eq)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%dR_geo_dTH(ps%nrho_eq,ps%nth_eq)
      Units:  m/rad
      Comments:
        flux surfaces R(rho,theta)

    DXRJCOS_MOMEQ_DRHO:
      Specification:  R|units=m|Hermite_explicit  xRjcos_momeq(nrho_eq,neqmom)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%dxRjcos_momeq_dRHO(ps%nrho_eq,ps%neqmom)
      Units:  m/-
      Comments:
        scaled R cos moments
        Fourier Spline representation

    DXRJSIN_MOMEQ_DRHO:
      Specification:  R|units=m|Hermite_explicit  xRjsin_momeq(nrho_eq,neqmom)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%dxRjsin_momeq_dRHO(ps%nrho_eq,ps%neqmom)
      Units:  m/-
      Comments:
        scaled R sin moments
        Fourier Spline representation

    DXZJCOS_MOMEQ_DRHO:
      Specification:  R|units=m|Hermite_explicit  xZjcos_momeq(nrho_eq,neqmom)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%dxZjcos_momeq_dRHO(ps%nrho_eq,ps%neqmom)
      Units:  m/-
      Comments:
        scaled Z cos moments
        Fourier Spline representation

    DXZJSIN_MOMEQ_DRHO:
      Specification:  R|units=m|Hermite_explicit  xZjsin_momeq(nrho_eq,neqmom)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%dxZjsin_momeq_dRHO(ps%nrho_eq,ps%neqmom)
      Units:  m/-
      Comments:
        scaled Z sin moments
        Fourier Spline representation

    DZ0_MOMEQ_DRHO:
      Specification:  R|units=m|Hermite_explicit  Z0_momeq(nrho_eq)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%dZ0_momeq_dRHO(ps%nrho_eq)
      Units:  m/-
      Comments:
        Z0 of flux surface
        Fourier Spline representation

    DZ_GEO_DRHO:
      Specification:  R|units=m|Hermite_explicit Z_geo(nrho_eq,nth_eq)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%dZ_geo_dRHO(ps%nrho_eq,ps%nth_eq)
      Units:  m/-
      Comments:
        flux surfaces Z(rho,theta)

    DZ_GEO_DTH:
      Specification:  R|units=m|Hermite_explicit Z_geo(nrho_eq,nth_eq)
      Note: Hermite_derivative
      Declaration:  REAL(KIND=rspec) ps%dZ_geo_dTH(ps%nrho_eq,ps%nth_eq)
      Units:  m/rad
      Comments:
        flux surfaces Z(rho,theta)

    ELONG:
      Specification:  R|pclin  elong(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%elong(ps%nrho_eq_geo)
      Units:  -
      Comments:
        elongation (b/a)
        (Zmax-Zmin)/(Rmax-Rmin) on each surface

    GAMMA_NC:
      Specification:  R|units=m^-1|pclin   gamma_nc(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gamma_nc(ps%nrho_eq_geo)
      Units:  m^-1
      Comments:
        NC gamma
        2pi/int(0 to 2pi)[dtheta*(B/B.grad(theta))]

    GB1:
      Specification:  R|units=T|pclin      gb1(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gb1(ps%nrho_eq_geo)
      Units:  T
      Comments:
        <|B|>

    GB2:
      Specification:  R|units=T^2|pclin    gb2(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gb2(ps%nrho_eq_geo)
      Units:  T^2
      Comments:
        <B^2>

    GB2I:
      Specification:  R|units=T^-2|pclin   gb2i(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gb2i(ps%nrho_eq_geo)
      Units:  T^-2
      Comments:
        <1/B^2>

    GBR2:
      Specification:  R|units=T*m^2|pclin  gbr2(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gbr2(ps%nrho_eq_geo)
      Units:  T*m^2
      Comments:
        <|B|*R^2>

    GNCFB2H:
      Specification:  R|units=T^-2|pclin  gncfb2h(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gncfb2h(ps%nrho_eq_geo)
      Units:  T^-2
      Comments:
        <(B^-2)*((1-H)^0.5-(1/3)*(1-H)^1.5)>; H=B/Bmax

    GNCFH:
      Specification:  R|units=-|pclin  gncfh(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gncfh(ps%nrho_eq_geo)
      Units:  -
      Comments:
        <H^-2*(1-SQRT(1-H)*(1+H/2))>; H=B/Bmax

    GR1:
      Specification:  R|units=m|pclin   gr1(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gr1(ps%nrho_eq_geo)
      Units:  m
      Comments:
        <R>

    GR2:
      Specification:  R|units=m^2|pclin gr2(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gr2(ps%nrho_eq_geo)
      Units:  m^2
      Comments:
        <R^2>

    GR2I:
      Specification:  R|units=m^-2|pclin gr2i(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gr2i(ps%nrho_eq_geo)
      Units:  m^-2
      Comments:
        <R^-2>

    GR2RHO2:
      Specification:  R|units=-|pclin gr2rho2(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gr2rho2(ps%nrho_eq_geo)
      Units:  -
      Comments:
        <R^2*|grad(rho)|^2>

    GR3I:
      Specification:  R|units=m^-3|pclin gr3i(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gr3i(ps%nrho_eq_geo)
      Units:  m^-3
      Comments:
        <R^-3>

    GRHO1:
      Specification:  R|units=m^-1|pclin grho1(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%grho1(ps%nrho_eq_geo)
      Units:  m^-1
      Comments:
        <|grad(rho)|>

    GRHO2:
      Specification:  R|units=m^-2|pclin grho2(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%grho2(ps%nrho_eq_geo)
      Units:  m^-2
      Comments:
        <|grad(rho)|^2>

    GRHO2B2I:
      Specification:  R|units=T^-2*m^-2|pclin grho2b2i(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%grho2b2i(ps%nrho_eq_geo)
      Units:  T^-2*m^-2
      Comments:
        <|grad(rho)|^2/B^2>

    GRHO2R2I:
      Specification:  R|units=m^-4|pclin grho2r2i(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%grho2r2i(ps%nrho_eq_geo)
      Units:  m^-4
      Comments:
        <|grad(rho)|^2/R^2>

    GRHO2R3I:
      Specification:  R|units=m^-5|pclin grho2r3i(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%grho2r3i(ps%nrho_eq_geo)
      Units:  m^-5
      Comments:
        <|grad(rho)|^2/R^3>

    GRI:
      Specification:  R|units=m^-2|pclin gri(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%gri(ps%nrho_eq_geo)
      Units:  m^-2
      Comments:
        <1/R>

    GRIRHOI:
      Specification:  R|units=-|pclin grirhoi(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%grirhoi(ps%nrho_eq_geo)
      Units:  -
      Comments:
        <1/(R*|grad(rho)|)>

    G_EQ:
      Specification:  R|units=T*m|Spline_00      g_eq(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%g_eq(ps%nrho_eq)
      Units:  T*m
      Comments:
        equilibrium R*|B_phi|
        By convention this profile is always positive; direction
        of B_phi is taken from element kccw_Bphi:
        B_phi = kccw_Bphi*g/R

    JDOTB:
      Specification:  R|units=A*T/m^2|Hermite_00     jdotb(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%jdotb(ps%nrho_eq)
      Units:  A*T/m^2
      Comments:
        <J.B>
        Parallel current * mod(B) -- note sign convention:
        Local positive values indicate local current flow
        in the direction of the main toroidal current; i.e. actually
        kccw_Jphi * kccw_Bphi * <J.B> is stored.  So, even if the
        main toroidal current and the toroidal field are anti-parallel,
        jdotb is generally positive, but there can be localized regions
        of negative values, usually near the plasma edge.
        From a parallel Ampere's Law expression, <J.B> can be expressed
        as a combination of derivatives of toroidal current and toroidal
        field functions curt(rho) and g(rho):
        <J.B> = 2pi*[g*d(curt)/drho-curt*dg/drho]/(dVol/drho)

    LPOL:
      Specification:  R|units=m|Spline Lpol(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%Lpol(ps%nrho_eq)
      Units:  m
      Comments:
        poloidal path length

    NGRADB2_AV:
      Specification:  R|units=T^2*m^-2|pclin   ngradb2_av(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%ngradb2_av(ps%nrho_eq_geo)
      Units:  T^2*m^-2
      Comments:
        <(B.grad(B)/|B|)^2>
        average of square of grad(B) along field line

    PHIT:
      Specification:  R|units=Wb|Spline_00       phit(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%phit(ps%nrho_eq)
      Units:  Wb
      Comments:
        toroidal flux vs. rho
        By convention, this profile always positive; 0 on axis.
        See kccw_Bphi for specification of direction of toroidal field.

    PSIPOL:
      Specification:  R|units=Wb/rad|Spline_00   psipol(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%psipol(ps%nrho_eq)
      Units:  Wb/rad
      Comments:
        poloidal flux vs. rho
        By convention, this profile always positive; 0 on axis.
        -- see kccw_Jphi; see also psi_to_machine_axis
        for specification of direction (sign) of toroidal current and
        hence the poloidal magnetic field.

    PSIRZ:
      Specification:  R|units=Wb/rad|Spline  PsiRZ(nR,nZ)
      Declaration:  REAL(KIND=rspec) ps%PsiRZ(ps%nr,ps%nz)
      Units:  Wb/rad
      Comments:
        Psi(R,Z)
        Note on Psi(rho) and Psi(R,Z) both: convention is to set
        Psi=0 at the magnetic axis and increasing towards the plasma
        boundary.  Direction of poloidal field is taken from element
        kccw_Jphi:
        
        BR = kccw_Jphi*(1/R)*d(Psi/dZ)
        BZ =-kccw_Jphi*(1/R)*d(Psi/dR)
        
        see also: Psi_to_machine_axis.

    PSMOM_ERRCK:
      Specification:  R|units=-|pclin       psmom_errck(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%psmom_errck(ps%nrho_eq_geo)
      Units:  -
      Comments:
        PS moments sum convergence
        |ngradb2_av(:)-sum[j=1:npsmom]psmom_nc(:,j)/gb2(:)|/maxval(|ngradb2_av(:)|)

    PSMOM_NC:
      Specification:  R|units=m^-2|pclin    psmom_nc(nrho_eq_geo,npsmom)
      Declaration:  REAL(KIND=rspec) ps%psmom_nc(ps%nrho_eq_geo,ps%npsmom)
      Units:  m^-2
      Comments:
        PS moments
        (1:npsmom) Pfirsch-Schlutter moments (NCLASS)
        convergence check: sum[j=1:infinity](psmom_nc(:,j))= gb2(:)*ngradb2_av(:)

    P_EQ:
      Specification:  R|units=Pa|Spline_00       P_eq(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%P_eq(ps%nrho_eq)
      Units:  Pa
      Comments:
        equilibrium scalar pressure

    Q_EQ:
      Specification:  R|units=-|Spline           q_eq(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%q_eq(ps%nrho_eq)
      Units:  -
      Comments:
        equilibrium q profile

    R0_MOMEQ:
      Specification:  R|units=m|Hermite_explicit  R0_momeq(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%R0_momeq(ps%nrho_eq)
      Units:  m
      Comments:
        R0 of flux surface
        Fourier Spline representation

    RMAJOR_MEAN:
      Specification:  R|pclin  Rmajor_mean(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%Rmajor_mean(ps%nrho_eq_geo)
      Units:  m
      Comments:
        Rmajor_mean = (R_Surfmax+R_surfmin)/2

    RMINOR_MEAN:
      Specification:  R|pclin  rMinor_mean(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%rMinor_mean(ps%nrho_eq_geo)
      Units:  m
      Comments:
        rMinor_mean = (R_Surfmax-R_surfmin)/2

    R_GEO:
      Specification:  R|units=m|Hermite_explicit R_geo(nrho_eq,nth_eq)
      Declaration:  REAL(KIND=rspec) ps%R_geo(ps%nrho_eq,ps%nth_eq)
      Units:  m
      Comments:
        flux surfaces R(rho,theta)

    R_MIDP_IN:
      Specification:  R|pclin  R_midp_in(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%R_midp_in(ps%nrho_eq_geo)
      Units:  m
      Comments:
        R (high field side) midplane intercept

    R_MIDP_OUT:
      Specification:  R|pclin  R_midp_out(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%R_midp_out(ps%nrho_eq_geo)
      Units:  m
      Comments:
        R (low field side) midplane intercept

    R_SURFMAX:
      Specification:  R|pclin  R_surfMax(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%R_surfMax(ps%nrho_eq_geo)
      Units:  m
      Comments:
        max R on flux surface

    R_SURFMIN:
      Specification:  R|pclin  R_surfMin(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%R_surfMin(ps%nrho_eq_geo)
      Units:  m
      Comments:
        min R on flux surface

    SQUARELO:
      Specification:  R|pclin  squareLO(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%squareLO(ps%nrho_eq_geo)
      Units:  -
      Comments:
        lower outer squareness
        lower half of plasma, large major radius side
        definition per C. T. Holcomb et al,
        Physics of Plasmas 15, 056116 (2009)

    SQUAREUO:
      Specification:  R|pclin  squareUO(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%squareUO(ps%nrho_eq_geo)
      Units:  -
      Comments:
        upper outer squareness
        upper half of plasma, large major radius side
        definition per C. T. Holcomb et al,
        Physics of Plasmas 15, 056116 (2009)

    SURF:
      Specification:  R|units=m^2|Spline surf(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%surf(ps%nrho_eq)
      Units:  m^2
      Comments:
        area of flux surfaces

    TRIANG:
      Specification:  R|pclin  triang(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%triang(ps%nrho_eq_geo)
      Units:  -
      Comments:
        triangularity (symmetrized)
        ((Rmin+Rmax)/2 - min(R(Zmax),R(Zmin)))/((Rmax-Rmin)/2)

    TRIANGL:
      Specification:  R|pclin  triangL(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%triangL(ps%nrho_eq_geo)
      Units:  -
      Comments:
        lower triangularity
        ((Rmin+Rmax)/2 - R(Zmin))/((Rmax-Rmin)/2)

    TRIANGU:
      Specification:  R|pclin  triangU(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%triangU(ps%nrho_eq_geo)
      Units:  -
      Comments:
        upper triangularity
        ((Rmin+Rmax)/2 - R(Zmax))/((Rmax-Rmin)/2)

    TRIANG_MILLER_L:
      Specification:  R|pclin  triang_miller_L(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%triang_miller_L(ps%nrho_eq_geo)
      Units:  -
      Comments:
        Miller lower triangularity
        Sin(aCos((R(Zmin)-Rmajor_mean)/rMinor_mean)-pi/2).

    TRIANG_MILLER_U:
      Specification:  R|pclin  triang_miller_U(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%triang_miller_U(ps%nrho_eq_geo)
      Units:  -
      Comments:
        Miller upper triangularity
        Sin(aCos((R(Zmax)-Rmajor_mean)/rMinor_mean)-pi/2).

    VOL:
      Specification:  R|units=m^3|Spline_00  vol(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%vol(ps%nrho_eq)
      Units:  m^3
      Comments:
        enclosed volume

    XRJCOS_MOMEQ:
      Specification:  R|units=m|Hermite_explicit  xRjcos_momeq(nrho_eq,neqmom)
      Declaration:  REAL(KIND=rspec) ps%xRjcos_momeq(ps%nrho_eq,ps%neqmom)
      Units:  m
      Comments:
        scaled R cos moments
        Fourier Spline representation

    XRJSIN_MOMEQ:
      Specification:  R|units=m|Hermite_explicit  xRjsin_momeq(nrho_eq,neqmom)
      Declaration:  REAL(KIND=rspec) ps%xRjsin_momeq(ps%nrho_eq,ps%neqmom)
      Units:  m
      Comments:
        scaled R sin moments
        Fourier Spline representation

    XZJCOS_MOMEQ:
      Specification:  R|units=m|Hermite_explicit  xZjcos_momeq(nrho_eq,neqmom)
      Declaration:  REAL(KIND=rspec) ps%xZjcos_momeq(ps%nrho_eq,ps%neqmom)
      Units:  m
      Comments:
        scaled Z cos moments
        Fourier Spline representation

    XZJSIN_MOMEQ:
      Specification:  R|units=m|Hermite_explicit  xZjsin_momeq(nrho_eq,neqmom)
      Declaration:  REAL(KIND=rspec) ps%xZjsin_momeq(ps%nrho_eq,ps%neqmom)
      Units:  m
      Comments:
        scaled Z sin moments
        Fourier Spline representation

    Z0_MOMEQ:
      Specification:  R|units=m|Hermite_explicit  Z0_momeq(nrho_eq)
      Declaration:  REAL(KIND=rspec) ps%Z0_momeq(ps%nrho_eq)
      Units:  m
      Comments:
        Z0 of flux surface
        Fourier Spline representation

    Z_GEO:
      Specification:  R|units=m|Hermite_explicit Z_geo(nrho_eq,nth_eq)
      Declaration:  REAL(KIND=rspec) ps%Z_geo(ps%nrho_eq,ps%nth_eq)
      Units:  m
      Comments:
        flux surfaces Z(rho,theta)

    Z_MIDP:
      Specification:  R|pclin  Z_midp(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%Z_midp(ps%nrho_eq_geo)
      Units:  m
      Comments:
        flux surface midplane elevation

    Z_SURFMAX:
      Specification:  R|pclin  Z_surfMax(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%Z_surfMax(ps%nrho_eq_geo)
      Units:  m
      Comments:
        max Z on flux surface

    Z_SURFMIN:
      Specification:  R|pclin  Z_surfMin(nrho_eq_geo)
      Declaration:  REAL(KIND=rspec) ps%Z_surfMin(ps%nrho_eq_geo)
      Units:  m
      Comments:
        min Z on flux surface

-------------------------------------------------------------------------
Physics component:  FUS:
     Fusion product fast ions

  Section: MACHINE_DESCRIPTION (component: FUS)
    (no data elements)

  Section: SHOT_CONFIGURATION (component: FUS)

    M_SFUS:
      Specification:  S|fusion_ion   SFUS(nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%m_SFUS(ps%nspec_fusion)
      Units:  kg
      Comments:
        SFUS specie mass

    NSPEC_FUSION:
      Specification:  S|fusion_ion   SFUS(nspec_fusion)
      Declaration:  INTEGER ps%nspec_fusion
      Comments:
        species list dimension of SFUS (fusion_ion)

    QATOM_SFUS:
      Specification:  S|fusion_ion   SFUS(nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%qatom_SFUS(ps%nspec_fusion)
      Units:  C
      Comments:
        SFUS atomic number

    Q_SFUS:
      Specification:  S|fusion_ion   SFUS(nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%q_SFUS(ps%nspec_fusion)
      Units:  C
      Comments:
        SFUS specie charge

    SFUS_NAME:
      Specification:  S|fusion_ion   SFUS(nspec_fusion)
      Declaration:  CHARACTER*32 ps%SFUS_name(ps%nspec_fusion)
      Comments:
        fusion product ion species

    SFUS_TYPE:
      Specification:  S|fusion_ion   SFUS(nspec_fusion)
      Declaration:  INTEGER ps%SFUS_type(ps%nspec_fusion)
      Comments:
        SFUS specie types

  Section: SIMULATION_INIT (component: FUS)

    FUS_CODE_INFO:
      Specification:  C*80   FUS_Code_Info
      Declaration:  CHARACTER*80 ps%FUS_Code_Info
      Comments:
        Information: code implementing FUS component

    NRHO_FUS:
      Specification:  G  rho_fus(nrho_fus)
      Declaration:  INTEGER ps%nrho_fus
      Comments:
        grid dimension of rho_fus (RHO coordinate)

    RHO_FUS:
      Specification:  G  rho_fus(nrho_fus)
      Declaration:  REAL(KIND=rspec) ps%rho_fus(ps%nrho_fus)
      Units:  -
      Comments:
        rho grid -- Fusion products model

  Section: STATE_DATA (component: FUS)

    NMINI_BDY:
      Specification:  R|units=m^-3  nmini_bdy(nspec_rfmin)
      Declaration:  REAL(KIND=rspec) ps%nmini_bdy(ps%nspec_rfmin)
      Units:  m^-3
      Comments:
        RF minority ion densities at/beyond boundary

  Section: STATE_PROFILES (component: FUS)

    CURFUSN:
      Specification:  R|step*dA|units=A   curfusn(~nrho_fus)
      Declaration:  REAL(KIND=rspec) ps%curfusn(ps%nrho_fus-1)
      Units:  A
      Comments:
        fusion ion driven current (shielded)

    EPERP_FUSI:
      Specification:  R|units=keV|alias=eperp_|step*nfusi eperp_fusi(~nrho_fus,nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%eperp_fusi(ps%nrho_fus-1,ps%nspec_fusion)
      Units:  keV
      Comments:
        fusion ion <Eperp>, lab frame

    EPLL_FUSI:
      Specification:  R|units=keV|alias=epll_|step*nfusi  epll_fusi(~nrho_fus,nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%epll_fusi(ps%nrho_fus-1,ps%nspec_fusion)
      Units:  keV
      Comments:
        fusion ion <Epll>, lab frame

    NFUSI:
      Specification:  R|units=m^-3|alias=n|step  nfusi(~nrho_fus,nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%nfusi(ps%nrho_fus-1,ps%nspec_fusion)
      Units:  m^-3
      Comments:
        fusion ion density

    PFUSE:
      Specification:  R|step*dV   pfuse(~nrho_fus)
      Declaration:  REAL(KIND=rspec) ps%pfuse(ps%nrho_fus-1)
      Units:  W
      Comments:
        electron heating by all fusion ions

    PFUSI:
      Specification:  R|step*dV   pfusi(~nrho_fus)
      Declaration:  REAL(KIND=rspec) ps%pfusi(ps%nrho_fus-1)
      Units:  W
      Comments:
        thermal ion heating by all fusion ions

    PFUSTH:
      Specification:  R|step*dV   pfusth(~nrho_fus)
      Declaration:  REAL(KIND=rspec) ps%pfusth(ps%nrho_fus-1)
      Units:  W
      Comments:
        thermalization of fusion ions

    RATE_SINF0I:
      Specification:  R|step|units=1/sec       rate_sinf0i(~nrho_fus,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%rate_sinf0i(ps%nrho_fus-1,ps%nspec_gas)
      Units:  1/sec
      Comments:
        sink rate due to ionization by fusion ions

    RATE_SINF0X:
      Specification:  R|step|units=1/sec       rate_sinf0x(~nrho_fus,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%rate_sinf0x(ps%nrho_fus-1,ps%nspec_gas)
      Units:  1/sec
      Comments:
        sink rate due to CX with fusion ions (total)

    RATE_SINF0XS:
      Specification:  R|step|units=1/sec       rate_sinf0xs(~nrho_fus,nspec_gas,nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%rate_sinf0xs(ps%nrho_fus-1,ps%nspec_gas,ps%nspec_fusion)
      Units:  1/sec
      Comments:
        sink rate due to CX with fusion ions

    SFSCE:
      Specification:  R|step*dV|units=#/sec   sfsce(~nrho_fus,0:nspec_tha)
      Declaration:  REAL(KIND=rspec) ps%sfsce(ps%nrho_fus-1,0:ps%nspec_tha)
      Units:  #/sec
      Comments:
        net thermalization source of fusion ions
        sources due to fusion ions:  fusion ion thermalization;
        corrections due to charge exchange effects (usually small).

    SFTHERM:
      Specification:  R|step*dV|units=#/sec   sftherm(~nrho_fus,nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%sftherm(ps%nrho_fus-1,ps%nspec_fusion)
      Units:  #/sec
      Comments:
        fusion ion thermalization

-------------------------------------------------------------------------
Physics component:  GAS:
     Neutral Gas sources & transport

  Section: MACHINE_DESCRIPTION (component: GAS)
    (no data elements)

  Section: SHOT_CONFIGURATION (component: GAS)

    GAS_ATOM:
      Specification:  N  gas_atom(ngsc0)
      Declaration:  CHARACTER*32 ps%gas_atom(ps%ngsc0)
      Comments:
        name of species introduced by each gas source
        Possible values are: "H", "D", "T", "He3", and "He4" at present.
        Each must correspond to an actual species in the SGAS list.

    GS_NAME:
      Specification:  L|gas_source    gs_name(ngsc0)
      Declaration:  CHARACTER*32 ps%gs_name(ps%ngsc0)
      Comments:
        number & name of edge neutral gas sources

    IS_RECYCLING:
      Specification:  I  is_recycling(ngsc0)
      Declaration:  INTEGER ps%is_recycling(ps%ngsc0)
      Comments:
        0/1; =1 to for recycling sources
        i.e. sources proportional to ion outfluxes

    NGSC0:
      Specification:  L|gas_source    gs_name(ngsc0)
      Declaration:  INTEGER ps%ngsc0
      Comments:
        item list dimension of gs_name (gas_source)

  Section: SIMULATION_INIT (component: GAS)

    GAS_CODE_INFO:
      Specification:  C*80   GAS_Code_Info
      Declaration:  CHARACTER*80 ps%GAS_Code_Info
      Comments:
        Information: code implementing GAS component

    M_SGAS:
      Specification:  S|neutral_gas  SGAS(nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%m_SGAS(ps%nspec_gas)
      Units:  kg
      Comments:
        SGAS specie mass

    M_SIMP0:
      Specification:  S|impurity_atoms SIMP0(nspec_imp0)
      Declaration:  REAL(KIND=rspec) ps%m_SIMP0(ps%nspec_imp0)
      Units:  kg
      Comments:
        SIMP0 specie mass

    NRHO_GAS:
      Specification:  G  rho_gas(nrho_gas)
      Declaration:  INTEGER ps%nrho_gas
      Comments:
        grid dimension of rho_gas (RHO coordinate)

    NSPEC_GAS:
      Specification:  S|neutral_gas  SGAS(nspec_gas)
      Declaration:  INTEGER ps%nspec_gas
      Comments:
        species list dimension of SGAS (neutral_gas)

    NSPEC_IMP0:
      Specification:  S|impurity_atoms SIMP0(nspec_imp0)
      Declaration:  INTEGER ps%nspec_imp0
      Comments:
        species list dimension of SIMP0 (impurity_atoms)

    QATOM_SGAS:
      Specification:  S|neutral_gas  SGAS(nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%qatom_SGAS(ps%nspec_gas)
      Units:  C
      Comments:
        SGAS atomic number

    QATOM_SIMP0:
      Specification:  S|impurity_atoms SIMP0(nspec_imp0)
      Declaration:  REAL(KIND=rspec) ps%qatom_SIMP0(ps%nspec_imp0)
      Units:  C
      Comments:
        SIMP0 atomic number

    Q_SGAS:
      Specification:  S|neutral_gas  SGAS(nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%q_SGAS(ps%nspec_gas)
      Units:  C
      Comments:
        SGAS specie charge

    Q_SIMP0:
      Specification:  S|impurity_atoms SIMP0(nspec_imp0)
      Declaration:  REAL(KIND=rspec) ps%q_SIMP0(ps%nspec_imp0)
      Units:  C
      Comments:
        SIMP0 specie charge

    RHO_GAS:
      Specification:  G  rho_gas(nrho_gas)
      Declaration:  REAL(KIND=rspec) ps%rho_gas(ps%nrho_gas)
      Units:  -
      Comments:
        rho grid (GAS -- neutral gas model)

    SC0_TO_SGAS:
      Specification:  I  sc0_to_sgas(ngsc0)
      Declaration:  INTEGER ps%sc0_to_sgas(ps%ngsc0)
      Comments:
        index map from neutral source to neutral species
        (computed from GAS_ATOM(ngsc0)).
        this indicates the species injected by the source
        although charge exchange induces a source/sink
        profile of additional species proportional to
        each source.

    SGAS_NAME:
      Specification:  S|neutral_gas  SGAS(nspec_gas)
      Declaration:  CHARACTER*32 ps%SGAS_name(ps%nspec_gas)
      Comments:
        atomic neutral species in plasma core

    SGAS_TO_S:
      Specification:  I  sgas_to_s(nspec_gas)
      Declaration:  INTEGER ps%sgas_to_s(ps%nspec_gas)
      Comments:
        map sgas index to "s" list

    SGAS_TYPE:
      Specification:  S|neutral_gas  SGAS(nspec_gas)
      Declaration:  INTEGER ps%SGAS_type(ps%nspec_gas)
      Comments:
        SGAS specie types

    SIMP0_NAME:
      Specification:  S|impurity_atoms SIMP0(nspec_imp0)
      Declaration:  CHARACTER*32 ps%SIMP0_name(ps%nspec_imp0)
      Comments:
        atomic impurity species in simulation

    SIMP0_TO_S:
      Specification:  I  simp0_to_s(nspec_imp0)
      Declaration:  INTEGER ps%simp0_to_s(ps%nspec_imp0)
      Comments:
        map simp0 index to "s" list

    SIMP0_TYPE:
      Specification:  S|impurity_atoms SIMP0(nspec_imp0)
      Declaration:  INTEGER ps%SIMP0_type(ps%nspec_imp0)
      Comments:
        SIMP0 specie types

  Section: STATE_DATA (component: GAS)

    DN0OUT:
      Specification:  R|units=m^-3  dn0out
      Declaration:  REAL(KIND=rspec) ps%dn0out
      Units:  m^-3
      Comments:
        Hydrogenic neutral density in scrape off region
        This is a simplified 0d specification of neutral density
        beyond the plasma boundary, that can be used to deplete
        fast ion orbits that go beyond the boundary via charge
        exchange, in some models.

    E0_AV:
      Specification:  R|units=KeV   e0_av(ngsc0)
      Declaration:  REAL(KIND=rspec) ps%e0_av(ps%ngsc0)
      Units:  KeV
      Comments:
        average energy of neutral sources, "(3/2)*T0"
        [in reference frame of (vphi0_av)]; some models
        impose a minimum value such as 0.005 KeV.  The
        value can effect penetration of neutrals and
        depth of edge-driven charge exchange loss, but
        (depending on plasma parameters) the effect
        is often weak.

    SC0:
      Specification:  R|units=#/sec  sc0(ngsc0)
      Declaration:  REAL(KIND=rspec) ps%sc0(ps%ngsc0)
      Units:  #/sec
      Comments:
        edge neutral sources (atoms/sec)
        these numbers normalize numerous GAS profiles

    VPHI0_AV:
      Specification:  R|units=m/sec vphi0_av(ngsc0)
      Declaration:  REAL(KIND=rspec) ps%vphi0_av(ps%ngsc0)
      Units:  m/sec
      Comments:
        average toroidal velocity of neutral source
        (some models may assume this is zero).

  Section: STATE_PROFILES (component: GAS)

    N0NORM:
      Specification:  R|step|units=(m^-3)/(#/sec)    n0norm(~nrho_gas,nspec_gas,ngsc0)
      Declaration:  REAL(KIND=rspec) ps%n0norm(ps%nrho_gas-1,ps%nspec_gas,ps%ngsc0)
      Units:  (m^-3)/(#/sec)
      Comments:
        neutral density per unit gas influx (sc0)
        for each neutral specie due to each source

    N0_RECO:
      Specification:  R|units=m^-3|step         n0_reco(~nrho_gas,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%n0_reco(ps%nrho_gas-1,ps%nspec_gas)
      Units:  m^-3
      Comments:
        reco thermal neutral density

    OMEG0CX:
      Specification:  R|step*tqqcx|units=rad/sec  omeg0cx(~nrho_gas,ngsc0)
      Declaration:  REAL(KIND=rspec) ps%omeg0cx(ps%nrho_gas-1,ps%ngsc0)
      Units:  rad/sec
      Comments:
        effective neutral angular velocity for CX torque
        (use with tqqcx)

    OMEG0SC0:
      Specification:  R|step*n0norm|units=(rad/sec)  omeg0sc0(~nrho_gas,nspec_gas,ngsc0)
      Declaration:  REAL(KIND=rspec) ps%omeg0sc0(ps%nrho_gas-1,ps%nspec_gas,ps%ngsc0)
      Units:  (rad/sec)
      Comments:
        toroidal angular velocity
        for each neutral specie due to each influx (sc0).

    OMEG0_RECO:
      Specification:  R|units=rad/sec|step*n0_reco  omeg0_reco(~nrho_gas,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%omeg0_reco(ps%nrho_gas-1,ps%nspec_gas)
      Units:  rad/sec
      Comments:
        reco neutral toroidal angular velocity

    P0_RECO:
      Specification:  R|step*dV   p0_reco(~nrho_gas)
      Declaration:  REAL(KIND=rspec) ps%p0_reco(ps%nrho_gas-1)
      Units:  W
      Comments:
        power in recombination neutral source
        (loss from thermal ions)

    PCX_RECO:
      Specification:  R|step*dV   pcx_reco(~nrho_gas)
      Declaration:  REAL(KIND=rspec) ps%pcx_reco(ps%nrho_gas-1)
      Units:  W
      Comments:
        reco driven CX power
        (>0 => local source to thermal ions)
        (no associated particle source/sink)

    PSC_RECO:
      Specification:  R|step*dV   psc_reco(~nrho_gas)
      Declaration:  REAL(KIND=rspec) ps%psc_reco(ps%nrho_gas-1)
      Units:  W
      Comments:
        reco power: recapture - p0_reco
        (net source/sink to thermal ions)
        (associated particle source/sink exists)

    QIONIZ:
      Specification:  R|step*dV|units=W/(#/sec)     qioniz(~nrho_gas,ngsc0)
      Declaration:  REAL(KIND=rspec) ps%qioniz(ps%nrho_gas-1,ps%ngsc0)
      Units:  W/(#/sec)
      Comments:
        ionization power per unit influx (sc0)

    QQCX:
      Specification:  R|step*dV|units=W/(#/sec)/keV  qqcx(~nrho_gas,ngsc0)
      Declaration:  REAL(KIND=rspec) ps%qqcx(ps%nrho_gas-1,ps%ngsc0)
      Units:  W/(#/sec)/keV
      Comments:
        cx power per unit influx per (T0-Ti)

    S0RECO:
      Specification:  R|step*dV|units=#/sec s0reco(~nrho_gas,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%s0reco(ps%nrho_gas-1,ps%nspec_gas)
      Units:  #/sec
      Comments:
        recombination neutral sce
        psc_reco =~ (3/2)*Ti*(s0reco_recap-s0reco)*1.602e-16
        note: electron sink = sum (Z(i)*s0reco(:,i))
        where Z(i) is the number of electrons carried by a neutral atom
        of species (i).

    S0RECO_E:
      Specification:  R|step*dV|units=#/sec s0reco_e(~nrho_gas)
      Declaration:  REAL(KIND=rspec) ps%s0reco_e(ps%nrho_gas-1)
      Units:  #/sec
      Comments:
        net electron source associated with recombination:
        sum[-Z(i)*s0reco(:,i) + Z(i)*s0reco_recap(:,i)]

    S0RECO_RECAP:
      Specification:  R|step*dV|units=#/sec s0reco_recap(~nrho_gas,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%s0reco_recap(ps%nrho_gas-1,ps%nspec_gas)
      Units:  #/sec
      Comments:
        recombination neutrals recapture
        recapture of recombination source thermal neutrals -- ion source
        psc_reco =~ (3/2)*Ti*(sb0reco_recap-sb0reco)*1.602e-16

    SPROF0:
      Specification:  R|step*dV|units=(#/sec)/(#/sec)  sprof0(~nrho_gas,nspec_gas,ngsc0)
      Declaration:  REAL(KIND=rspec) ps%sprof0(ps%nrho_gas-1,ps%nspec_gas,ps%ngsc0)
      Units:  (#/sec)/(#/sec)
      Comments:
        gas species source/sinks per unit species influx
        due to charge exchange, single species neutral
        source (sc0(i)) leads to multi species ion sce.
        remark (Jan. 2009):
        charge exchange can affect impurity charge
        states -- may need to add profiles to track
        this interaction, in the future...

    SPROF0E:
      Specification:  R|step*dV|units=(#/sec)/(#/sec)  sprof0e(~nrho_gas,ngsc0)
      Declaration:  REAL(KIND=rspec) ps%sprof0e(ps%nrho_gas-1,ps%ngsc0)
      Units:  (#/sec)/(#/sec)
      Comments:
        electron source per unit neutral species influx

    T0CX:
      Specification:  R|step*qqcx|units=keV  T0cx(~nrho_gas,ngsc0)
      Declaration:  REAL(KIND=rspec) ps%T0cx(ps%nrho_gas-1,ps%ngsc0)
      Units:  keV
      Comments:
        effective neutral temperature for CX power
        (use with qqcx)

    T0SC0:
      Specification:  R|step*n0norm|units=keV        T0sc0(~nrho_gas,nspec_gas,ngsc0)
      Declaration:  REAL(KIND=rspec) ps%T0sc0(ps%nrho_gas-1,ps%nspec_gas,ps%ngsc0)
      Units:  keV
      Comments:
        neutral temperature (2/3)<E0>
        in co-rotating frame for each neutral specie
        due each neutral influx (sc0)

    T0_RECO:
      Specification:  R|units=keV|step*n0_reco  T0_reco(~nrho_gas,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%T0_reco(ps%nrho_gas-1,ps%nspec_gas)
      Units:  keV
      Comments:
        reco neutral temperature (2/3)<E0>

    TQ0_RECO:
      Specification:  R|step*dV   tq0_reco(~nrho_gas)
      Declaration:  REAL(KIND=rspec) ps%tq0_reco(ps%nrho_gas-1)
      Units:  Nt*m
      Comments:
        torque of recombination neutral source
        (momentum loss from thermal ions)

    TQCX_RECO:
      Specification:  R|step*dV   tqcx_reco(~nrho_gas)
      Declaration:  REAL(KIND=rspec) ps%tqcx_reco(ps%nrho_gas-1)
      Units:  Nt*m
      Comments:
        reco driven CX momentum torque
        (positive value = momentum source)
        (no associated particle source/sink)

    TQIONIZ:
      Specification:  R|step*dV|units=Nt*m/(#/sec)     tqioniz(~nrho_gas,ngsc0)
      Declaration:  REAL(KIND=rspec) ps%tqioniz(ps%nrho_gas-1,ps%ngsc0)
      Units:  Nt*m/(#/sec)
      Comments:
        ionization torque per unit influx (sc0)

    TQQCX:
      Specification:  R|step*dV|units=Nt*m/(#/sec)/(rad/sec)  tqqcx(~nrho_gas,ngsc0)
      Declaration:  REAL(KIND=rspec) ps%tqqcx(ps%nrho_gas-1,ps%ngsc0)
      Units:  Nt*m/(#/sec)/(rad/sec)
      Comments:
        cx torque per unit influx per (omeg0-omegi)

    TQSC_RECO:
      Specification:  R|step*dV   tqsc_reco(~nrho_gas)
      Declaration:  REAL(KIND=rspec) ps%tqsc_reco(ps%nrho_gas-1)
      Units:  Nt*m
      Comments:
        reco torque: recapture - tq0_reco
        (net source/sink to thermal ions)
        (associated particle source/sink exists)

-------------------------------------------------------------------------
Physics component:  IC:
     Ion cyclotron heating

  Section: MACHINE_DESCRIPTION (component: IC)

    ANT_MODEL:
      Specification:  F ant_model(nicrf_src)
      Declaration:  CHARACTER*256 ps%ant_model(ps%nicrf_src)
      Comments:
        antenna model filenames (1 per antenna source)

    DX_FSHIELD:
      Specification:  R|units=m dx_fshield(nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%dx_fshield(ps%nicrf_src)
      Units:  m
      Comments:
        distance, antenna to Faraday shield

    ICRF_SRC_NAME:
      Specification:  L|icrf_source   icrf_src_name(nicrf_src)
      Declaration:  CHARACTER*32 ps%icrf_src_name(ps%nicrf_src)
      Comments:
        number & name of ICRF sources

    MAX_NRZ_ANTGEO:
      Specification:  (derived from NRZ_ANTGEO)
      Declaration:  INTEGER ps%max_nrz_antgeo
      Comments:
        Maximum size of variable length enumeration: NRZ_ANTGEO

    NICRF_SRC:
      Specification:  L|icrf_source   icrf_src_name(nicrf_src)
      Declaration:  INTEGER ps%nicrf_src
      Comments:
        item list dimension of icrf_src_name (icrf_source)

    NRZ_ANTGEO:
      Specification:  I|ENUM nrz_antgeo(nicrf_src)
      Declaration:  INTEGER ps%nrz_antgeo(ps%nicrf_src)
      Comments:
        number of (R,Z) points, antenna geometries

    R_ANTGEO:
      Specification:  R|units=m R_antgeo(nrz_antgeo(),nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%R_antgeo(ps%max_nrz_antgeo,ps%nicrf_src)
      Units:  m
      Comments:
        antenna geo: R pts

    Z_ANTGEO:
      Specification:  R|units=m Z_antgeo(nrz_antgeo(),nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%Z_antgeo(ps%max_nrz_antgeo,ps%nicrf_src)
      Units:  m
      Comments:
        antenna geo: Z pts

  Section: SHOT_CONFIGURATION (component: IC)

    FREQ_IC:
      Specification:  R|units=Hz freq_ic(nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%freq_ic(ps%nicrf_src)
      Units:  Hz
      Comments:
        frequency on each ICRF source

    IMAG_ANT_COEF:
      Specification:  R|units=Amps/m Imag_ant_coef(num_nphi_vac(),nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%Imag_ant_coef(ps%max_num_nphi_vac,ps%nicrf_src)
      Units:  Amps/m
      Comments:
        imag part of Fourier Coef

    MAX_NUM_NPHI:
      Specification:  (derived from NUM_NPHI)
      Declaration:  INTEGER ps%max_num_nphi
      Comments:
        Maximum size of variable length enumeration: NUM_NPHI

    MAX_NUM_NPHI_VAC:
      Specification:  (derived from NUM_NPHI_VAC)
      Declaration:  INTEGER ps%max_num_nphi_vac
      Comments:
        Maximum size of variable length enumeration: NUM_NPHI_VAC

    MAX_N_STRAPS:
      Specification:  (derived from N_STRAPS)
      Declaration:  INTEGER ps%max_n_straps
      Comments:
        Maximum size of variable length enumeration: N_STRAPS

    M_RFMIN:
      Specification:  S|RF_minority  RFMIN(nspec_rfmin)
      Declaration:  REAL(KIND=rspec) ps%m_RFMIN(ps%nspec_rfmin)
      Units:  kg
      Comments:
        RFMIN specie mass

    NPHI:
      Specification:  I nphi(num_nphi(),nicrf_src)
      Declaration:  INTEGER ps%nphi(ps%max_num_nphi,ps%nicrf_src)
      Comments:
        n_phi wave spectrum from antenna

    NSPEC_RFMIN:
      Specification:  S|RF_minority  RFMIN(nspec_rfmin)
      Declaration:  INTEGER ps%nspec_rfmin
      Comments:
        species list dimension of RFMIN (RF_minority)

    NUM_NPHI:
      Specification:  I|ENUM:nphi  num_nphi(nicrf_src)
      Declaration:  INTEGER ps%num_nphi(ps%nicrf_src)
      Comments:
        number of non-zero n_phi values
        counting both positive and negative
        n_phi values

    NUM_NPHI_VAC:
      Specification:  I|ENUM num_nphi_vac(nicrf_src)
      Declaration:  INTEGER ps%num_nphi_vac(ps%nicrf_src)
      Comments:
        number of non-zero n_phi values
        counting both positive and negative
        n_phi values for the retained vacuum
        spectrum--will typicall be a few hundred
        or less and is a super set of num_phi

    N_STRAPS:
      Specification:  I|ENUM n_straps(nicrf_src)
      Declaration:  INTEGER ps%n_straps(ps%nicrf_src)
      Comments:
        number of straps in the antenna

    QATOM_RFMIN:
      Specification:  S|RF_minority  RFMIN(nspec_rfmin)
      Declaration:  REAL(KIND=rspec) ps%qatom_RFMIN(ps%nspec_rfmin)
      Units:  C
      Comments:
        RFMIN atomic number

    Q_RFMIN:
      Specification:  S|RF_minority  RFMIN(nspec_rfmin)
      Declaration:  REAL(KIND=rspec) ps%q_RFMIN(ps%nspec_rfmin)
      Units:  C
      Comments:
        RFMIN specie charge

    REAL_ANT_COEF:
      Specification:  R|units=Amps/m Real_ant_coef(num_nphi_vac(),nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%Real_ant_coef(ps%max_num_nphi_vac,ps%nicrf_src)
      Units:  Amps/m
      Comments:
        real part of Fourier Coef

    RFMIN_NAME:
      Specification:  S|RF_minority  RFMIN(nspec_rfmin)
      Declaration:  CHARACTER*32 ps%RFMIN_name(ps%nspec_rfmin)
      Comments:
        ICRF minority species

    RFMIN_TYPE:
      Specification:  S|RF_minority  RFMIN(nspec_rfmin)
      Declaration:  INTEGER ps%RFMIN_type(ps%nspec_rfmin)
      Comments:
        RFMIN specie types

    R_ANT:
      Specification:  R|units=m R_ant(nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%R_ant(ps%nicrf_src)
      Units:  m
      Comments:
        major radius of antenna

    WT_NPHI:
      Specification:  R|units=- wt_nphi(num_nphi(),nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%wt_nphi(ps%max_num_nphi,ps%nicrf_src)
      Units:  -
      Comments:
        vacuum spectrum n_phi weight
        power_ic(iant)*wt_nphi(ind,iant)
        gives "vacuum" power @nphi(ind,iant)
        "ind" covers range 1:num_nphi(iant).
        see also wt_nphi_abs(...)

    Z_ANT:
      Specification:  R|units=m Z_ant(nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%Z_ant(ps%nicrf_src)
      Units:  m
      Comments:
        height of antenna

    Z_MID_ANT:
      Specification:  R|units=m Z_mid_ant(nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%Z_mid_ant(ps%nicrf_src)
      Units:  m
      Comments:
        center of antenna relative to TF coil midplane
        machine midplane as defined by Z=0 in the equilibrium specification
        same reference as used for beams
        default of 0.0 could be used, but ant. is often offset

  Section: SIMULATION_INIT (component: IC)

    FRACMIN:
      Specification:  R|units=- fracmin(nspec_rfmin)
      Declaration:  REAL(KIND=rspec) ps%fracmin(ps%nspec_rfmin)
      Units:  -
      Comments:
        minority density fraction if kdens_rfmin="fraction"
        if so, it must have non-zero positive value for each minority ion specie.
        sum(fracmin) << 1 is expected.

    IC_CODE_INFO:
      Specification:  C*80   IC_Code_Info
      Declaration:  CHARACTER*80 ps%IC_Code_Info
      Comments:
        Information: code implementing IC component

    IC_DATA_INFO:
      Specification:  C*80   IC_Data_Info
      Declaration:  CHARACTER*80 ps%IC_Data_Info
      Comments:
        information on source of ICRF power data

    KDENS_RFMIN:
      Specification:  N  kdens_rfmin = "data"
      Declaration:  CHARACTER*32 ps%kdens_rfmin
      Comments:
        = "fraction" => nmini(i) = fracmin(i)*ne
        = any other value (e.g. "data" or "model") then
        the minority density is set by some other
        means (e.g. read in from another data source).

    NRHO_ICRF:
      Specification:  G  rho_icrf(nrho_icrf)
      Declaration:  INTEGER ps%nrho_icrf
      Comments:
        grid dimension of rho_icrf (RHO coordinate)

    RHO_ICRF:
      Specification:  G  rho_icrf(nrho_icrf)
      Declaration:  REAL(KIND=rspec) ps%rho_icrf(ps%nrho_icrf)
      Units:  -
      Comments:
        rho grid (RF)

  Section: STATE_DATA (component: IC)

    DIST_FUN:
      Specification:  F  dist_fun(0:nspec_alla)
      Declaration:  CHARACTER*256 ps%dist_fun(0:ps%nspec_alla)
      Comments:
        distribution function filenames

    ISTHERMAL:
      Specification:  I  isThermal(nspec_rfmin)
      Declaration:  INTEGER ps%isThermal(ps%nspec_rfmin)
      Comments:
        =1 if minority specie is thermalized
        =0: never set; =2: non-thermal.

    NFUSI_BDY:
      Specification:  R|units=m^-3  nfusi_bdy(nspec_fusion)
      Declaration:  REAL(KIND=rspec) ps%nfusi_bdy(ps%nspec_fusion)
      Units:  m^-3
      Comments:
        fusion ion densities at/beyond boundary

    PICRF_ABS:
      Specification:  R|units=W picrf_abs(nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%picrf_abs(ps%nicrf_src)
      Units:  W
      Comments:
        RF power absorbed inside plasma

    PICRF_EXT:
      Specification:  R|units=W picrf_ext(nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%picrf_ext(ps%nicrf_src)
      Units:  W
      Comments:
        RF power deposited outside plasma

    POWER_IC:
      Specification:  R|units=W  power_ic(nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%power_ic(ps%nicrf_src)
      Units:  W
      Comments:
        power on each ICRF source

    QL_OPERATOR:
      Specification:  F  ql_operator(0:nspec_alla)
      Declaration:  CHARACTER*256 ps%ql_operator(0:ps%nspec_alla)
      Comments:
        quasilinear operator filenames

    WT_NPHI_ABS:
      Specification:  R|units=- wt_nphi_abs(num_nphi(),nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%wt_nphi_abs(ps%max_num_nphi,ps%nicrf_src)
      Units:  -
      Comments:
        absorbed spectrum n_phi weight
        power_ic(iant)*wt_nphi_abs(ind,iant)
        gives power in toroidal mode
        nphi(ind,iant)
        "ind" covers range 1:num_nphi(iant).
        see vacuum spectrum wt_nphi(...)

    WT_NPHI_EXT:
      Specification:  R|units=- wt_nphi_ext(num_nphi(),nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%wt_nphi_ext(ps%max_num_nphi,ps%nicrf_src)
      Units:  -
      Comments:
        fraction of power deposited outside
        plasma vs. nphi, antenna #.

  Section: STATE_PROFILES (component: IC)

    CDICRF:
      Specification:  R|units=A|step*dA   cdicrf(~nrho_icrf,nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%cdicrf(ps%nrho_icrf-1,ps%nicrf_src)
      Units:  A
      Comments:
        ICRF current drive
        (summed over nphi)

    CDICRF_NPHI:
      Specification:  R|units=A|step*dA   cdicrf_nphi(~nrho_icrf,num_nphi(),nicrf_src)
      Declaration:  REAL(KIND=rspec) ps%cdicrf_nphi(ps%nrho_icrf-1,ps%max_num_nphi,ps%nicrf_src)
      Units:  A
      Comments:
        ICRF current drive
        contribution from each n_phi on each antenna

    CURICH:
      Specification:  R|units=A|step*dA   curich(~nrho_icrf)
      Declaration:  REAL(KIND=rspec) ps%curich(ps%nrho_icrf-1)
      Units:  A
      Comments:
        total driven current (all IC srcs)

    CURMINO:
      Specification:  R|step*dA|units=A   curmino(~nrho_icrf)
      Declaration:  REAL(KIND=rspec) ps%curmino(ps%nrho_icrf-1)
      Units:  A
      Comments:
        minority ion driven cur (shielded).

    EPERP_MINI:
      Specification:  R|units=keV|alias=eperp_|step*nmini eperp_mini(~nrho_icrf,nspec_rfmin)
      Declaration:  REAL(KIND=rspec) ps%eperp_mini(ps%nrho_icrf-1,ps%nspec_rfmin)
      Units:  keV
      Comments:
        minority species <Eperp>, lab frame

    EPLL_MINI:
      Specification:  R|units=keV|alias=epll_|step*nmini  epll_mini(~nrho_icrf,nspec_rfmin)
      Declaration:  REAL(KIND=rspec) ps%epll_mini(ps%nrho_icrf-1,ps%nspec_rfmin)
      Units:  keV
      Comments:
        minority species <Epll>, lab frame

    NMINI:
      Specification:  R|units=m^-3|alias=n|step  nmini(~nrho_icrf,nspec_rfmin)
      Declaration:  REAL(KIND=rspec) ps%nmini(ps%nrho_icrf-1,ps%nspec_rfmin)
      Units:  m^-3
      Comments:
        minority species density

    PICRF_NPHI_SRCS:
      Specification:  R|units=W|alias=picrf_nphi_|step*dV   picrf_nphi_srcs(~nrho_icrf,num_nphi(),nicrf_src,0:nspec_alla)
      Declaration:  REAL(KIND=rspec) ps%picrf_nphi_srcs(ps%nrho_icrf-1,ps%max_num_nphi,ps%nicrf_src,0:ps%nspec_alla)
      Units:  W
      Comments:
        direct ICRF power deposition
        contribution from each n_phi on each antenna

    PICRF_SRCS:
      Specification:  R|units=W|alias=picrfs_|step*dV   picrf_srcs(~nrho_icrf,nicrf_src,0:nspec_alla)
      Declaration:  REAL(KIND=rspec) ps%picrf_srcs(ps%nrho_icrf-1,ps%nicrf_src,0:ps%nspec_alla)
      Units:  W
      Comments:
        direct ICRF power deposition
        (sum over nphi)

    PICRF_TOTALS:
      Specification:  R|units=W|alias=picrf_|step*dV    picrf_totals(~nrho_icrf,0:nspec_alla)
      Declaration:  REAL(KIND=rspec) ps%picrf_totals(ps%nrho_icrf-1,0:ps%nspec_alla)
      Units:  W
      Comments:
        direct ICRF power deposition
        (sum over IC sources & nphi)

    PICTH:
      Specification:  R|step*dV|units=W   picth(~nrho_icrf)
      Declaration:  REAL(KIND=rspec) ps%picth(ps%nrho_icrf-1)
      Units:  W
      Comments:
        direct thermal ion heating by ICRF
        (sum over thermal ion species & IC sources)

    PMINE:
      Specification:  R|step*dV   pmine(~nrho_icrf)
      Declaration:  REAL(KIND=rspec) ps%pmine(ps%nrho_icrf-1)
      Units:  W
      Comments:
        electron heating by minority ions

    PMINI:
      Specification:  R|step*dV   pmini(~nrho_icrf)
      Declaration:  REAL(KIND=rspec) ps%pmini(ps%nrho_icrf-1)
      Units:  W
      Comments:
        thermal ion heating by minority ions

    PMINTH:
      Specification:  R|step*dV   pminth(~nrho_icrf)
      Declaration:  REAL(KIND=rspec) ps%pminth(ps%nrho_icrf-1)
      Units:  W
      Comments:
        (de)thermalization of minority ions

-------------------------------------------------------------------------
Physics component:  LH:
     Lower Hybrid heating and current drive

  Section: MACHINE_DESCRIPTION (component: LH)

    LHRF_SRC_NAME:
      Specification:  L|lhrf_source   lhrf_src_name(nlhrf_src)
      Declaration:  CHARACTER*32 ps%lhrf_src_name(ps%nlhrf_src)
      Comments:
        number & name of LHRF sources

    NLHRF_SRC:
      Specification:  L|lhrf_source   lhrf_src_name(nlhrf_src)
      Declaration:  INTEGER ps%nlhrf_src
      Comments:
        item list dimension of lhrf_src_name (lhrf_source)

  Section: SHOT_CONFIGURATION (component: LH)

    AMAXLH:
      Specification:  R|units=- amaxlh(nspectrumlh_src(),nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%amaxlh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Units:  -
      Comments:
        width of the spectrum peak

    AMINLH:
      Specification:  R|units=- aminlh(nspectrumlh_src(),nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%aminlh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Units:  -
      Comments:
        parallel mode number, center of the spectrum peak

    APOLMAXLH:
      Specification:  R|units=- apolmaxlh(nspectrumlh_src(),nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%apolmaxlh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Units:  -
      Comments:
        poloidal mode number right of lumps

    APOLMINLH:
      Specification:  R|units=- apolminlh(nspectrumlh_src(),nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%apolminlh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Units:  -
      Comments:
        poloidal mode number left of lumps

    ATORMAXLH:
      Specification:  R|units=- atormaxlh(nspectrumlh_src(),nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%atormaxlh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Units:  -
      Comments:
        toroidal mode number right of lumps

    ATORMINLH:
      Specification:  R|units=- atorminlh(nspectrumlh_src(),nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%atorminlh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Units:  -
      Comments:
        toroidal mode number left of lumps

    FRACPSLH:
      Specification:  R|units=- fracpslh(nspectrumlh_src(),nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%fracpslh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Units:  -
      Comments:
        fraction of power on each peak (the sum over all peaks must be 1)

    FREQ_LH:
      Specification:  R|units=Hz freq_lh(nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%freq_lh(ps%nlhrf_src)
      Units:  Hz
      Comments:
        frequency on each LHRF source

    HEGRILH:
      Specification:  R|units=- hegrilh(nspectrumlh_src(),nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%hegrilh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Units:  -
      Comments:
        need description

    I_NPOLOIDAL:
      Specification:  I i_npoloidal
      Declaration:  INTEGER ps%i_npoloidal
      Comments:
        need description

    MAX_NSPECTRUMLH_SRC:
      Specification:  (derived from NSPECTRUMLH_SRC)
      Declaration:  INTEGER ps%max_nspectrumlh_src
      Comments:
        Maximum size of variable length enumeration: NSPECTRUMLH_SRC

    NNKPARLH:
      Specification:  I nnkparlh(nspectrumlh_src(),nlhrf_src)
      Declaration:  INTEGER ps%nnkparlh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Comments:
        need description

    NNKPOLLH:
      Specification:  I nnkpollh(nspectrumlh_src(),nlhrf_src)
      Declaration:  INTEGER ps%nnkpollh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Comments:
        need description

    NNKTORLH:
      Specification:  I nnktorlh(nspectrumlh_src(),nlhrf_src)
      Declaration:  INTEGER ps%nnktorlh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Comments:
        need description

    NSPECTRUMLH_SRC:
      Specification:  I|ENUM nspectrumlh_src(nlhrf_src)
      Declaration:  INTEGER ps%nspectrumlh_src(ps%nlhrf_src)
      Comments:
        number of spectrum peaks

    NTHINLH:
      Specification:  I nthinlh(nspectrumlh_src(),nlhrf_src)
      Declaration:  INTEGER ps%nthinlh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Comments:
        need description

    PHIGRILH:
      Specification:  R|units=- phigrilh(nspectrumlh_src(),nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%phigrilh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Units:  -
      Comments:
        need description

    RHOPSI0LH:
      Specification:  R|units=- rhopsi0lh(nspectrumlh_src(),nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%rhopsi0lh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Units:  -
      Comments:
        need description

    THEGRILH:
      Specification:  R|units=- thegrilh(nspectrumlh_src(),nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%thegrilh(ps%max_nspectrumlh_src,ps%nlhrf_src)
      Units:  -
      Comments:
        need description

  Section: SIMULATION_INIT (component: LH)

    LH_CODE_INFO:
      Specification:  C*80   LH_Code_Info
      Declaration:  CHARACTER*80 ps%LH_Code_Info
      Comments:
        Information: code implementing LH component

    LH_DATA_INFO:
      Specification:  C*80   LH_Data_Info
      Declaration:  CHARACTER*80 ps%LH_Data_Info
      Comments:
        Information on source of LHRF power data

    NRHO_LHRF:
      Specification:  G  rho_lhrf(nrho_lhrf)
      Declaration:  INTEGER ps%nrho_lhrf
      Comments:
        grid dimension of rho_lhrf (RHO coordinate)

    RHO_LHRF:
      Specification:  G  rho_lhrf(nrho_lhrf)
      Declaration:  REAL(KIND=rspec) ps%rho_lhrf(ps%nrho_lhrf)
      Units:  -
      Comments:
        rho grid -- LHRF

  Section: STATE_DATA (component: LH)

    POWER_LH:
      Specification:  R|units=W  power_lh(nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%power_lh(ps%nlhrf_src)
      Units:  W
      Comments:
        power on each LHRF source

  Section: STATE_PROFILES (component: LH)

    CURLH:
      Specification:  R|step*dA|units=A   curlh(~nrho_lhrf)
      Declaration:  REAL(KIND=rspec) ps%curlh(ps%nrho_lhrf-1)
      Units:  A
      Comments:
        LH current drive

    CURLH_SRC:
      Specification:  R|step*dA|units=A   curlh_src(~nrho_lhrf,nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%curlh_src(ps%nrho_lhrf-1,ps%nlhrf_src)
      Units:  A
      Comments:
        LH current drive (by antenna)

    PELH:
      Specification:  R|step*dV   pelh(~nrho_lhrf)
      Declaration:  REAL(KIND=rspec) ps%pelh(ps%nrho_lhrf-1)
      Units:  W
      Comments:
        electron heating by LH

    PELH_SRC:
      Specification:  R|step*dV|units=W   pelh_src(~nrho_lhrf,nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%pelh_src(ps%nrho_lhrf-1,ps%nlhrf_src)
      Units:  W
      Comments:
        LH electron heating by antenna

    PILH:
      Specification:  R|step*dV   pilh(~nrho_lhrf)
      Declaration:  REAL(KIND=rspec) ps%pilh(ps%nrho_lhrf-1)
      Units:  W
      Comments:
        ion heating by LH

    PILH_SRC:
      Specification:  R|step*dV|units=W   pilh_src(~nrho_lhrf,nlhrf_src)
      Declaration:  REAL(KIND=rspec) ps%pilh_src(ps%nrho_lhrf-1,ps%nlhrf_src)
      Units:  W
      Comments:
        LH ion heating by antenna

-------------------------------------------------------------------------
Physics component:  LMHD:
     Linear MHD stability

  Section: MACHINE_DESCRIPTION (component: LMHD)
    (no data elements)

  Section: SHOT_CONFIGURATION (component: LMHD)
    (no data elements)

  Section: SIMULATION_INIT (component: LMHD)

    BALLOON_CODE:
      Specification:  L|Balloon_codes  Balloon_code(nballoon)
      Declaration:  CHARACTER*32 ps%Balloon_code(ps%nballoon)
      Comments:
        name(s) of Ballooning code(s) used

    BALLOON_MAPPER:
      Specification:  N  Balloon_mapper(nballoon)
      Declaration:  CHARACTER*32 ps%Balloon_mapper(ps%nballoon)
      Comments:
        mapper code used for each ballooning code

    DELTAW_CODE:
      Specification:  L|Delta_W_codes  DeltaW_code(ndelta_w)
      Declaration:  CHARACTER*32 ps%DeltaW_code(ps%ndelta_w)
      Comments:
        name(s) of delta(W) code(s) used

    DELTAW_MAPPER:
      Specification:  N  DeltaW_mapper(ndelta_W)
      Declaration:  CHARACTER*32 ps%DeltaW_mapper(ps%ndelta_w)
      Comments:
        mapper code used for each delta(W) code

    LMHD_EQ_CODE:
      Specification:  N  LMHD_eq_code
      Declaration:  CHARACTER*32 ps%LMHD_eq_code
      Comments:
        name of MHD equilibrium refinement code used

    MMODES:
      Specification:  L|toroidal_modes Tor_mode_label(mmodes)
      Declaration:  INTEGER ps%mmodes
      Comments:
        item list dimension of Tor_mode_label (toroidal_modes)

    NBALLOON:
      Specification:  L|Balloon_codes  Balloon_code(nballoon)
      Declaration:  INTEGER ps%nballoon
      Comments:
        item list dimension of Balloon_code (Balloon_codes)

    NDELTA_W:
      Specification:  L|Delta_W_codes  DeltaW_code(ndelta_w)
      Declaration:  INTEGER ps%ndelta_w
      Comments:
        item list dimension of DeltaW_code (Delta_W_codes)

    NEWCOMB_CODE:
      Specification:  L|Newcomb_codes  Newcomb_code(nnewcomb)
      Declaration:  CHARACTER*32 ps%Newcomb_code(ps%nnewcomb)
      Comments:
        name(s) of Newcomb code(s) used

    NEWCOMB_MAPPER:
      Specification:  N  Newcomb_mapper(nnewcomb)
      Declaration:  CHARACTER*32 ps%Newcomb_mapper(ps%nnewcomb)
      Comments:
        mapper code used for each Newcomb code

    NNEWCOMB:
      Specification:  L|Newcomb_codes  Newcomb_code(nnewcomb)
      Declaration:  INTEGER ps%nnewcomb
      Comments:
        item list dimension of Newcomb_code (Newcomb_codes)

    NRHO_LMHD:
      Specification:  G  rho_lmhd(nrho_lmhd)
      Declaration:  INTEGER ps%nrho_lmhd
      Comments:
        grid dimension of rho_lmhd (RHO coordinate)

    RHO_LMHD:
      Specification:  G  rho_lmhd(nrho_lmhd)
      Declaration:  REAL(KIND=rspec) ps%rho_lmhd(ps%nrho_lmhd)
      Units:  -
      Comments:
        rho grid (LMHD component)

    TOR_MODE_LABEL:
      Specification:  L|toroidal_modes Tor_mode_label(mmodes)
      Declaration:  CHARACTER*32 ps%Tor_mode_label(ps%mmodes)
      Comments:
        Toroidal modes to monitor

    TOR_MODE_NO:
      Specification:  I   Tor_mode_No(mmodes)
      Declaration:  INTEGER ps%Tor_mode_No(ps%mmodes)
      Comments:
        (from input) Toroidal modes monitored
        set at initialization, would not vary in time
        likely just: 1,2,3,...,mmodes

  Section: STATE_DATA (component: LMHD)

    BALLOON_STABLE:
      Specification:  I   Balloon_stable(nballoon)
      Declaration:  INTEGER ps%Balloon_stable(ps%nballoon)
      Comments:
        0: stable everywhere; =1: unstable somewhere

    BALLOON_STATUS:
      Specification:  I   Balloon_status(nballoon)
      Declaration:  INTEGER ps%Balloon_status(ps%nballoon)
      Comments:
        completion status: Ballooning codes
        ** see also: balstab profile, below **

    DELTAW_STABLE:
      Specification:  I   DeltaW_stable(mmodes,ndelta_W)
      Declaration:  INTEGER ps%DeltaW_stable(ps%mmodes,ps%ndelta_w)
      Comments:
        0: stable; 1: unstable;
        element (i,j) indicates if toroidal mode number
        Tor_mode_No(i) is stable or unstable according to
        the code DeltaW_code(j)

    DELTAW_STATUS:
      Specification:  I   DeltaW_status(ndelta_W)
      Declaration:  INTEGER ps%DeltaW_status(ps%ndelta_w)
      Comments:
        completion status: Delta(W) codes

    GAMMA_LMHD:
      Specification:  R|units=-  gamma_lmhd(mmodes,ndelta_W)
      Declaration:  REAL(KIND=rspec) ps%gamma_lmhd(ps%mmodes,ps%ndelta_w)
      Units:  -
      Comments:
        ideal growth rate
        from a delta-W linear MHD code, normalized to the
        Alfven time Rq/V_a where:
        R -- major radius of magnetic axis
        V_a -- alfven speed at magnetic axis
        q = qmin  (minimum q anywhere in equilibrium)

    LMHD_STATUS:
      Specification:  I   LMHD_status
      Declaration:  INTEGER ps%LMHD_status
      Comments:
        0: OK; =1: at least one code error occurred.

    MERCIER_STABLE:
      Specification:  I   Mercier_stable(nballoon)
      Declaration:  INTEGER ps%Mercier_stable(ps%nballoon)
      Comments:
        0: stable everywhere; =1: unstable somewhere

    MHD_EQ_STATUS:
      Specification:  I   MHD_eq_status
      Declaration:  INTEGER ps%MHD_eq_status
      Comments:
        0: OK; =1: MHD equilibrium refinement failed
        if this is non-zero, the entire LMHD calculation is abandoned!!

    NEWCOMB_STABLE:
      Specification:  I   Newcomb_stable(mmodes,nnewcomb)
      Declaration:  INTEGER ps%Newcomb_stable(ps%mmodes,ps%nnewcomb)
      Comments:
        0: stable; 1: unstable;
        element (i,j) indicates if toroidal mode number
        Tor_mode_No(i) is stable or unstable according to
        the code Newcomb_code(j)

    NEWCOMB_STATUS:
      Specification:  I   Newcomb_status(nnewcomb)
      Declaration:  INTEGER ps%Newcomb_status(ps%nnewcomb)
      Comments:
        completion status: Newcomb codes

    TORNUM_BALCRIT:
      Specification:  I   Tornum_balcrit(nballoon)
      Declaration:  INTEGER ps%Tornum_balcrit(ps%nballoon)
      Comments:
        critical toroidal mode number for ballooning
        unstable cases (-1 if could not be found).

  Section: STATE_PROFILES (component: LMHD)

    BALSTAB:
      Specification:  R|units=-|pclin balstab(nrho_lmhd)
      Declaration:  REAL(KIND=rspec) ps%balstab(ps%nrho_lmhd)
      Units:  -
      Comments:
        Ballooning/Mercier stability indicator
        = 0.0: stable;
        = 1.0: Ballooning unstable;
        = 2.0: Mercier unstable
        = 3.0: Both Ballooning and Mercier unstable
        (note a floating point profile is used; interpolation to another
        grid would yield non-integer values that if non-zero would indicate
        instability in the vicinity).

-------------------------------------------------------------------------
Physics component:  NBI:
     Neutral beam

  Section: MACHINE_DESCRIPTION (component: NBI)

    AP2_HALFHEIGHT:
      Specification:  R|units=m         ap2_halfheight(nbeam)
      Declaration:  REAL(KIND=rspec) ps%ap2_halfheight(ps%nbeam)
      Units:  m
      Comments:
        aperture half-height
        for nbap_shape(j)="rectangle", this is the vertical size
        specification; this quantity ignored for nbap_shape(j)="circle", or
        if there is no 2nd aperture.

    AP2_HALFWIDTH:
      Specification:  R|units=m         ap2_halfwidth(nbeam)
      Declaration:  REAL(KIND=rspec) ps%ap2_halfwidth(ps%nbeam)
      Units:  m
      Comments:
        2nd aperture half-width
        for nbap_shape(j)="rectangle", this is the horizontal size
        specification; for nbap_shape(j)="circle", ap_halfwidth(j) is
        the radius; ignored if there is no 2nd aperture.

    AP2_HORIZ_OFFSET:
      Specification:  R|units=m         ap2_horiz_offset(nbeam)
      Declaration:  REAL(KIND=rspec) ps%ap2_horiz_offset(ps%nbeam)
      Units:  m
      Comments:
        horizontal offset, 2nd aperture
        opening relative to beam centerline; positive value means shift of
        aperture away from machine axis i.e. to make a beam with a larger
        tangency radius

    AP2_VERT_OFFSET:
      Specification:  R|units=m         ap2_vert_offset(nbeam)
      Declaration:  REAL(KIND=rspec) ps%ap2_vert_offset(ps%nbeam)
      Units:  m
      Comments:
        vertical offset, 2nd aperture
        opening relative to beam centerline: positive value means the
        aperture opening is shifted upward relative to the beam centerline

    AP_HALFHEIGHT:
      Specification:  R|units=m         ap_halfheight(nbeam)
      Declaration:  REAL(KIND=rspec) ps%ap_halfheight(ps%nbeam)
      Units:  m
      Comments:
        aperture half-height
        for nbap_shape(j)="rectangle", this is the vertical size
        specification; this quantity ignored for nbap_shape(j)="circle".

    AP_HALFWIDTH:
      Specification:  R|units=m         ap_halfwidth(nbeam)
      Declaration:  REAL(KIND=rspec) ps%ap_halfwidth(ps%nbeam)
      Units:  m
      Comments:
        aperture half-width
        for nbap_shape(j)="rectangle", this is the horizontal size
        specification; for nbap_shape(j)="circle", ap_halfwidth(j) is
        the radius.

    AP_HORIZ_OFFSET:
      Specification:  R|units=m         ap_horiz_offset(nbeam)
      Declaration:  REAL(KIND=rspec) ps%ap_horiz_offset(ps%nbeam)
      Units:  m
      Comments:
        horizontal offset of aperture
        opening relative to beam centerline; positive value means shift of
        aperture away from machine axis i.e. to make a beam with a larger
        tangency radius

    AP_VERT_OFFSET:
      Specification:  R|units=m         ap_vert_offset(nbeam)
      Declaration:  REAL(KIND=rspec) ps%ap_vert_offset(ps%nbeam)
      Units:  m
      Comments:
        vertical offset of aperture
        opening relative to beam centerline: positive value means the
        aperture opening is shifted upward relative to the beam centerline

    BEAM_TYPE:
      Specification:  N     beam_type(nbeam)
      Declaration:  CHARACTER*32 ps%beam_type(ps%nbeam)
      Comments:
        beam type:
        "standard", H/D/T beam using standard full-half-third energy
        injection fractions; energy dependence of standard beam energy
        fractions are defined as part of the machine description
        "negative_ion", H/D/T beam 100% injected at full energy
        "Helium" for Helium or He3 beam, energy fraction is 100% full energy.
        "Impurity" for injection of one of: {Ne,Ar,Xe,Kr}: 100% full energy.

    B_HALFHEIGHT:
      Specification:  R|units=m       b_halfHeight(nbeam)
      Declaration:  REAL(KIND=rspec) ps%b_halfHeight(ps%nbeam)
      Units:  m
      Comments:
        beam half-height at source
        If nbshape(j)="Rectangle" this is the vertical half-height of the
        beam at its source grid.  This quantity ignored for
        nbshape(j)="circle".

    B_HALFWIDTH:
      Specification:  R|units=m       b_halfwidth(nbeam)
      Declaration:  REAL(KIND=rspec) ps%b_halfwidth(ps%nbeam)
      Units:  m
      Comments:
        beam half-width at source
        If nbshape(j)="Rectangle" this is the horizontal half-width of
        the source rectangle for beam j; if nbshape(j)="circle" it is
        the radius of the circular source for beam j, in meters.

    B_HDIVERGENCE:
      Specification:  R|units=degrees   b_Hdivergence(nbeam)
      Declaration:  REAL(KIND=rspec) ps%b_Hdivergence(ps%nbeam)
      Units:  degrees
      Comments:
        horizontal divergence (D) of beam
        for nbshape(j)="circle" sources this is the ONLY divergence.
        --> definition of D (b_Hdivergence(...) given in DEGREES):
        for alpha the random angle of deviation from the direction of
        aiming, P(alpha) ~ exp(-alpha**2/D**2); P(D) = (1/e)*P(0)
        I.e. D is the angle of deviation from the aiming angle, in
        either direction, for a (1/e) reduction in probability of
        launch of a beam particle.

    B_HFOCAL_LENGTH:
      Specification:  R|units=m       b_Hfocal_length(nbeam)
      Declaration:  REAL(KIND=rspec) ps%b_Hfocal_length(ps%nbeam)
      Units:  m
      Comments:
        horizontal focal length
        for nbshape(j)="circle" sources this is the only focal length.

    B_VDIVERGENCE:
      Specification:  R|units=degrees   b_Vdivergence(nbeam)
      Declaration:  REAL(KIND=rspec) ps%b_Vdivergence(ps%nbeam)
      Units:  degrees
      Comments:
        vertical divergence (D) of beam
        used for nbshape(j)="Rectangle" sources ONLY.
        --> definition of D (b_Vdivergence(...) given in DEGREES):
        for alpha the random angle of deviation from the direction of
        aiming, P(alpha) ~ exp(-alpha**2/D**2); P(D) = (1/e)*P(0)
        I.e. D is the angle of deviation from the aiming angle, in
        either direction, for a (1/e) reduction in probability of
        launch of a beam particle.

    B_VFOCAL_LENGTH:
      Specification:  R|units=m       b_Vfocal_length(nbeam)
      Declaration:  REAL(KIND=rspec) ps%b_Vfocal_length(ps%nbeam)
      Units:  m
      Comments:
        vertical focal length
        used for nbshape(j)="Rectangle" sources only.

    D_EINJ_STANDARD:
      Specification:  R|units=keV D_einj_standard(n_D_einj_standard)
      Declaration:  REAL(KIND=rspec) ps%D_einj_standard(ps%n_d_einj_standard)
      Units:  keV
      Comments:
        D beam table energies
        for full-half-third energy beam current fractions data

    D_FFULL_STANDARD:
      Specification:  R|units=- D_ffull_standard(n_D_einj_standard)
      Declaration:  REAL(KIND=rspec) ps%D_ffull_standard(ps%n_d_einj_standard)
      Units:  -
      Comments:
        D beam full energy fractions

    D_FHALF_STANDARD:
      Specification:  R|units=- D_fhalf_standard(n_D_einj_standard)
      Declaration:  REAL(KIND=rspec) ps%D_fhalf_standard(ps%n_d_einj_standard)
      Units:  -
      Comments:
        D beam half energy fractions

    EINJ_MAX:
      Specification:  R|units=keV       Einj_max(nbeam)
      Declaration:  REAL(KIND=rspec) ps%Einj_max(ps%nbeam)
      Units:  keV
      Comments:
        maximum injection energy
        maximum energy of the full energy fractional component of each beam
        Some codes use 1.5*maxval(Einj_max) as an upper limit on a lab frame
        energy grid for beam ions slowing down distribution functions.

    EINJ_MIN:
      Specification:  R|units=keV       Einj_min(nbeam)
      Declaration:  REAL(KIND=rspec) ps%Einj_min(ps%nbeam)
      Units:  keV
      Comments:
        minimum injection energy
        minimum energy of the full energy fractional component of each beam

    H_EINJ_STANDARD:
      Specification:  R|units=keV H_einj_standard(n_H_einj_standard)
      Declaration:  REAL(KIND=rspec) ps%H_einj_standard(ps%n_h_einj_standard)
      Units:  keV
      Comments:
        H beam table energies
        for full-half-third energy beam current fractions data

    H_FFULL_STANDARD:
      Specification:  R|units=- H_ffull_standard(n_H_einj_standard)
      Declaration:  REAL(KIND=rspec) ps%H_ffull_standard(ps%n_h_einj_standard)
      Units:  -
      Comments:
        H beam full energy fractions

    H_FHALF_STANDARD:
      Specification:  R|units=- H_fhalf_standard(n_H_einj_standard)
      Declaration:  REAL(KIND=rspec) ps%H_fhalf_standard(ps%n_h_einj_standard)
      Units:  -
      Comments:
        H beam half energy fractions

    LBSCAP:
      Specification:  R|units=m       Lbscap(nbeam)
      Declaration:  REAL(KIND=rspec) ps%Lbscap(ps%nbeam)
      Units:  m
      Comments:
        distance, source to aperture
        Distance of beam centerline from source to aperture into vacuum vessel

    LBSCAP2:
      Specification:  R|units=m       Lbscap2(nbeam)
      Declaration:  REAL(KIND=rspec) ps%Lbscap2(ps%nbeam)
      Units:  m
      Comments:
        distance, source to 2nd aperture
        Distance of beam centerline from source to center of 2nd aperture
        into vacuum vessel.

    LBSCTAN:
      Specification:  R|units=m       Lbsctan(nbeam)
      Declaration:  REAL(KIND=rspec) ps%Lbsctan(ps%nbeam)
      Units:  m
      Comments:
        distance, source to tangency point
        This is the length of the centerline from the center of the neutral
        beam's original ion source to the centerline tangency point, |sRtcen|
        from the machine axis.  The length is given in meters.

    NBAP2_SHAPE:
      Specification:  N     nbap2_shape(nbeam)
      Declaration:  CHARACTER*32 ps%nbap2_shape(ps%nbeam)
      Comments:
        keyword for optional 2nd aperture
        For beam j, nbap2_shape= blank or 'None': no 2nd aperture
        Other possible values:  "Rectangle"; "Circle".
        The beam centerline is assumed to pass through the center of the
        aperture.

    NBAP_SHAPE:
      Specification:  N     nbap_shape(nbeam)
      Declaration:  CHARACTER*32 ps%nbap_shape(ps%nbeam)
      Comments:
        shape keyword for beam aperture
        For beam j, nbap_shape(j)="Rectangle" indicates a rectangular
        aperture; nbap_shape(j)="Circle" indicates a circular aperture.
        The beam centerline is assumed to pass through the center of the
        aperture.

    NBEAM:
      Specification:  L|neutral_beams nbi_src_name(nbeam)
      Declaration:  INTEGER ps%nbeam
      Comments:
        item list dimension of nbi_src_name (neutral_beams)

    NBI_SRC_NAME:
      Specification:  L|neutral_beams nbi_src_name(nbeam)
      Declaration:  CHARACTER*32 ps%nbi_src_name(ps%nbeam)
      Comments:
        number & name of neutral beams

    NBSHAPE:
      Specification:  N     nbshape(nbeam)
      Declaration:  CHARACTER*32 ps%nbshape(ps%nbeam)
      Comments:
        shape keyword for beam source grid
        For beam j, nbshape(j)="Rectangle" indicates a rectangular shaped
        source; nbshape(j)="Circle" indicates a circular shaped source.
        (The keyword must be spelled correctly but upper or lower case
        letters may be used interchangeably).  The plane of
        the source is assumed perpendicular to the beam centerline.

    N_D_EINJ_STANDARD:
      Specification:  I|ENUM n_D_einj_standard
      Declaration:  INTEGER ps%n_D_einj_standard
      Comments:
        no. pts in D beam energy fractions table

    N_H_EINJ_STANDARD:
      Specification:  I|ENUM n_H_einj_standard
      Declaration:  INTEGER ps%n_H_einj_standard
      Comments:
        no. pts in H beam energy fractions table

    N_T_EINJ_STANDARD:
      Specification:  I|ENUM n_T_einj_standard
      Declaration:  INTEGER ps%n_T_einj_standard
      Comments:
        no. pts in T beam energy fractions table

    PHIBSC:
      Specification:  R|units=degrees       Phibsc(nbeam)
      Declaration:  REAL(KIND=rspec) ps%Phibsc(ps%nbeam)
      Units:  degrees
      Comments:
        toroidal location of beam source
        Angle of location of beam centerline at source, with respect to some
        reference Phi=0 vertical plane.  Phi is assumed to increase in the
        counter-clockwise direction of the torus when viewed from above, i.e.
        (R,phi,Z) form a right handed coordinate system.  The setting of
        Phibsc does not affect beam heating in axisymmetric simulations.

    SRTCEN:
      Specification:  R|units=m       sRtcen(nbeam)
      Declaration:  REAL(KIND=rspec) ps%sRtcen(ps%nbeam)
      Units:  m
      Comments:
        signed tangency radius
        This is the major radius of tangency of the neutral beam centerlines--
        i.e. the distance of closest approach of each beam centerline to the
        machine axis, in meters.
        Sign convention: + for beams which impart angular momentum in the
        counter-clockwise direction around the torus as viewed from above.

    T_EINJ_STANDARD:
      Specification:  R|units=keV T_einj_standard(n_T_einj_standard)
      Declaration:  REAL(KIND=rspec) ps%T_einj_standard(ps%n_t_einj_standard)
      Units:  keV
      Comments:
        T beam table energies
        for full-half-third energy beam current fractions data

    T_FFULL_STANDARD:
      Specification:  R|units=- T_ffull_standard(n_T_einj_standard)
      Declaration:  REAL(KIND=rspec) ps%T_ffull_standard(ps%n_t_einj_standard)
      Units:  -
      Comments:
        T beam full energy fractions

    T_FHALF_STANDARD:
      Specification:  R|units=- T_fhalf_standard(n_T_einj_standard)
      Declaration:  REAL(KIND=rspec) ps%T_fhalf_standard(ps%n_t_einj_standard)
      Units:  -
      Comments:
        T beam half energy fractions

    ZBAP:
      Specification:  R|units=m       Zbap(nbeam)
      Declaration:  REAL(KIND=rspec) ps%Zbap(ps%nbeam)
      Units:  m
      Comments:
        elevation of beam centerline at aperture
        At a distance (Lbscap) from the beam source, the beam centerline
        passes above (+) or below (-) machine midplane as defined by Z=0
        in the equilibrium specification.  If defaulted, the centerline
        is centered on the midplane (Z=0) when it crosses the plane of the
        aperture.  If both Zbap(...) and Zbsc(...) are defaulted, the
        entire beam centerline lies in the midplane.
        Note that Z at the beam centerline tangency radius is:
        Ztan = Zbsc + (Lbsctan/Lbscap)*(Zbap-Zbsc)

    ZBSC:
      Specification:  R|units=m       Zbsc(nbeam)
      Declaration:  REAL(KIND=rspec) ps%Zbsc(ps%nbeam)
      Units:  m
      Comments:
        elevation of beam source
        Elevation of beam centerline at source (+ above) (- below)
        machine midplane as defined by Z=0 in the equilibrium specification
        (the default, 0.0, centers beam source in the machine midplane).

  Section: SHOT_CONFIGURATION (component: NBI)

    NBION:
      Specification:  N  nbion(nbeam)
      Declaration:  CHARACTER*32 ps%nbion(ps%nbeam)
      Comments:
        name of species injected by each beam.
        Possible values are: "H", "D", "T", "He3", and "He4" at present.
        DMC Apr 2010: added: "Ne", "Ar", "Kr", "Xe"
        Each beam can inject one species.  Multiple beams (or usually
        all beams) can inject the same species.
        the SNBI species list will be constructed from nbion elements;
        in many experiments this will consist only of the single element "D".

    NBION_TRACE:
      Specification:  N  nbion_trace(nbeam)
      Declaration:  CHARACTER*32 ps%nbion_trace(ps%nbeam)
      Comments:
        (if non-blank) beam trace element
        Possible values same as nbion; nbion(ib).ne.nbion_trace(ib) enforced.
        This allows a second trace element to be injected with any neutral
        beam-- as in trace tritium beam experiments, or, heating beams doped
        with a noble gas species.  See: power_nbi_trace(...)

  Section: SIMULATION_INIT (component: NBI)

    M_SNBI:
      Specification:  S|beam_ion     SNBI(nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%m_SNBI(ps%nspec_beam)
      Units:  kg
      Comments:
        SNBI specie mass

    NBI_CODE_INFO:
      Specification:  C*80   NBI_Code_Info
      Declaration:  CHARACTER*80 ps%NBI_Code_Info
      Comments:
        Information: code implementing NBI component

    NBI_DATA_INFO:
      Specification:  C*80   NBI_Data_Info
      Declaration:  CHARACTER*80 ps%NBI_Data_Info
      Comments:
        information on source of beam power & voltage data

    NRHO_NBI:
      Specification:  G  rho_nbi(nrho_nbi)
      Declaration:  INTEGER ps%nrho_nbi
      Comments:
        grid dimension of rho_nbi (RHO coordinate)

    NSPEC_BEAM:
      Specification:  S|beam_ion     SNBI(nspec_beam)
      Declaration:  INTEGER ps%nspec_beam
      Comments:
        species list dimension of SNBI (beam_ion)

    QATOM_SNBI:
      Specification:  S|beam_ion     SNBI(nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%qatom_SNBI(ps%nspec_beam)
      Units:  C
      Comments:
        SNBI atomic number

    Q_SNBI:
      Specification:  S|beam_ion     SNBI(nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%q_SNBI(ps%nspec_beam)
      Units:  C
      Comments:
        SNBI specie charge

    RHO_NBI:
      Specification:  G  rho_nbi(nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%rho_nbi(ps%nrho_nbi)
      Units:  -
      Comments:
        rho grid -- NBI

    SNBI_NAME:
      Specification:  S|beam_ion     SNBI(nspec_beam)
      Declaration:  CHARACTER*32 ps%SNBI_name(ps%nspec_beam)
      Comments:
        beam ion species
        this species list to be constructed from nbion(1:nbeam)
        and augmented optionally by nbion_trace(1:nbeam)

    SNBI_TYPE:
      Specification:  S|beam_ion     SNBI(nspec_beam)
      Declaration:  INTEGER ps%SNBI_type(ps%nspec_beam)
      Comments:
        SNBI specie types

    TRACE_FLAG:
      Specification:  I  trace_flag(nbeam)
      Declaration:  INTEGER ps%trace_flag(ps%nbeam)
      Comments:
        trace element flag
        0 means, beam has no trace element;
        1 means, trace element, matching injection energy fractions
        2 means, trace element injected at 100% full energy
        (1 will be set if the trace element is an isotope of
        of the beam's main injection specie; 2 if not).

  Section: STATE_DATA (component: NBI)

    FRAC_FULL:
      Specification:  R|units=-  frac_full(nbeam)
      Declaration:  REAL(KIND=rspec) ps%frac_full(ps%nbeam)
      Units:  -
      Comments:
        fraction of beam current at full voltage

    FRAC_HALF:
      Specification:  R|units=-  frac_half(nbeam)
      Declaration:  REAL(KIND=rspec) ps%frac_half(ps%nbeam)
      Units:  -
      Comments:
        fraction of beam current at half voltage
        1-frac_full(ib)-frac_half(ib) = fraction at (1/3) voltage

    KVOLT_NBI:
      Specification:  R|units=keV kvolt_nbi(nbeam)
      Declaration:  REAL(KIND=rspec) ps%kvolt_nbi(ps%nbeam)
      Units:  keV
      Comments:
        energy of each beam source **keV**

    NBEAMI_BDY:
      Specification:  R|units=m^-3  nbeami_bdy(nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%nbeami_bdy(ps%nspec_beam)
      Units:  m^-3
      Comments:
        beam ion densities at/beyond boundary

    POWER_NBI:
      Specification:  R|units=W  power_nbi(nbeam)
      Declaration:  REAL(KIND=rspec) ps%power_nbi(ps%nbeam)
      Units:  W
      Comments:
        power on each beam source

    POWER_NBI_TRACE:
      Specification:  R|units=W  power_nbi_trace(nbeam)
      Declaration:  REAL(KIND=rspec) ps%power_nbi_trace(ps%nbeam)
      Units:  W
      Comments:
        power injected as trace element (if any)
        total power on beam ib is power_nbi(ib) + power_nbi_trace(ib)

  Section: STATE_PROFILES (component: NBI)

    CURBEAM:
      Specification:  R|step*dA|units=A   curbeam(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%curbeam(ps%nrho_nbi-1)
      Units:  A
      Comments:
        beam ion driven current (shielded)

    EPERP_BEAMI:
      Specification:  R|units=keV|alias=eperp_|step*nbeami eperp_beami(~nrho_nbi,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%eperp_beami(ps%nrho_nbi-1,ps%nspec_beam)
      Units:  keV
      Comments:
        beam species <Eperp>, lab frame

    EPLL_BEAMI:
      Specification:  R|units=keV|alias=epll_|step*nbeami  epll_beami(~nrho_nbi,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%epll_beami(ps%nrho_nbi-1,ps%nspec_beam)
      Units:  keV
      Comments:
        beam species <Epll>, lab frame

    N0_HALO:
      Specification:  R|units=m^-3|step         n0_halo(~nrho_nbi,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%n0_halo(ps%nrho_nbi-1,ps%nspec_gas)
      Units:  m^-3
      Comments:
        halo thermal neutral density

    NBEAMI:
      Specification:  R|units=m^-3|alias=n|step  nbeami(~nrho_nbi,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%nbeami(ps%nrho_nbi-1,ps%nspec_beam)
      Units:  m^-3
      Comments:
        beam species density

    OMEG0_HALO:
      Specification:  R|units=rad/sec|step*n0_halo  omeg0_halo(~nrho_nbi,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%omeg0_halo(ps%nrho_nbi-1,ps%nspec_gas)
      Units:  rad/sec
      Comments:
        halo neutral toroidal angular velocity

    PB0_HALO:
      Specification:  R|step*dV   pb0_halo(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%pb0_halo(ps%nrho_nbi-1)
      Units:  W
      Comments:
        power in halo neutral source
        (loss from thermal ions)

    PBE:
      Specification:  R|step*dV   pbe(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%pbe(ps%nrho_nbi-1)
      Units:  W
      Comments:
        electron heating by all beam ions

    PBI:
      Specification:  R|step*dV   pbi(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%pbi(ps%nrho_nbi-1)
      Units:  W
      Comments:
        thermal ion heating by all beam ions

    PBTH:
      Specification:  R|step*dV   pbth(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%pbth(ps%nrho_nbi-1)
      Units:  W
      Comments:
        thermalization of beam ions

    PCX_HALO:
      Specification:  R|step*dV   pcx_halo(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%pcx_halo(ps%nrho_nbi-1)
      Units:  W
      Comments:
        beam halo driven CX power
        (>0 means local source)
        (no associated particle source/sink)

    PSC_HALO:
      Specification:  R|step*dV   psc_halo(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%psc_halo(ps%nrho_nbi-1)
      Units:  W
      Comments:
        beam halo power: recapture - pb0_halo
        (net source/sink to thermal ions)
        (associated particle source/sink exists)

    QBEAMI:
      Specification:  R|units=C|step*nbeami qbeami(~nrho_nbi,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%qbeami(ps%nrho_nbi-1,ps%nspec_beam)
      Units:  C
      Comments:
        average beam ion charge
        Note, although H & He beam ions will be fully stripped,
        Impurity beams (Ne, Xe, Ar, Kr) may not be...
        <state>%q_snbi(1:<state>%nspec_beam) will contain the
        density weighted volume average charge over the
        profile: ps_xe for H beams, 2*ps_xe for He beams...

    RATE_SINB0I:
      Specification:  R|step|units=1/sec       rate_sinb0i(~nrho_nbi,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%rate_sinb0i(ps%nrho_nbi-1,ps%nspec_gas)
      Units:  1/sec
      Comments:
        sink rate due to ionization by beam ions

    RATE_SINB0X:
      Specification:  R|step|units=1/sec       rate_sinb0x(~nrho_nbi,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%rate_sinb0x(ps%nrho_nbi-1,ps%nspec_gas)
      Units:  1/sec
      Comments:
        sink rate due to CX with beam ions (total)

    RATE_SINB0XS:
      Specification:  R|step|units=1/sec       rate_sinb0xs(~nrho_nbi,nspec_gas,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%rate_sinb0xs(ps%nrho_nbi-1,ps%nspec_gas,ps%nspec_beam)
      Units:  1/sec
      Comments:
        sink rate due to CX with beam ions

    SB0HALO:
      Specification:  R|step*dV|units=#/sec sb0halo(~nrho_nbi,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%sb0halo(ps%nrho_nbi-1,ps%nspec_gas)
      Units:  #/sec
      Comments:
        beam dep cx sink
        thermal neutrals created by fast neutral deposition and/or recapture
        of fast neutrals
        psc_halo =~ (3/2)*Ti*(sb0halo_recap-sb0halo)*1.602e-16

    SB0HALO_RECAP:
      Specification:  R|step*dV|units=#/sec sb0halo_recap(~nrho_nbi,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%sb0halo_recap(ps%nrho_nbi-1,ps%nspec_gas)
      Units:  #/sec
      Comments:
        cx neutral recapture
        recapture of thermal neutrals -- ion source
        psc_halo =~ (3/2)*Ti*(sb0halo_recap-sb0halo)*1.602e-16
        (cross species CX source/sink contributions may occur)
        note: electron recapture, cold source = sum (Z(i)*sb0halo_recap(:,i))
        where Z(i) is the number of electrons carried by a neutral atom
        of species (i).  => this is to be included in sbsce(:,0).

    SBEDEP:
      Specification:  R|step*dV|units=#/sec sbedep(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%sbedep(ps%nrho_nbi-1)
      Units:  #/sec
      Comments:
        beam deposition cold electron sce
        there is also a contribution due to recapture of charge-exchanged
        fast neutrals from partially slowed down beam ions.

    SBEHALO:
      Specification:  R|step*dV|units=#/sec sbehalo(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%sbehalo(ps%nrho_nbi-1)
      Units:  #/sec
      Comments:
        cold electron sce due to
        recapture of beam halo charge exchange thermal neutrals
        = sum Z(i)*sb0halo_recap(i), if electrons do not go into
        an impurity charge state spectrum.

    SBSCE:
      Specification:  R|step*dV|units=#/sec   sbsce(~nrho_nbi,0:nspec_tha)
      Declaration:  REAL(KIND=rspec) ps%sbsce(ps%nrho_nbi-1,0:ps%nspec_tha)
      Units:  #/sec
      Comments:
        net source, thermal ions & electrons
        ...cold electron deposition; ion thermalization;
        corrections for charge exchange (beam deposition halo, mainly),
        halo recapture
        for thermal ions:
        sbsce = sbtherm - sb0halo + sb0halo_recap
        (caution: sbtherm is defined over beam species list;
        sbsce over thermal species list;
        sb0halo & sb0halo_recap over the neutral gas species list).
        for electrons:
        sbsce = sbedep + sbehalo

    SBTHERM:
      Specification:  R|step*dV|units=#/sec sbtherm(~nrho_nbi,nspec_beam)
      Declaration:  REAL(KIND=rspec) ps%sbtherm(ps%nrho_nbi-1,ps%nspec_beam)
      Units:  #/sec
      Comments:
        beam ion thermalization
        source of slowed down, thermalized beam ions

    T0_HALO:
      Specification:  R|units=keV|step*n0_halo  T0_halo(~nrho_nbi,nspec_gas)
      Declaration:  REAL(KIND=rspec) ps%T0_halo(ps%nrho_nbi-1,ps%nspec_gas)
      Units:  keV
      Comments:
        halo neutral temperature (2/3)<E0>

    TQB0_HALO:
      Specification:  R|step*dV   tqb0_halo(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%tqb0_halo(ps%nrho_nbi-1)
      Units:  Nt*m
      Comments:
        torque of halo neutral source
        (loss from thermal ions)

    TQBE:
      Specification:  R|step*dV   tqbe(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%tqbe(ps%nrho_nbi-1)
      Units:  Nt*m
      Comments:
        collisional beam torque to electrons

    TQBI:
      Specification:  R|step*dV   tqbi(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%tqbi(ps%nrho_nbi-1)
      Units:  Nt*m
      Comments:
        collisional beam torque to thermal ions

    TQBJXB:
      Specification:  R|step*dV   tqbjxb(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%tqbjxb(ps%nrho_nbi-1)
      Units:  Nt*m
      Comments:
        JxB beam torque

    TQBTH:
      Specification:  R|step*dV   tqbth(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%tqbth(ps%nrho_nbi-1)
      Units:  Nt*m
      Comments:
        momentum in thermalization of beam ions

    TQCX_HALO:
      Specification:  R|step*dV   tqcx_halo(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%tqcx_halo(ps%nrho_nbi-1)
      Units:  Nt*m
      Comments:
        beam halo driven CX momentum torque
        (positive value = momentum source)
        (no associated particle source/sink)

    TQSC_HALO:
      Specification:  R|step*dV   tqsc_halo(~nrho_nbi)
      Declaration:  REAL(KIND=rspec) ps%tqsc_halo(ps%nrho_nbi-1)
      Units:  Nt*m
      Comments:
        beam halo torque: recapture - tqb0_halo
        (net source/sink to thermal ions)
        (associated particle source/sink exists)

-------------------------------------------------------------------------
Physics component:  PEL:
     Pellet injection

  Section: MACHINE_DESCRIPTION (component: PEL)
    (no data elements)

  Section: SHOT_CONFIGURATION (component: PEL)
    (no data elements)

  Section: SIMULATION_INIT (component: PEL)

    NRHO_PEL:
      Specification:  G  rho_pel(nrho_pel)
      Declaration:  INTEGER ps%nrho_pel
      Comments:
        grid dimension of rho_pel (RHO coordinate)

    PEL_CODE_INFO:
      Specification:  C*80   PEL_Code_Info
      Declaration:  CHARACTER*80 ps%PEL_Code_Info
      Comments:
        Information: code implementing PELLET component

    PEL_DATA_INFO:
      Specification:  C*80   PEL_Data_Info
      Declaration:  CHARACTER*80 ps%PEL_Data_Info
      Comments:
        Information: on source of pellet injection

    RHO_PEL:
      Specification:  G  rho_pel(nrho_pel)
      Declaration:  REAL(KIND=rspec) ps%rho_pel(ps%nrho_pel)
      Units:  -
      Comments:
        rho grid -- PEL

  Section: STATE_DATA (component: PEL)
    (no data elements)

  Section: STATE_PROFILES (component: PEL)

    SPSCE:
      Specification:  R|step*dV|units=#/sec   spsce(~nrho_pel,0:nspec_tha)
      Declaration:  REAL(KIND=rspec) ps%spsce(ps%nrho_pel-1,0:ps%nspec_tha)
      Units:  #/sec
      Comments:
        net source, thermal ions & electrons

-------------------------------------------------------------------------
Physics component:  PLASMA:
     Thermal plasma parameters; fluid profile advance

  Section: MACHINE_DESCRIPTION (component: PLASMA)

    TOKAMAK_ID:
      Specification:  N  tokamak_id
      Declaration:  CHARACTER*32 ps%tokamak_id
      Comments:
        Tokamak (Machine Description) ID
        <tokid>_<revid> within a 32 character string.

  Section: SHOT_CONFIGURATION (component: PLASMA)

    M_S:
      Specification:  S|thermal_specie  S(0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%m_S(0:ps%nspec_th)
      Units:  kg
      Comments:
        S specie mass

    NSPEC_TH:
      Specification:  S|thermal_specie  S(0:nspec_th)
      Declaration:  INTEGER ps%nspec_th
      Comments:
        species list dimension of S (thermal_specie)

    QATOM_S:
      Specification:  S|thermal_specie  S(0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%qatom_S(0:ps%nspec_th)
      Units:  C
      Comments:
        S atomic number

    Q_S:
      Specification:  S|thermal_specie  S(0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%q_S(0:ps%nspec_th)
      Units:  C
      Comments:
        S specie charge

    SHOT_NUMBER:
      Specification:  I shot_number
      Declaration:  INTEGER ps%shot_number
      Comments:
        integer shot number

    S_NAME:
      Specification:  S|thermal_specie  S(0:nspec_th)
      Declaration:  CHARACTER*32 ps%S_name(0:ps%nspec_th)
      Comments:
        thermal species list
        index 0 for electrons

    S_TYPE:
      Specification:  S|thermal_specie  S(0:nspec_th)
      Declaration:  INTEGER ps%S_type(0:ps%nspec_th)
      Comments:
        S specie types

  Section: SIMULATION_INIT (component: PLASMA)

    ALLA_INDEX:
      Specification:  I alla_index(0:nspec_alla)
      Declaration:  INTEGER ps%alla_index(0:ps%nspec_alla)
      Comments:
        species index in original lists
        alla_index(j)=-1 indicates that element (j) of the "alla" list is
        derived from a composite of ions in the "s" list (using Zeff
        and quasineutrality equations).
        otherwise for thermal ions alla_index(j) gives the index of the
        species in "S".  For example, if index 2 corresponds to Deuterium
        thermal ions in "alla", then alla_index(2) gives the index in "S"
        for Deuterium thermal ions.  For non-thermal ions, ion species j
        corresponds to species index:
        alla_index(j) in "SNBI" if all_type(j) = ps_beam_ion
        alla_index(j) in "RFMIN" if all_type(j) = ps_rf_minority
        alla_index(j) in "SFUS" if all_type(j) = ps_fusion_ion

    ALLA_NAME:
      Specification:  S|specie  ALLA(0:nspec_alla)
      Declaration:  CHARACTER*32 ps%ALLA_name(0:ps%nspec_alla)
      Comments:
        all species abridged
        (index 0 for electrons)

    ALLA_TYPE:
      Specification:  S|specie  ALLA(0:nspec_alla)
      Declaration:  INTEGER ps%ALLA_type(0:ps%nspec_alla)
      Comments:
        ALLA specie types

    ALL_INDEX:
      Specification:  I all_index(0:nspec_all)
      Declaration:  INTEGER ps%all_index(0:ps%nspec_all)
      Comments:
        species index in original lists
        ion species j in "all" corresponds to ion species:
        all_index(j) in "s" if all_type(j) = ps_electron, ps_therm_ion, or
        ps_impurity
        all_index(j) in "snbi" if all_type(j) = ps_beam_ion
        all_index(j) in "rfmin" if all_type(j) = ps_rf_minority
        all_index(j) in "sfus" if all_type(j) = ps_fusion_ion

    ALL_NAME:
      Specification:  S|specie  ALL(0:nspec_all)
      Declaration:  CHARACTER*32 ps%ALL_name(0:ps%nspec_all)
      Comments:
        all species
        index 0 for electrons
        this list is the union of lists "s", "snbi", "rfmin", and "sfus"

    ALL_TYPE:
      Specification:  S|specie  ALL(0:nspec_all)
      Declaration:  INTEGER ps%ALL_type(0:ps%nspec_all)
      Comments:
        ALL specie types

    CUR_DATA_INFO:
      Specification:  C*80   CUR_Data_Info
      Declaration:  CHARACTER*80 ps%CUR_Data_Info
      Comments:
        information on source of plasma current data

    GLOBAL_LABEL:
      Specification:  C*80   Global_label
      Declaration:  CHARACTER*80 ps%Global_label
      Comments:
        Run Label
        imbedded blanks allowed; <= 80 characters

    M_ALL:
      Specification:  S|specie  ALL(0:nspec_all)
      Declaration:  REAL(KIND=rspec) ps%m_ALL(0:ps%nspec_all)
      Units:  kg
      Comments:
        ALL specie mass

    M_ALLA:
      Specification:  S|specie  ALLA(0:nspec_alla)
      Declaration:  REAL(KIND=rspec) ps%m_ALLA(0:ps%nspec_alla)
      Units:  kg
      Comments:
        ALLA specie mass

    M_SA:
      Specification:  S|thermal_specie  SA(0:nspec_tha)
      Declaration:  REAL(KIND=rspec) ps%m_SA(0:ps%nspec_tha)
      Units:  kg
      Comments:
        SA specie mass

    M_SIMPI:
      Specification:  S|impurity_atoms SIMPI(nspec_impi)
      Declaration:  REAL(KIND=rspec) ps%m_SIMPI(ps%nspec_impi)
      Units:  kg
      Comments:
        SIMPI specie mass

    NRHO:
      Specification:  G   rho(nrho)
      Declaration:  INTEGER ps%nrho
      Comments:
        grid dimension of rho (RHO coordinate)

    NSPEC_ALL:
      Specification:  S|specie  ALL(0:nspec_all)
      Declaration:  INTEGER ps%nspec_all
      Comments:
        species list dimension of ALL (specie)

    NSPEC_ALLA:
      Specification:  S|specie  ALLA(0:nspec_alla)
      Declaration:  INTEGER ps%nspec_alla
      Comments:
        species list dimension of ALLA (specie)

    NSPEC_IMPI:
      Specification:  S|impurity_atoms SIMPI(nspec_impi)
      Declaration:  INTEGER ps%nspec_impi
      Comments:
        species list dimension of SIMPI (impurity_atoms)

    NSPEC_THA:
      Specification:  S|thermal_specie  SA(0:nspec_tha)
      Declaration:  INTEGER ps%nspec_tha
      Comments:
        species list dimension of SA (thermal_specie)

    NS_DATA_INFO:
      Specification:  C*80   ns_Data_Info
      Declaration:  CHARACTER*80 ps%ns_Data_Info
      Comments:
        information on source of Density data

    NTRCAT:
      Specification:  L|TR_categories  trcat(ntrcat)
      Declaration:  INTEGER ps%ntrcat
      Comments:
        item list dimension of trcat (TR_categories)

    PLASMA_CODE_INFO:
      Specification:  C*80   PLASMA_Code_Info
      Declaration:  CHARACTER*80 ps%PLASMA_Code_Info
      Comments:
        Information: code managing PLASMA component
        (advance of specie temperatures & densities etc)

    QATOM_ALL:
      Specification:  S|specie  ALL(0:nspec_all)
      Declaration:  REAL(KIND=rspec) ps%qatom_ALL(0:ps%nspec_all)
      Units:  C
      Comments:
        ALL atomic number

    QATOM_ALLA:
      Specification:  S|specie  ALLA(0:nspec_alla)
      Declaration:  REAL(KIND=rspec) ps%qatom_ALLA(0:ps%nspec_alla)
      Units:  C
      Comments:
        ALLA atomic number

    QATOM_SA:
      Specification:  S|thermal_specie  SA(0:nspec_tha)
      Declaration:  REAL(KIND=rspec) ps%qatom_SA(0:ps%nspec_tha)
      Units:  C
      Comments:
        SA atomic number

    QATOM_SIMPI:
      Specification:  S|impurity_atoms SIMPI(nspec_impi)
      Declaration:  REAL(KIND=rspec) ps%qatom_SIMPI(ps%nspec_impi)
      Units:  C
      Comments:
        SIMPI atomic number

    Q_ALL:
      Specification:  S|specie  ALL(0:nspec_all)
      Declaration:  REAL(KIND=rspec) ps%q_ALL(0:ps%nspec_all)
      Units:  C
      Comments:
        ALL specie charge

    Q_ALLA:
      Specification:  S|specie  ALLA(0:nspec_alla)
      Declaration:  REAL(KIND=rspec) ps%q_ALLA(0:ps%nspec_alla)
      Units:  C
      Comments:
        ALLA specie charge

    Q_SA:
      Specification:  S|thermal_specie  SA(0:nspec_tha)
      Declaration:  REAL(KIND=rspec) ps%q_SA(0:ps%nspec_tha)
      Units:  C
      Comments:
        SA specie charge

    Q_SIMPI:
      Specification:  S|impurity_atoms SIMPI(nspec_impi)
      Declaration:  REAL(KIND=rspec) ps%q_SIMPI(ps%nspec_impi)
      Units:  C
      Comments:
        SIMPI specie charge

    RFMIN_TO_ALL:
      Specification:  I  rfmin_to_all(nspec_rfmin)
      Declaration:  INTEGER ps%rfmin_to_all(ps%nspec_rfmin)
      Comments:
        map rfmin index to "all" list

    RFMIN_TO_ALLA:
      Specification:  I  rfmin_to_alla(nspec_rfmin)
      Declaration:  INTEGER ps%rfmin_to_alla(ps%nspec_rfmin)
      Comments:
        map rfmin index to "alla" list

    RHO:
      Specification:  G   rho(nrho)
      Declaration:  REAL(KIND=rspec) ps%rho(ps%nrho)
      Units:  -
      Comments:
        rho grid (PLASMA)

    RUNID:
      Specification:  N      RunID
      Declaration:  CHARACTER*32 ps%RunID
      Comments:
        Run ID
        one word, no imbedded blanks; <= 32 characters

    SA_INDEX:
      Specification:  I sa_index(0:nspec_all)
      Declaration:  INTEGER ps%sa_index(0:ps%nspec_all)
      Comments:
        species index in original lists
        sa_index(j)=-1 indicates that element (j) of the "SA" list is
        derived from a composite of ions in the "S" list (using Zeff
        and quasineutrality equations).
        otherwise sa_index(j) gives the index of the species in "S"
        For example, if index 2 corresponds to Deuterium ions in "SA", then
        sa_index(2) gives the index in "S" for Deuterium ions.
        For non-impurities usually sa_index(j)=j but this could be altered
        if He3+1 or He4+1 (less than fully stripped He ions) are present in
        the model.

    SA_NAME:
      Specification:  S|thermal_specie  SA(0:nspec_tha)
      Declaration:  CHARACTER*32 ps%SA_name(0:ps%nspec_tha)
      Comments:
        thermal species abridged
        (index 0 for electrons)

    SA_TYPE:
      Specification:  S|thermal_specie  SA(0:nspec_tha)
      Declaration:  INTEGER ps%SA_type(0:ps%nspec_tha)
      Comments:
        SA specie types

    SFUS_TO_ALL:
      Specification:  I  sfus_to_all(nspec_fusion)
      Declaration:  INTEGER ps%sfus_to_all(ps%nspec_fusion)
      Comments:
        map sfus index to "all" list

    SFUS_TO_ALLA:
      Specification:  I  sfus_to_alla(nspec_fusion)
      Declaration:  INTEGER ps%sfus_to_alla(ps%nspec_fusion)
      Comments:
        map sfus index to "alla" list

    SIMPI_NAME:
      Specification:  S|impurity_atoms SIMPI(nspec_impi)
      Declaration:  CHARACTER*32 ps%SIMPI_name(ps%nspec_impi)
      Comments:
        impurity ion species in simulation

    SIMPI_TO_S:
      Specification:  I  simpi_to_s(nspec_impi)
      Declaration:  INTEGER ps%simpi_to_s(ps%nspec_impi)
      Comments:
        map simpi index to "s" list

    SIMPI_TYPE:
      Specification:  S|impurity_atoms SIMPI(nspec_impi)
      Declaration:  INTEGER ps%SIMPI_type(ps%nspec_impi)
      Comments:
        SIMPI specie types

    SNBI_TO_ALL:
      Specification:  I  snbi_to_all(nspec_beam)
      Declaration:  INTEGER ps%snbi_to_all(ps%nspec_beam)
      Comments:
        map snbi index to "all" list

    SNBI_TO_ALLA:
      Specification:  I  snbi_to_alla(nspec_beam)
      Declaration:  INTEGER ps%snbi_to_alla(ps%nspec_beam)
      Comments:
        map snbi index to "alla" list

    S_TO_SA:
      Specification:  I s_to_sa(0:nspec_th)
      Declaration:  INTEGER ps%s_to_sa(0:ps%nspec_th)
      Comments:
        address in sa species list
        if species s(j) is in list SA, s_to_sa(j) gives its address in SA.
        if species s(j) is NOT in list SA, s_to_sa(j)=-1.

    TFINAL:
      Specification:  R  tfinal
      Declaration:  REAL(KIND=rspec) ps%tfinal
      Units:  sec
      Comments:
        stop time of simulation (may be adjustable)

    TF_DATA_INFO:
      Specification:  C*80   TF_Data_Info
      Declaration:  CHARACTER*80 ps%TF_Data_Info
      Comments:
        information on source of toroidal field data

    TINIT:
      Specification:  R  tinit
      Declaration:  REAL(KIND=rspec) ps%tinit
      Units:  sec
      Comments:
        start time of simulation

    TRCAT:
      Specification:  L|TR_categories  trcat(ntrcat)
      Declaration:  CHARACTER*32 ps%trcat(ps%ntrcat)
      Comments:
        Application defined list of
        transport categories (possible examples: NC for neoclassical,
        TURB for turbulent, SAW for sawtooth induced, ...); used to
        dimension profile data provided to quantify transport rates
        according to underlying physics

    TRMODELS:
      Specification:  C*256 trmodels(ntrcat)
      Declaration:  CHARACTER*256 ps%trmodels(ps%ntrcat)
      Comments:
        short description or ID of transport models

    TS_DATA_INFO:
      Specification:  C*80   Ts_Data_Info
      Declaration:  CHARACTER*80 ps%Ts_Data_Info
      Comments:
        information on source of Temperature data

    VPOL_DATA_INFO:
      Specification:  C*80   vpol_Data_Info
      Declaration:  CHARACTER*80 ps%vpol_Data_Info
      Comments:
        information on source of poloidal velocity data

    VSUR_DATA_INFO:
      Specification:  C*80   VSUR_Data_Info
      Declaration:  CHARACTER*80 ps%VSUR_Data_Info
      Comments:
        information on source of surface voltage data

    VTOR_DATA_INFO:
      Specification:  C*80   vtor_Data_Info
      Declaration:  CHARACTER*80 ps%vtor_Data_Info
      Comments:
        information on source of toroidal velocity data

    Z0MAX:
      Specification:  IS  Z0max = 2
      Declaration:  INTEGER ps%Z0max
      Comments:
        maximum Z of non-impurity species
        (default is 2: Helium).  Ion species with Z <= Z0max
        are considered "non-impurities" and are present in
        SGAS, a list of recycling neutral gas species.

    ZEFF_DATA_INFO:
      Specification:  C*80   ZEFF_Data_Info
      Declaration:  CHARACTER*80 ps%ZEFF_Data_Info
      Comments:
        information on source of Zeff data

    ZIMP1:
      Specification:  IS  Zimp1 = 2
      Declaration:  INTEGER ps%Zimp1
      Comments:
        lower limit on Z of impurity in reduced species list SA;
        by default the lowest available Z impurity is chosen.
        After the SA list is defined, this value is reset to
        match the lower Z impurity selected for the SA list.

    ZIMP2:
      Specification:  IS  Zimp2 = 1000
      Declaration:  INTEGER ps%Zimp2
      Comments:
        upper limit on Z of impurity in SA species list;
        by default the highest Z impurity available is chosen.
        After the SA list is defined, this value is reset to
        match the higher Z impurity selected for the SA list.

  Section: STATE_DATA (component: PLASMA)

    ELDOT:
      Specification:  R|units=1/sec  eldot
      Declaration:  REAL(KIND=rspec) ps%eldot
      Units:  1/sec
      Comments:
        [d(Philim)/dt]/[2*Philim]

    LOCK_MACHINE_DESCR:
      Specification:  I  lock_machine_descr = 0
      Declaration:  INTEGER ps%lock_machine_descr
      Comments:
        Machine_Description section lock

    LOCK_SHOT_CONFIG:
      Specification:  I  lock_shot_config = 0
      Declaration:  INTEGER ps%lock_shot_config
      Comments:
        Shot_Configuration section lock

    LOCK_SIM_INIT:
      Specification:  I  lock_sim_init = 0
      Declaration:  INTEGER ps%lock_sim_init
      Comments:
        Simulation_Init section lock

    NEBAR:
      Specification:  R|units=#/m^2 nebar
      Declaration:  REAL(KIND=rspec) ps%nebar
      Units:  #/m^2
      Comments:
        line-averaged electron density

    NS_BDY:
      Specification:  R|units=m^-3 ns_bdy(0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%ns_bdy(0:ps%nspec_th)
      Units:  m^-3
      Comments:
        specie densities at/beyond boundary

    NS_IS_INPUT:
      Specification:  I ns_is_input(0:nspec_th)
      Declaration:  INTEGER ps%ns_is_input(0:ps%nspec_th)
      Comments:
        specie density measurement flag

    OMEGAT_BDY:
      Specification:  R|units=rad/sec  omegat_bdy
      Declaration:  REAL(KIND=rspec) ps%omegat_bdy
      Units:  rad/sec
      Comments:
        toroidal angular velocity at/beyond boundary

    RHO_BDY_NS:
      Specification:  R|units=- rho_bdy_ns(0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%rho_bdy_ns(0:ps%nspec_th)
      Units:  -
      Comments:
        locations beyond which densities are known

    RHO_BDY_OMEGAT:
      Specification:  R rho_bdy_omegat
      Declaration:  REAL(KIND=rspec) ps%rho_bdy_omegat
      Units:  -
      Comments:
        location beyond which angular velocity is known

    RHO_BDY_TE:
      Specification:  R rho_bdy_Te
      Declaration:  REAL(KIND=rspec) ps%rho_bdy_Te
      Units:  -
      Comments:
        location beyond which Te is known

    RHO_BDY_TI:
      Specification:  R rho_bdy_Ti
      Declaration:  REAL(KIND=rspec) ps%rho_bdy_Ti
      Units:  -
      Comments:
        location beyond which Ti is known

    T0:
      Specification:  R  t0
      Declaration:  REAL(KIND=rspec) ps%t0
      Units:  sec
      Comments:
        time at beginning of IPS macro timestep

    T1:
      Specification:  R  t1
      Declaration:  REAL(KIND=rspec) ps%t1
      Units:  sec
      Comments:
        time at end of IPS macro timestep

    TE_BDY:
      Specification:  R Te_bdy
      Declaration:  REAL(KIND=rspec) ps%Te_bdy
      Units:  KeV
      Comments:
        Electron temperature at/beyond boundary

    TI_BDY:
      Specification:  R Ti_bdy
      Declaration:  REAL(KIND=rspec) ps%Ti_bdy
      Units:  KeV
      Comments:
        Ion temperature at/beyond boundary

    TS_IS_INPUT:
      Specification:  I Ts_is_input(0:nspec_th)
      Declaration:  INTEGER ps%Ts_is_input(0:ps%nspec_th)
      Comments:
        specie temperature measurement flag

    VPOL_IS_INPUT:
      Specification:  I vpol_is_input(0:nspec_th)
      Declaration:  INTEGER ps%vpol_is_input(0:ps%nspec_th)
      Comments:
        specie outer midplane poloidal velocit flag

    VSUR:
      Specification:  R  vsur
      Declaration:  REAL(KIND=rspec) ps%vsur
      Units:  Volts
      Comments:
        toroidal voltage at surface

    VTOR_IS_INPUT:
      Specification:  I vtor_is_input(0:nspec_th)
      Declaration:  INTEGER ps%vtor_is_input(0:ps%nspec_th)
      Comments:
        specie outer midplane toroidal velocit flag

  Section: STATE_PROFILES (component: PLASMA)

    CHIE_TRANS:
      Specification:  R|pclin chie_trans(nrho)
      Declaration:  REAL(KIND=rspec) ps%chie_trans(ps%nrho)
      Units:  m^2/sec
      Comments:
        electron thermal diffusivity

    CHIE_TRANSCAT:
      Specification:  R|units=m^2/sec|pclin chie_transcat(nrho,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%chie_transcat(ps%nrho,ps%ntrcat)
      Units:  m^2/sec
      Comments:
        Electron energy diffusivity

    CHII_TRANS:
      Specification:  R|pclin chii_trans(nrho)
      Declaration:  REAL(KIND=rspec) ps%chii_trans(ps%nrho)
      Units:  m^2/sec
      Comments:
        ion thermal diffusivity

    CHII_TRANSCAT:
      Specification:  R|units=m^2/sec|pclin chii_transcat(nrho,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%chii_transcat(ps%nrho,ps%ntrcat)
      Units:  m^2/sec
      Comments:
        Ion energy diffusivity

    CHIMO_TRANS:
      Specification:  R|pclin chimo_trans(nrho)
      Declaration:  REAL(KIND=rspec) ps%chimo_trans(ps%nrho)
      Units:  m^2/sec
      Comments:
        angular momentum diffusivity

    CHIMO_TRANSCAT:
      Specification:  R|units=m^2/sec|pclin chimo_transcat(nrho,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%chimo_transcat(ps%nrho,ps%ntrcat)
      Units:  m^2/sec
      Comments:
        Angular momentum diffusivity

    CURR_BOOTSTRAP:
      Specification:  R|units=A|step*dA   curr_bootstrap(~nrho)
      Declaration:  REAL(KIND=rspec) ps%curr_bootstrap(ps%nrho-1)
      Units:  A
      Comments:
        Neoclassical bootstrap current

    CURR_OHMIC:
      Specification:  R|units=A|step*dA   curr_ohmic(~nrho)
      Declaration:  REAL(KIND=rspec) ps%curr_ohmic(ps%nrho-1)
      Units:  A
      Comments:
        Ohmic current
        i.e. inductive current driven by toroidal loop voltage
        in the toroidal direction, Amps/zone:  sum of:
        curr_ohmic + curr_bootstrap + RF driven currents +
        fast ion driven currents + runaway electron current +
        diamagnetic current => curt (total enclosed toroidal
        current) in the EQ component.

    DIFF_TRANS:
      Specification:  R|units=m^2/sec|pclin diff_trans(nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%diff_trans(ps%nrho,0:ps%nspec_th)
      Units:  m^2/sec
      Comments:
        specie ptcl diffusivity

    DIFF_TRANSCAT:
      Specification:  R|units=m^2/sec|pclin diff_transcat(nrho,0:nspec_th,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%diff_transcat(ps%nrho,0:ps%nspec_th,ps%ntrcat)
      Units:  m^2/sec
      Comments:
        specie diffusivity

    EPOT:
      Specification:  R|units=keV|pclin  Epot(nrho)
      Declaration:  REAL(KIND=rspec) ps%Epot(ps%nrho)
      Units:  keV
      Comments:
        radial electrostatic potential
        at zone bdys

    ETA_PARALLEL:
      Specification:  R|units=ohm*m|Hermite eta_parallel(nrho)
      Declaration:  REAL(KIND=rspec) ps%eta_parallel(ps%nrho)
      Units:  ohm*m
      Comments:
        parallel electrical resistivity

    FI_DEPLETION:
      Specification:  R|units=-|step*ns(:,ps_elec_index) Fi_depletion(~nrho)
      Declaration:  REAL(KIND=rspec) ps%Fi_depletion(ps%nrho-1)
      Units:  -
      Comments:
        fast ion depletion: sum[nj*Zj/ne]

    IOTA:
      Specification:  R|units=-|Spline_00  iota(nrho)
      Declaration:  REAL(KIND=rspec) ps%iota(ps%nrho)
      Units:  -
      Comments:
        iota profile (1/q)

    NI:
      Specification:  R|units=m^-3|step  ni(~nrho)
      Declaration:  REAL(KIND=rspec) ps%ni(ps%nrho-1)
      Units:  m^-3
      Comments:
        total thermal ion density
        should match sum ns(:,1:nspec_th)

    NS:
      Specification:  R|units=m^-3|alias=n|step  ns(~nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%ns(ps%nrho-1,0:ps%nspec_th)
      Units:  m^-3
      Comments:
        thermal specie density

    OMEGAT:
      Specification:  R|units=rad/sec|step*ni  omegat(~nrho)
      Declaration:  REAL(KIND=rspec) ps%omegat(ps%nrho-1)
      Units:  rad/sec
      Comments:
        ion toroidal angular velocity
        single profile for all thermal
        ion species; should be consistent
        with ns & v_pars.

    PE_TRANS:
      Specification:  R|step*dV   pe_trans(~nrho)
      Declaration:  REAL(KIND=rspec) ps%pe_trans(ps%nrho-1)
      Units:  W
      Comments:
        electron transport (loss) power

    PE_TRANSCAT:
      Specification:  R|step*dV|units=W  pe_transcat(~nrho,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%pe_transcat(ps%nrho-1,ps%ntrcat)
      Units:  W
      Comments:
        electron transport

    PI_TRANS:
      Specification:  R|step*dV   pi_trans(~nrho)
      Declaration:  REAL(KIND=rspec) ps%pi_trans(ps%nrho-1)
      Units:  W
      Comments:
        ion transport (loss) power

    PI_TRANSCAT:
      Specification:  R|step*dV|units=W  pi_transcat(~nrho,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%pi_transcat(ps%nrho-1,ps%ntrcat)
      Units:  W
      Comments:
        ion transport

    POHME:
      Specification:  R|units=W|step*dV   pohme(~nrho)
      Declaration:  REAL(KIND=rspec) ps%pohme(ps%nrho-1)
      Units:  W
      Comments:
        Ohmic heating of electrons

    QCOMP_E:
      Specification:  R|step*dV   qcomp_e(~nrho)
      Declaration:  REAL(KIND=rspec) ps%qcomp_e(ps%nrho-1)
      Units:  W
      Comments:
        Compressional electron heating

    QCOMP_I:
      Specification:  R|step*dV   qcomp_i(~nrho)
      Declaration:  REAL(KIND=rspec) ps%qcomp_i(ps%nrho-1)
      Units:  W
      Comments:
        Compressional ion heating

    QIE:
      Specification:  R|units=W|step*dV   qie(~nrho)
      Declaration:  REAL(KIND=rspec) ps%qie(ps%nrho-1)
      Units:  W
      Comments:
        Ion->Electron heat coupling
        +: power flow from ions to electrons
        -: power flow from electrons to ions

    QROT_CONV:
      Specification:  R|step*dV   qrot_conv(~nrho)
      Declaration:  REAL(KIND=rspec) ps%qrot_conv(ps%nrho-1)
      Units:  W
      Comments:
        rotational energy dissipation (convective)

    QROT_DIFF:
      Specification:  R|step*dV   qrot_diff(~nrho)
      Declaration:  REAL(KIND=rspec) ps%qrot_diff(ps%nrho-1)
      Units:  W
      Comments:
        rotational energy dissipation (diffusive)

    RES_SN:
      Specification:  R|units=Norm|step*dV res_sn(~nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%res_sn(ps%nrho-1,0:ps%nspec_th)
      Units:  Norm
      Comments:
        residuals for particle transport eqn

    RES_TE:
      Specification:  R|step*dV res_te(~nrho)
      Declaration:  REAL(KIND=rspec) ps%res_te(ps%nrho-1)
      Units:  Norm
      Comments:
        residuals for electron transport eqn

    RES_TI:
      Specification:  R|step*dV res_ti(~nrho)
      Declaration:  REAL(KIND=rspec) ps%res_ti(ps%nrho-1)
      Units:  Norm
      Comments:
        residuals for ion transport eqn

    RES_TQ:
      Specification:  R|units=Norm|step*dV res_tq(~nrho)
      Declaration:  REAL(KIND=rspec) ps%res_tq(ps%nrho-1)
      Units:  Norm
      Comments:
        rediduals for angular momentum transport eqn

    SN_TRANS:
      Specification:  R|units=#/sec|step*dV sn_trans(~nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%sn_trans(ps%nrho-1,0:ps%nspec_th)
      Units:  #/sec
      Comments:
        particle transport (loss)
        electrons & thermal ion species

    SN_TRANSCAT:
      Specification:  R|step*dV|units=#/sec  sn_transcat(~nrho,0:nspec_th,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%sn_transcat(ps%nrho-1,0:ps%nspec_th,ps%ntrcat)
      Units:  #/sec
      Comments:
        species transport

    TI:
      Specification:  R|units=keV|step*ni Ti(~nrho)
      Declaration:  REAL(KIND=rspec) ps%Ti(ps%nrho-1)
      Units:  keV
      Comments:
        ion temperature
        single profile for all thermal
        ion species; should be consistent
        with ns & Ts

    TQ_TRANS:
      Specification:  R|units=Nt*m|step*dV  tq_trans(~nrho)
      Declaration:  REAL(KIND=rspec) ps%tq_trans(ps%nrho-1)
      Units:  Nt*m
      Comments:
        angular momentum transport (loss)
        toroidal angular momentum

    TQ_TRANSCAT:
      Specification:  R|step*dV|units=Nt*m  tq_transcat(~nrho,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%tq_transcat(ps%nrho-1,ps%ntrcat)
      Units:  Nt*m
      Comments:
        toroidal angular momentum transport

    TS:
      Specification:  R|units=keV|alias=T|step*ns  Ts(~nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%Ts(ps%nrho-1,0:ps%nspec_th)
      Units:  keV
      Comments:
        thermal specie temperature

    UPWIND_PFRAC_NS:
      Specification:  R|units=-|pclin upwind_pfrac_ns(nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%upwind_pfrac_ns(ps%nrho,0:ps%nspec_th)
      Units:  -
      Comments:
        specie density forward upwind fractions

    UPWIND_PFRAC_OMEGA:
      Specification:  R|pclin upwind_pfrac_omega(nrho)
      Declaration:  REAL(KIND=rspec) ps%upwind_pfrac_omega(ps%nrho)
      Units:  -
      Comments:
        omega (ang. velocity) forward upwind fraction

    UPWIND_PFRAC_TE:
      Specification:  R|pclin upwind_pfrac_Te(nrho)
      Declaration:  REAL(KIND=rspec) ps%upwind_pfrac_Te(ps%nrho)
      Units:  -
      Comments:
        Te (electron energy advection) forward upwind fraction

    UPWIND_PFRAC_TI:
      Specification:  R|pclin upwind_pfrac_Ti(nrho)
      Declaration:  REAL(KIND=rspec) ps%upwind_pfrac_Ti(ps%nrho)
      Units:  -
      Comments:
        Ti (ion energy advection) forward upwind fraction

    VEE_TRANS:
      Specification:  R|pclin   vee_trans(nrho)
      Declaration:  REAL(KIND=rspec) ps%vee_trans(ps%nrho)
      Units:  m/sec
      Comments:
        electron energy radial velocity

    VEE_TRANSCAT:
      Specification:  R|units=m/sec|pclin vee_transcat(nrho,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%vee_transcat(ps%nrho,ps%ntrcat)
      Units:  m/sec
      Comments:
        Electron energy radial velocity

    VIE_TRANS:
      Specification:  R|pclin   vie_trans(nrho)
      Declaration:  REAL(KIND=rspec) ps%vie_trans(ps%nrho)
      Units:  m/sec
      Comments:
        ion energy radial velocity

    VIE_TRANSCAT:
      Specification:  R|units=m/sec|pclin vie_transcat(nrho,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%vie_transcat(ps%nrho,ps%ntrcat)
      Units:  m/sec
      Comments:
        Ion energy radial velocity

    VMO_TRANS:
      Specification:  R|pclin   vmo_trans(nrho)
      Declaration:  REAL(KIND=rspec) ps%vmo_trans(ps%nrho)
      Units:  m/sec
      Comments:
        angular momentum radial velocity

    VMO_TRANSCAT:
      Specification:  R|units=m/sec|pclin vmo_transcat(nrho,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%vmo_transcat(ps%nrho,ps%ntrcat)
      Units:  m/sec
      Comments:
        Angular momentum radial velocity

    VN_TRANS:
      Specification:  R|units=m/sec|pclin   vn_trans(nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%vn_trans(ps%nrho,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        specie radial velocity

    VN_TRANSCAT:
      Specification:  R|units=m/sec|pclin vn_transcat(nrho,0:nspec_th,ntrcat)
      Declaration:  REAL(KIND=rspec) ps%vn_transcat(ps%nrho,0:ps%nspec_th,ps%ntrcat)
      Units:  m/sec
      Comments:
        specie radial velocity

    VPOL_INMP:
      Specification:  R|units=m/sec|step*ns vpol_inmp(~nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%vpol_inmp(ps%nrho-1,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        poloidal velocity, inner half midplane

    VPOL_OMP:
      Specification:  R|units=m/sec|step*ns vpol_omp(~nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%vpol_omp(ps%nrho-1,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        poloidal velocity, outer half midplane

    VTOR_INMP:
      Specification:  R|units=m/sec|step*ns vtor_inmp(~nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%vtor_inmp(ps%nrho-1,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        toroidal velocity, inner half midplane

    VTOR_OMP:
      Specification:  R|units=m/sec|step*ns vtor_omp(~nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%vtor_omp(ps%nrho-1,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        toroidal velocity, outer half midplane

    V_LOOP:
      Specification:  R|units=Volts|pclin	V_loop(nrho)
      Declaration:  REAL(KIND=rspec) ps%V_loop(ps%nrho)
      Units:  Volts
      Comments:
        loop voltage

    V_PARS:
      Specification:  R|units=m/sec|alias=vpll_|step*ns v_pars(~nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%v_pars(ps%nrho-1,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        thermal specie <vpll>

    V_PERS:
      Specification:  R|units=m/sec|alias=vper_|step*ns v_pers(~nrho,0:nspec_th)
      Declaration:  REAL(KIND=rspec) ps%v_pers(ps%nrho-1,0:ps%nspec_th)
      Units:  m/sec
      Comments:
        thermal specie <vper>

    ZEFF:
      Specification:  R|step*ns(:,ps_elec_index)  Zeff(~nrho)
      Declaration:  REAL(KIND=rspec) ps%Zeff(ps%nrho-1)
      Units:  -
      Comments:
        Zeff (sum[nj*Zj**2]/ne)

    ZEFF_FI:
      Specification:  R|step*ns(:,ps_elec_index)  Zeff_fi(~nrho)
      Declaration:  REAL(KIND=rspec) ps%Zeff_fi(ps%nrho-1)
      Units:  -
      Comments:
        Fast ion contribution to Zeff

    ZEFF_TH:
      Specification:  R|step*ns(:,ps_elec_index)  Zeff_th(~nrho)
      Declaration:  REAL(KIND=rspec) ps%Zeff_th(ps%nrho-1)
      Units:  -
      Comments:
        Thermal ion contribution to Zeff

-------------------------------------------------------------------------
Physics component:  RAD:
     Radiated Power & impurity transport

  Section: MACHINE_DESCRIPTION (component: RAD)
    (no data elements)

  Section: SHOT_CONFIGURATION (component: RAD)

    NXS:
      Specification:  L|impurity_source  xs_name(nxs)
      Declaration:  INTEGER ps%nxs
      Comments:
        item list dimension of xs_name (impurity_source)

    XS_NAME:
      Specification:  L|impurity_source  xs_name(nxs)
      Declaration:  CHARACTER*32 ps%xs_name(ps%nxs)
      Comments:
        number & name of impurity sources

  Section: SIMULATION_INIT (component: RAD)

    NRHO_MIST:
      Specification:  G  rho_mist(nrho_mist)
      Declaration:  INTEGER ps%nrho_mist
      Comments:
        grid dimension of rho_mist (RHO coordinate)

    NRHO_RAD:
      Specification:  G  rho_rad(nrho_rad)
      Declaration:  INTEGER ps%nrho_rad
      Comments:
        grid dimension of rho_rad (RHO coordinate)

    RAD_CODE_INFO:
      Specification:  C*80   RAD_Code_Info
      Declaration:  CHARACTER*80 ps%RAD_Code_Info
      Comments:
        Information: code implementing RAD component

    RAD_DATA_INFO:
      Specification:  C*80   RAD_Data_Info
      Declaration:  CHARACTER*80 ps%RAD_Data_Info
      Comments:
        Information on source of radiated power data

    RHO_MIST:
      Specification:  G  rho_mist(nrho_mist)
      Declaration:  REAL(KIND=rspec) ps%rho_mist(ps%nrho_mist)
      Units:  -
      Comments:
        rho grid (PLASMA) impurity-driven sources

    RHO_RAD:
      Specification:  G  rho_rad(nrho_rad)
      Declaration:  REAL(KIND=rspec) ps%rho_rad(ps%nrho_rad)
      Units:  -
      Comments:
        rho grid (RAD)

  Section: STATE_DATA (component: RAD)

    XS:
      Specification:  R|units=#/sec    xs(nxs)
      Declaration:  REAL(KIND=rspec) ps%xs(ps%nxs)
      Units:  #/sec
      Comments:
        impurity source magnitude (atoms/sec)
        these numbers normalize "sii_xs" source profiles

  Section: STATE_PROFILES (component: RAD)

    PRAD:
      Specification:  R|step*dV  prad(~nrho_rad)
      Declaration:  REAL(KIND=rspec) ps%prad(ps%nrho_rad-1)
      Units:  W
      Comments:
        total radiated power

    PRAD_BR:
      Specification:  R|step*dV  prad_br(~nrho_rad)
      Declaration:  REAL(KIND=rspec) ps%prad_br(ps%nrho_rad-1)
      Units:  W
      Comments:
        bremsstrahlung contribution

    PRAD_CY:
      Specification:  R|step*dV  prad_cy(~nrho_rad)
      Declaration:  REAL(KIND=rspec) ps%prad_cy(ps%nrho_rad-1)
      Units:  W
      Comments:
        cyclotron radiation contribution

    PRAD_LI:
      Specification:  R|step*dV  prad_li(~nrho_rad)
      Declaration:  REAL(KIND=rspec) ps%prad_li(ps%nrho_rad-1)
      Units:  W
      Comments:
        line radiation contribution

    SII_XS:
      Specification:  R|step*dV|units=(#/sec)/(#/sec) sii_xs(~nrho_mist,0:nspec_th,nxs)
      Declaration:  REAL(KIND=rspec) ps%sii_xs(ps%nrho_mist-1,0:ps%nspec_th,ps%nxs)
      Units:  (#/sec)/(#/sec)
      Comments:
        species source/sinks driven by xs(1:nxs)

-------------------------------------------------------------------------
Physics component:  RIPPLE:
     TF field ripple

  Section: MACHINE_DESCRIPTION (component: RIPPLE)

    NTF_COIL2:
      Specification:  I ntf_coil2
      Declaration:  INTEGER ps%ntf_coil2
      Comments:
        number of TF coils involved in inducing 2nd component
        of TF ripple field (typically ntf_coil2 = ntf_coils/2).
        (This 2nd TF ripple field is sometimes introduced in
        tokamak experiments to study the effects of TF ripple
        induced fast ion loss).

    NTF_COILS:
      Specification:  I ntf_coils
      Declaration:  INTEGER ps%ntf_coils
      Comments:
        number of TF coils
        the number of toroidal field (TF) coils is also the
        number of periods in the main TF ripple field

  Section: SHOT_CONFIGURATION (component: RIPPLE)
    (no data elements)

  Section: SIMULATION_INIT (component: RIPPLE)

    NR_RIP:
      Specification:  G  R_ripple(nR_rip)
      Declaration:  INTEGER ps%nr_rip
      Comments:
        grid dimension of R_ripple (R coordinate)

    NZ_RIP:
      Specification:  G  Z_ripple(nZ_rip)
      Declaration:  INTEGER ps%nz_rip
      Comments:
        grid dimension of Z_ripple (Z coordinate)

    R_RIPPLE:
      Specification:  G  R_ripple(nR_rip)
      Declaration:  REAL(KIND=rspec) ps%R_ripple(ps%nr_rip)
      Units:  m
      Comments:
        R grid for TF ripple field(s)

    Z_RIPPLE:
      Specification:  G  Z_ripple(nZ_rip)
      Declaration:  REAL(KIND=rspec) ps%Z_ripple(ps%nz_rip)
      Units:  m
      Comments:
        Z grid for TF ripple field(s)

  Section: STATE_DATA (component: RIPPLE)
    (no data elements)

  Section: STATE_PROFILES (component: RIPPLE)

    TFRIP2_LOG:
      Specification:  R|pclin  tfrip2_log(nR_rip,nZ_rip)
      Declaration:  REAL(KIND=rspec) ps%tfrip2_log(ps%nr_rip,ps%nz_rip)
      Units:  -
      Comments:
        2nd component of TF ripple
        log((Bmax-Bmin)/(Bmax+Bmin))
        This field is sometimes introduced
        time dependently in experiments.

    TFRIP_LOG:
      Specification:  R|pclin  tfrip_log(nR_rip,nZ_rip)
      Declaration:  REAL(KIND=rspec) ps%tfrip_log(ps%nr_rip,ps%nz_rip)
      Units:  -
      Comments:
        TF ripple: log((Bmax-Bmin)/(Bmax+Bmin))
        This field is likely time invariant,
        an attribute of the tokamak TF coils.

-------------------------------------------------------------------------
Physics component:  RUNAWAY:
     Runaway electrons

  Section: MACHINE_DESCRIPTION (component: RUNAWAY)
    (no data elements)

  Section: SHOT_CONFIGURATION (component: RUNAWAY)
    (no data elements)

  Section: SIMULATION_INIT (component: RUNAWAY)

    NRHO_RW:
      Specification:  G  rho_rw(nrho_rw)
      Declaration:  INTEGER ps%nrho_rw
      Comments:
        grid dimension of rho_rw (RHO coordinate)

    RHO_RW:
      Specification:  G  rho_rw(nrho_rw)
      Declaration:  REAL(KIND=rspec) ps%rho_rw(ps%nrho_rw)
      Units:  -
      Comments:
        rho grid -- RUNAWAY electrons

    RUNAWAY_CODE_INFO:
      Specification:  C*80   RUNAWAY_Code_Info
      Declaration:  CHARACTER*80 ps%RUNAWAY_Code_Info
      Comments:
        Information: code implementing RUNAWAY component

  Section: STATE_DATA (component: RUNAWAY)
    (no data elements)

  Section: STATE_PROFILES (component: RUNAWAY)

    CUR_RW:
      Specification:  R|step*dA|units=A   cur_rw(~nrho_rw)
      Declaration:  REAL(KIND=rspec) ps%cur_rw(ps%nrho_rw-1)
      Units:  A
      Comments:
        current carried by fast electrons

    DCUR_RW_DVLOOP:
      Specification:  R|step*dA|units=A/Volt dcur_rw_dVloop(~nrho_rw)
      Declaration:  REAL(KIND=rspec) ps%dcur_rw_dVloop(ps%nrho_rw-1)
      Units:  A/Volt
      Comments:
        sensitivity to loop volts

    EPERP_RW:
      Specification:  R|units=keV|step*nrw  eperp_rw(~nrho_rw)
      Declaration:  REAL(KIND=rspec) ps%eperp_rw(ps%nrho_rw-1)
      Units:  keV
      Comments:
        runaway electron <Eperp>

    EPLL_RW:
      Specification:  R|units=keV|step*nrw  epll_rw(~nrho_rw)
      Declaration:  REAL(KIND=rspec) ps%epll_rw(ps%nrho_rw-1)
      Units:  keV
      Comments:
        runaway electron <Epll>

    NRW:
      Specification:  R|units=m^-3|step   nrw(~nrho_rw)
      Declaration:  REAL(KIND=rspec) ps%nrw(ps%nrho_rw-1)
      Units:  m^-3
      Comments:
        runaway electron density
        nrw/ne << 1 is assumed
