! written by nbigen.py
! *** do not edit *** (use nbigen.py instead)
 
subroutine nbo_load
 
  use nbi_com
  use physconst_mod, only: zero
  implicit NONE
 
  INTEGER :: i,j,k,ival
  real(fp) :: zdata(mj),zr8val,zsmoo,zsmoosave
  CHARACTER*32 :: zname,zunits
  CHARACTER*60 :: zlroot,zlabel
 
  !-----------------------------------
  ! ... block: fusion .........
 
  do i = 1,mireact
    zdata = bbntns(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      bbntns(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; fast ion -- fast ion fusion',zlroot,zunits)
    call nbo_name1('bbntns','mireact',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_bbntns(i) = ival
    io_bbntns_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('#/S; beam-beam neutrons',zlabel,zunits)
  call nbo_smoo1('density',bbntnt)
  call nbo_load1('density', 'bbntnt', zlabel, zunits, bbntnt, ival, zr8val)
  io_bbntnt = ival
  io_bbntnt_name = trim(oprefix)//'bbntnt'
 
  do i = 1,mireact
    zdata = btntns(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      btntns(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; fast ion -- target fusion',zlroot,zunits)
    call nbo_name1('btntns','mireact',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_btntns(i) = ival
    io_btntns_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mireact
    zdata = btntrs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      btntrs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('cm^3/S; fast ion -- target fusion, sigv',zlroot,zunits)
    call nbo_name1('btntrs','mireact',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_btntrs(i) = ival
    io_btntrs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mireact
    zdata = btntws(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      btntws(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/cm^3; fast ions react with thermal',zlroot,zunits)
    call nbo_name1('btntws','mireact',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_btntws(i) = ival
    io_btntws_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('#/S; beam-target neutrons',zlabel,zunits)
  call nbo_smoo1('density',btntnt)
  call nbo_load1('density', 'btntnt', zlabel, zunits, btntnt, ival, zr8val)
  io_btntnt = ival
  io_btntnt_name = trim(oprefix)//'btntnt'
 
  call nbo_lbl_split('#/S; beam-RF minority neutrons',zlabel,zunits)
  call nbo_smoo1('density',rbntnt)
  call nbo_load1('density', 'rbntnt', zlabel, zunits, rbntnt, ival, zr8val)
  io_rbntnt = ival
  io_rbntnt_name = trim(oprefix)//'rbntnt'
 
 
  !-----------------------------------
  ! ... block: density .........
 
  do i = 1,mibs
    zdata = bdenss(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      bdenss(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#; fast ion density',zlroot,zunits)
    call nbo_name1('bdenss','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_bdenss(i) = ival
    io_bdenss_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = mc_dens(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('linparam',zdata)
      mc_dens(1:mj,i) = zdata; zdata = zdata*1.0e+6_fp
    endif
    call nbo_lbl_split('#/m^3; MC fast ion density (unsmoothed)',zlroot,zunits)
    call nbo_name1('mc_dens','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('linparam', zname, zlabel, zunits, zdata, ival, zr8val)
    io_mc_dens(i) = ival
    io_mc_dens_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = bdenssw(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      bdenssw(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#; post-sawtooth fast ion density',zlroot,zunits)
    call nbo_name1('bdenssw','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_bdenssw(i) = ival
    io_bdenssw_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = udenspl(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      udenspl(1:mj,i) = zdata
    endif
    call nbo_lbl_split('J; pll energy density',zlroot,zunits)
    call nbo_name1('udenspl','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_udenspl(i) = ival
    io_udenspl_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = udenspp(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      udenspp(1:mj,i) = zdata
    endif
    call nbo_lbl_split('J; perp energy density',zlroot,zunits)
    call nbo_name1('udenspp','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_udenspp(i) = ival
    io_udenspp_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = udensplw(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      udensplw(1:mj,i) = zdata
    endif
    call nbo_lbl_split('J; post-sawtooth pll energy density',zlroot,zunits)
    call nbo_name1('udensplw','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_udensplw(i) = ival
    io_udensplw_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = udensppw(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      udensppw(1:mj,i) = zdata
    endif
    call nbo_lbl_split('J; post-sawtooth perp energy density',zlroot,zunits)
    call nbo_name1('udensppw','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_udensppw(i) = ival
    io_udensppw_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: deposition .........
 
  do i = 1,3
    do j = 1,mib
      zdata = bdepb(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        bdepb(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; deposition rate',zlroot,zunits)
      call nbo_name1('bdepb','3',i,'mib',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_bdepb(i,j) = ival
      io_bdepb_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mib
    zdata = bdepb_nb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      bdepb_nb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('beam deposition profile',zlroot,zunits)
    call nbo_name1('bdepb_nb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_bdepb_nb(i) = ival
    io_bdepb_nb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = bdepe(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        bdepe(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; deposition rate',zlroot,zunits)
      call nbo_name1('bdepe','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_bdepe(i,j) = ival
      io_bdepe_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mibs
    zdata = bdeps(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      bdeps(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; deposition rate',zlroot,zunits)
    call nbo_name1('bdeps','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_bdeps(i) = ival
    io_bdeps_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = sdep_oa(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sdep_oa(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; deposition rate',zlroot,zunits)
    call nbo_name1('sdep_oa','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sdep_oa(i) = ival
    io_sdep_oa_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = mc_newdens(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('linparam',zdata)
      mc_newdens(1:mj,i) = zdata; zdata = zdata*1.0e+6_fp
    endif
    call nbo_lbl_split('#/m^3; MC fast ions added (unsmoothed)',zlroot,zunits)
    call nbo_name1('mc_newdens','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('linparam', zname, zlabel, zunits, zdata, ival, zr8val)
    io_mc_newdens(i) = ival
    io_mc_newdens_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = sbbidpe(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sbbidpe(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; dep. by beam-beam ionization',zlroot,zunits)
      call nbo_name1('sbbidpe','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sbbidpe(i,j) = ival
      io_sbbidpe_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mibs
    zdata = sbbidps(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbbidps(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; dep. by beam-beam ionization',zlroot,zunits)
    call nbo_name1('sbbidps','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbbidps(i) = ival
    io_sbbidps_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = sbbxdpe(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sbbxdpe(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; dep. by beam-beam charge exchange',zlroot,zunits)
      call nbo_name1('sbbxdpe','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sbbxdpe(i,j) = ival
      io_sbbxdpe_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mibs
    zdata = sbbxdps(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbbxdps(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; dep. by beam-beam charge exchange',zlroot,zunits)
    call nbo_name1('sbbxdps','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbbxdps(i) = ival
    io_sbbxdps_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mig
    do j = 1,3
      do k = 1,mibs
        zdata = sbcxdpe(1:mj,i,j,k)
        if(maxval(abs(zdata)).gt.zero) then
          call nbo_smoo1('density',zdata)
          sbcxdpe(1:mj,i,j,k) = zdata
        endif
        call nbo_lbl_split('#/S; dep. by charge exchange',zlroot,zunits)
        call nbo_name1('sbcxdpe','mig',i,'3',j,'mibs',k,zname, &
             zlroot, zlabel)
        call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
        io_sbcxdpe(i,j,k) = ival
        io_sbcxdpe_name(i,j,k) = trim(oprefix)//trim(zname)
      enddo
    enddo
  enddo
 
  do i = 1,mig
    do j = 1,mibs
      zdata = sbcxdps(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sbcxdps(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; dep. by charge exchange',zlroot,zunits)
      call nbo_name1('sbcxdps','mig',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sbcxdps(i,j) = ival
      io_sbcxdps_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = sbedepe(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sbedepe(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; dep. by ion impact ionization',zlroot,zunits)
      call nbo_name1('sbedepe','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sbedepe(i,j) = ival
      io_sbedepe_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mibs
    zdata = sbedeps(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbedeps(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; dep. by ion impact ionization',zlroot,zunits)
    call nbo_name1('sbedeps','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbedeps(i) = ival
    io_sbedeps_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = sbiedepe(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sbiedepe(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; dep. by e- impact ionization',zlroot,zunits)
      call nbo_name1('sbiedepe','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sbiedepe(i,j) = ival
      io_sbiedepe_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mibs
    zdata = sbiedeps(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbiedeps(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; dep. by e- impact ionization',zlroot,zunits)
    call nbo_name1('sbiedeps','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbiedeps(i) = ival
    io_sbiedeps_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = sbildepe(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sbildepe(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; dep. by Lorentz ionization',zlroot,zunits)
      call nbo_name1('sbildepe','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sbildepe(i,j) = ival
      io_sbildepe_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mibs
    zdata = sbildeps(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbildeps(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; dep. by Lorentz ionization',zlroot,zunits)
    call nbo_name1('sbildeps','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbildeps(i) = ival
    io_sbildeps_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = sbizdepe(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sbizdepe(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; dep. by impurity stopping',zlroot,zunits)
      call nbo_name1('sbizdepe','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sbizdepe(i,j) = ival
      io_sbizdepe_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mibs
    zdata = sbizdeps(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbizdeps(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; dep. by impurity stopping',zlroot,zunits)
    call nbo_name1('sbizdeps','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbizdeps(i) = ival
    io_sbizdeps_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: nclass .........
 
  do i = 1,3
    do j = 1,mib
      zdata = bnb_ien(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        bnb_ien(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#; no. of ions',zlroot,zunits)
      call nbo_name1('bnb_ien','3',i,'mib',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_bnb_ien(i,j) = ival
      io_bnb_ien_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mib
    zdata = bdens_nb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      bdens_nb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('beam density',zlroot,zunits)
    call nbo_name1('bdens_nb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_bdens_nb(i) = ival
    io_bdens_nb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,3
    do j = 1,mib
      zdata = pbe_ien(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        pbe_ien(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('W; electron heating',zlroot,zunits)
      call nbo_name1('pbe_ien','3',i,'mib',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_pbe_ien(i,j) = ival
      io_pbe_ien_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,3
    do j = 1,mib
      zdata = pbi_ien(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        pbi_ien(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('W; ion heating',zlroot,zunits)
      call nbo_name1('pbi_ien','3',i,'mib',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_pbi_ien(i,j) = ival
      io_pbi_ien_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,3
    do j = 1,mib
      zdata = upb_ien(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('parameter',zdata)
        upb_ien(1:mj,i,j) = zdata; zdata = zdata*0.01_fp
      endif
      call nbo_lbl_split('T*(m/sec); <v.B> lab frame',zlroot,zunits)
      call nbo_name1('upb_ien','3',i,'mib',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
      io_upb_ien(i,j) = ival
      io_upb_ien_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = bnbs_ien(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        bnbs_ien(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#; no. of ions',zlroot,zunits)
      call nbo_name1('bnbs_ien','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_bnbs_ien(i,j) = ival
      io_bnbs_ien_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = pbes_ien(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        pbes_ien(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('W; electron heating',zlroot,zunits)
      call nbo_name1('pbes_ien','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_pbes_ien(i,j) = ival
      io_pbes_ien_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = pbis_ien(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        pbis_ien(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('W; ion heating',zlroot,zunits)
      call nbo_name1('pbis_ien','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_pbis_ien(i,j) = ival
      io_pbis_ien_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = upbs_ien(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('parameter',zdata)
        upbs_ien(1:mj,i,j) = zdata; zdata = zdata*0.01_fp
      endif
      call nbo_lbl_split('T*(m/sec); <v.B> lab frame',zlroot,zunits)
      call nbo_name1('upbs_ien','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
      io_upbs_ien(i,j) = ival
      io_upbs_ien_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
 
  !-----------------------------------
  ! ... block: n0_fast .........
 
  do i = 1,3
    zdata = bn00t(i,1:mj)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      bn00t(i,1:mj) = zdata
    endif
    call nbo_lbl_split('#; beam neutral density',zlroot,zunits)
    call nbo_name1('bn00t','3',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_bn00t(i) = ival
    io_bn00t_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,3
    do j = 1,mibs
      zdata = bn00ts(i,1:mj,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        bn00ts(i,1:mj,j) = zdata
      endif
      call nbo_lbl_split('#; beam neutral density',zlroot,zunits)
      call nbo_name1('bn00ts','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_bn00ts(i,j) = ival
      io_bn00ts_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mib
    do j = 1,3
      zdata = bn00(i,j,1:mj)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        bn00(i,j,1:mj) = zdata
      endif
      call nbo_lbl_split('#; beam neutral density',zlroot,zunits)
      call nbo_name1('bn00','mib',i,'3',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_bn00(i,j) = ival
      io_bn00_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mibs
    zdata = bn0tot(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      bn0tot(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#; beam neutral density',zlroot,zunits)
    call nbo_name1('bn0tot','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_bn0tot(i) = ival
    io_bn0tot_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = bn0cx(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      bn0cx(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#; charge exchange fast neutral density',zlroot,zunits)
    call nbo_name1('bn0cx','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_bn0cx(i) = ival
    io_bn0cx_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: trap_fraction .........
 
  do i = 1,mibs
    zdata = btrap(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      btrap(1:mj,i) = zdata
    endif
    call nbo_lbl_split('-; trapping fraction',zlroot,zunits)
    call nbo_name1('btrap','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_btrap(i) = ival
    io_btrap_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = btrap0(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      btrap0(1:mj,i) = zdata
    endif
    call nbo_lbl_split('-; trapping fraction',zlroot,zunits)
    call nbo_name1('btrap0','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_btrap0(i) = ival
    io_btrap0_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: erngfi_output .........
 
  do i = 1,miefi
    do j = 1,mibs
      zdata = btrape(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('parameter',zdata)
        btrape(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('-; trapping fraction',zlroot,zunits)
      call nbo_name1('btrape','miefi',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
      io_btrape(i,j) = ival
      io_btrape_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,miefi
    do j = 1,mibs
      zdata = densfi(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        densfi(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#; fast ion density',zlroot,zunits)
      call nbo_name1('densfi','miefi',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_densfi(i,j) = ival
      io_densfi_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
 
  !-----------------------------------
  ! ... block: average_energies .........
 
  do i = 1,mibs
    zdata = ebapl2s(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      ebapl2s(1:mj,i) = zdata; zdata = zdata*0.001_fp
    endif
    call nbo_lbl_split('Kev; avg ion pll energy',zlroot,zunits)
    call nbo_name1('ebapl2s','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_ebapl2s(i) = ival
    io_ebapl2s_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = ebapp2s(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      ebapp2s(1:mj,i) = zdata; zdata = zdata*0.001_fp
    endif
    call nbo_lbl_split('Kev; avg ion perpenergy',zlroot,zunits)
    call nbo_name1('ebapp2s','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_ebapp2s(i) = ival
    io_ebapp2s_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = ebapl2sw(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      ebapl2sw(1:mj,i) = zdata; zdata = zdata*0.001_fp
    endif
    call nbo_lbl_split('Kev; avg pll ion energy after sawtooth',zlroot,zunits)
    call nbo_name1('ebapl2sw','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_ebapl2sw(i) = ival
    io_ebapl2sw_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = ebapp2sw(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      ebapp2sw(1:mj,i) = zdata; zdata = zdata*0.001_fp
    endif
    call nbo_lbl_split('Kev; avg perp ion energy after sawtooth',zlroot,zunits)
    call nbo_name1('ebapp2sw','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_ebapp2sw(i) = ival
    io_ebapp2sw_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = ebavps(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      ebavps(1:mj,i) = zdata; zdata = zdata*0.001_fp
    endif
    call nbo_lbl_split('Kev; avg ion energy',zlroot,zunits)
    call nbo_name1('ebavps','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_ebavps(i) = ival
    io_ebavps_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: excited_states .........
 
  do i = 1,3
    do j = 1,mibs
      zdata = excit0(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('parameter',zdata)
        excit0(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('-; deposition adj. (state excitation)',zlroot,zunits)
      call nbo_name1('excit0','3',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
      io_excit0(i,j) = ival
      io_excit0_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mibs
    zdata = excitr(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      excitr(1:mj,i) = zdata
    endif
    call nbo_lbl_split('-; deposition adjustment (state excitation)',zlroot,zunits)
    call nbo_name1('excitr','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_excitr(i) = ival
    io_excitr_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: mc_statistics .........
 
  do i = 1,mibs
    zdata = nmc(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      nmc(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#; number of Monte Carlo particles',zlroot,zunits)
    call nbo_name1('nmc','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_nmc(i) = ival
    io_nmc_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = wnmc(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      wnmc(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#; number of ions in MC particles',zlroot,zunits)
    call nbo_name1('wnmc','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_wnmc(i) = ival
    io_wnmc_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: rotation .........
 
  do i = 1,mibs
    zdata = omegabs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      omegabs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('rad/S; avg fast ion toroidal angular velocity',zlroot,zunits)
    call nbo_name1('omegabs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_omegabs(i) = ival
    io_omegabs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = omegabsw(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      omegabsw(1:mj,i) = zdata
    endif
    call nbo_lbl_split('rad/S; avg fast ion ang. veloc. after sawtooth',zlroot,zunits)
    call nbo_name1('omegabsw','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_omegabsw(i) = ival
    io_omegabsw_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: compression .........
 
  call nbo_lbl_split('W; compression (de)acceleration of all fast ions',zlabel,zunits)
  call nbo_smoo1('density',pbcprs)
  call nbo_load1('density', 'pbcprs', zlabel, zunits, pbcprs, ival, zr8val)
  io_pbcprs = ival
  io_pbcprs_name = trim(oprefix)//'pbcprs'
 
  do i = 1,mibs
    zdata = pbcprss(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbcprss(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; compressional power to',zlroot,zunits)
    call nbo_name1('pbcprss','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbcprss(i) = ival
    io_pbcprss_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: powers .........
 
  do i = 1,mibs
    zdata = pbdfbes(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbdfbes(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; power to e-, anom. diffusion adjustment',zlroot,zunits)
    call nbo_name1('pbdfbes','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbdfbes(i) = ival
    io_pbdfbes_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = pbdfbis(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbdfbis(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; power to ions, anom. diffusion adjustment',zlroot,zunits)
    call nbo_name1('pbdfbis','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbdfbis(i) = ival
    io_pbdfbis_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('W; beam electron heating',zlabel,zunits)
  call nbo_smoo1('density',pbe)
  call nbo_load1('density', 'pbe', zlabel, zunits, pbe, ival, zr8val)
  io_pbe = ival
  io_pbe_name = trim(oprefix)//'pbe'
 
  do i = 1,mibs
    zdata = pbes(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbes(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; fast ion electron heating',zlroot,zunits)
    call nbo_name1('pbes','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbes(i) = ival
    io_pbes_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('W; beam ion heating',zlabel,zunits)
  call nbo_smoo1('density',pbi)
  call nbo_load1('density', 'pbi', zlabel, zunits, pbi, ival, zr8val)
  io_pbi = ival
  io_pbi_name = trim(oprefix)//'pbi'
 
  do i = 1,mibs
    zdata = pbis(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbis(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; fast ion -> thermal ion heating',zlroot,zunits)
    call nbo_name1('pbis','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbis(i) = ival
    io_pbis_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = pbohs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbohs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; power, OH circuit -> fast ions',zlroot,zunits)
    call nbo_name1('pbohs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbohs(i) = ival
    io_pbohs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = pbephis(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbephis(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; electrostatic acceleration of fast ions',zlroot,zunits)
    call nbo_name1('pbephis','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbephis(i) = ival
    io_pbephis_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = pbephis_ntr(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbephis_ntr(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; electrostatic acceleration of fast ions',zlroot,zunits)
    call nbo_name1('pbephis_ntr','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbephis_ntr(i) = ival
    io_pbephis_ntr_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = pbephis_dep(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbephis_dep(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; electrostatic accel (dep. FLR adjust)',zlroot,zunits)
    call nbo_name1('pbephis_dep','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbephis_dep(i) = ival
    io_pbephis_dep_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('W; beam thermalization power',zlabel,zunits)
  call nbo_smoo1('density',pbth)
  call nbo_load1('density', 'pbth', zlabel, zunits, pbth, ival, zr8val)
  io_pbth = ival
  io_pbth_name = trim(oprefix)//'pbth'
 
  do i = 1,mibs
    zdata = pbths(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbths(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; fast ion thermalization',zlroot,zunits)
    call nbo_name1('pbths','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbths(i) = ival
    io_pbths_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mib
    zdata = pbe_nb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbe_nb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; beam heating to thermal electrons',zlroot,zunits)
    call nbo_name1('pbe_nb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbe_nb(i) = ival
    io_pbe_nb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mib
    zdata = pbi_nb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbi_nb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; beam heating to thermal ions',zlroot,zunits)
    call nbo_name1('pbi_nb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbi_nb(i) = ival
    io_pbi_nb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mib
    zdata = pbth_nb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbth_nb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; beam thermalization power',zlroot,zunits)
    call nbo_name1('pbth_nb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbth_nb(i) = ival
    io_pbth_nb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mib
    zdata = pbtot_nb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbtot_nb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; total beam power',zlroot,zunits)
    call nbo_name1('pbtot_nb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbtot_nb(i) = ival
    io_pbtot_nb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = pbthr2s(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      pbthr2s(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; ion thermalization rotation adjustment',zlroot,zunits)
    call nbo_name1('pbthr2s','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbthr2s(i) = ival
    io_pbthr2s_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('W; fusion product electron heating',zlabel,zunits)
  call nbo_smoo1('density',pfe)
  call nbo_load1('density', 'pfe', zlabel, zunits, pfe, ival, zr8val)
  io_pfe = ival
  io_pfe_name = trim(oprefix)//'pfe'
 
  call nbo_lbl_split('W; fusion product thermal ion heating',zlabel,zunits)
  call nbo_smoo1('density',pfi)
  call nbo_load1('density', 'pfi', zlabel, zunits, pfi, ival, zr8val)
  io_pfi = ival
  io_pfi_name = trim(oprefix)//'pfi'
 
  do i = 1,mibs
    zdata = orbrzv_Prf(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      orbrzv_Prf(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; RF-heating on fast ions from mcrf',zlroot,zunits)
    call nbo_name1('orbrzv_Prf','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_orbrzv_Prf(i) = ival
    io_orbrzv_Prf_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = orbrzv_toric_Prf(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      orbrzv_toric_Prf(1:mj,i) = zdata
    endif
    call nbo_lbl_split('W; RF-heating on fast ions from toric',zlroot,zunits)
    call nbo_name1('orbrzv_toric_Prf','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_orbrzv_toric_Prf(i) = ival
    io_orbrzv_toric_Prf_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: currents .........
 
  call nbo_lbl_split('A; beam ion current drive (shielded)',zlabel,zunits)
  call nbo_smoo1('curdens',curjbeam)
  call nbo_load1('curdens', 'curjbeam', zlabel, zunits, curjbeam, ival, zr8val)
  io_curjbeam = ival
  io_curjbeam_name = trim(oprefix)//'curjbeam'
 
  call nbo_lbl_split('A; fusion product ion current drive (shielded)',zlabel,zunits)
  call nbo_smoo1('curdens',curjfusi)
  call nbo_load1('curdens', 'curjfusi', zlabel, zunits, curjfusi, ival, zr8val)
  io_curjfusi = ival
  io_curjfusi_name = trim(oprefix)//'curjfusi'
 
  do i = 1,mibs
    zdata = curjs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('curdens',zdata)
      curjs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('A; shielded fast ion driven current',zlroot,zunits)
    call nbo_name1('curjs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('curdens', zname, zlabel, zunits, zdata, ival, zr8val)
    io_curjs(i) = ival
    io_curjs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = ucurjs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('curdens',zdata)
      ucurjs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('A; unshielded fast ion driven current',zlroot,zunits)
    call nbo_name1('ucurjs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('curdens', zname, zlabel, zunits, zdata, ival, zr8val)
    io_ucurjs(i) = ival
    io_ucurjs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('A; unshielded current driven by co-injected beams',zlabel,zunits)
  call nbo_smoo1('curdens',ucurjco)
  call nbo_load1('curdens', 'ucurjco', zlabel, zunits, ucurjco, ival, zr8val)
  io_ucurjco = ival
  io_ucurjco_name = trim(oprefix)//'ucurjco'
 
  call nbo_lbl_split('A; unshielded current driven by counter-injected beams',zlabel,zunits)
  call nbo_smoo1('curdens',ucurjctr)
  call nbo_load1('curdens', 'ucurjctr', zlabel, zunits, ucurjctr, ival, zr8val)
  io_ucurjctr = ival
  io_ucurjctr_name = trim(oprefix)//'ucurjctr'
 
  do i = 1,mib
    zdata = ucurjnb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('curdens',zdata)
      ucurjnb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('A; unshielded fast ion driven current by beam',zlroot,zunits)
    call nbo_name1('ucurjnb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('curdens', zname, zlabel, zunits, zdata, ival, zr8val)
    io_ucurjnb(i) = ival
    io_ucurjnb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mib
    zdata = curjnb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('curdens',zdata)
      curjnb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('A; shielded fast ion driven current by beam',zlroot,zunits)
    call nbo_name1('curjnb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('curdens', zname, zlabel, zunits, zdata, ival, zr8val)
    io_curjnb(i) = ival
    io_curjnb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('-; species averaged neoclassical current shielding factor',zlabel,zunits)
  call nbo_smoo1('linparam',xjbfac)
  call nbo_load1('linparam', 'xjbfac', zlabel, zunits, xjbfac, ival, zr8val)
  io_xjbfac = ival
  io_xjbfac_name = trim(oprefix)//'xjbfac'
 
  do i = 1,mibs
    zdata = xjbfacs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('linparam',zdata)
      xjbfacs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('-; neoclassical current shielding factor, by species',zlroot,zunits)
    call nbo_name1('xjbfacs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('linparam', zname, zlabel, zunits, zdata, ival, zr8val)
    io_xjbfacs(i) = ival
    io_xjbfacs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: neutral_sources .........
 
  do i = 1,mibs
    zdata = sbcx0s(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbcx0s(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; CX fast neutral source',zlroot,zunits)
    call nbo_name1('sbcx0s','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbcx0s(i) = ival
    io_sbcx0s_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mig
    zdata = sorbn0(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sorbn0(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; thermal neutral source',zlroot,zunits)
    call nbo_name1('sorbn0','mig',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sorbn0(i) = ival
    io_sorbn0_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mig
    do j = 1,mibs
      zdata = sorbn0s(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sorbn0s(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; thermal neutral source',zlroot,zunits)
      call nbo_name1('sorbn0s','mig',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sorbn0s(i,j) = ival
      io_sorbn0s_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mig
    do j = 1,mibs
      zdata = sorbn0s_dep(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sorbn0s_dep(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; thermal neutral source (dep only)',zlroot,zunits)
      call nbo_name1('sorbn0s_dep','mig',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sorbn0s_dep(i,j) = ival
      io_sorbn0s_dep_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mig
    do j = 1,mibs
      zdata = sn0s3dh(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sn0s3dh(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; 3dhalo thermal neutral source zone av',zlroot,zunits)
      call nbo_name1('sn0s3dh','mig',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sn0s3dh(i,j) = ival
      io_sn0s3dh_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
 
  !-----------------------------------
  ! ... block: recapture .........
 
  do i = 1,mibs
    zdata = sbcxrbs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbcxrbs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; fast ion induced fast neutral recapture',zlroot,zunits)
    call nbo_name1('sbcxrbs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbcxrbs(i) = ival
    io_sbcxrbs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = sbcxres(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbcxres(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; fast neutral recapture: e- impact',zlroot,zunits)
    call nbo_name1('sbcxres','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbcxres(i) = ival
    io_sbcxres_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = sbcxris(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbcxris(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; fast neutral recapture: th. ion impact',zlroot,zunits)
    call nbo_name1('sbcxris','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbcxris(i) = ival
    io_sbcxris_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = sbcxrls(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbcxrls(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; fast neutral recapture: Lorentz ioniz.',zlroot,zunits)
    call nbo_name1('sbcxrls','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbcxrls(i) = ival
    io_sbcxrls_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mig
    do j = 1,mibs
      zdata = sbcxrxs(i,1:mj,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sbcxrxs(i,1:mj,j) = zdata
      endif
      call nbo_lbl_split('#/S; fast neutral recapture: th ion cx',zlroot,zunits)
      call nbo_name1('sbcxrxs','mig',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sbcxrxs(i,j) = ival
      io_sbcxrxs_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mibs
    zdata = sbcxrzs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sbcxrzs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; fast neutral recapture: impurity impact',zlroot,zunits)
    call nbo_name1('sbcxrzs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sbcxrzs(i) = ival
    io_sbcxrzs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: neutral_sinks .........
 
  do i = 1,mig
    zdata = sinb0i(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      sinb0i(1:mj,i) = zdata
    endif
    call nbo_lbl_split('/S; fast ion neutral ionization rate',zlroot,zunits)
    call nbo_name1('sinb0i','mig',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sinb0i(i) = ival
    io_sinb0i_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mig
    do j = 1,mibs
      zdata = sinb0is(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('parameter',zdata)
        sinb0is(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('/S; fast ion neutral ionization rate',zlroot,zunits)
      call nbo_name1('sinb0is','mig',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sinb0is(i,j) = ival
      io_sinb0is_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mig
    zdata = sinbn0(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      sinbn0(1:mj,i) = zdata
    endif
    call nbo_lbl_split('/S; fast ion CX rate w/thermal neutrals',zlroot,zunits)
    call nbo_name1('sinbn0','mig',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sinbn0(i) = ival
    io_sinbn0_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mig
    do j = 1,mibs
      zdata = sinbn0s(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('parameter',zdata)
        sinbn0s(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('/S; fast ion CX rate with neutrals',zlroot,zunits)
      call nbo_name1('sinbn0s','mig',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sinbn0s(i,j) = ival
      io_sinbn0s_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
 
  !-----------------------------------
  ! ... block: sources .........
 
  call nbo_lbl_split('#/S; electron source (fast neutral ionization)',zlabel,zunits)
  call nbo_smoo1('density',sorbe)
  call nbo_load1('density', 'sorbe', zlabel, zunits, sorbe, ival, zr8val)
  io_sorbe = ival
  io_sorbe_name = trim(oprefix)//'sorbe'
 
  do i = 1,mibs
    zdata = sorbes(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sorbes(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; electron source (fast neutral ionization)',zlroot,zunits)
    call nbo_name1('sorbes','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sorbes(i) = ival
    io_sorbes_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = sorbes_ntr(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sorbes_ntr(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; electron source (fast neutral ionization)',zlroot,zunits)
    call nbo_name1('sorbes_ntr','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sorbes_ntr(i) = ival
    io_sorbes_ntr_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = sorbes_dep(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sorbes_dep(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; electron source (beam deposition)',zlroot,zunits)
    call nbo_name1('sorbes_dep','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sorbes_dep(i) = ival
    io_sorbes_dep_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mig
    zdata = sorbh(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sorbh(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; CX adjusted thermalization source',zlroot,zunits)
    call nbo_name1('sorbh','mig',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sorbh(i) = ival
    io_sorbh_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mig
    do j = 1,mibs
      zdata = sorbhs(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sorbhs(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; CX adjusted thermalization source',zlroot,zunits)
      call nbo_name1('sorbhs','mig',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sorbhs(i,j) = ival
      io_sorbhs_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mig
    do j = 1,mibs
      zdata = sorbhs_ntr(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sorbhs_ntr(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; CX adjusted thermalization source',zlroot,zunits)
      call nbo_name1('sorbhs_ntr','mig',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sorbhs_ntr(i,j) = ival
      io_sorbhs_ntr_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  do i = 1,mig
    do j = 1,mibs
      zdata = sorbhs_dep(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        sorbhs_dep(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('#/S; CX sink due to beam deposition',zlroot,zunits)
      call nbo_name1('sorbhs_dep','mig',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_sorbhs_dep(i,j) = ival
      io_sorbhs_dep_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
  call nbo_lbl_split('#/S; thermalization source summed over species',zlabel,zunits)
  call nbo_smoo1('density',sorbth)
  call nbo_load1('density', 'sorbth', zlabel, zunits, sorbth, ival, zr8val)
  io_sorbth = ival
  io_sorbth_name = trim(oprefix)//'sorbth'
 
  do i = 1,mibs
    zdata = sorbths(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sorbths(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; thermalization source',zlroot,zunits)
    call nbo_name1('sorbths','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sorbths(i) = ival
    io_sorbths_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: fokker_planck .........
 
  do i = 1,mibs
    zdata = taubpa0(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubpa0(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; P.A. scattering time at deposition (avg)',zlroot,zunits)
    call nbo_name1('taubpa0','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubpa0(i) = ival
    io_taubpa0_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubpaco1(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubpaco1(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; P.A. scattering time at dep. (full E co)',zlroot,zunits)
    call nbo_name1('taubpaco1','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubpaco1(i) = ival
    io_taubpaco1_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubpaco2(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubpaco2(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; P.A. scattering time at dep. (half E co)',zlroot,zunits)
    call nbo_name1('taubpaco2','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubpaco2(i) = ival
    io_taubpaco2_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubpaco3(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubpaco3(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; P.A. scattering time at dep. (1/3 E co)',zlroot,zunits)
    call nbo_name1('taubpaco3','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubpaco3(i) = ival
    io_taubpaco3_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubpactr1(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubpactr1(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; P.A. scattering time at dep. (full E ctr)',zlroot,zunits)
    call nbo_name1('taubpactr1','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubpactr1(i) = ival
    io_taubpactr1_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubpactr2(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubpactr2(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; P.A. scattering time at dep. (half E ctr)',zlroot,zunits)
    call nbo_name1('taubpactr2','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubpactr2(i) = ival
    io_taubpactr2_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubpactr3(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubpactr3(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; P.A. scattering time at dep. (1/3 E ctr)',zlroot,zunits)
    call nbo_name1('taubpactr3','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubpactr3(i) = ival
    io_taubpactr3_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubsl0(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubsl0(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; slowing down time at deposition (avg)',zlroot,zunits)
    call nbo_name1('taubsl0','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubsl0(i) = ival
    io_taubsl0_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubslco1(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubslco1(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; slowing down time at dep. (full E co)',zlroot,zunits)
    call nbo_name1('taubslco1','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubslco1(i) = ival
    io_taubslco1_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubslco2(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubslco2(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; slowing down time at dep. (half E co)',zlroot,zunits)
    call nbo_name1('taubslco2','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubslco2(i) = ival
    io_taubslco2_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubslco3(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubslco3(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; slowing down time at dep. (1/3 E co)',zlroot,zunits)
    call nbo_name1('taubslco3','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubslco3(i) = ival
    io_taubslco3_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubslctr1(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubslctr1(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; slowing down time at dep. (full E ctr)',zlroot,zunits)
    call nbo_name1('taubslctr1','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubslctr1(i) = ival
    io_taubslctr1_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubslctr2(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubslctr2(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; slowing down time at dep. (half E ctr)',zlroot,zunits)
    call nbo_name1('taubslctr2','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubslctr2(i) = ival
    io_taubslctr2_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = taubslctr3(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('parameter',zdata)
      taubslctr3(1:mj,i) = zdata
    endif
    call nbo_lbl_split('S; slowing down time at dep. (1/3 E ctr)',zlroot,zunits)
    call nbo_name1('taubslctr3','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('parameter', zname, zlabel, zunits, zdata, ival, zr8val)
    io_taubslctr3(i) = ival
    io_taubslctr3_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = paxfrc(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('linparam',zdata)
      paxfrc(1:mj,i) = zdata
    endif
    call nbo_lbl_split('-; fraction of P.A. scattering on impurities',zlroot,zunits)
    call nbo_name1('paxfrc','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('linparam', zname, zlabel, zunits, zdata, ival, zr8val)
    io_paxfrc(i) = ival
    io_paxfrc_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = pbxfrc(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('linparam',zdata)
      pbxfrc(1:mj,i) = zdata
    endif
    call nbo_lbl_split('-; fraction of ion heating on impurities',zlroot,zunits)
    call nbo_name1('pbxfrc','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('linparam', zname, zlabel, zunits, zdata, ival, zr8val)
    io_pbxfrc(i) = ival
    io_pbxfrc_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: radial_current .........
 
  call nbo_lbl_split('A(radial); anomalous diffusion current',zlabel,zunits)
  call nbo_smoo1('flow',tirabd)
  call nbo_load1('flow', 'tirabd', zlabel, zunits, tirabd, ival, zr8val)
  io_tirabd = ival
  io_tirabd_name = trim(oprefix)//'tirabd'
 
  do i = 1,mibs
    zdata = tirabds(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('flow',zdata)
      tirabds(1:mj,i) = zdata
    endif
    call nbo_lbl_split('A(radial); anomalous diffusion current',zlroot,zunits)
    call nbo_name1('tirabds','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('flow', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tirabds(i) = ival
    io_tirabds_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('A(radial); fishbone current',zlabel,zunits)
  call nbo_smoo1('flow',tirfsh)
  call nbo_load1('flow', 'tirfsh', zlabel, zunits, tirfsh, ival, zr8val)
  io_tirfsh = ival
  io_tirfsh_name = trim(oprefix)//'tirfsh'
 
  do i = 1,mibs
    zdata = tirfshs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('flow',zdata)
      tirfshs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('A(radial); fishbone current',zlroot,zunits)
    call nbo_name1('tirfshs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('flow', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tirfshs(i) = ival
    io_tirfshs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('A(radial); orbit evolution current',zlabel,zunits)
  call nbo_smoo1('flow',tirorb)
  call nbo_load1('flow', 'tirorb', zlabel, zunits, tirorb, ival, zr8val)
  io_tirorb = ival
  io_tirorb_name = trim(oprefix)//'tirorb'
 
  do i = 1,mibs
    zdata = tirorbs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('flow',zdata)
      tirorbs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('A(radial); orbit evolution current',zlroot,zunits)
    call nbo_name1('tirorbs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('flow', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tirorbs(i) = ival
    io_tirorbs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('A(radial); TF ripple loss current',zlabel,zunits)
  call nbo_smoo1('flow',tirrip)
  call nbo_load1('flow', 'tirrip', zlabel, zunits, tirrip, ival, zr8val)
  io_tirrip = ival
  io_tirrip_name = trim(oprefix)//'tirrip'
 
  do i = 1,mibs
    zdata = tirrips(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('flow',zdata)
      tirrips(1:mj,i) = zdata
    endif
    call nbo_lbl_split('A(radial); TF ripple loss current',zlroot,zunits)
    call nbo_name1('tirrips','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('flow', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tirrips(i) = ival
    io_tirrips_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = difbx(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('flow',zdata)
      difbx(1:mj,i) = zdata
    endif
    call nbo_lbl_split('cm2/sec; average anomalous diffusivity',zlroot,zunits)
    call nbo_name1('difbx','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('flow', zname, zlabel, zunits, zdata, ival, zr8val)
    io_difbx(i) = ival
    io_difbx_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = velbx(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('flow',zdata)
      velbx(1:mj,i) = zdata
    endif
    call nbo_lbl_split('cm/sec; average anomalous radial velocity',zlroot,zunits)
    call nbo_name1('velbx','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('flow', zname, zlabel, zunits, zdata, ival, zr8val)
    io_velbx(i) = ival
    io_velbx_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: torques .........
 
  call nbo_lbl_split('Nt*m; summed fast ion torque',zlabel,zunits)
  call nbo_smoo1('density',tqbsum)
  call nbo_load1('density', 'tqbsum', zlabel, zunits, tqbsum, ival, zr8val)
  io_tqbsum = ival
  io_tqbsum_name = trim(oprefix)//'tqbsum'
 
  call nbo_lbl_split('Nt*m; beam charge exchange loss torque',zlabel,zunits)
  call nbo_smoo1('density',tqbcx)
  call nbo_load1('density', 'tqbcx', zlabel, zunits, tqbcx, ival, zr8val)
  io_tqbcx = ival
  io_tqbcx_name = trim(oprefix)//'tqbcx'
 
  do i = 1,mibs
    zdata = tqbcxs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqbcxs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; beam charge exchange loss torque',zlroot,zunits)
    call nbo_name1('tqbcxs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqbcxs(i) = ival
    io_tqbcxs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = tqbcxs_dep(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqbcxs_dep(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; beam CX loss torque during deposition',zlroot,zunits)
    call nbo_name1('tqbcxs_dep','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqbcxs_dep(i) = ival
    io_tqbcxs_dep_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('Nt*m; beam collisional torque to electrons',zlabel,zunits)
  call nbo_smoo1('density',tqbe)
  call nbo_load1('density', 'tqbe', zlabel, zunits, tqbe, ival, zr8val)
  io_tqbe = ival
  io_tqbe_name = trim(oprefix)//'tqbe'
 
  do i = 1,mibs
    zdata = tqbes(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqbes(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; beam collisional torque to electrons',zlroot,zunits)
    call nbo_name1('tqbes','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqbes(i) = ival
    io_tqbes_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('Nt*m; beam collisional torque to ions',zlabel,zunits)
  call nbo_smoo1('density',tqbi)
  call nbo_load1('density', 'tqbi', zlabel, zunits, tqbi, ival, zr8val)
  io_tqbi = ival
  io_tqbi_name = trim(oprefix)//'tqbi'
 
  do i = 1,mibs
    zdata = tqbis(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqbis(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; beam collisional torque to ions',zlroot,zunits)
    call nbo_name1('tqbis','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqbis(i) = ival
    io_tqbis_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mib
    zdata = tqbco_nb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqbco_nb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; beam collisional torque to ions and electrons',zlroot,zunits)
    call nbo_name1('tqbco_nb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqbco_nb(i) = ival
    io_tqbco_nb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mib
    zdata = tqbth_nb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqbth_nb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; beam thermalization torque',zlroot,zunits)
    call nbo_name1('tqbth_nb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqbth_nb(i) = ival
    io_tqbth_nb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mib
    zdata = tqtot_nb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqtot_nb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; beam total torque',zlroot,zunits)
    call nbo_name1('tqtot_nb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqtot_nb(i) = ival
    io_tqtot_nb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('Nt*m; beam thermalization torque',zlabel,zunits)
  call nbo_smoo1('density',tqbth)
  call nbo_load1('density', 'tqbth', zlabel, zunits, tqbth, ival, zr8val)
  io_tqbth = ival
  io_tqbth_name = trim(oprefix)//'tqbth'
 
  do i = 1,mibs
    zdata = tqbths(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqbths(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; beam thermalization torque',zlroot,zunits)
    call nbo_name1('tqbths','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqbths(i) = ival
    io_tqbths_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('-; frac of collisional torque to impurities',zlabel,zunits)
  call nbo_smoo1('linparam',tqbxf)
  call nbo_load1('linparam', 'tqbxf', zlabel, zunits, tqbxf, ival, zr8val)
  io_tqbxf = ival
  io_tqbxf_name = trim(oprefix)//'tqbxf'
 
  do i = 1,mibs
    zdata = tqbxfs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('linparam',zdata)
      tqbxfs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('-; frac of collisional torque to impurities',zlroot,zunits)
    call nbo_name1('tqbxfs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('linparam', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqbxfs(i) = ival
    io_tqbxfs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('Nt*m; torque assoc. with anom. diffusion',zlabel,zunits)
  call nbo_smoo1('density',tqdifb)
  call nbo_load1('density', 'tqdifb', zlabel, zunits, tqdifb, ival, zr8val)
  io_tqdifb = ival
  io_tqdifb_name = trim(oprefix)//'tqdifb'
 
  do i = 1,mibs
    zdata = tqdifbs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqdifbs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; torque assoc. with anom. diffusion',zlroot,zunits)
    call nbo_name1('tqdifbs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqdifbs(i) = ival
    io_tqdifbs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('Nt*m; JxB torque',zlabel,zunits)
  call nbo_smoo1('density',tqjxb)
  call nbo_load1('density', 'tqjxb', zlabel, zunits, tqjxb, ival, zr8val)
  io_tqjxb = ival
  io_tqjxb_name = trim(oprefix)//'tqjxb'
 
  do i = 1,mibs
    zdata = tqjxbs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqjxbs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; JxB torque',zlroot,zunits)
    call nbo_name1('tqjxbs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqjxbs(i) = ival
    io_tqjxbs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = tqjxbs_ntr(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqjxbs_ntr(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; JxB torque',zlroot,zunits)
    call nbo_name1('tqjxbs_ntr','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqjxbs_ntr(i) = ival
    io_tqjxbs_ntr_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mib
    zdata = tqjxb_nb(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqjxb_nb(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; JxB torque',zlroot,zunits)
    call nbo_name1('tqjxb_nb','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqjxb_nb(i) = ival
    io_tqjxb_nb_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mib
    zdata = tqjxbnb_ntr(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqjxbnb_ntr(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; JxB torque',zlroot,zunits)
    call nbo_name1('tqjxbnb_ntr','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqjxbnb_ntr(i) = ival
    io_tqjxbnb_ntr_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = tqjxbs_dep(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqjxbs_dep(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; JxB torque (deposition FLR step)',zlroot,zunits)
    call nbo_name1('tqjxbs_dep','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqjxbs_dep(i) = ival
    io_tqjxbs_dep_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mib
    zdata = tqjxb_nb_dep(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqjxb_nb_dep(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; JxB torque (deposition FLR step)',zlroot,zunits)
    call nbo_name1('tqjxb_nb_dep','mib',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqjxb_nb_dep(i) = ival
    io_tqjxb_nb_dep_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('Nt*m; torque to beam ions from OH circuit',zlabel,zunits)
  call nbo_smoo1('density',tqohb)
  call nbo_load1('density', 'tqohb', zlabel, zunits, tqohb, ival, zr8val)
  io_tqohb = ival
  io_tqohb_name = trim(oprefix)//'tqohb'
 
  do i = 1,mibs
    zdata = tqohbs(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqohbs(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; torque to beam ions from OH circuit',zlroot,zunits)
    call nbo_name1('tqohbs','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqohbs(i) = ival
    io_tqohbs_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  call nbo_lbl_split('Nt*m; torque due to TF ripple loss',zlabel,zunits)
  call nbo_smoo1('density',tqrpl)
  call nbo_load1('density', 'tqrpl', zlabel, zunits, tqrpl, ival, zr8val)
  io_tqrpl = ival
  io_tqrpl_name = trim(oprefix)//'tqrpl'
 
  do i = 1,mibs
    zdata = tqrpls(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      tqrpls(1:mj,i) = zdata
    endif
    call nbo_lbl_split('Nt*m; torque due to TF ripple loss',zlroot,zunits)
    call nbo_name1('tqrpls','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_tqrpls(i) = ival
    io_tqrpls_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: hi_z_beams .........
 
  do i = 1,mibs
    zdata = xzbmav(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('linparam',zdata)
      xzbmav(1:mj,i) = zdata
    endif
    call nbo_lbl_split('-; avg <Z> of beam injected impurity ions',zlroot,zunits)
    call nbo_name1('xzbmav','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('linparam', zname, zlabel, zunits, zdata, ival, zr8val)
    io_xzbmav(i) = ival
    io_xzbmav_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
  !-----------------------------------
  ! ... block: cptimes .........
 
 
  !-----------------------------------
  ! ... block: power_balance .........
 
  do i = 1,mnkaep
    do j = 1,mibs
      zdata = PBAEPMS(1:mj,i,j)
      if(maxval(abs(zdata)).gt.zero) then
        call nbo_smoo1('density',zdata)
        PBAEPMS(1:mj,i,j) = zdata
      endif
      call nbo_lbl_split('W; power profile from AEP (MHD) activity',zlroot,zunits)
      call nbo_name1('PBAEPMS','mnkaep',i,'mibs',j,' ',0,zname, &
           zlroot, zlabel)
      call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
      io_PBAEPMS(i,j) = ival
      io_PBAEPMS_name(i,j) = trim(oprefix)//trim(zname)
    enddo
  enddo
 
 
  !-----------------------------------
  ! ... block: momentum_balance .........
 
 
  !-----------------------------------
  ! ... block: torque_work .........
 
 
  !-----------------------------------
  ! ... block: particle_balance .........
 
  do i = 1,mibs
    zdata = sfcxmc1d(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      sfcxmc1d(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; Monte Carlo fast neutral source',zlroot,zunits)
    call nbo_name1('sfcxmc1d','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_sfcxmc1d(i) = ival
    io_sfcxmc1d_name(i) = trim(oprefix)//trim(zname)
  enddo
 
  do i = 1,mibs
    zdata = snbx1d(1:mj,i)
    if(maxval(abs(zdata)).gt.zero) then
      call nbo_smoo1('density',zdata)
      snbx1d(1:mj,i) = zdata
    endif
    call nbo_lbl_split('#/S; total fast neutral source',zlroot,zunits)
    call nbo_name1('snbx1d','mibs',i,' ',0,' ',0,zname, &
         zlroot, zlabel)
    call nbo_load1('density', zname, zlabel, zunits, zdata, ival, zr8val)
    io_snbx1d(i) = ival
    io_snbx1d_name(i) = trim(oprefix)//trim(zname)
  enddo
 
 
end subroutine nbo_load
