!======================================================================
! CROCO is a branch of ROMS developped at IRD, INRIA, 
! Ifremer, CNRS and Univ. Toulouse III  in France
! The two other branches from UCLA (Shchepetkin et al)
! and Rutgers University (Arango et al) are under MIT/X style license.
! CROCO specific routines (nesting) are under CeCILL-C license.
!
! CROCO website : http://www.croco-ocean.org
!======================================================================
!
#include "cppdefs.h"

      subroutine init_scalars (ierr)
!
! Set initial values for  globally accessable (stored in common
! blocks) scalar variables. Typically this is associated with
! model utility switches, i/o contlol, time indices, global
! summation counters, etc; NONE of the physical parameters of
! the model is set here.
!
      implicit none
      integer ierr, i,j,itrc, lvar, lenstr
#if defined ONLINE
      integer blkvar_id
#endif /* ONLINE */
      character*20 nametrc, unitt
      character*60 vname1, vname3
      integer omp_get_num_threads
#include "param.h"
#include "scalars.h"
#include "mixing.h"
#include "ncscrum.h"
#include "diagnostics.h"
#ifdef DIAGNOSTICS_VRT
# include "diags_vrt.h"
#endif
#ifdef DIAGNOSTICS_EK
# include "diags_ek.h"
#endif
#ifdef DIAGNOSTICS_PV
# include "diags_pv.h"
#endif
#ifdef DIAGNOSTICS_EDDY
# include "diags_eddy.h"
#endif
#include "boundary.h"
#if defined ONLINE
# include "online.h"
#endif /* ONLINE */
#if defined TCLIMATOLOGY
# include "climat.h"
#endif /* TCLIMATOLOGY */
#if defined WKB_WWAVE
# include "wkb_wwave.h"
#endif

!      call system('uname -prs')

!
! Find out how many threads are created and check whether the number
! of threads exceeds maximum allowed, as well as check if the number
! of tiles is divisible by the number of threads, so the job can be
! evenly partitioned, complain and signal to terminate, if something
! is wrong.
!
C$OMP PARALLEL
C$OMP CRITICAL (isca_cr_rgn)
      numthreads=omp_get_num_threads()
C$OMP END CRITICAL (isca_cr_rgn)
C$OMP END PARALLEL
      MPI_master_only write(stdout,'(1x,A,3(1x,A,I3),A)') 'NUMBER',
     &    'OF THREADS:',numthreads,'BLOCKING:',NSUB_X,'x',NSUB_E,'.'

      if (numthreads.gt.NPP) then
        MPI_master_only write(stdout,'(/1x,A,I3/)')
     &    'ERROR: Requested number of threads exceeds NPP =', NPP
        ierr=ierr+1                                      !--> ERROR
      elseif (mod(NSUB_X*NSUB_E,numthreads).ne.0) then
        MPI_master_only write(stdout,
     &                '(/1x,A,1x,A,I3,4x,A,I3,4x,A,I4,A)') 'ERROR:',
     &                'wrong choice of numthreads =', numthreads,
     &                'NSUB_X =', NSUB_X, 'NSUB_E =', NSUB_E, '.'
        ierr=ierr+1                                      !--> ERROR
      endif
!
! Set evolving time indices to their default initial values.
!
      time=0.
      tdays=0.
      PREDICTOR_2D_STEP=.FALSE.
      iic=0
      kstp=1
      krhs=1
      knew=1

      ntstart=1
#ifdef SOLVE3D
      nstp=1
      nrhs=1
      nnew=1
#endif
      nfast=1

#ifdef FLOATS
      nfp1=0     ! set time step indices for
      nf=3       ! 5th order AB4AM4 corrected
      nfm1=2     ! scheme
      nfm2=1
      nfm3=0
#endif
#ifdef WKB_WWAVE
      wstp=1
      wnew=1
#endif
!
! Reset intra-thread communication flags and counters.
!
      synchro_flag=.true.
      first_time=0
      may_day_flag=0
!
! Reset process ID and CPU_time clocks (needed by timers).
!
      do j=0,NPP
        do i=0,31
          proc(i,j)=0
          CPU_time(i,j)=0.E0
        enddo
      enddo
      trd_count=0
!
! Reset record counters for averages/history output.
!
      nrecrst=0
      nrechis=0
#ifdef AVERAGES
      nrecavg=0
#endif
#ifdef ABL1D
      nrecablhis=0
# ifdef AVERAGES
      nrecablavg=0
# endif
#endif
#ifdef DIAGNOSTICS_TS
      nrecdia=0
# ifdef AVERAGES
      nrecdia_avg=0
# endif
#endif
#ifdef DIAGNOSTICS_UV
      nrecdiaM=0
# ifdef AVERAGES
      nrecdiaM_avg=0
# endif
#endif
#ifdef DIAGNOSTICS_BIO
      nrecdiabio=0
# ifdef AVERAGES
      nrecdiabio_avg=0
# endif
#endif

!
! Reset global sums and counters needed by volume/energy
! diagnostics and volume conservation constraint.
!
      tile_count=0
      bc_count=0
      avgke=0.
      avgpe=0.
      avgkp=0.
      volume=0.

      hmin=+1.E+20      ! Set these
      hmax=-1.E+20      ! to large,
      grdmin=+1.E+20    ! positive or
      grdmax=-1.E+20    ! negative
      Cu_min=+1.E+20    ! unrealistic
      Cu_max=-1.E+20    ! values
#ifdef SPHERICAL
      lonmin=+1.E+20
      lonmax=-1.E+20
      latmin=+1.E+20
      latmax=-1.E+20
#endif

      bc_crss=QuadZero
#ifdef OBC_VOLCONS
      bc_flux=QuadZero
      ubar_xs=QuadZero
#endif
#ifdef SOLVE3D
      rx0=-1.E+20
      rx1=-1.E+20
#endif
#ifdef BIOLOGY
      bio_count=0
      do i=0,2*NT+1
        global_sum(i)=QuadZero
      enddo
#endif
!
! Initialize netCDF files IDs to closed status.
!
      ncidrst=-1
      ncidhis=-1
#ifdef AVERAGES
      ncidavg=-1
#endif
      ncidfrc=-1
      ncidbulk=-1
      ncidclm=-1
      ncidqbar=-1
#if (defined WAVE_OFFLINE && defined MUSTANG)
      ncidwave=-1
#endif
      ncidbtf=-1
#ifdef ABL1D
      ncidablhis=-1
# ifdef AVERAGES
      ncidablavg=-1
# endif
#endif
#ifdef DIAGNOSTICS_TS
      nciddia=-1
# ifdef AVERAGES
      nciddia_avg=-1
# endif
#endif
#ifdef DIAGNOSTICS_UV
      nciddiaM=-1
# ifdef AVERAGES
      nciddiaM_avg=-1
# endif
#endif
#ifdef DIAGNOSTICS_VRT
      nciddiags_vrt=-1
      nrecdiags_vrt=0
# ifdef AVERAGES
      nciddiags_vrt_avg=-1
      nrecdiags_vrt_avg=0
# endif
#endif
#ifdef DIAGNOSTICS_EK
      nciddiags_ek=-1
      nrecdiags_ek=0
# ifdef AVERAGES
      nciddiags_ek_avg=-1
      nrecdiags_ek_avg=0
# endif
#endif
#ifdef DIAGNOSTICS_PV
      nciddiags_pv=-1
      nrecdiags_pv=0
# ifdef AVERAGES
      nciddiags_pv_avg=-1
      nrecdiags_pv_avg=0
# endif
#endif
#if defined DIAGNOSTICS_EDDY && ! defined XIOS
      nciddiags_eddy=-1
      nrecdiags_eddy=0
# ifdef AVERAGES
      nciddiags_eddy_avg=-1
      nrecdiags_eddy_avg=0
# endif
#endif
#if defined OUTPUTS_SURFACE && ! defined XIOS
      ncidsurf=-1
      nrecsurf=0
# ifdef AVERAGES
      ncidsurf_avg=-1
      nrecsurf_avg=0
# endif
#endif
#ifdef DIAGNOSTICS_BIO
      nciddiabio=-1
# ifdef AVERAGES
      nciddiabio_avg=-1
# endif
#endif
#ifndef ANA_BRY
       bry_id=-1
#endif
#if defined WKB_WWAVE && !defined ANA_BRY_WKB
       brywkb_id=-1
#endif
      call get_date (date_str)

#ifdef SOLVE3D
# ifdef TS_MIX_ISO_FILT
      csmooth=dt/(86400.)
      ismooth=int(1./csmooth)
# endif
#endif
!
!---------------------------------------------------------------
! Define names of variables in NetCDF output files.
! Inner dimension is for variable type and outer is for variable
! attributes (name, long-name, units, field).
!---------------------------------------------------------------
!
!vname(5,indx?)  => standard name (for all)
!vname(6,indx?)  => coordinate (for 2D grid fields)
!vname(7,indx?)  => axis (for variable dimension, Z-axis and time)
!vname(8,indx?)  => _FillValue
!vname(9,indx?)  => positive for vertical axis
!vname(10,indx?) => time origin
!vname(11,indx?) => calendar for time
!vname(12,indx?) => ?
!vname(13,indx?) => ?
!vname(14,indx?) => ?

! Initialisation at one blanck space
      vname(:,:)='  '


!#define CR
CR      write(stdout,'(1x,A,I3)') 'indxTime =',indxTime
#ifdef MILES
      vname(1,indxTime)='ocean_time'
#else
      vname(1,indxTime)='scrum_time'
#endif
      vname(2,indxTime)='time since initialization'
#if defined USE_CALENDAR && defined ANA_INITIAL
      vname(3,indxTime)='seconds since '//start_date
#else
      vname(3,indxTime)='second'
#endif
      vname(4,indxTime)='time, scalar, series'
      vname(5,indxTime)='time'
      vname(6,indxTime)='    '
      vname(7,indxTime)='T'
      vname(8,indxTime)='.NO.'
      vname(9,indxTime)=' '
#ifdef USE_CALENDAR 
      vname(10,indxTime)=start_date
!     vname(11,indxTime)='Gregorian'
#endif

CR      write(stdout,'(1x,A,I3)') 'indxTime2 =',indxTime2
      vname(1,indxTime2)='time'
      vname(2,indxTime2)='time since initialization'
#if defined USE_CALENDAR && defined ANA_INITIAL
      vname(3,indxTime2)='seconds since '//start_date
#else
      vname(3,indxTime2)='second'
#endif
      vname(4,indxTime2)='time, scalar, series'
      vname(5,indxTime2)='time'
      vname(6,indxTime2)='  '
      vname(7,indxTime2)='T '
      vname(8,indxTime2)='.NO.'
      vname(9,indxTime2)=' '

CR      write(stdout,'(1x,A,I3)') 'indxZ =',indxZ
      vname(1,indxZ)='zeta                                        '
      vname(2,indxZ)='free-surface                                '
      vname(3,indxZ)='meter                                       '
      vname(4,indxZ)='free-surface, scalar, series                '
      vname(5,indxZ)='sea_surface_height                          '
#ifdef SPHERICAL
      vname(6,indxZ)='lat_rho lon_rho                             '
#else
      vname(6,indxZ)='x_rho y_rho                                 '
#endif
      vname(7,indxZ)='                                            '

CR      write(stdout,'(1x,A,I3)') 'indxUb =',indxUb
      vname(1,indxUb)='ubar                                       '
      vname(2,indxUb)='vertically integrated u-momentum component '
      vname(3,indxUb)='meter second-1                             '
      vname(4,indxUb)='ubar-velocity, scalar, series              '
      vname(5,indxUb)='barotropic_sea_water_x_'
     &                                  // 'velocity_at_u_location'
#ifdef SPHERICAL
      vname(6,indxUb)='lat_u lon_u                                '
!#else
!      vname(6,indxUb)='x_u y_u                                    '
#endif
      vname(7,indxUb)='                                           '

CR      write(stdout,'(1x,A,I3)') 'indxVb = ',indxVb
      vname(1,indxVb)='vbar                                       '
      vname(2,indxVb)='vertically integrated v-momentum component '
      vname(3,indxVb)='meter second-1                             '
      vname(4,indxVb)='vbar-velocity, scalar, series              '
      vname(5,indxVb)='barotropic_sea_water_y_'
     &                                  // 'velocity_at_v_location'
#ifdef SPHERICAL
      vname(6,indxVb)='lat_v lon_v                                '
!#else
!      vname(6,indxVb)='x_v y_v                                    '
#endif
      vname(7,indxVb)='                                           '
      vname(11,indxVb)=' '

#ifdef MORPHODYN
CR      write(stdout,'(1x,A,I3)') 'indxHm =',indxHm
      vname(1,indxHm)='hmorph                                     '
      vname(2,indxHm)='moving bathymetry                          '
      vname(3,indxHm)='meter                                      '
      vname(4,indxHm)='moving_bathymetry , scalar, series         '
      vname(5,indxHm)='moving_bathymetry                          '
# ifdef SPHERICAL
      vname(6,indxHm)='lat_rho lon_rho                          '
# else
      vname(6,indxHm)='x_rho y_rho                                '
# endif
      vname(7,indxHm)='                                           '
#endif

CR      write(stdout,'(1x,A,I3)') 'indxBostr =',indxBostr
      vname(1,indxBostr)='bostr                                   '
      vname(2,indxBostr)='Kinematic bottom stress                 '
      vname(3,indxBostr)='N/m2                                    '
      vname(4,indxBostr)='                                        '
      vname(5,indxBostr)='                                        '
#ifdef SPHERICAL
      vname(6,indxBostr)='lat_rho lon_rho                         '
#else
      vname(6,indxBostr)='x_rho y_rho                             '
#endif
      vname(7,indxBostr)='                                        '


CR      write(stdout,'(1x,A,I3)') 'indxBustr =',indxBustr
      vname(1,indxBustr)='bustr                                   '
      vname(2,indxBustr)='Kinematic u bottom stress component     '
      vname(3,indxBustr)='N/m2                                    '
      vname(4,indxBustr)='                                        '
      vname(5,indxBustr)='                                        '
#ifdef SPHERICAL
      vname(6,indxBustr)='lat_u lon_u                             '
!#  else
!      vname(6,indxBustr)='x_rho y_rho                            '
#endif
      vname(7,indxBustr)='                                        '

CR      write(stdout,'(1x,A,I3)') 'indxBvstr =',indxBvstr
      vname(1,indxBvstr)='bvstr                                   '
      vname(2,indxBvstr)='Kinematic v bottom stress component     '
      vname(3,indxBvstr)='N/m2                                    '
      vname(4,indxBvstr)='                                        '
      vname(5,indxBvstr)='                                        '
#ifdef SPHERICAL
      vname(6,indxBvstr)='lat_v lon_v                             '
!#  else
!      vname(6,indxBvstr)='x_rho y_rho                            '
#endif
      vname(7,indxBvstr)='                                        '


CR      write(stdout,'(1x,A,I3)') 'indxWstr=',indxWstr
      vname(1,indxWstr)='wstr                                     '
      vname(2,indxWstr)='Kinematic wind stress                    '
      vname(3,indxWstr)='N/m2                                     '
      vname(4,indxWstr)='                                         '
      vname(5,indxWstr)='magnitude_of_surface_downward_stress     '
#ifdef SPHERICAL
      vname(6,indxWstr)='lat_rho lon_rho                          '
#else
      vname(6,indxWstr)='x_rho y_rho                              '
#endif
      vname(7,indxWstr)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxUWstr =',indxUWstr
      vname(1,indxUWstr)='sustr                                   '
      vname(2,indxUWstr)='Kinematic u wind stress component       '
      vname(3,indxUWstr)='N/m2                                    '
      vname(4,indxUWstr)='                                        '
      vname(5,indxUWstr)='surface_downward_eastward_stress        '
#ifdef SPHERICAL
# ifdef STRESS_AT_RHO_POINTS
      vname(6,indxUWstr)='lat_rho lon_rho                         '
# else
      vname(6,indxUWstr)='lat_u lon_u                             '
# endif
!#else
!      vname(6,indxUWstr)='x_u y_u                                 '
#endif
      vname(7,indxUWstr)='                                        '
      vname(8,indxUWstr)='                                        '

CR      write(stdout,'(1x,A,I3)') 'indxVWstr =',indxVWstr
      vname(1,indxVWstr)='svstr                                   '
      vname(2,indxVWstr)='Kinematic v wind stress component       '
      vname(3,indxVWstr)='N/m2                                    '
      vname(4,indxVWstr)='                                        '
      vname(5,indxVWstr)='surface_downward_northward_stress       '
#ifdef SPHERICAL
# ifdef STRESS_AT_RHO_POINTS
      vname(6,indxVWstr)='lat_rho lon_rho                         '
# else
      vname(6,indxVWstr)='lat_v lon_v                             '
# endif
!#else
!      vname(6,indxVWstr)='x_v y_v                                 '
#endif
      vname(7,indxVWstr)='                                        '

#ifdef SOLVE3D
CR      write(stdout,'(1x,A,I3)') 'indxU = ',indxU
      vname(1,indxU)='u                                           '
      vname(2,indxU)='u-momentum component                        '
      vname(3,indxU)='meter second-1                              '
      vname(4,indxU)='u-velocity, scalar, series                  '
      vname(5,indxU)='sea_water_x_velocity_at_u_location          '
# ifdef SPHERICAL
      vname(6,indxU)='lat_u lon_u                                 '
!#else
!      vname(6,indxU)='x_u y_u                                     '
# endif
      vname(7,indxU)='                                            '

CR      write(stdout,'(1x,A,I3)') 'indxV = ',indxV
      vname(1,indxV)='v                                           '
      vname(2,indxV)='v-momentum component                        '
      vname(3,indxV)='meter second-1                              '
      vname(4,indxV)='v-velocity, scalar, series                  '
      vname(5,indxV)='sea_water_y_velocity_at_v_location          '
# ifdef SPHERICAL
      vname(6,indxV)='lat_v lon_v                                 '
!#else
!      vname(6,indxV)='x_v y_v                                     '
# endif
      vname(7,indxV)='                                            '
# ifdef TEMPERATURE
CR      write(stdout,'(1x,A,I3)') 'indxT = ',indxT
      vname(1,indxT)='temp                                        '
      vname(2,indxT)='potential temperature                       '
      vname(3,indxT)='Celsius                                     '
      vname(4,indxT)='temperature, scalar, series                 '
      vname(5,indxT)='sea_water_potential_temperature             '
#  ifdef SPHERICAL
      vname(6,indxT)='lat_rho lon_rho                             '
#  else
      vname(6,indxT)='x_rho y_rho                                 '
#  endif
      vname(7,indxT)='                                            '
# endif /* TEMPERATURE */

# ifdef SALINITY
CR      write(stdout,'(1x,A,I3)') 'indxS = ',indxS
      vname(1,indxS)='salt                                        '
      vname(2,indxS)='salinity                                    '
      vname(3,indxS)='PSU                                         '
      vname(4,indxS)='salinity, scalar, series                    '
      vname(5,indxS)='sea_water_salinity                          '
#  ifdef SPHERICAL
      vname(6,indxS)='lat_rho lon_rho                             '
#  else
      vname(6,indxS)='x_rho y_rho                                 '
#  endif
      vname(7,indxS)='                                            '
# endif /* SALINITY */

# ifdef PASSIVE_TRACER
      do i=1,ntrc_pas
        if( i < 10) then
           write(nametrc,'(A,I1)') 'tpas0',i
        else
           write(nametrc,'(A,I2)') 'tpas',i
        endif
CR      write(stdout,'(1x,A,I3,1x,I3)') 'indTPAS Nb',i, indxTPAS(i)
        vname(1,indxTPAS(i))=TRIM(nametrc)
        vname(2,indxTPAS(i))=TRIM(nametrc)//" passive tracer"
        vname(3,indxTPAS(i))='no unit                             '
        vname(4,indxTPAS(i))='passive tracer, scalar, series      '
        vname(5,indxTPAS(i))='                                   '
#  ifdef SPHERICAL
        vname(6,indxTPAS(i))='lat_rho lon_rho                     '
#  else
        vname(6,indxTPAS(i))='x_rho y_rho                         '
#  endif
        vname(7,indxTPAS(i))='                                    '
      enddo
# endif /* PASSIVE_TRACER */

# ifdef ABL1D
      vname_abl1d(:,:) = '  '
      vname_abl1d(1,indxabl_pu_dta)='pu_dta                               '
      vname_abl1d(2,indxabl_pu_dta)='u-wind                               '
      vname_abl1d(3,indxabl_pu_dta)='m/s                                  '
      vname_abl1d(4,indxabl_pu_dta)='                                     '
      vname_abl1d(5,indxabl_pu_dta)='                                     '
      vname_abl1d(6,indxabl_pu_dta)='time N_abl lat_rho lon_rho           '
      vname_abl1d(7,indxabl_pu_dta)='                                     '

      vname_abl1d(1,indxabl_pv_dta)='pv_dta                               '
      vname_abl1d(2,indxabl_pv_dta)='v-wind                               '
      vname_abl1d(3,indxabl_pv_dta)='m/s                                  '
      vname_abl1d(4,indxabl_pv_dta)='                                     '
      vname_abl1d(5,indxabl_pv_dta)='                                     '
      vname_abl1d(6,indxabl_pv_dta)='time N_abl lat_rho lon_rho           '
      vname_abl1d(7,indxabl_pv_dta)='                                     '

      vname_abl1d(1,indxabl_pt_dta)='pt_dta                               '
      vname_abl1d(2,indxabl_pt_dta)='Air temperature                      '
      vname_abl1d(3,indxabl_pt_dta)='                                     '
      vname_abl1d(4,indxabl_pt_dta)='                                     '
      vname_abl1d(5,indxabl_pt_dta)='                                     '
      vname_abl1d(6,indxabl_pt_dta)='time N_abl lat_rho lon_rho           '
      vname_abl1d(7,indxabl_pt_dta)='                                     '

      vname_abl1d(1,indxabl_pq_dta)='pq_dta                               '
      vname_abl1d(2,indxabl_pq_dta)='Specific humidity                    '
      vname_abl1d(3,indxabl_pq_dta)='                                     '
      vname_abl1d(4,indxabl_pq_dta)='                                     '
      vname_abl1d(5,indxabl_pq_dta)='                                     '
      vname_abl1d(6,indxabl_pq_dta)='time N_abl lat_rho lon_rho           '
      vname_abl1d(7,indxabl_pq_dta)='                                     '

      vname_abl1d(1,indxabl_pgu_dta)='pgu_dta                             '
      vname_abl1d(2,indxabl_pgu_dta)='U gradient                          '
      vname_abl1d(3,indxabl_pgu_dta)='m/s                                 '
      vname_abl1d(4,indxabl_pgu_dta)='                                    '
      vname_abl1d(5,indxabl_pgu_dta)='                                    '
      vname_abl1d(6,indxabl_pgu_dta)='time N_abl lat_rho lon_rho          '
      vname_abl1d(7,indxabl_pgu_dta)='                                    '

      vname_abl1d(1,indxabl_pgv_dta)='pgv_dta                             '
      vname_abl1d(2,indxabl_pgv_dta)='V gradient                          '
      vname_abl1d(3,indxabl_pgv_dta)='m/s                                 '
      vname_abl1d(4,indxabl_pgv_dta)='                                    '
      vname_abl1d(5,indxabl_pgv_dta)='                                    '
      vname_abl1d(6,indxabl_pgv_dta)='time N_abl lat_rho lon_rho          '
      vname_abl1d(7,indxabl_pgv_dta)='                                    '

      vname_abl1d(1,indxabl_u_abl)='u_abl                                 '
      vname_abl1d(2,indxabl_u_abl)='u abl                                 '
      vname_abl1d(3,indxabl_u_abl)='m/s                                   '
      vname_abl1d(4,indxabl_u_abl)='                                      '
      vname_abl1d(5,indxabl_u_abl)='                                      '
      vname_abl1d(6,indxabl_u_abl)='time N_abl lat_rho lon_rho            '
      vname_abl1d(7,indxabl_u_abl)='                                      '

      vname_abl1d(1,indxabl_v_abl)='v_abl                                 '
      vname_abl1d(2,indxabl_v_abl)='v abl                                 '
      vname_abl1d(3,indxabl_v_abl)='m/s                                   '
      vname_abl1d(4,indxabl_v_abl)='                                      '
      vname_abl1d(5,indxabl_v_abl)='                                      '
      vname_abl1d(6,indxabl_v_abl)='time N_abl lat_rho lon_rho            '
      vname_abl1d(7,indxabl_v_abl)='                                      '

      vname_abl1d(1,indxabl_t_abl)='t_abl                                 '
      vname_abl1d(2,indxabl_t_abl)='t abl                                 '
      vname_abl1d(3,indxabl_t_abl)='                                      '
      vname_abl1d(4,indxabl_t_abl)='                                      '
      vname_abl1d(5,indxabl_t_abl)='                                      '
      vname_abl1d(6,indxabl_t_abl)='time N_abl lat_rho lon_rho            '
      vname_abl1d(7,indxabl_t_abl)='                                      '

      vname_abl1d(1,indxabl_q_abl)='q_abl                                 '
      vname_abl1d(2,indxabl_q_abl)='q abl                                 '
      vname_abl1d(3,indxabl_q_abl)='                                      '
      vname_abl1d(4,indxabl_q_abl)='                                      '
      vname_abl1d(5,indxabl_q_abl)='                                      '
      vname_abl1d(6,indxabl_q_abl)='time N_abl lat_rho lon_rho            '
      vname_abl1d(7,indxabl_q_abl)='                                      '

      vname_abl1d(1,indxabl_tke_abl)='tke_abl                             '
      vname_abl1d(2,indxabl_tke_abl)='TKE abl                             '
      vname_abl1d(3,indxabl_tke_abl)='m2/s2                               '
      vname_abl1d(4,indxabl_tke_abl)='                                    '
      vname_abl1d(5,indxabl_tke_abl)='                                    '
      vname_abl1d(6,indxabl_tke_abl)='time N_abl lat_rho lon_rho          '
      vname_abl1d(7,indxabl_tke_abl)='                                    '

      vname_abl1d(1,indxabl_mxlm_abl)='mxlm_abl                           '
      vname_abl1d(2,indxabl_mxlm_abl)='mxlm abl                           '
      vname_abl1d(3,indxabl_mxlm_abl)='                                   '
      vname_abl1d(4,indxabl_mxlm_abl)='                                   '
      vname_abl1d(5,indxabl_mxlm_abl)='                                   '
      vname_abl1d(6,indxabl_mxlm_abl)='time N_abl lat_rho lon_rho         '
      vname_abl1d(7,indxabl_mxlm_abl)='                                   '

      vname_abl1d(1,indxabl_mxld_abl)='mxld_abl                           '
      vname_abl1d(2,indxabl_mxld_abl)='mkxd abl                           '
      vname_abl1d(3,indxabl_mxld_abl)='                                   '
      vname_abl1d(4,indxabl_mxld_abl)='                                   '
      vname_abl1d(5,indxabl_mxld_abl)='                                   '
      vname_abl1d(6,indxabl_mxld_abl)='time N_abl lat_rho lon_rho         '
      vname_abl1d(7,indxabl_mxld_abl)='                                   '

      vname_abl1d(1,indxabl_avm_abl)='avm_abl                             '
      vname_abl1d(2,indxabl_avm_abl)='avm abl                             '
      vname_abl1d(3,indxabl_avm_abl)='                                    '
      vname_abl1d(4,indxabl_avm_abl)='                                    '
      vname_abl1d(5,indxabl_avm_abl)='                                    '
      vname_abl1d(6,indxabl_avm_abl)='time N_abl lat_rho lon_rho          '
      vname_abl1d(7,indxabl_avm_abl)='                                    '

      vname_abl1d(1,indxabl_avt_abl)='avt_abl                             '
      vname_abl1d(2,indxabl_avt_abl)='avt abl                             '
      vname_abl1d(3,indxabl_avt_abl)='                                    '
      vname_abl1d(4,indxabl_avt_abl)='                                    '
      vname_abl1d(5,indxabl_avt_abl)='                                    '
      vname_abl1d(6,indxabl_avt_abl)='time N_abl lat_rho lon_rho          '
      vname_abl1d(7,indxabl_avt_abl)='                                    '

      vname_abl1d(1,indxabl_ablh_abl)='ablh                               '
      vname_abl1d(2,indxabl_ablh_abl)='ABL height                         '
      vname_abl1d(3,indxabl_ablh_abl)='                                   '
      vname_abl1d(4,indxabl_ablh_abl)='                                   '
      vname_abl1d(5,indxabl_ablh_abl)='                                   '
      vname_abl1d(6,indxabl_ablh_abl)='time lat_rho lon_rho               '
      vname_abl1d(7,indxabl_ablh_abl)='                                   '

      vname_abl1d(1,indxabl_zr_abl)='zr_abl                               '
      vname_abl1d(2,indxabl_zr_abl)='zr abl                               '
      vname_abl1d(3,indxabl_zr_abl)='m                                    '
      vname_abl1d(4,indxabl_zr_abl)='                                     '
      vname_abl1d(5,indxabl_zr_abl)='                                     '
      vname_abl1d(6,indxabl_zr_abl)='N_abl                                '
      vname_abl1d(7,indxabl_zr_abl)='                                     '

      vname_abl1d(1,indxabl_zw_abl)='zw_abl                               '
      vname_abl1d(2,indxabl_zw_abl)='zw abl                               '
      vname_abl1d(3,indxabl_zw_abl)='m                                    '
      vname_abl1d(4,indxabl_zw_abl)='                                     '
      vname_abl1d(5,indxabl_zw_abl)='                                     '
      vname_abl1d(6,indxabl_zw_abl)='N_abl                                '
      vname_abl1d(7,indxabl_zw_abl)='                                     '

      vname_abl1d(1,indxabl_Hzr_abl)='Hzr_abl                             '
      vname_abl1d(2,indxabl_Hzr_abl)='Hzr abl                             '
      vname_abl1d(3,indxabl_Hzr_abl)='m                                   '
      vname_abl1d(4,indxabl_Hzr_abl)='                                    '
      vname_abl1d(5,indxabl_Hzr_abl)='                                    '
      vname_abl1d(6,indxabl_Hzr_abl)='N_abl                               '
      vname_abl1d(7,indxabl_Hzr_abl)='                                    '

      vname_abl1d(1,indxabl_Hzw_abl)='Hzw_abl                             '
      vname_abl1d(2,indxabl_Hzw_abl)='Hzw abl                             '
      vname_abl1d(3,indxabl_Hzw_abl)='m                                   '
      vname_abl1d(4,indxabl_Hzw_abl)='                                    '
      vname_abl1d(5,indxabl_Hzw_abl)='                                    '
      vname_abl1d(6,indxabl_Hzw_abl)='N_abl                               '
      vname_abl1d(7,indxabl_Hzw_abl)='                                    '
# endif

# ifdef BIOLOGY
#  ifdef PISCES
      vname(1,indxDIC)='DIC                                       '
      vname(2,indxDIC)='Dissolved inorganic carbon                '
      vname(3,indxDIC)='umol C L-1                                '
      vname(4,indxDIC)='DIC, scalar, series                       '
      vname(5,indxDIC)='mole_concentration_of_dissolved_'
     &                           // 'inorganic_carbon_in_sea_water'
      vname(6,indxDIC)='lat_rho lon_rho                           '
      vname(7,indxDIC)='                                          '

      vname(1,indxTAL)='TALK                                      '
      vname(2,indxTAL)='Total Alkalinity                          '
      vname(3,indxTAL)='umol C L-1                                '
      vname(4,indxTAL)='Alkalinity, scalar, series                '
      vname(5,indxTAL)='                                          '
      vname(6,indxTAL)='lat_rho lon_rho                           '
      vname(7,indxTAL)='                                          '

      vname(1,indxOXY)='O2                                        '
      vname(2,indxOXY)='Oxygen                                    '
      vname(3,indxOXY)='umol L-1                                  '
      vname(4,indxOXY)='Oxygen, scalar, series                    '
      vname(5,indxOXY)='                                          '
      vname(6,indxOXY)='lat_rho lon_rho                           '
      vname(7,indxOXY)='                                          '

      vname(1,indxPOC)='POC                                       '
      vname(2,indxPOC)='Small particulate organic carbon          '
      vname(3,indxPOC)='umol C L-1                                '
      vname(4,indxPOC)='Small particles, scalar, series           '
      vname(5,indxPOC)='                                          '
      vname(6,indxPOC)='lat_rho lon_rho                           '
      vname(7,indxPOC)='                                          '

      vname(1,indxPHY)='NANO                                      '
      vname(2,indxPHY)='Nanophytoplankton                         '
      vname(3,indxPHY)='umol C L-1                                '
      vname(4,indxPHY)='Nanophytoplankton, scalar, series         '
      vname(5,indxPHY)='                                          '
      vname(6,indxPHY)='lat_rho lon_rho                           '
      vname(7,indxPHY)='                                          '

      vname(1,indxZOO)='ZOO                                       '
      vname(2,indxZOO)='Microzooplankton                          '
      vname(3,indxZOO)='umol C L-1                                '
      vname(4,indxZOO)='Microzooplankton, scalar, series          '
      vname(5,indxZOO)='                                          '
      vname(6,indxZOO)='lat_rho lon_rho                           '
      vname(7,indxZOO)='                                          '

      vname(1,indxDOC)='DOC                                       '
      vname(2,indxDOC)='Dissolved organic carbon                  '
      vname(3,indxDOC)='umol C L-1                                '
      vname(4,indxDOC)='DOC, scalar, series                       '
      vname(5,indxDOC)='                                          '
      vname(6,indxDOC)='lat_rho lon_rho                           '
      vname(7,indxDOC)='                                          '

      vname(1,indxFER)='FER                                       '
      vname(2,indxFER)='Dissolved iron                            '
      vname(3,indxFER)='umol Fe L-1                               '
      vname(4,indxFER)='Iron, scalar, series                      '
      vname(5,indxFER)='                                          '
      vname(6,indxFER)='lat_rho lon_rho                           '
      vname(7,indxFER)='                                          '

      vname(1,indxNO3)='NO3                                       '
      vname(2,indxNO3)='Nitrate                                   '
      vname(3,indxNO3)='umol N L-1                                '
      vname(4,indxNO3)='Nitrate, scalar, series                   '
      vname(5,indxNO3)='                                          '
      vname(6,indxNO3)='lat_rho lon_rho                           '
      vname(7,indxNO3)='                                          '

#   if ! defined key_pisces_npzd
      vname(1,indxCAL)='CACO3                                     '
      vname(2,indxCAL)='Calcite                                   '
      vname(3,indxCAL)='umol C L-1                                '
      vname(4,indxCAL)='Calcite, scalar, series                   '
      vname(5,indxCAL)='                                          '
      vname(6,indxCAL)='                                          '
      vname(7,indxCAL)='                                          '

      vname(1,indxPO4)='PO4                                       '
      vname(2,indxPO4)='Phosphate                                 '
      vname(3,indxPO4)='umol P L-1                                '
      vname(4,indxPO4)='Phosphate, scalar, series                 '
      vname(5,indxPO4)='                                          '
      vname(6,indxPO4)='lat_rho lon_rho                           '
      vname(7,indxPO4)='                                          '

      vname(1,indxSIL)='Si                                        '
      vname(2,indxSIL)='Silicate                                  '
      vname(3,indxSIL)='umol Si L-1                               '
      vname(4,indxSIL)='Silicate, scalar, series                  '
      vname(5,indxSIL)='                                          '
      vname(6,indxSIL)='lat_rho lon_rho                           '
      vname(7,indxSIL)='                                          '

      vname(1,indxDIA)='DIA                                       '
      vname(2,indxDIA)='Diatoms                                   '
      vname(3,indxDIA)='umol C L-1                                '
      vname(4,indxDIA)='Diatoms, scalar, series                   '
      vname(5,indxDIA)='                                          '
      vname(6,indxDIA)='lat_rho lon_rho                           '
      vname(7,indxDIA)='                                          '

      vname(1,indxMES)='MESO                                      '
      vname(2,indxMES)='Mesozooplankton                           '
      vname(3,indxMES)='umol C L-1                                '
      vname(4,indxMES)='Mesozooplankton, scalar, series           '
      vname(5,indxMES)='                                          '
      vname(6,indxMES)='lat_rho lon_rho                           '
      vname(7,indxMES)='                                          '

      vname(1,indxDSI)='DSI                                       '
      vname(2,indxDSI)='Diatoms silicon                           '
      vname(3,indxDSI)='umol Si L-1                               '
      vname(4,indxDSI)='DSi, scalar, series                       '
      vname(5,indxDSI)='                                          '
      vname(6,indxDSI)='lat_rho lon_rho                           '
      vname(7,indxDSI)='                                          '

      vname(1,indxBFE)='BFE                                       '
      vname(2,indxBFE)='Iron in big particles                     '
      vname(3,indxBFE)='umol Fe L-1                               '
      vname(4,indxBFE)='BFE, scalar, series                       '
      vname(5,indxBFE)='                                          '
      vname(6,indxBFE)='lat_rho lon_rho                           '
      vname(7,indxBFE)='                                          '

      vname(1,indxGOC)='GOC                                       '
      vname(2,indxGOC)='Big particulate organic carbon            '
      vname(3,indxGOC)='umol C L-1                                '
      vname(4,indxGOC)='GOC, scalar, series                       '
      vname(5,indxGOC)='                                          '
      vname(6,indxGOC)='lat_rho lon_rho                           '
      vname(7,indxGOC)='                                          '

      vname(1,indxSFE)='SFE                                       '
      vname(2,indxSFE)='Iron in nanophytoplankton                 '
      vname(3,indxSFE)='umol Fe L-1                               '
      vname(4,indxSFE)='SFE, scalar, series                       '
      vname(5,indxSFE)='                                          '
      vname(6,indxSFE)='lat_rho lon_rho                           '
      vname(7,indxSFE)='                                          '

      vname(1,indxDFE)='DFE                                       '
      vname(2,indxDFE)='Iron in diatoms                           '
      vname(3,indxDFE)='umol Fe L-1                               '
      vname(4,indxDFE)='DFE, scalar, series                       '
      vname(5,indxDFE)='                                          '
      vname(6,indxDFE)='lat_rho lon_rho                           '
      vname(7,indxDFE)='                                          '

      vname(1,indxGSI)='GSI                                       '
      vname(2,indxGSI)='Biogenic silica                           '
      vname(3,indxGSI)='umol Si L-1                               '
      vname(4,indxGSI)='GSI, scalar, series                       '
      vname(5,indxGSI)='                                          '
      vname(6,indxGSI)='lat_rho lon_rho                           '
      vname(7,indxGSI)='                                          '

      vname(1,indxNFE)='NFE                                       '
      vname(2,indxNFE)='Iron in small particles                   '
      vname(3,indxNFE)='umol Fe L-1                               '
      vname(4,indxNFE)='NFE, scalar, series                       '
      vname(5,indxNFE)='                                          '
      vname(6,indxNFE)='lat_rho lon_rho                           '
      vname(7,indxNFE)='                                          '

      vname(1,indxNCH)='NCHL                                      '
      vname(2,indxNCH)='Chlorophyll in nano                       '
      vname(3,indxNCH)='mg Chl m-3                                '
      vname(4,indxNCH)='NCHL, scalar, series                      '
      vname(5,indxNCH)='                                          '
      vname(6,indxNCH)='lat_rho lon_rho                           '
      vname(7,indxNCH)='                                          '

      vname(1,indxDCH)='DCHL                                      '
      vname(2,indxDCH)='Chlorophyll in diatoms                    '
      vname(3,indxDCH)='mg Chl m-3                                '
      vname(4,indxDCH)='DCHL, scalar, series                      '
      vname(5,indxDCH)='                                          '
      vname(6,indxDCH)='lat_rho lon_rho                           '
      vname(7,indxDCH)='                                          '

      vname(1,indxNH4)='NH4                                       '
      vname(2,indxNH4)='Ammonium                                  '
      vname(3,indxNH4)='umol N L-1                                '
      vname(4,indxNH4)='Ammonium, scalar, series                  '
      vname(5,indxNH4)='                                          '
      vname(6,indxNH4)='lat_rho lon_rho                           '
      vname(7,indxNH4)='                                          '
#   endif

#   if defined key_ligand
      vname(1,indxLGW)='LGW                                       '
      vname(2,indxLGW)='Ligands                                   '
      vname(3,indxLGW)='umol L-1                                  '
      vname(4,indxLGW)='Ligands, scalar, series                   '
      vname(5,indxLGW)='                                          '
      vname(6,indxLGW)='lat_rho lon_rho                           '
      vname(7,indxLGW)='                                          '
#   endif

#   if defined key_pisces_quota
      vname(1,indxDON)='DON                                       '
      vname(2,indxDON)='DON                                       '
      vname(3,indxDON)='umol L-1                                  '
      vname(4,indxDON)='DON, scalar, series                       '
      vname(5,indxDON)='                                          '
      vname(6,indxDON)='lat_rho lon_rho                           '
      vname(7,indxDON)='                                          '

      vname(1,indxDOP)='DOP                                       '
      vname(2,indxDOP)='DOP                                       '
      vname(3,indxDOP)='umol L-1                                  '
      vname(4,indxDOP)='DOP, scalar, series                       '
      vname(5,indxDOP)='                                          '
      vname(6,indxDOP)='lat_rho lon_rho                           '
      vname(7,indxDOP)='                                          '

      vname(1,indxPON)='PON                                       '
      vname(2,indxPON)='PON                                       '
      vname(3,indxPON)='umol L-1                                  '
      vname(4,indxPON)='PON, scalar, series                       '
      vname(5,indxPON)='                                          '
      vname(6,indxPON)='lat_rho lon_rho                           '
      vname(7,indxPON)='                                          '

      vname(1,indxPOP)='POP                                       '
      vname(2,indxPOP)='POP                                       '
      vname(3,indxPOP)='umol L-1                                  '
      vname(4,indxPOP)='POP, scalar, series                       '
      vname(5,indxPOP)='                                          '
      vname(6,indxPOP)='lat_rho lon_rho                           '
      vname(7,indxPOP)='                                          '

      vname(1,indxNPH)='NPH                                       '
      vname(2,indxNPH)='N quota of nanophyto                      '
      vname(3,indxNPH)='umol L-1                                  '
      vname(4,indxNPH)='NPH, scalar, series                       '
      vname(5,indxNPH)='                                          '
      vname(6,indxNPH)='lat_rho lon_rho                           '
      vname(7,indxNPH)='                                          '

      vname(1,indxPPH)='PPH                                       '
      vname(2,indxPPH)='P quota of nanophyto                      '
      vname(3,indxPPH)='umol L-1                                  '
      vname(4,indxPPH)='PPH, scalar, series                       '
      vname(5,indxPPH)='                                          '
      vname(6,indxPPH)='lat_rho lon_rho                           '
      vname(7,indxPPH)='                                          '

      vname(1,indxNDI)='NDI                                       '
      vname(2,indxNDI)='N quota of diatoms                        '
      vname(3,indxNDI)='umol L-1                                  '
      vname(4,indxNDI)='NDI, scalar, series                       '
      vname(5,indxNDI)='                                          '
      vname(6,indxNDI)='lat_rho lon_rho                           '
      vname(7,indxNDI)='                                          '

      vname(1,indxPDI)='PDI                                       '
      vname(2,indxPDI)='P quota of diatoms                        '
      vname(3,indxPDI)='umol L-1                                  '
      vname(4,indxPDI)='PDI, scalar, series                       '
      vname(5,indxPDI)='                                          '
      vname(6,indxPDI)='lat_rho lon_rho                           '
      vname(7,indxPDI)='                                          '

      vname(1,indxPIC)='PIC                                       '
      vname(2,indxPIC)='Picophytoplankton                         '
      vname(3,indxPIC)='umolC L-1                                 '
      vname(4,indxPIC)='Picophytoplankton, scalar, series         '
      vname(5,indxPIC)='                                          '
      vname(6,indxPIC)='lat_rho lon_rho                           '
      vname(7,indxPIC)='                                          '

      vname(1,indxNPI)='NPI                                       '
      vname(2,indxNPI)='N quota of picophyto                      '
      vname(3,indxNPI)='umol L-1                                  '
      vname(4,indxNPI)='NPI, scalar, series                       '
      vname(5,indxNPI)='                                          '
      vname(6,indxNPI)='lat_rho lon_rho                           '
      vname(7,indxNPI)='                                          '

      vname(1,indxPPI)='PPI                                       '
      vname(2,indxPPI)='P quota of picophyto                      '
      vname(3,indxPPI)='umol L-1                                  '
      vname(4,indxPPI)='PPI, scalar, series                       '
      vname(5,indxPPI)='                                          '
      vname(6,indxPPI)='lat_rho lon_rho                           '
      vname(7,indxPPI)='                                          '

      vname(1,indxPFE)='PFE                                       '
      vname(2,indxPFE)='Iron quota of picophyto                   '
      vname(3,indxPFE)='umol L-1                                  '
      vname(4,indxPFE)='PFE, scalar, series                       '
      vname(5,indxPFE)='                                          '
      vname(6,indxPFE)='lat_rho lon_rho                           '
      vname(7,indxPFE)='                                          '

      vname(1,indxPCH)='PCH                                       '
      vname(2,indxPCH)='Chlorophyll of picophyto                  '
      vname(3,indxPCH)='umol L-1                                  '
      vname(4,indxPCH)='PCH, scalar, series                       '
      vname(5,indxPCH)='                                          '
      vname(6,indxPCH)='lat_rho lon_rho                           '
      vname(7,indxPCH)='                                          '

      vname(1,indxGON)='GON                                       '
      vname(2,indxGON)='GON                                       '
      vname(3,indxGON)='umol L-1                                  '
      vname(4,indxGON)='GON, scalar, series                       '
      vname(5,indxGON)='                                          '
      vname(6,indxGON)='lat_rho lon_rho                           '
      vname(7,indxGON)='                                          '

      vname(1,indxGOP)='GOP                                       '
      vname(2,indxGOP)='GOP                                       '
      vname(3,indxGOP)='umol L-1                                  '
      vname(4,indxGOP)='GOP, scalar, series                       '
      vname(5,indxGOP)='                                          '
      vname(6,indxGOP)='lat_rho lon_rho                           '
      vname(7,indxGOP)='                                          '
#   endif

#  elif defined BIO_NChlPZD

CR      write(stdout,'(1x,A,I3)') 'indxNO3 =',indxNO3
      vname(1,indxNO3)='NO3                                       '
      vname(2,indxNO3)='NO3 Nutrient                              '
      vname(3,indxNO3)='mMol N m-3                                '
      vname(4,indxNO3)='NO3, scalar, series                       '
      vname(5,indxNO3)='                                          '
      vname(6,indxNO3)='lat_rho lon_rho                           '
      vname(7,indxNO3)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxChla =',indxChla
      vname(1,indxChla)='CHLA                                     '
      vname(2,indxChla)='Chlorophyll A                            '
      vname(3,indxChla)='mg Chla m-3                              '
      vname(4,indxChla)='Chlorophyl, scalar, series               '
      vname(5,indxChla)='                                         '
      vname(6,indxChla)='lat_rho lon_rho                          '
      vname(7,indxChla)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxPhy1 =',indxPhy1
      vname(1,indxPhy1)='PHYTO                                    '
      vname(2,indxPhy1)='Phytoplankton                            '
      vname(3,indxPhy1)='mMol N m-3                               '
      vname(4,indxPhy1)='Phytoplankton, scalar, series            '
      vname(5,indxPhy1)='                                         '
      vname(6,indxPhy1)='lat_rho lon_rho                          '
      vname(7,indxPhy1)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxZoo1 =',indxZoo1
      vname(1,indxZoo1)='ZOO                                      '
      vname(2,indxZoo1)='Zooplankton                              '
      vname(3,indxZoo1)='mMol N m-3                               '
      vname(4,indxZoo1)='Zooplankton, scalar, series              '
      vname(5,indxZoo1)='                                         '
      vname(6,indxZoo1)='lat_rho lon_rho                          '
      vname(7,indxZoo1)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxDet1 =',indxDet1
      vname(1,indxDet1)='DET                                      '
      vname(2,indxDet1)='Detritus Nutrient                        '
      vname(3,indxDet1)='mMol N m-3                               '
      vname(4,indxDet1)='Detritus, scalar, series                 '
      vname(5,indxDet1)='                                         '
      vname(6,indxDet1)='lat_rho lon_rho                          '
      vname(7,indxDet1)='                                         '
#   ifdef OXYGEN
CR      write(stdout,'(1x,A,I3)') 'indxO2 =',indxO2
      vname(1,indxO2)='O2                                         '
      vname(2,indxO2)='Dissolved Oxygen	                          '
      vname(3,indxO2)='mMol O2 m-3                                '
      vname(4,indxO2)='Dissolved Oxygen	, scalar, series          '
      vname(5,indxO2)='                                           '
      vname(6,indxO2)='lat_rho lon_rho                            '
      vname(7,indxO2)='                                           '
#   endif

CR      write(stdout,'(1x,A,I3)') 'ntrc_salt=',ntrc_salt
CR      write(stdout,'(1x,A,I3)') 'ntrc_pas =',ntrc_pas
CR      write(stdout,'(1x,A,I3)') 'ntrc_bio =',ntrc_bio
CR      write(stdout,'(1x,A,I3)') 'ntrc_sed =',ntrc_sed
CR      write(stdout,'(1x,A,I3)') 'ntrc_diabio=',ntrc_diabio

#  elif defined BIO_N2ChlPZD2

CR      write(stdout,'(1x,A,I3)') 'indxNO3 =',indxNO3
      vname(1,indxNO3)='NO3                                       '
      vname(2,indxNO3)='NO3 Nutrient                              '
      vname(3,indxNO3)='mMol N m-3                                '
      vname(4,indxNO3)='NO3, scalar, series                       '
      vname(5,indxNO3)='                                          '
      vname(6,indxNO3)='                                          '
      vname(7,indxNO3)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxNH4 =',indxNH4
      vname(1,indxNH4)='NH4                                       '
      vname(2,indxNH4)='NH4 Nutrient                              '
      vname(3,indxNH4)='mMol N m-3                                '
      vname(4,indxNH4)='NH4, scalar, series                       '
      vname(5,indxNH4)='                                          '
      vname(6,indxNH4)='lat_rho lon_rho                           '
      vname(7,indxNH4)='  '

CR      write(stdout,'(1x,A,I3)') 'indxChla =',indxChla
      vname(1,indxChla)='CHLA                                     '
      vname(2,indxChla)='Chlorophyll A                            '
      vname(3,indxChla)='mg Chla m-3                              '
      vname(4,indxChla)='Chlorophyl, scalar, series               '
      vname(5,indxChla)='                                         '
      vname(6,indxChla)='lat_rho lon_rho                          '
      vname(7,indxChla)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxPhy1 =',indxPhy1
      vname(1,indxPhy1)='PHYTO                                    '
      vname(2,indxPhy1)='Phytoplankton                            '
      vname(3,indxPhy1)='mMol N m-3                               '
      vname(4,indxPhy1)='Phytoplankton, scalar, series            '
      vname(5,indxPhy1)='                                         '
      vname(6,indxPhy1)='lat_rho lon_rho                          '
      vname(7,indxPhy1)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxZoo1 =',indxZoo1
      vname(1,indxZoo1)='ZOO                                      '
      vname(2,indxZoo1)='Zooplankton                              '
      vname(3,indxZoo1)='mMol N m-3                               '
      vname(4,indxZoo1)='Zooplankton, scalar, series              '
      vname(5,indxZoo1)='                                         '
      vname(6,indxZoo1)='lat_rho lon_rho                          '
      vname(7,indxZoo1)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxDet1 =',indxDet1
      vname(1,indxDet1)='SDET                                     '
      vname(2,indxDet1)='Small Detritus Nutrient                  '
      vname(3,indxDet1)='mMol N m-3                               '
      vname(4,indxDet1)='Small Detritus, scalar, series           '
      vname(5,indxDet1)='                                         '
      vname(6,indxDet1)='lat_rho lon_rh                           '
      vname(7,indxDet1)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxDet2 =',indxDet2
      vname(1,indxDet2)='LDET                                     '
      vname(2,indxDet2)='Large Detritus Nutrient                  '
      vname(3,indxDet2)='mMol N m-3                               '
      vname(4,indxDet2)='Large Detritus, scalar, series           '
      vname(5,indxDet2)='                                         '
      vname(6,indxDet2)='lat_rho lon_rho                          '
      vname(7,indxDet2)='                                         '

#  elif defined BIO_BioEBUS

CR      write(stdout,'(1x,A,I3)') 'indxNO3 =',indxNO3
      vname(1,indxNO3)='NO3                                       '
      vname(2,indxNO3)='Nitrate                                   '
      vname(3,indxNO3)='mmol N m-3                                '
      vname(4,indxNO3)='NO3, scalar, series                       '
      vname(5,indxNO3)='                                          '
      vname(6,indxNO3)='                                          '
      vname(7,indxNO3)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxNO2 =',indxNO2
      vname(1,indxNO2)='NO2                                       '
      vname(2,indxNO2)='Nitrite                                   '
      vname(3,indxNO2)='mmol N m-3                                '
      vname(4,indxNO2)='NO2, scalar, series                       '
      vname(5,indxNO2)='                                          '
      vname(6,indxNO2)='                                          '
      vname(7,indxNO2)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxNH4 =',indxNH4
      vname(1,indxNH4)='NH4                                       '
      vname(2,indxNH4)='Ammonium                                  '
      vname(3,indxNH4)='mmol N m-3                                '
      vname(4,indxNH4)='NH4, scalar, series                       '
      vname(5,indxNH4)='                                          '
      vname(6,indxNH4)='                                          '
      vname(7,indxNH4)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxPhy1 =',indxPhy1
      vname(1,indxPhy1)='SPHYTO                                   '
      vname(2,indxPhy1)='Small Phytoplankton                      '
      vname(3,indxPhy1)='mmol N m-3                               '
      vname(4,indxPhy1)='Small Phytoplankton, scalar, series      '
      vname(5,indxPhy1)='                                         '
      vname(6,indxPhy1)='                                         '
      vname(7,indxPhy1)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxPhy2 =',indxPhy2
      vname(1,indxPhy2)='LPHYTO                                   '
      vname(2,indxPhy2)='Large Phytoplankton                      '
      vname(3,indxPhy2)='mmol N m-3                               '
      vname(4,indxPhy2)='Large Phytoplankton, scalar, series      '
      vname(5,indxPhy2)='                                         '
      vname(6,indxPhy2)='                                         '
      vname(7,indxPhy2)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxZoo1 =',indxZoo1
      vname(1,indxZoo1)='SZOO                                     '
      vname(2,indxZoo1)='Small Zooplankton                        '
      vname(3,indxZoo1)='mmol N m-3                               '
      vname(4,indxZoo1)='Small Zooplankton, scalar, series        '
      vname(5,indxZoo1)='                                         '
      vname(6,indxZoo1)='                                         '
      vname(7,indxZoo1)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxZoo2 =',indxZoo2
      vname(1,indxZoo2)='LZOO                                     '
      vname(2,indxZoo2)='Large Zooplankton                        '
      vname(3,indxZoo2)='mmol N m-3                               '
      vname(4,indxZoo2)='Large Zooplankton, scalar, series        '
      vname(5,indxZoo2)='                                         '
      vname(6,indxZoo2)='                                         '
      vname(7,indxZoo2)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxDet1 =',indxDet1
      vname(1,indxDet1)='SDET                                     '
      vname(2,indxDet1)='Small Detritus                           '
      vname(3,indxDet1)='mmol N m-3                               '
      vname(4,indxDet1)='Small Detritus, scalar, series           '
      vname(5,indxDet1)='                                         '
      vname(6,indxDet1)='                                         '
      vname(7,indxDet1)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxDet2 =',indxDet2
      vname(1,indxDet2)='LDET                                     '
      vname(2,indxDet2)='Large Detritus                           '
      vname(3,indxDet2)='mmol N m-3                               '
      vname(4,indxDet2)='Large Detritus, scalar, series           '
      vname(5,indxDet2)='                                         '
      vname(6,indxDet2)='                                         '
      vname(7,indxDet2)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxDON =',indxDON
      vname(1,indxDON)='DON                                       '
      vname(2,indxDON)='Dissolved Organic Nitrogen                '
      vname(3,indxDON)='mmol N m-3                                '
      vname(4,indxDON)='Dissolved Organic Nitrogen, scalar, series'
      vname(5,indxDON)='                                          '
      vname(6,indxDON)='                                          '
      vname(7,indxDON)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxO2 =',indxO2
      vname(1,indxO2)='O2                                         '
      vname(2,indxO2)='Dissolved Oxygen                           '
      vname(3,indxO2)='mmol O  m-3                                '
      vname(4,indxO2)='Dissolved Oxygen, scalar, series           '
      vname(5,indxO2)='                                           '
      vname(6,indxO2)='                                           '
      vname(7,indxO2)='                                           '

CR      write(stdout,'(1x,A,I3)') 'indxAOU =',indxAOU
      vname(1,indxAOU)='AOU                                        '
      vname(2,indxAOU)='Apparent Oxygen Utilization                '
      vname(3,indxAOU)='mmol O2 m-3                                '
      vname(4,indxAOU)='Apparent Oxygen Utilization, scalar, series'
      vname(5,indxAOU)='                                           '
      vname(6,indxAOU)='                                           '
      vname(7,indxAOU)='                                           '

CR      write(stdout,'(1x,A,I3)') 'indxWIND10 =',indxWIND10
      vname(1,indxWIND10)='wind10                                 '
      vname(2,indxWIND10)='surface wind speed (10 m)              '
      vname(3,indxWIND10)='meter second-1                         '
      vname(4,indxWIND10)='surface wind speed, scalar, series     '
      vname(5,indxWIND10)='                                       '
      vname(6,indxWIND10)='                                       '
      vname(7,indxWIND10)='                                       '

#   ifdef NITROUS_OXIDE

CR      write(stdout,'(1x,A,I3)') 'indxN2O =',indxN2O
      vname(1,indxN2O)='N2O                                       '
      vname(2,indxN2O)='Nitrous Oxide                             '
      vname(3,indxN2O)='mmol N m-3                                '
      vname(4,indxN2O)='N2O, scalar, series                       '
      vname(5,indxN2O)='                                          '
      vname(6,indxN2O)='                                          '
      vname(7,indxN2O)='                                          '

#   endif

#  endif /* PISCES || BIO_NChlPZD || BIO_N2ChlPZD2 || BIO_BioEBUS */
!----------------------------------------------------------------------------

# endif /* BIOLOGY */

# ifdef SEDIMENT
      do i=1,NSAND
       if( i < 10) then
          write(nametrc,'(A,I1)') 'sand_0',i
       else
          write(nametrc,'(A,I2)') 'sand_',i
       endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'indxsand Nb',i, indxSAND(i)
        vname(1,indxsand(i))=TRIM(nametrc)
        vname(2,indxsand(i))=TRIM(nametrc)//" sediment"
        vname(3,indxsand(i))='kg/m3                               '
        vname(4,indxsand(i))='sand, scalar, series                '
        vname(5,indxsand(i))='                                    '
        vname(6,indxsand(i))='lat_rho lon_rho                     '
        vname(7,indxsand(i))='                                    '
      enddo

      do i=1,NMUD
        if( i < 10) then
          write(nametrc,'(A,I1)') 'mud_0',i
        else
          write(nametrc,'(A,I2)') 'mud_',i
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'indxmud Nb',i, indxMUD(i)
        vname(1,indxmud(i))=TRIM(nametrc)
        vname(2,indxmud(i))=TRIM(nametrc)//" sediment"
        vname(3,indxmud(i))='kg/m3                                '
        vname(4,indxmud(i))='mud, scalar, series                  '
        vname(5,indxmud(i))='                                     '
        vname(6,indxmud(i))='lat_rho lon_rho                      '
        vname(7,indxmud(i))='                                     '
      enddo

      do i=1,NGRAV
        if( i < 10) then
          write(nametrc,'(A,I1)') 'gravel_0',i
        else
          write(nametrc,'(A,I2)') 'gravel_',i
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'indgrav Nb',i, indxGRAV(i)
        vname(1,indxgrav(i))=TRIM(nametrc)
        vname(2,indxgrav(i))=TRIM(nametrc)//" sediment"
        vname(3,indxgrav(i))='kg/m3                               '
        vname(4,indxgrav(i))='gravel, scalar, series              '
        vname(5,indxgrav(i))='                                    '
        vname(6,indxgrav(i))='lat_rho lon_rho                     '
        vname(7,indxgrav(i))='                                    '
      enddo

CR      write(stdout,'(1x,A,I3)') 'indxATHK =',indxATHK
      vname(1,indxATHK)='act_thick                                '
      vname(2,indxATHK)='Thickness of sediment active layer       '
      vname(3,indxATHK)='m                                        '
      vname(5,indxATHK)='                                         '
      vname(6,indxATHK)='lat_rho lon_rho                          '
      vname(7,indxATHK)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxBTHK =',indxBTHK
      vname(1,indxBTHK)='bed_thick                                '
      vname(2,indxBTHK)='Thickness of sediment bed layer          '
      vname(3,indxBTHK)='m                                        '
      vname(5,indxBTHK)='                                         '
      vname(6,indxBTHK)='lat_rho lon_rho                          '
      vname(7,indxBTHK)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxBPOR =',indxBPOR
      vname(1,indxBPOR)='bed_poros                                '
      vname(2,indxBPOR)='Porosity of sediment bed layer           '
      vname(3,indxBPOR)='no units                                 '
      vname(5,indxBPOR)='                                         '
      vname(6,indxBPOR)='lat_rho lon_rho                          '
      vname(7,indxBPOR)='                                         '


#  if defined MIXED_BED || defined COHESIVE_BED
CR      write(stdout,'(1x,A,I3)') 'indxBTCR =',indxBTCR
      vname(1,indxBTCR)='bed_tau_crit                             '
      vname(2,indxBTCR)='Bed tau critical in each layer           '
      vname(3,indxBTCR)='N/m2                                     '
      vname(5,indxBTCR)='                                         '
      vname(6,indxBTCR)='lat_rho lon_rho                          '
      vname(7,indxBTCR)='                                         '
#  endif

      do i=isand1,isand2
        if( i < 10) then
          write(nametrc,'(A,I1)') 'bed_frac_sand_0',i
        else
          write(nametrc,'(A,I2)') 'bed_frac_sand_',i
        endif
CR      write(stdout,'(1x,A,I3,1x,I3)') 'indxBFRA_sand  Nb',i, indxBFRA(i)
        vname(1,indxBFRA(i))=TRIM(nametrc)
        vname(2,indxBFRA(i))='vol. fraction of sand in bed layer  '
        vname(3,indxBFRA(i))='no units                            '
        vname(5,indxBFRA(i))='                                    '
        vname(6,indxBFRA(i))='lat_rho lon_rho                     '
        vname(7,indxBFRA(i))='                                    '
      enddo
      itrc=0
      do i=imud1,imud2
        itrc=itrc+1
        if( itrc < 10) then
          write(nametrc,'(A,I1)') 'bed_frac_mud_0',itrc
        else
          write(nametrc,'(A,I2)') 'bed_frac_mud_',itrc
        endif
CR      write(stdout,'(1x,A,I3,1x,I3)') 'indxBFRA_mud  Nb',i, indxBFRA(i)
        vname(1,indxBFRA(i))  =TRIM(nametrc)
        vname(2,indxBFRA(i))  ='vol. fraction of mud in bed layer '
        vname(3,indxBFRA(i))  ='no units                          '
        vname(5,indxBFRA(i))='                                    '
        vname(6,indxBFRA(i))='lat_rho lon_rho                     '
        vname(7,indxBFRA(i))='                                    '
      enddo
      itrc=0
      do i=igrav1,igrav2
        itrc=itrc+1
        if( itrc < 10) then
          write(nametrc,'(A,I1)') 'bed_frac_grav_0',itrc
        else
          write(nametrc,'(A,I2)') 'bed_frac_grav_',itrc
        endif
CR      write(stdout,'(1x,A,I3,1x,I3)') 'indxBFRA_grav  Nb',i, indxBFRA(i)
        vname(1,indxBFRA(i))=TRIM(nametrc)
        vname(2,indxBFRA(i))='vol. fraction of gravel in bed layer'
        vname(3,indxBFRA(i))='no units                            '
        vname(5,indxBFRA(i))='                                    '
        vname(6,indxBFRA(i))='lat_rho lon_rho                     '
        vname(7,indxBFRA(i))='                                    '
      enddo

#  ifdef SUSPLOAD
      do i=isand1,isand2
        if( i < 10) then
          write(nametrc,'(A,I1)') 'dflx_sand_0',i
        else
          write(nametrc,'(A,I2)') 'dflx_sand_',i
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'sand_dflx Nb',i, indxDFLX(i)
        vname(1,indxDFLX(i))=TRIM(nametrc)
        vname(2,indxDFLX(i))=TRIM(nametrc)//" sediment"
        vname(3,indxDFLX(i))='kg/m2/s                             '
        vname(4,indxDFLX(i))='sand/s, scalar, series              '
        vname(5,indxDFLX(i))='                                    '
        vname(6,indxDFLX(i))='lat_rho lon_rho                     '
        vname(7,indxDFLX(i))='                                    '
      enddo

      itrc=0
      do i=imud1,imud2
        itrc=itrc+1
        if( itrc < 10) then
          write(nametrc,'(A,I1)') 'dflx_mud_0',itrc
        else
          write(nametrc,'(A,I2)') 'dflx_mud_',itrc
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'mud_dflx Nb',i, indxDFLX(i)
        vname(1,indxDFLX(i))=TRIM(nametrc)
        vname(2,indxDFLX(i))=TRIM(nametrc)//" sediment"
        vname(3,indxDFLX(i))='kg/m2/s                             '
        vname(4,indxDFLX(i))='mud, scalar, series                 '
        vname(5,indxDFLX(i))='                                    '
        vname(6,indxDFLX(i))='lat_rho lon_rho                     '
        vname(7,indxDFLX(i))='                                    '
      enddo

      itrc=0
      do i=igrav1,igrav2
       itrc=itrc+1
        if( itrc < 10) then
          write(nametrc,'(A,I1)') 'dflx_grav_0',itrc
        else
          write(nametrc,'(A,I2)') 'dflx_grav_',itrc
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'gravel_dflx Nb',i, indxDFLX(i)
        vname(1,indxDFLX(i))=TRIM(nametrc)
        vname(2,indxDFLX(i))=TRIM(nametrc)
        vname(3,indxDFLX(i))='kg/m2/s                             '
        vname(4,indxDFLX(i))='gravel, scalar, series              '
        vname(5,indxDFLX(i))='                                    '
        vname(6,indxDFLX(i))='lat_rho lon_rho                     '
        vname(7,indxDFLX(i))='                                    '
      enddo

      do i=isand1,isand2
        if( i < 10) then
          write(nametrc,'(A,I1)') 'eflx_sand_0',i
        else
          write(nametrc,'(A,I2)') 'eflx_sand_',i
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'sand_eflx Nb',i, indxEFLX(i)
        vname(1,indxEFLX(i))=TRIM(nametrc)
        vname(2,indxEFLX(i))=TRIM(nametrc)//" sediment"
        vname(3,indxEFLX(i))='kg/m2/s                             '
        vname(4,indxEFLX(i))='sand, scalar, series                '
        vname(5,indxEFLX(i))='                                    '
        vname(6,indxEFLX(i))='lat_rho lon_rho                     '
        vname(7,indxEFLX(i))='                                    '
      enddo

      itrc=0
      do i=imud1,imud2
        itrc=itrc+1
        if( itrc < 10) then
          write(nametrc,'(A,I1)') 'eflx_mud_0',itrc
        else
          write(nametrc,'(A,I2)') 'eflx_mud_',itrc
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'mud_eflx Nb',i, indxEFLX(i)
        vname(1,indxEFLX(i))=TRIM(nametrc)
        vname(2,indxEFLX(i))=TRIM(nametrc)//" sediment"
        vname(3,indxEFLX(i))='kg/m2/s                             '
        vname(4,indxEFLX(i))='mud, scalar, series                 '
        vname(5,indxEFLX(i))='                                    '
        vname(6,indxEFLX(i))='lat_rho lon_rho                     '
        vname(7,indxEFLX(i))='                                    '
      enddo

      itrc=0
      do i=igrav1,igrav2
       itrc=itrc+1
        if( itrc < 10) then
          write(nametrc,'(A,I1)') 'dflx_grav_0',itrc
        else
          write(nametrc,'(A,I2)') 'dflx_grav_',itrc
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'gravel_eflx Nb',i, indxEFLX(i)
        vname(1,indxEFLX(i))=TRIM(nametrc)
        vname(2,indxEFLX(i))=TRIM(nametrc)//" sediment"
        vname(3,indxEFLX(i))='kg/m2/s                             '
        vname(4,indxEFLX(i))='gravel, scalar, series              '
        vname(5,indxEFLX(i))='                                    '
        vname(6,indxEFLX(i))='lat_rho lon_rho                     '
        vname(7,indxEFLX(i))='                                    '
      enddo
#  endif
#  ifdef BEDLOAD
      do i=isand1,isand2
        if( i < 10) then
          write(nametrc,'(A,I1)') 'bdlu_sand_0',i
        else
          write(nametrc,'(A,I2)') 'bdlu_sand_',i
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'sand_bdlu Nb',i, indxBDLU(i)
        vname(1,indxBDLU(i))=TRIM(nametrc)
        vname(2,indxBDLU(i))=TRIM(nametrc)
        vname(3,indxBDLU(i))='kg/m2/s                             '
        vname(4,indxBDLU(i))='sand, scalar, series                '
        vname(5,indxBDLU(i))='                                    '
        vname(6,indxBDLU(i))='lat_rho lon_rho                     '
        vname(7,indxBDLU(i))='                                    '
      enddo

      itrc=0
      do i=imud1,imud2
       itrc=itrc+1
        if( itrc < 10) then
          write(nametrc,'(A,I1)') 'bdlu_mud_0',itrc
        else
          write(nametrc,'(A,I2)') 'bdlu_mud_',itrc
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'mud_bdlu Nb',i, indxBDLU(i)
        vname(1,indxBDLU(i))=TRIM(nametrc)
        vname(2,indxBDLU(i))=TRIM(nametrc)
        vname(3,indxBDLU(i))='kg/m2/s                             '
        vname(4,indxBDLU(i))='mud, scalar, series                 '
        vname(5,indxBDLU(i))='                                    '
        vname(6,indxBDLU(i))='lat_rho lon_rho                     '
        vname(7,indxBDLU(i))='                                    '
      enddo

      itrc=0
      do i=igrav1,igrav2
        itrc=itrc+1
        if( itrc < 10) then
          write(nametrc,'(A,I1)') 'bdlu_grav_0',itrc
        else
          write(nametrc,'(A,I2)') 'bdlu_grav_',itrc
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'gravel_bdlu Nb',i, indxBDLU(i)
        vname(1,indxBDLU(i))=TRIM(nametrc)
        vname(2,indxBDLU(i))=TRIM(nametrc)
        vname(3,indxBDLU(i))='kg/m2/s                             '
        vname(4,indxBDLU(i))='gravel, scalar, series              '
        vname(5,indxBDLU(i))='                                    '
        vname(6,indxBDLU(i))='lat_rho lon_rho                     '
        vname(7,indxBDLU(i))='                                    '
      enddo

      do i=isand1,isand2
        if( i < 10) then
          write(nametrc,'(A,I1)') 'bdlv_sand_0',i
        else
          write(nametrc,'(A,I2)') 'bdlv_sand_',i
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'sand_bdlv_ Nb',i, indxBDLV(i)
        vname(1,indxBDLV(i))=TRIM(nametrc)
        vname(2,indxBDLV(i))=TRIM(nametrc)
        vname(3,indxBDLV(i))='kg/m2/s                             '
        vname(4,indxBDLV(i))='sand bdlv, scalar, series           '
        vname(5,indxBDLV(i))='                                    '
        vname(6,indxBDLV(i))='lat_rho lon_rho                     '
        vname(7,indxBDLV(i))='                                    '
      enddo

      itrc=0
      do i=imud1,imud2
        itrc=itrc+1
        if( itrc < 10) then
          write(nametrc,'(A,I1)') 'bdlv_mud_0',itrc
        else
          write(nametrc,'(A,I2)') 'bdlv_mud_',itrc
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'mud_bdlv Nb',i, indxBDLV(i)
        vname(1,indxBDLV(i))=TRIM(nametrc)
        vname(2,indxBDLV(i))=TRIM(nametrc)
        vname(3,indxBDLV(i))='kg/m2/s                             '
        vname(4,indxBDLV(i))='mud bdlv, scalar, series            '
        vname(5,indxBDLV(i))='                                    '
        vname(6,indxBDLV(i))='lat_rho lon_rho                     '
        vname(7,indxBDLV(i))='                                    '
      enddo

      itrc=0
      do i=igrav1,igrav2
        itrc=itrc+1
        if( itrc < 10) then
          write(nametrc,'(A,I1)') 'bdlv_grav_0',itrc
        else
          write(nametrc,'(A,I2)') 'bdlv_grav_',itrc
        endif
CR        write(stdout,'(1x,A,I3,1x,I3)') 'gravel_bdlv_ Nb',i, indxBDLV(i)
        vname(1,indxBDLV(i))=TRIM(nametrc)
        vname(2,indxBDLV(i))=TRIM(nametrc)
        vname(3,indxBDLV(i))='kg/m2/s                             '
        vname(4,indxBDLV(i))='gravel bdlv, scalar, series         '
        vname(5,indxBDLV(i))='                                    '
        vname(6,indxBDLV(i))='lat_rho lon_rho                     '
        vname(7,indxBDLV(i))='                                    '
      enddo
#  endif
# endif /* SEDIMENT */

# ifdef BBL
CR      write(stdout,'(1x,A,I3)') 'indxAbed=',indxBBL
      vname(1,indxBBL)  ='Abed                                    '
      vname(2,indxBBL)  ='Bed wave excursion amplitude            '
      vname(3,indxBBL)  ='m                                       '
      vname(5,indxBBL)='                                          '
      vname(6,indxBBL)='lat_rho lon_rho                           '
      vname(7,indxBBL)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxHrip =',indxBBL+1
      vname(1,indxHrip)='Hripple                                  '
      vname(2,indxHrip)='Bed ripple height                        '
      vname(3,indxHrip)='m                                        '
      vname(5,indxHrip)='                                         '
      vname(6,indxHrip)='lat_rho lon_rho                          '
      vname(7,indxHrip)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxLrip =',indxBBL+2
      vname(1,indxLrip)='Lripple                                  '
      vname(2,indxLrip)='Bed ripple length                        '
      vname(3,indxLrip)='m                                        '
      vname(5,indxLrip)='                                         '
      vname(6,indxLrip)='lat_rho lon_rho                          '
      vname(7,indxLrip)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxZbnot=',indxBBL+3
      vname(1,indxZbnot)='Zbnot                                   '
      vname(2,indxZbnot)='Physical hydraulic bottom roughness     '
      vname(3,indxZbnot)='m                                       '
      vname(5,indxZbnot)='                                        '
      vname(6,indxZbnot)='lat_rho lon_rho                         '
      vname(7,indxZbnot)='                                        '

CR      write(stdout,'(1x,A,I3)') 'indxZbapp=',indxBBL+4
      vname(1,indxZbapp)='Zbapp                                   '
      vname(2,indxZbapp)='Apparent hydraulic bottom roughness     '
      vname(3,indxZbapp)='m                                       '
      vname(5,indxZbapp)='                                        '
      vname(6,indxZbapp)='lat_rho lon_rho                         '
      vname(7,indxZbapp)='                                        '

CR      write(stdout,'(1x,A,I3)') 'indxBostrw=',indxBBL+5
      vname(1,indxBostrw)='bostrw                                 '
      vname(2,indxBostrw)='Wave-induced kinematic bottom stress   '
      vname(3,indxBostrw)='N/m2                                   '
      vname(5,indxBostrw)='                                       '
      vname(6,indxBostrw)='lat_rho lon_rho                        '
      vname(7,indxBostrw)='                                       '
# endif /* BBL */

CR      write(stdout,'(1x,A,I3)') 'indxShflx =',indxShflx
      vname(1,indxShflx)='shflux                                  '
      vname(2,indxShflx)='surface net heat flux                   '
      vname(3,indxShflx)='Watts meter-2                           '
      vname(4,indxShflx)='surface heat flux, scalar, series       '
# ifdef SPHERICAL
      vname(6,indxShflx)='lat_rho lon_rho                         '
# else
      vname(6,indxShflx)='x_rho y_rho                             '
# endif
      vname(7,indxShflx)='                                        '

# ifdef SALINITY
CR      write(stdout,'(1x,A,I3)') 'indxSwflx =',indxSwflx
      vname(1,indxSwflx)='swflux                                  '
      vname(2,indxSwflx)='surface freshwater flux (E-P)           '
      vname(3,indxSwflx)='centimeter day-1                        '
      vname(4,indxSwflx)='surface freshwater flux, scalar, series '
      vname(5,indxSwflx)='                                        '
#  ifdef SPHERICAL
      vname(6,indxSwflx)='lat_rho lon_rho                         '
#  else
      vname(6,indxSwflx)='x_rho y_rho                             '
#  endif
      vname(7,indxSwflx)='                                        '
      vname(8,indxSwflx)='                                        '
# endif

CR      write(stdout,'(1x,A,I3)') 'indxShflx_rsw =',indxShflx_rsw
# ifdef BULK_FLUX
      vname(1,indxShflx_rsw)='radsw                               '
# else
      vname(1,indxShflx_rsw)='swrad                               '
# endif
      vname(2,indxShflx_rsw)='Short-wave surface radiation        '
      vname(3,indxShflx_rsw)='Watts meter-2                       '
      vname(4,indxShflx_rsw)='                                    '
      vname(5,indxShflx_rsw)='                                    '
      vname(6,indxShflx_rsw)='lat_rho lon_rho                     '
      vname(7,indxShflx_rsw)='                                    '
# ifdef DIURNAL_INPUT_SRFLX
#  ifdef BULK_FLUX
      vname(1,indxShflx_rswbio)='radswbio                         '
#  else
      vname(1,indxShflx_rswbio)='swradbio                         '
#  endif
      vname(2,indxShflx_rswbio)='Short-wave surface radiation     '
      vname(3,indxShflx_rswbio)='Watts meter-2                    '
      vname(4,indxShflx_rswbio)='                                 '
      vname(5,indxShflx_rswbio)='                                 '
      vname(6,indxShflx_rswbio)='lat_rho lon_rho                  '
      vname(7,indxShflx_rswbio)='                                 '
# endif /* DIURNAL_INPUT_SRFLX  */
# ifdef BULK_FLUX
CR      write(stdout,'(1x,A,I3)') 'indxShflx_rlw =',indxShflx_rlw
      vname(1,indxShflx_rlw)='shflx_rlw                           '
      vname(2,indxShflx_rlw)='Long-wave surface radiation         '
      vname(3,indxShflx_rlw)='Watts meter-2                       '
      vname(5,indxShflx_rlw)='                                    '
      vname(6,indxShflx_rlw)='lat_rho lon_rho                     '
      vname(7,indxShflx_rlw)='                                    '

CR      write(stdout,'(1x,A,I3)') 'indxShflx_lat =',indxShflx_lat
      vname(1,indxShflx_lat)='shflx_lat                           '
      vname(2,indxShflx_lat)='Latent surface heat flux            '
      vname(3,indxShflx_lat)='Watts meter-2                       '
      vname(4,indxShflx_sen)='                                    '
      vname(5,indxShflx_lat)='                                    '
      vname(6,indxShflx_lat)='lat_rho lon_rho                     '
      vname(7,indxShflx_lat)='                                    '

CR      write(stdout,'(1x,A,I3)') 'indxShflx_sen =',indxShflx_sen
      vname(1,indxShflx_sen)='shflx_sen                           '
      vname(2,indxShflx_sen)='Sensible surface heat flux          '
      vname(3,indxShflx_sen)='Watts meter-2                       '
      vname(4,indxShflx_sen)='                                    '
      vname(4,indxShflx_sen)='                                    '
      vname(6,indxShflx_sen)='lat_rho lon_rho                     '
      vname(7,indxShflx_sen)='                                    '
      vname(7,indxShflx_sen)='  '
#  ifdef READ_PATM
CR      write(stdout,'(1x,A,I3)') 'inxPatm =',inxPatm
      vname(1,indxPatm)='patm                                     '
      vname(2,indxPatm)='Atmospheric Pressure                     '
      vname(3,indxPatm)='millibar                                 '
      vname(4,indxPatm)='                                         '
      vname(4,indxPatm)='                                         '
      vname(6,indxPatm)='lat_rho lon_rho                          '
      vname(7,indxPatm)='                                         '
      vname(7,indxPatm)='  '
#  endif

# endif /* BULK_FLUX */

# ifdef SST_SKIN
CR      write(stdout,'(1x,A,I3)') 'indxSST_skin =',indxSST_skin
      vname(1,indxSST_skin)='sst_skin                             '
      vname(2,indxSST_skin)='Skin temperature                     '
      vname(3,indxSST_skin)='Celsius                              '
      vname(4,indxSST_skin)='sst_skin, scalars, series            '
      vname(5,indxSST_skin)='skin_temperature                     '
      vname(6,indxSST_skin)='lat_rho lon_rho                      '
      vname(7,indxSST_skin)='                                     '
# endif

CR      write(stdout,'(1x,A,I3)') 'indxO =',indxO
      vname(1,indxO)='omega                                       '
      vname(2,indxO)='S-coordinate vertical momentum component    '
      vname(3,indxO)='meter second-1                              '
      vname(4,indxO)='omega, scalar, series                       '
      vname(5,indxO)='                                            '
      vname(6,indxO)='lat_rho lon_rho                             '
      vname(7,indxO)='                                            '

CR      write(stdout,'(1x,A,I3)') 'indxW =',indxW
      vname(1,indxW)='w                                           '
      vname(2,indxW)='vertical momentum component                 '
      vname(3,indxW)='meter second-1                              '
      vname(4,indxW)='w-velocity, scalar, series                  '
      vname(5,indxW)='upward_sea_water_velocity                   '
      vname(6,indxW)='lat_rho lon_rho                             '

CR      write(stdout,'(1x,A,I3)') 'indxR =',indxR
      vname(1,indxR)='rho                                         '
      vname(2,indxR)='density anomaly                             '
      vname(3,indxR)='kilogram meter-3                            '
      vname(4,indxR)='density, scalar, series                     '
      vname(5,indxR)='sea_water_sigma_t                           '
      vname(7,indxR)='                                            '

# if defined ANA_VMIX || defined BVF_MIXING \
      || defined LMD_MIXING || defined LMD_SKPP || defined LMD_BKPP \
      || defined GLS_MIXING
CR      write(stdout,'(1x,A,I3)') 'indxbvf =',indxbvf
      vname(1,indxbvf)='bvf                                       '
      vname(2,indxbvf)='Brunt Vaisala Frequency                   '
      vname(3,indxbvf)='second-1                                  '
      vname(4,indxbvf)='bvf, scalar, series                       '
      vname(5,indxbvf)='brunt_vaisala_frequency                   '
      vname(7,indxbvf)='                                          '
# endif

# ifdef VIS_COEF_3D
CR      write(stdout,'(1x,A,I3)') 'indxVisc =',indxVisc
      vname(1,indxVisc)='visc3d                                   '
      vname(2,indxVisc)='horizontal viscosity coefficient         '
#  ifdef UV_VIS2
      vname(3,indxVisc)='meter2 second-1                          '
      vname(5,indxVisc)='ocean_momentum_xy_laplacian              '
#  else
      vname(3,indxVisc)='meter4 second-1                          '
      vname(5,indxVisc)='ocean_momentum_xy_biharmonic_diffusivity '
#  endif
      vname(4,indxVisc)='visc3d, scalar, series                   '
      vname(6,indxVisc)='lat_rho lon_rho                          '
      vname(7,indxVisc)='                                         '
# endif
# ifdef DIF_COEF_3D
CR      write(stdout,'(1x,A,I3)') 'indxDiff =',indxDiff
      vname(1,indxDiff)='diff3d                                   '
      vname(2,indxDiff)='horizontal diffusivity coefficient       '
#  ifdef TS_DIF2
      vname(3,indxDiff)='meter2 second-1                          '
      vname(5,indxDiff)='ocean_tracer_xy_laplacian_diffusivity    '
#  else
      vname(3,indxDiff)='meter4 second-1                          '
      vname(5,indxDiff)='ocean_tracer_xy_biharmonic_diffusivity   '
#  endif
      vname(4,indxDiff)='diff3d, scalar, series                   '
      vname(6,indxDiff)='lat_rho lon_rho                          '
      vname(7,indxDiff)='                                         '
# endif

CR      write(stdout,'(1x,A,I3)') 'indxAkv =',indxAkv
      vname(1,indxAkv)='AKv                                       '
      vname(2,indxAkv)='vertical viscosity coefficient            '
      vname(3,indxAkv)='meter2 second-1                           '
      vname(4,indxAkv)='AKv, scalar, series                       '
      vname(5,indxAkv)='ocean_vertical_momentum_diffusivity_'
     &                                          // 'at_w_location '
      vname(6,indxAkv)='lat_rho lon_rho                           '
      vname(7,indxAkv)='                                          '

# ifdef TEMPERATURE
CR      write(stdout,'(1x,A,I3)') 'indxAkt =',indxAkt
      vname(1,indxAkt)='AKt                                       '
      vname(2,indxAkt)='temperature vertical diffusion coefficient'
      vname(3,indxAkt)='meter2 second-1                           '
      vname(4,indxAkt)='AKt, scalar, series                       '
      vname(5,indxAkt)='ocean_vertical_heat_diffusivity_'
     &                                         //  'at_w_location '
      vname(6,indxAkt)='lat_rho lon_rho                           '
      vname(7,indxAkt)='                                          '
# endif


# ifdef SALINITY
CR      write(stdout,'(1x,A,I3)') 'indxAks =',indxAks
      vname(1,indxAks)='AKs                                       '
      vname(2,indxAks)='salinity vertical diffusion coefficient   '
      vname(3,indxAks)='meter2 second-1                           '
      vname(4,indxAks)='AKs, scalar, series                       '
      vname(5,indxAks)='ocean_vertical_salt_diffusivity_'
     &               / /  'at_w_location                          '
      vname(6,indxAks)='lat_rho lon_rho                           '
      vname(7,indxAks)='                                          '
# endif
# if defined LMD_SKPP || defined GLS_MIXING
CR      write(stdout,'(1x,A,I3)') 'indxHbl =',indxHbl
      vname(1,indxHbl)='hbl                                       '
      vname(2,indxHbl)='depth of planetary boundary layer         '
      vname(3,indxHbl)='meter                                     '
      vname(4,indxHbl)='hbl, scalar, series                       '
      vname(5,indxHbl)='ocean_mixed_layer_thickness_defined_'
     &                                       // 'by_mixing_scheme '
      vname(6,indxHbl)='lat_rho lon_rho                           '
      vname(7,indxHbl)='                                          '
# endif
# ifdef LMD_BKPP
CR      write(stdout,'(1x,A,I3)') 'indxHbbl =',indxHbbl
      vname(1,indxHbbl)='hbbl                                     '
      vname(2,indxHbbl)='depth of bottom boundary layer           '
      vname(3,indxHbbl)='meter                                    '
      vname(4,indxHbbl)='hbbl, scalar, series                     '
      vname(5,indxHbbl)='                                         '
      vname(6,indxHbbl)='lat_rho lon_rho                          '
      vname(7,indxHbbl)='                                         '
# endif
# ifdef GLS_MIXING
CR      write(stdout,'(1x,A,I3)') 'indxTke =',indxTke
      vname(1,indxTke)='tke                                       '
      vname(2,indxTke)='turbulent kinetic energy                  '
      vname(3,indxTke)='meter2 second-2                           '
      vname(4,indxTke)='tke, scalar, series                       '
      vname(5,indxTke)='ocean_turbulent_kinetic_energy'
     &                                         // '_at_w_location '
      vname(6,indxTke)='lat_rho lon_rho                           '
      vname(7,indxTke)='                                          '
CR      write(stdout,'(1x,A,I3)') 'indxGls =',indxGls
      vname(1,indxGls)='gls                                       '
      vname(2,indxGls)='turbulent generic length scale            '
      vname(3,indxGls)='meter3 second-2                           '
      vname(4,indxGls)='gls, scalar, series                       '
      vname(5,indxGls)='ocean_generic_length_scale'
     &                                         // '_at_w_location '
      vname(6,indxGls)='lat_rho lon_rho                           '
      vname(7,indxGls)='                                          '
CR      write(stdout,'(1x,A,I3)') 'indxLsc =',indxLsc
      vname(1,indxLsc)='Lscale                                    '
      vname(2,indxLsc)='vertical mixing turbulent length scale    '
      vname(3,indxLsc)='meter                                     '
      vname(4,indxLsc)='Lscale, scalar, series                    '
      vname(5,indxLsc)='ocean_turbulent_length_scale'
     &                                         // '_at_w_location '
      vname(6,indxLsc)='lat_rho lon_rho                           '
      vname(7,indxLsc)='                                          '
# endif /* GLS_MIXING */

# if defined BIOLOGY && !defined PISCES
CR      write(stdout,'(1x,A,I3)') 'indxHel =',indxHel
      vname(1,indxHel)='hel                                       '
      vname(2,indxHel)='depth of euphotic layer                   '
      vname(3,indxHel)='meter                                     '
      vname(4,indxHel)='hel, scalar, series                       '
      vname(5,indxHel)='                                          '
      vname(6,indxHel)='lat_rho lon_rho                           '
      vname(7,indxHel)='                                          '
#  if (defined BIO_NChlPZD || defined BIO_N2ChlPZD2)
CR      write(stdout,'(1x,A,I3)') 'indxChC =',indxChC
      vname(1,indxChC)='theta                                     '
      vname(2,indxChC)='Chlorophyll to Carbon ratio               '
      vname(3,indxChC)='mgChl/mgC                                 '
      vname(4,indxChC)='theta, scalar, series                     '
      vname(5,indxChC)='                                          '
      vname(6,indxChC)='lat_rho lon_rho                           '
      vname(7,indxChC)='                                          '
#   ifdef OXYGEN
CR      write(stdout,'(1x,A,I3)') 'indxU10 =',indxU10
      vname(1,indxU10)='U10                                       '
      vname(2,indxU10)='surface wind speed 10 m                   '
      vname(3,indxU10)='meter second-1                            '
      vname(4,indxU10)='surface wind speed, scalar, series        '
      vname(5,indxU10)='                                          '
      vname(6,indxU10)='lat_rho lon_rho                           '
      vname(7,indxU10)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxKvO2 =',indxKvO2
      vname(1,indxKvO2)='KvO2                                     '
      vname(2,indxKvO2)='gas transfer coef for O2                 '
      vname(3,indxKvO2)='meter second-1                           '
      vname(4,indxKvO2)='gas transfer coef for O2, scalar, series '
      vname(5,indxKvO2)='                                         '
      vname(6,indxKvO2)='lat_rho lon_rho                          '
      vname(7,indxKvO2)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxO2sat =',indxO2sat
      vname(1,indxO2sat)='O2sat                                   '
      vname(2,indxO2sat)='saturation oxygen                       '
      vname(3,indxO2sat)='mMol O2 m-3                             '
      vname(4,indxO2sat)='saturation oxygen, scalar, series       '
      vname(5,indxO2sat)='                                        '
      vname(6,indxO2sat)='lat_rho lon_rho                         '
      vname(7,indxO2sat)='                                        '
#   endif
#  endif
# endif /* BIOLOGY */
#endif /* SOLVE3D */


#ifdef EXACT_RESTART

CR      write(stdout,'(1x,A,I3)') 'indxrufrc =',indxrufrc
      vname(1,indxrufrc)='rufrc                                   '
      vname(2,indxrufrc)='barotropic forcing terms                '
      vname(3,indxrufrc)='meter second-2                          '
      vname(4,indxrufrc)='rufrc, scalar, series                   '
      vname(5,indxrufrc)='barotropic_forcing_terms                '
      vname(6,indxrufrc)='lat_u lon_u                             '
      vname(7,indxrufrc)='                                        '

CR      write(stdout,'(1x,A,I3)') 'indxrvfrc =',indxrvfrc
      vname(1,indxrvfrc)='rvfrc                                   '
      vname(2,indxrvfrc)='barotropic forcing terms                '
      vname(3,indxrvfrc)='meter second-2                          '
      vname(4,indxrvfrc)='rvfrc, scalar, series                   '
      vname(5,indxrvfrc)='barotropic_forcing_terms                '
      vname(6,indxrvfrc)='lat_v lon_v                             '
      vname(7,indxrvfrc)='                                        '

# ifdef M3FAST

CR      write(stdout,'(1x,A,I3)') 'indxru_nbq =',indxru_nbq
      vname(1,indxru_nbq)='ru_nbq                                 '
      vname(2,indxru_nbq)='Fast momentum forcing terms            '
      vname(3,indxru_nbq)='meter second-2                         '
      vname(4,indxru_nbq)='ru_nbq, scalar, series                 '
      vname(5,indxru_nbq)='Fast_momentum_forcing_terms            '
      vname(6,indxru_nbq)='lat_u lon_u                            '
      vname(7,indxru_nbq)='                                       '

CR      write(stdout,'(1x,A,I3)') 'indxrv_nbq =',indxrv_nbq
      vname(1,indxrv_nbq)='rv_nbq                                 '
      vname(2,indxrv_nbq)='Fast momentum forcing terms            '
      vname(3,indxrv_nbq)='meter second-2                         '
      vname(4,indxrv_nbq)='rv_nbq, scalar, series                 '
      vname(5,indxrv_nbq)='Fast_momentum_forcing_terms            '
      vname(6,indxrv_nbq)='lat_v lon_v                            '
      vname(7,indxrv_nbq)='                                       '

CR      write(stdout,'(1x,A,I3)') 'indxru_nbq_avg2 =',indxru_nbq_avg2
      vname(1,indxru_nbq_avg2)='ru_nbq_avg2                       '
      vname(2,indxru_nbq_avg2)='Fast momentum forcing terms       '
      vname(3,indxru_nbq_avg2)='meter second-2                    '
      vname(4,indxru_nbq_avg2)='ru_nbq_avg2, scalar, series       '
      vname(5,indxru_nbq_avg2)='Fast_momentum_forcing_terms       '
      vname(6,indxru_nbq_avg2)='lat_u lon_u                       '
      vname(7,indxru_nbq_avg2)='                                  '

CR      write(stdout,'(1x,A,I3)') 'indxrv_nbq_avg2 =',indxrv_nbq_avg2
      vname(1,indxrv_nbq_avg2)='rv_nbq_avg2                       '
      vname(2,indxrv_nbq_avg2)='Fast momentum forcing terms       '
      vname(3,indxrv_nbq_avg2)='meter second-2                    '
      vname(4,indxrv_nbq_avg2)='rv_nbq_avg2, scalar, series       '
      vname(5,indxrv_nbq_avg2)='Fast_momentum_forcing_terms       '
      vname(6,indxrv_nbq_avg2)='lat_v lon_v                       '
      vname(7,indxrv_nbq_avg2)='                                  '

CR      write(stdout,'(1x,A,I3)') 'indxqdmu_nbq =',indxqdmu_nbq
      vname(1,indxqdmu_nbq)='qdmu_nbq                             '
      vname(2,indxqdmu_nbq)='Fast momentum forcing terms          '
      vname(3,indxqdmu_nbq)='meter second-2                       '
      vname(4,indxqdmu_nbq)='qdmu_nbq, scalar, series             '
      vname(5,indxqdmu_nbq)='Fast_momentum_forcing_terms          '
      vname(6,indxqdmu_nbq)='lat_u lon_u                          '
      vname(7,indxqdmu_nbq)='                                     '

CR      write(stdout,'(1x,A,I3)') 'indxqdmv_nbq =',indxqdmv_nbq
      vname(1,indxqdmv_nbq)='qdmv_nbq                             '
      vname(2,indxqdmv_nbq)='Fast momentum forcing terms          '
      vname(3,indxqdmv_nbq)='meter second-2                       '
      vname(4,indxqdmv_nbq)='qdmv_nbq, scalar, series             '
      vname(5,indxqdmv_nbq)='Fast_momentum_forcing_terms          '
      vname(6,indxqdmv_nbq)='lat_v lon_v                          '
      vname(7,indxqdmv_nbq)='                                     '

# endif  /* M3FAST */

# ifdef TS_MIX_ISO_FILT

!
! density gradients for use in t3dmix
!
CR      write(stdout,'(1x,A,I3)') 'indxdRdx =',indxdRdx
      vname(1,indxdRdx)='dRdx                                 '
      vname(2,indxdRdx)='Density gradient                     '
      vname(3,indxdRdx)='                                     '
      vname(4,indxdRdx)='dRdx, scalar, series                 '
      vname(5,indxdRdx)='Density_gradient                     '
      vname(6,indxdRdx)='lat_u lon_u                          '
      vname(7,indxdRdx)='                                     '

CR      write(stdout,'(1x,A,I3)') 'indxdRde =',indxdRde
      vname(1,indxdRde)='dRde                                 '
      vname(2,indxdRde)='Density_gradient                     '
      vname(3,indxdRde)='meter second-2                       '
      vname(4,indxdRde)='dRde, scalar, series                 '
      vname(5,indxdRde)='Density_gradient                     '
      vname(6,indxdRde)='lat_v lon_v                          '
      vname(7,indxdRde)='                                     '


# endif

#endif /* EXACT_RESTART */

CR      write(stdout,'(1x,A,I3)') 'indxSSH =',indxSSH
      vname(1,indxSSH)='SSH                                       '
      vname(2,indxSSH)='sea surface height                        '
      vname(3,indxSSH)='meter                                     '
      vname(4,indxSSH)='SSH, scalar, series                       '
      vname(5,indxSSH)='sea_surface_height_above_sea_level        '
      vname(6,indxSSH)='lat_rho lon_rho                           '
      vname(7,indxSSH)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxSUSTR =',indxSUSTR
      vname(1,indxSUSTR)='sustr                                   '
      vname(2,indxSUSTR)='surface u-momentum stress               '
      vname(3,indxSUSTR)='Newton meter-2                          '
      vname(4,indxSUSTR)='surface u-mom. stress, scalar, series   '
      vname(5,indxSUSTR)='surface_downward_x_stress               '
#ifdef STRESS_AT_RHO_POINTS
      vname(6,indxSUSTR)='lat_rho lon_rho                         '
#else
      vname(6,indxSUSTR)='lat_u lon_u                             '
#endif
      vname(7,indxSUSTR)='                                        '

CR      write(stdout,'(1x,A,I3)') 'indxSVSTR =',indxSVSTR
      vname(1,indxSVSTR)='svstr                                   '
      vname(2,indxSVSTR)='surface v-momentum stress               '
      vname(3,indxSVSTR)='Newton meter-2                          '
      vname(4,indxSVSTR)='surface v-mom. stress, scalar, series   '
      vname(5,indxSVSTR)='surface_downward_y_stress               '
#ifdef STRESS_AT_RHO_POINTS
      vname(6,indxSVSTR)='lat_rho lon_rho                         '
#else
      vname(6,indxSVSTR)='lat_v lon_v                             '
#endif
      vname(7,indxSVSTR)='                                        '

#ifdef SOLVE3D
!# if !defined BULK_FLUX
# ifdef QCORRECTION
CR      write(stdout,'(1x,A,I3)') 'indxSST =',indxSST
      vname(1,indxSST)='SST                                       '
      vname(2,indxSST)='sea surface temperature                   '
      vname(3,indxSST)='Celsius                                   '
      vname(4,indxSST)='SST, scalar, series                       '
      vname(5,indxSST)='sea_surface_temperature                   '
      vname(6,indxSST)='lat_rho lon_rho                           '
      vname(7,indxSST)='                                          '
      vname(8,indxSST)=' '

CR      write(stdout,'(1x,A,I3)') 'indxdQdSST =',indxdQdSST
      vname(1,indxdQdSST)='dQdSST                                 '
      vname(2,indxdQdSST)='surface heat flux sensitivity to SST   '
      vname(3,indxdQdSST)='Watts meter-2 Celsius-1                '
      vname(4,indxdQdSST)='dQdSST, scalar, series                 '
      vname(5,indxdQdSST)='heat_flux_correction                   '
      vname(6,indxdQdSST)='lat_rho lon_rho                        '
      vname(7,indxdQdSST)='                                       '
# endif
# ifdef PSOURCE_NCFILE
CR      write(stdout,'(1x,A,I3)') 'indxQBAR =',indxQBAR
      vname(1,indxQBAR)='Qbar                                     '
      vname(2,indxQBAR)='Runoff Discharge                         '
      vname(3,indxQBAR)='m3.s-1                                   '
      vname(4,indxQBAR)='Qbar, scalar, series                     '
#  ifdef PSOURCE_NCFILE_TS
CR      write(stdout,'(1x,A,I3)') 'indxTsrc(1) =',indxTsrc
        vname(1,indxTsrc)='temp_src                               '
        vname(2,indxTsrc)='Temp. source runoff                    '
        vname(3,indxTsrc)='deg. Celsius                           '
        vname(4,indxTsrc)='Tsrc(1), scalar, series                '

CR      write(stdout,'(1x,A,I3)') 'indxTsrc(2) =',indxTsrc+1
        vname(1,indxTsrc+1)='salt_src                             '
        vname(2,indxTsrc+1)='Salt. runoff                         '
        vname(3,indxTsrc+1)='psu                                  '
        vname(4,indxTsrc+1)='Tsrc(2), scalar, series              '
#   ifdef BIOLOGY
        do itrc=3,NT
          nametrc=vname(1,indxT+itrc-1)
          unitt=vname(3,indxT+itrc-1)
          write(vname1,*) trim(nametrc),'_src                     '
          vname(1,indxTsrc+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTVmix+itrc-1)
          vname(2,indxTsrc+itrc-1)='Tracer source concentration   '
          write(vname3,*) trim(unitt),'                           '
          vname(3,indxTsrc+itrc-1)=vname3
          vname(4,indxTsrc+itrc-1)='                              '
          vname(5,indxTsrc+itrc-1)='                              '
          vname(6,indxTsrc+itrc-1)='                              '
          vname(7,indxTsrc+itrc-1)='                              '
        enddo
#   endif
#  endif
# endif

# if defined BHFLUX
CR      write(stdout,'(1x,A,I3)') 'indxBhflx =',indxBhflx
      vname(1,indxBhflx)='bhflux                                 '
      vname(2,indxBhflx)='bottom net heat flux                   '
      vname(3,indxBhflx)='Watts meter-2                          '
      vname(4,indxBhflx)='bottom heat flux, scalar, series       '
      vname(5,indxBhflx)='                                       '
      vname(6,indxBhflx)='lat_rho lon_rho                        '
# endif
# if defined BWFLUX && defined SALINITY
CR      write(stdout,'(1x,A,I3)') 'indxBwflx =',indxBwflx
      vname(1,indxBwflx)='bwflux                                 '
      vname(2,indxBwflx)='bottom freshwater flux (E-P)          '
      vname(3,indxBwflx)='centimeter day-1                       '
      vname(4,indxBwflx)='bottom freshwater flux, scalar, series'
      vname(5,indxBwflx)='                                       '
      vname(6,indxBwflx)='lat_rho lon_rho                        '
# endif
# if defined SALINITY && defined SFLX_CORR
CR      write(stdout,'(1x,A,I3)') 'indxSSS =',indxSSS
      vname(1,indxSSS)='SSS                                       '
      vname(2,indxSSS)='sea surface salinity                      '
      vname(3,indxSSS)='PSU                                       '
      vname(4,indxSSS)='SSS, scalar, series                       '
      vname(5,indxSSS)='sea_surface_salinity                      '
      vname(6,indxSSS)='lat_rho lon_rho                           '
      vname(7,indxSSS)='                                          '
# endif

# if defined BBL
#  if (!defined ANA_BSEDIM && !defined SEDIMENT)
CR      write(stdout,'(1x,A,I3)') 'indxBSS =',indxBSS
      vname(1,indxBSS)='Ssize                                     '
      vname(2,indxBSS)='bottom sediment grain diameter size       '
      vname(3,indxBSS)='meter                                     '
      vname(4,indxBSS)='Ssize, scalar, series                     '
      vname(5,indxBSS)='                                          '
      vname(6,indxBSS)='lat_rho lon_rho                           '
      vname(7,indxBSS)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxBSD =',indxBSD
      vname(1,indxBSD)='Sdens                                     '
      vname(2,indxBSD)='bottom sediment grain density             '
      vname(3,indxBSD)='kilogram meter-3                          '
      vname(4,indxBSD)='Sdens, scalar, series                     '
      vname(5,indxBSD)='                                          '
      vname(6,indxBSD)='lat_rho lon_rho                           '
      vname(7,indxBSD)='                                          '
#  endif /* !SEDIMENT */
# endif /* BBL */
#endif /* SOLVE3D */

#if (defined MUSTANG || defined MRL_WCI || defined BBL) \
     && !defined  ANA_WWAVE

CR      write(stdout,'(1x,A,I3)') 'indxWWA',indxWWA

# ifdef MUSTANG
      vname(1,indxWWA)='hs                                        '
      vname(2,indxWWA)='significant wave height                   '
      vname(3,indxWWA)='meter                                     '
      vname(4,indxWWA)='Awave,scalar, series                      '
      vname(5,indxWWA)='                                          '
      vname(6,indxWWA)='lat_rho lon_rho                           '

CR      write(stdout,'(1x,A,I3)') 'indxWWD =',indxWWD
      vname(1,indxWWD)='dir                                       '
      vname(2,indxWWD)='wave direction                            '
      vname(3,indxWWD)='degrees                                   '
      vname(4,indxWWD)='Dwave, scalar, series                     '
      vname(5,indxWWD)='                                          '
      vname(6,indxWWD)='lat_rho lon_rho                           '
      vname(7,indxWWD)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxWWP =',indxWWP
      vname(1,indxWWP)='t01                                       '
      vname(2,indxWWP)='wave Period                               '
      vname(3,indxWWP)='second                                    '
      vname(4,indxWWP)='Pwave, scalar, series                     '
      vname(5,indxWWP)='                                          '
      vname(6,indxWWP)='lat_rho lon_rho                           '
      vname(7,indxWWP)='                                          '

      vname(1,indxWWU)='ubr                                       '
      vname(2,indxWWU)='wave orbital velocity                     '
      vname(3,indxWWU)='meter per second                          '
      vname(4,indxWWU)='Uwave,scalar, series                      '
      vname(5,indxWWU)='                                          '
      vname(6,indxWWU)='lat_rho lon_rho                           '
      vname(7,indxWWU)='                                          '
# else
CR      write(stdout,'(1x,A,I3)') 'indxWWA',indxWWA
      vname(1,indxWWA)='Awave                                     '
      vname(2,indxWWA)='wind induced wave amplitude               '
      vname(3,indxWWA)='meter                                     '
      vname(4,indxWWA)='Awave,scalar, series                      '
      vname(5,indxWWA)='                                          '
      vname(6,indxWWA)='lat_rho lon_rho                           '

CR      write(stdout,'(1x,A,I3)') 'indxWWD =',indxWWD
      vname(1,indxWWD)='Dwave                                     '
      vname(2,indxWWD)='wind induced wave direction               '
      vname(3,indxWWD)='degrees                                   '
      vname(4,indxWWD)='Dwave, scalar, series                     '
      vname(5,indxWWD)='                                          '
      vname(6,indxWWD)='lat_rho lon_rho                           '
      vname(7,indxWWD)='                                          '

CR      write(stdout,'(1x,A,I3)') 'indxWWP =',indxWWP
      vname(1,indxWWP)='Pwave                                     '
      vname(2,indxWWP)='wind induced wave Period                  '
      vname(3,indxWWP)='second                                    '
      vname(4,indxWWP)='Pwave, scalar, series                     '
      vname(5,indxWWP)='                                          '
      vname(6,indxWWP)='lat_rho lon_rho                           '
      vname(7,indxWWP)='                                          '
# endif  /* MUSTANG */

# ifdef WAVE_OFFLINE_BREAKING
CR      write(stdout,'(1x,A,I3)') 'indxWEB =',indxWEB
      vname(1,indxWEB)='Eb                                        '
      vname(2,indxWEB)='breaking dissipation                      '
      vname(3,indxWEB)='m3s-3                                     '
      vname(4,indxWEB)='Eb, scalar, series                        '
      vname(5,indxWEB)='                                          '
      vname(6,indxWEB)='lat_rho lon_rho                           '
      vname(7,indxWEB)='                                          '
# endif /* WAVE_OFFLINE_BREAKING */
# ifdef WAVE_OFFLINE_FRICTION
CR      write(stdout,'(1x,A,I3)') 'indxWED =',indxWED
      vname(1,indxWED)='Ed                                        '
      vname(2,indxWED)='frictional dissipation                    '
      vname(3,indxWED)='m3s-3                                     '
      vname(4,indxWED)='Ed, scalar, series                        '
      vname(5,indxWED)='                                          '
      vname(6,indxWED)='lat_rho lon_rho                           '
      vname(7,indxWED)='                                          '
# endif /* WAVE_OFFLINE_BREAKING */
# ifdef WAVE_OFFLINE_ROLLER
CR      write(stdout,'(1x,A,I3)') 'indxWER =',indxWER
      vname(1,indxWER)='Er                                        '
      vname(2,indxWER)='roller dissipation                        '
      vname(3,indxWER)='m3s-3                                     '
      vname(4,indxWER)='Er, scalar, series                        '
      vname(5,indxWER)='                                          '
      vname(6,indxWER)='lat_rho lon_rho                           '
      vname(7,indxWER)='                                          '
# endif /* WAVE_OFFLINE_BREAKING */
#endif /* !ANA_WWAVE */

#if defined WKB_WWAVE || defined OW_COUPLING \
	              || (defined WAVE_OFFLINE && defined MRL_WCI)
CR      write(stdout,'(1x,A,I3)') 'indxHRM =',indxHRM
      vname(1,indxHRM)='hrm                                       '
      vname(2,indxHRM)='RMS wave height                           '
      vname(3,indxHRM)='meter                                     '

CR      write(stdout,'(1x,A,I3)') 'indxFRQ =',indxFRQ
      vname(1,indxFRQ)='frq                                       '
      vname(2,indxFRQ)='wave frequency                            '
      vname(3,indxFRQ)='rad/second                                '

CR      write(stdout,'(1x,A,I3)') 'indxWAC =',indxWAC
      vname(1,indxWAC)='wac                                       '
      vname(2,indxWAC)='wave action                               '
      vname(3,indxWAC)='meter^3 second^-1                         '

CR      write(stdout,'(1x,A,I3)') 'indxWKX =',indxWKX
      vname(1,indxWKX)='wkx                                       '
      vname(2,indxWKX)='xi-dir wavenumber vector                  '
      vname(3,indxWKX)='radian/meter                              '

CR      write(stdout,'(1x,A,I3)') 'indxWKE =',indxWKE
      vname(1,indxWKE)='wke                                       '
      vname(2,indxWKE)='eta-dir wavenumber vector                 '
      vname(3,indxWKE)='radian/meter                              '

CR      write(stdout,'(1x,A,I3)') 'indxEPB =',indxEPB
      vname(1,indxEPB)='epb                                       '
      vname(2,indxEPB)='breaking dissipation, epsilon_b           '
      vname(3,indxEPB)='meter^3/second^3                          '

CR      write(stdout,'(1x,A,I3)') 'indxEPD =',indxEPD
      vname(1,indxEPD)='epd                                       '
      vname(2,indxEPD)='frictional dissipation, epsilon_d         '
      vname(3,indxEPD)='meter^3/second^3                          '

CR      write(stdout,'(1x,A,I3)') 'indxWAR =',indxWAR
      vname(1,indxWAR)='war                                       '
      vname(2,indxWAR)='wave action of roller component           '
      vname(3,indxWAR)='meter^3 second^-1                         '

CR      write(stdout,'(1x,A,I3)') 'indxEPR =',indxEPR
      vname(1,indxEPR)='epr                                       '
      vname(2,indxEPR)='roller dissipation, epsilon_r             '
      vname(3,indxEPR)='meter^3/second^3                          '
#endif /* WKB_WWAVE || OW_COUPLING || WAVE_OFFLINE */

#ifdef MRL_WCI
CR      write(stdout,'(1x,A,I3)') 'indxSUP =',indxSUP
      vname(1,indxSUP)  ='sup                                     '
      vname(2,indxSUP)  ='quasi-static sea-level response (setup) '
      vname(3,indxSUP)  ='meter                                   '

CR      write(stdout,'(1x,A,I3)') 'indxUST2D =',indxUST2D
      vname(1,indxUST2D)='ust2d                                   '
      vname(2,indxUST2D)='u depth-averaged Stokes drift velocity  '
      vname(3,indxUST2D)='meter second-1                          '

CR      write(stdout,'(1x,A,I3)') 'indxVST2D =',indxVST2D
      vname(1,indxVST2D)='vst2d                                   '
      vname(2,indxVST2D)='v depth-averaged Stokes drift velocity  '
      vname(3,indxVST2D)='meter second-1                          '
# ifdef SOLVE3D
CR      write(stdout,'(1x,A,I3)') 'indxUST =',indxUST
      vname(1,indxUST)  ='ust                                     '
      vname(2,indxUST)  ='u 3D Stokes drift velocity              '
      vname(3,indxUST)  ='meter second-1                          '

CR      write(stdout,'(1x,A,I3)') 'indxVST =',indxVST
      vname(1,indxVST)  ='vst                                     '
      vname(2,indxVST)  ='v 3D Stokes drift velocity              '
      vname(3,indxVST)  ='meter second-1                          '

CR      write(stdout,'(1x,A,I3)') 'indxWST =',indxWST
      vname(1,indxWST)  ='wst                                     '
      vname(2,indxWST)  ='w vertical 3D Stokes drift velocity     '
      vname(3,indxWST)  ='meter second-1                          '

CR      write(stdout,'(1x,A,I3)') 'indxAKB =',indxAKB
      vname(1,indxAKB)  ='Akb                                     '
      vname(2,indxAKB)  ='eddy viscosity due to wave breaking     '
      vname(3,indxAKB)  ='meter2 second-1                         '

CR      write(stdout,'(1x,A,I3)') 'indxAKW =',indxAKW
      vname(1,indxAKW)  ='Akw                                     '
      vname(2,indxAKW)  ='eddy diffusivity due to primary waves   '
      vname(3,indxAKW)  ='meter2 second-1                         '

CR      write(stdout,'(1x,A,I3)') 'indxKVF =',indxKVF
      vname(1,indxKVF)  ='kvf                                     '
      vname(2,indxKVF)  ='vertical vortex force (u^st du/dz)      '
      vname(3,indxKVF)  ='meter second-2                          '

CR      write(stdout,'(1x,A,I3)') 'indxCALP =',indxCALP
      vname(1,indxCALP) ='calP                                    '
      vname(2,indxCALP) ='surface pressure correction in prsgrd   '
      vname(3,indxCALP) ='meter2 second-2                         '

CR      write(stdout,'(1x,A,I3)') 'indxKAPS =',indxKAPS
      vname(1,indxKAPS) ='Kapsrf                                  '
      vname(2,indxKAPS) ='surface Bernoulli head in prsgrd term   '
      vname(3,indxKAPS) ='meter2 second-2                         '
# endif
#endif /* MRL_WCI */

#ifdef ICE
      vname(1,indxAi)='aice                                       '
      vname(2,indxAi)='fraction of cell covered by ice            '
      vname(3,indxAi)='nondimensional                             '
      vname(4,indxAi)='aice, scalar, series                       '
      vname(5,indxAi)='                                           '
      vname(6,indxAi)='lat_rho lon_rho                            '
      vname(7,indxAi)='                                           '
      vname(1,indxUi)='uice                                       '
      vname(2,indxUi)='u-component of ice velocity                '
      vname(3,indxUi)='meter sec-1                                '
      vname(4,indxUi)='uice, scalar, series                       '
      vname(5,indxUi)='                                           '
      vname(6,indxUi)='lat_u lon_u                                '
      vname(7,indxUi)='                                           '

      vname(1,indxVi)='vice                                       '
      vname(2,indxVi)='v-component of ice velocity                '
      vname(3,indxVi)='meter sec-1                                '
      vname(4,indxVi)='vice, scalar, series                       '
      vname(5,indxVi)='                                           '
      vname(6,indxVi)='lat_v lon_v                                '
      vname(7,indxVi)='                                           '

      vname(1,indxHi)='hice                                       '
      vname(2,indxHi)='depth of ice cover                         '
      vname(3,indxHi)='meter                                      '
      vname(4,indxHi)='hice, scalar, series                       '
      vname(5,indxHi)='                                           '
      vname(6,indxHi)='lat_rho lon_rho                            '
      vname(7,indxHi)='                                           '

      vname(1,indxHS)='snow_thick                                 '
      vname(2,indxHS)='depth of snow cover                        '
      vname(3,indxHS)='meter                                      '
      vname(4,indxHS)='snow_thick, scalar, series                 '
      vname(5,indxHS)='                                           '
      vname(6,indxHS)='lat_rho lon_rho                            '
      vname(7,indxHS)='                                           '

      vname(1,indxTIsrf)='tisrf                                   '
      vname(2,indxTIsrf)='temperature of ice surface              '
      vname(3,indxTIsrf)='Kelvin                                  '
      vname(4,indxTIsrf)='tsrf, scalar, series                    '
      vname(5,indxTIsrf)='                                        '
      vname(6,indxTIsrf)='lat_rho lon_rho                         '
      vname(7,indxTIsrf)='                                        '
#endif

#ifdef BULK_FLUX
# ifdef ONLINE /* JG ONLINE */
      do blkvar_id=1,nblkvrs
        itbulkO(blkvar_id)=0
        newbulk(blkvar_id)=.true.
        bulk_timeO(1:2,blkvar_id)=-1.E+20
        bulk_recO(blkvar_id)=0
      enddo
      call get_bulkvar_names
#  ifdef ABL1D

      vname_abl1d(1,indxUHPG)='uhpg                                     '
      vname_abl1d(2,indxUHPG)='large-scale u-pressure gradient          '
      vname_abl1d(3,indxUHPG)='meter second-1                           '
      vname_abl1d(4,indxUHPG)='u-pressure gradient, scalar, series      '
      vname_abl1d(5,indxUHPG)='x_hpg                                    '
      vname_abl1d(6,indxUHPG)='lat_rho lon_rho                          '
      vname_abl1d(7,indxUHPG)='                                         '

      vname_abl1d(1,indxVHPG)='vhpg                                     '
      vname_abl1d(2,indxVHPG)='large-scale v-pressure gradient          '
      vname_abl1d(3,indxVHPG)='meter second-1                           '
      vname_abl1d(4,indxVHPG)='v-pressure gradient, scalar, series      '
      vname_abl1d(5,indxVHPG)='y_hpg                                    '
      vname_abl1d(6,indxVHPG)='lat_rho lon_rho                          '
      vname_abl1d(7,indxVHPG)='                                         '

      vname_abl1d(1,indxZR)='zr                                       '
      vname_abl1d(2,indxZR)='large-scale u-pressure gradient          '
      vname_abl1d(3,indxZR)='meter second-1                           '
      vname_abl1d(4,indxZR)='u-pressure gradient, scalar, series      '
      vname_abl1d(5,indxZR)='x_hpg                                    '
      vname_abl1d(6,indxZR)='lat_rho lon_rho                          '
      vname_abl1d(7,indxZR)='                                         '

      vname_abl1d(1,indxZW)='zw                                       '
      vname_abl1d(2,indxZW)='large-scale v-pressure gradient          '
      vname_abl1d(3,indxZW)='meter second-1                           '
      vname_abl1d(4,indxZW)='v-pressure gradient, scalar, series      '
      vname_abl1d(5,indxZW)='y_hpg                                    '
      vname_abl1d(6,indxZW)='lat_rho lon_rho                          '
      vname_abl1d(7,indxZW)='                                         '

      vname_abl1d(1,indxHZR)='Hzr                                      '
      vname_abl1d(2,indxHZR)='large-scale u-pressure gradient          '
      vname_abl1d(3,indxHZR)='meter second-1                           '
      vname_abl1d(4,indxHZR)='u-pressure gradient, scalar, series      '
      vname_abl1d(5,indxHZR)='x_hpg                                    '
      vname_abl1d(6,indxHZR)='lat_rho lon_rho                          '
      vname_abl1d(7,indxHZR)='                                         '

      vname_abl1d(1,indxHZW)='Hzw                                      '
      vname_abl1d(2,indxHZW)='large-scale v-pressure gradient          '
      vname_abl1d(3,indxHZW)='meter second-1                           '
      vname_abl1d(4,indxHZW)='v-pressure gradient, scalar, series      '
      vname_abl1d(5,indxHZW)='y_hpg                                    '
      vname_abl1d(6,indxHZW)='lat_rho lon_rho                          '
      vname_abl1d(7,indxHZW)='                                         '
#  endif

# else
CR      write(stdout,'(1x,A,I3)') 'indxWSPD =',indxWSPD
      vname(1,indxWSPD)='wspd                                     '
      vname(2,indxWSPD)='surface wind speed 10 m                  '
      vname(3,indxWSPD)='meter second-1                           '
      vname(4,indxWSPD)='surface wind speed, scalar, series       '
      vname(5,indxWSPD)='wind_speed                               '
      vname(6,indxWSPD)='lat_rho lon_rho                          '
      vname(7,indxWSPD)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxTAIR =',indxTAIR
      vname(1,indxTAIR)='tair                                     '
#  ifndef ABL1D
      vname(2,indxTAIR)='surface air temperature 2m               '
#  else
      vname(2,indxTAIR)='atmospheric 3D temperature               '
#  endif
      vname(3,indxTAIR)='Celsius                                  '
      vname(4,indxTAIR)='surface air temperature, scalar, series  '
      vname(5,indxTAIR)='air_temperature                          '
      vname(6,indxTAIR)='lat_rho lon_rho                          '
      vname(7,indxTAIR)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxRHUM =',indxRHUM
      vname(1,indxRHUM)='rhum                                     '
#  ifndef ABL1D
      vname(2,indxRHUM)='surface air relative humidity 2m         '
#  else
      vname(2,indxRHUM)='atmospheric 3D spec humidity             '
#  endif
      vname(3,indxRHUM)='fraction                                 '
      vname(4,indxRHUM)='surface relative humidity, scalar, series'
      vname(5,indxRHUM)='specific_humidity                        '
      vname(6,indxRHUM)='lat_rho lon_rho                          '
      vname(7,indxRHUM)='                                         '

#  ifndef BULK_LW
CR      write(stdout,'(1x,A,I3)') 'indxRADLW =',indxRADLW
      vname(1,indxRADLW)='radlw                                   '
      vname(2,indxRADLW)='net terrestrial longwave radiation      '
      vname(3,indxRADLW)='Watts meter-2                           '
      vname(4,indxRADLW)='terrestrial longwave, scalar, series    '
      vname(5,indxRADLW)='surface_net_downward_longwave_flux      '
      vname(6,indxRADLW)='                                        '
      vname(7,indxRADLW)='                                        '
#  else
CR      write(stdout,'(1x,A,I3)') 'indxRADLW =',indxRADLW
      vname(1,indxRADLW)='radlw_in                                '
      vname(2,indxRADLW)='downward longwave radiation             '
      vname(3,indxRADLW)='Watts meter-2                           '
      vname(4,indxRADLW)='downward longwave, scalar, series       '
      vname(5,indxRADLW)='surface_net_downward_longwave_flux      '
      vname(6,indxRADLW)='                                        '
      vname(7,indxRADLW)='                                        '
#  endif  /* BULK_LW */


CR      write(stdout,'(1x,A,I3)') 'indxPRATE =',indxPRATE
      vname(1,indxPRATE)='prate                                   '
      vname(2,indxPRATE)='surface precipitation rate              '
      vname(3,indxPRATE)='Kg meter-2 second-1                     '
      vname(4,indxPRATE)='precipitation rate, scalar, series      '
      vname(5,indxPRATE)='                                        '
      vname(6,indxPRATE)='lat_rho lon_rho                         '
      vname(7,indxPRATE)='                                        '

CR      write(stdout,'(1x,A,I3)') 'indxUWND =',indxUWND
      vname(1,indxUWND)='uwnd                                     '
#  ifndef ABL1D
      vname(2,indxUWND)='surface u-wind speed 10 m                '
#  else
      vname(2,indxUWND)='atmospheric 3D u-wind                    '
#  endif
      vname(3,indxUWND)='meter second-1                           '
      vname(4,indxUWND)='surface wind speed, scalar, series       '
      vname(5,indxUWND)='x_wind                                   '
#  ifndef ABL1D
      vname(6,indxUWND)='lat_u lon_u                              '
#  else
      vname(6,indxUWND)='lat_rho lon_rho                          '
#  endif
      vname(7,indxUWND)='                                         '

CR      write(stdout,'(1x,A,I3)') 'indxVWND =',indxVWND
      vname(1,indxVWND)='vwnd                                     '
#  ifndef ABL1D
      vname(2,indxVWND)='surface v-wind speed 10 m                '
#  else
      vname(2,indxVWND)='atmospheric 3D v-wind                    '
#  endif
      vname(3,indxVWND)='meter second-1                           '
      vname(4,indxVWND)='surface wind speed, scalar, series       '
      vname(5,indxVWND)='y_wind                                   '
#  ifndef ABL1D
      vname(6,indxVWND)='lat_v lon_v                              '
#  else
      vname(6,indxVWND)='lat_rho lon_rho                          '
#  endif
      vname(7,indxVWND)='                                         '

#  ifdef ABL1D
      vname_abl1d(1,indxUHPG)='uhpg                                     '
      vname_abl1d(2,indxUHPG)='large-scale u-pressure gradient          '
      vname_abl1d(3,indxUHPG)='meter second-1                           '
      vname_abl1d(4,indxUHPG)='u-pressure gradient, scalar, series      '
      vname_abl1d(5,indxUHPG)='x_hpg                                    '
      vname_abl1d(6,indxUHPG)='lat_rho lon_rho                          '
      vname_abl1d(7,indxUHPG)='                                         '

      vname_abl1d(1,indxVHPG)='vhpg                                     '
      vname_abl1d(2,indxVHPG)='large-scale v-pressure gradient          '
      vname_abl1d(3,indxVHPG)='meter second-1                           '
      vname_abl1d(4,indxVHPG)='v-pressure gradient, scalar, series      '
      vname_abl1d(5,indxVHPG)='y_hpg                                    '
      vname_abl1d(6,indxVHPG)='lat_rho lon_rho                          '
      vname_abl1d(7,indxVHPG)='                                         '

      vname_abl1d(1,indxZR)='zr                                       '
      vname_abl1d(2,indxZR)='large-scale u-pressure gradient          '
      vname_abl1d(3,indxZR)='meter second-1                           '
      vname_abl1d(4,indxZR)='u-pressure gradient, scalar, series      '
      vname_abl1d(5,indxZR)='x_hpg                                    '
      vname_abl1d(6,indxZR)='lat_rho lon_rho                          '
      vname_abl1d(7,indxZR)='                                         '

      vname_abl1d(1,indxZW)='zw                                       '
      vname_abl1d(2,indxZW)='large-scale v-pressure gradient          '
      vname_abl1d(3,indxZW)='meter second-1                           '
      vname_abl1d(4,indxZW)='v-pressure gradient, scalar, series      '
      vname_abl1d(5,indxZW)='y_hpg                                    '
      vname_abl1d(6,indxZW)='lat_rho lon_rho                          '
      vname_abl1d(7,indxZW)='                                         '

      vname_abl1d(1,indxHZR)='Hzr                                      '
      vname_abl1d(2,indxHZR)='large-scale u-pressure gradient          '
      vname_abl1d(3,indxHZR)='meter second-1                           '
      vname_abl1d(4,indxHZR)='u-pressure gradient, scalar, series      '
      vname_abl1d(5,indxHZR)='x_hpg                                    '
      vname_abl1d(6,indxHZR)='lat_rho lon_rho                          '
      vname_abl1d(7,indxHZR)='                                         '

      vname_abl1d(1,indxHZW)='Hzw                                      '
      vname_abl1d(2,indxHZW)='large-scale v-pressure gradient          '
      vname_abl1d(3,indxHZW)='meter second-1                           '
      vname_abl1d(4,indxHZW)='v-pressure gradient, scalar, series      '
      vname_abl1d(5,indxHZW)='y_hpg                                    '
      vname_abl1d(6,indxHZW)='lat_rho lon_rho                          '
      vname_abl1d(7,indxHZW)='                                         '
#  endif

# endif /* ONLINE */
#endif /* BULK_FLUX */

#ifdef DIAGNOSTICS_TS
      do itrc=1,NT

CR       write(stdout,'(1x,A,I3)') 'indxTXadv = ',indxTXadv+itrc-1
       lvar=lenstr(vname(1,indxT+itrc-1))
       nametrc=vname(1,indxT+itrc-1)(1:lvar)
       lvar=lenstr(nametrc)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_xadv                       '
       vname(1,indxTXadv+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTXadv+itrc-1)
       vname(2,indxTXadv+itrc-1)='Horizontal (xi) advection term  '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTXadv+itrc-1)=vname3
       vname(4,indxTXadv+itrc-1)='                                '
       vname(5,indxTXadv+itrc-1)='                                '
       vname(7,indxTXadv+itrc-1)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxTYadv = ',indxTYadv+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_yadv                       '
       vname(1,indxTYadv+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTYadv+itrc-1)
       vname(2,indxTYadv+itrc-1)='Horizontal (eta) advection term '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTYadv+itrc-1)=vname3
       vname(4,indxTYadv+itrc-1)='                                '
       vname(5,indxTYadv+itrc-1)='                                '
       vname(6,indxTYadv+itrc-1)='                                '
       vname(7,indxTYadv+itrc-1)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxTVadv = ',indxTVadv+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_vadv                       '
       vname(1,indxTVadv+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTVadv+itrc-1)
       vname(2,indxTVadv+itrc-1)='Vertical advection term         '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTVadv+itrc-1)=vname3
       vname(4,indxTVadv+itrc-1)='                                '
       vname(5,indxTVadv+itrc-1)='                                '
       vname(6,indxTVadv+itrc-1)='                                '
       vname(7,indxTVadv+itrc-1)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxTHmix = ',indxTHmix+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_hmix                       '
       vname(1,indxTHmix+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTHmix+itrc-1)
       vname(2,indxTHmix+itrc-1)='Horizontal mixing term          '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTHmix+itrc-1)=vname3
       vname(4,indxTHmix+itrc-1)='                                '
       vname(5,indxTHmix+itrc-1)='                                '
       vname(6,indxTHmix+itrc-1)='                                '
       vname(7,indxTHmix+itrc-1)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxTVmix = ',indxTVmix+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_vmix                       '
       vname(1,indxTVmix+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTVmix+itrc-1)
       vname(2,indxTVmix+itrc-1)='Vertical mixing term            '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTVmix+itrc-1)=vname3
       vname(4,indxTVmix+itrc-1)='                                '
       vname(5,indxTVmix+itrc-1)='                                '
       vname(6,indxTVmix+itrc-1)='                                '
       vname(7,indxTVmix+itrc-1)='                                '

# ifdef DIAGNOSTICS_TSVAR

CR       write(stdout,'(1x,A,I3)') 'indxTVmixt = ',indxTVmixt+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_vmix_trans                 '
       vname(1,indxTVmixt+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTVmixt+itrc-1)
       vname(2,indxTVmixt+itrc-1)='Vertical mixing term            '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTVmixt+itrc-1)=vname3
       vname(4,indxTVmixt+itrc-1)='                                '
       vname(5,indxTVmixt+itrc-1)='                                '
       vname(6,indxTVmixt+itrc-1)='                                '
       vname(7,indxTVmixt+itrc-1)='                                '

# endif

CR       write(stdout,'(1x,A,I3)') 'indxTForc = ',indxTForc+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_forc                       '
       vname(1,indxTForc+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTForc+itrc-1)
       vname(2,indxTForc+itrc-1)='Forcing term (Q & Nudging)      '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTForc+itrc-1)=vname3
       vname(4,indxTForc+itrc-1)='                                '
       vname(5,indxTForc+itrc-1)='                                '
       vname(6,indxTForc+itrc-1)='                                '
       vname(7,indxTForc+itrc-1)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxTrate = ',indxTrate+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_rate                       '
       vname(1,indxTrate+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTrate+itrc-1)
       vname(2,indxTrate+itrc-1)='Time rate of change             '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTrate+itrc-1)=vname3
       vname(4,indxTrate+itrc-1)='                                '
       vname(5,indxTrate+itrc-1)='                                '
       vname(6,indxTrate+itrc-1)='                                '
       vname(7,indxTrate+itrc-1)='                                '
!
! Tracer diagnostics variables averaged over the MLD
!
# ifdef DIAGNOSTICS_TS_MLD
CR       write(stdout,'(1x,A,I3)') 'indxTXadv_mld = ',indxTXadv_mld+itrc-1
       lvar=lenstr(vname(1,indxT+itrc-1))
       nametrc=vname(1,indxT+itrc-1)(1:lvar)
       lvar=lenstr(nametrc)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_xadv_mld                   '
       vname(1,indxTXadv_mld+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTXadv_mld+itrc-1)
       vname(2,indxTXadv_mld+itrc-1)='MLD xi advection term       '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTXadv_mld+itrc-1)=vname3
       vname(4,indxTXadv_mld+itrc-1)='                            '
       vname(5,indxTXadv_mld+itrc-1)='                            '
       vname(6,indxTXadv_mld+itrc-1)='                            '
       vname(7,indxTXadv_mld+itrc-1)='                            '

CR       write(stdout,'(1x,A,I3)') 'indxTYadv_mld = ',indxTYadv_mld+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_yadv_mld                   '
       vname(1,indxTYadv_mld+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTYadv_mld+itrc-1)
       vname(2,indxTYadv_mld+itrc-1)='MLD eta advection term      '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTYadv_mld+itrc-1)=vname3
       vname(4,indxTYadv_mld+itrc-1)='                            '
       vname(5,indxTYadv_mld+itrc-1)='                            '
       vname(6,indxTYadv_mld+itrc-1)='                            '
       vname(7,indxTYadv_mld+itrc-1)='                            '

CR       write(stdout,'(1x,A,I3)') 'indxTVadv_mld = ',indxTVadv_mld+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_vadv_mld                   '
       vname(1,indxTVadv_mld+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTVadv+itrc-1)
       vname(2,indxTVadv_mld+itrc-1)='MLD vertical advection term '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTVadv_mld+itrc-1)=vname3
       vname(4,indxTVadv_mld+itrc-1)='                            '
       vname(5,indxTVadv_mld+itrc-1)='                            '
       vname(6,indxTVadv_mld+itrc-1)='                            '
       vname(7,indxTVadv_mld+itrc-1)='                            '

CR       write(stdout,'(1x,A,I3)') 'indxTHmix_mld = ',indxTHmix_mld+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_hmix_mld                   '
       vname(1,indxTHmix_mld+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTHmix_mld+itrc-1)
       vname(2,indxTHmix_mld+itrc-1)='MLD xi mixing term          '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTHmix_mld+itrc-1)=vname3
       vname(4,indxTHmix_mld+itrc-1)='                            '
       vname(5,indxTHmix_mld+itrc-1)='                            '
       vname(6,indxTHmix_mld+itrc-1)='                            '
       vname(7,indxTHmix_mld+itrc-1)='                            '

CR       write(stdout,'(1x,A,I3)') 'indxTVmix_mld = ',indxTVmix_mld+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_vmix_mld                   '
       vname(1,indxTVmix_mld+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTVmix_mld+itrc-1)
       vname(2,indxTVmix_mld+itrc-1)='MLD vertical mixing term    '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTVmix_mld+itrc-1)=vname3
       vname(4,indxTVmix_mld+itrc-1)='                            '
       vname(5,indxTVmix_mld+itrc-1)='                            '
       vname(6,indxTVmix_mld+itrc-1)='                            '
       vname(7,indxTVmix_mld+itrc-1)='                            '

CR       write(stdout,'(1x,A,I3)') 'indxTForc_mld = ',indxTForc_mld+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_forc_mld                   '
       vname(1,indxTForc_mld+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTForc_mld+itrc-1)
       vname(2,indxTForc_mld+itrc-1)='MLD Forcing term (Q & Nudg) '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTForc_mld+itrc-1)=vname3
       vname(4,indxTForc_mld+itrc-1)='                            '
       vname(5,indxTForc_mld+itrc-1)='                            '
       vname(6,indxTForc_mld+itrc-1)='                            '
       vname(7,indxTForc_mld+itrc-1)='                            '

CR       write(stdout,'(1x,A,I3)') 'indxTrate_mld = ',indxTrate_mld+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_rate_mld                   '
       vname(1,indxTrate_mld+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTrate_mld+itrc-1)
       vname(2,indxTrate_mld+itrc-1)='MLD time rate of change     '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTrate_mld+itrc-1)=vname3
       vname(4,indxTrate_mld+itrc-1)='                            '
       vname(5,indxTrate_mld+itrc-1)='                            '
       vname(6,indxTrate_mld+itrc-1)='                            '
       vname(7,indxTrate_mld+itrc-1)='                            '

CR       write(stdout,'(1x,A,I3)') 'indxTentr_mld = ',indxTentr_mld+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_entr_mld                   '
       vname(1,indxTentr_mld+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTentr_mld+itrc-1)
       vname(2,indxTentr_mld+itrc-1)='MLD entrainment rate        '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxTentr_mld+itrc-1)=vname3
       vname(4,indxTentr_mld+itrc-1)='                            '
       vname(5,indxTentr_mld+itrc-1)='                            '
       vname(6,indxTentr_mld+itrc-1)='                            '
       vname(7,indxTentr_mld+itrc-1)='                            '

CR       write(stdout,'(1x,A,I3)') 'indxTaver_mld = ',indxTaver_mld+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_aver_mld                   '
       vname(1,indxTaver_mld+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxTaver_mld+itrc-1)
       vname(2,indxTaver_mld+itrc-1)='MLD average                 '
       write(vname3,*) trim(unitt),'                              '
       vname(3,indxTaver_mld+itrc-1)=vname3
       vname(4,indxTaver_mld+itrc-1)='                            '
       vname(5,indxTaver_mld+itrc-1)='                            '
       vname(6,indxTaver_mld+itrc-1)='                            '
       vname(7,indxTaver_mld+itrc-1)='                            '
#  if defined DIAGNOSTICS_TS_MLD_DENS
CR       write(stdout,'(1x,A,I3)') 'indxTcrit_mld = ',indxTcrit_mld+itrc-1
       nametrc=vname(1,indxT+itrc-1)
       unitt=vname(3,indxT+itrc-1)
       if (itrc.eq.1) then
         vname(1,indxTcrit_mld+itrc-1)='dens_mld_depth            '
         vname(2,indxTcrit_mld+itrc-1)='MLD (density criterion)   '
       endif
       if (itrc.eq.2) then
         vname(1,indxTcrit_mld+itrc-1)='temp_mld_depth            '
         vname(2,indxTcrit_mld+itrc-1)='MLD (temp criterion)      '
       endif
CR       write(stdout,'(20x,A)') vname(1,indxTcrit_mld+itrc-1)
       write(vname3,*)               ' meter                      '
       vname(3,indxTcrit_mld+itrc-1)=vname3
       vname(4,indxTcrit_mld+itrc-1)='                            '
       vname(5,indxTcrit_mld+itrc-1)='                            '
       vname(6,indxTcrit_mld+itrc-1)='                            '
       vname(7,indxTcrit_mld+itrc-1)='                            '
#  endif 
# endif /* DIAGNOSTICS_TS_MLD */

      enddo  ! itrc
#endif  /* DIAGNOSTICS_TS */

#ifdef DIAGNOSTICS_UV
      do itrc=1,2
CR       write(stdout,'(1x,A,I3)') 'indxMXadv = ',indxMXadv+itrc-1
       lvar=lenstr(vname(1,indxU+itrc-1))
       nametrc=vname(1,indxU+itrc-1)(1:lvar)
       lvar=lenstr(nametrc)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_xadv                       '
       vname(1,indxMXadv+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMxadv+itrc-1)
       vname(2,indxMXadv+itrc-1)='Horizontal (xi) advection term  '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMXadv+itrc-1)=vname3
       vname(4,indxMXadv+itrc-1)='                                '
       write(vname3,*) 'horizontal_Xi_advection_term_',trim(nametrc)
     &               //'_component'
       vname(5,indxMXadv+itrc-1)=vname3
       vname(6,indxMXadv+itrc-1)='                                '
       vname(7,indxMXadv+itrc-1)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxMYadv = ',indxMYadv+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_yadv                       '
       vname(1,indxMYadv+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMYadv+itrc-1)
       vname(2,indxMYadv+itrc-1)='Horizontal (eta) advection term '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMYadv+itrc-1)=vname3
       vname(4,indxMYadv+itrc-1)='                                '
       write(vname3,*) 'horizontal_eta_advection_term_',trim(nametrc)
     &               //'_component'
       vname(5,indxMYadv+itrc-1)=vname3
       vname(6,indxMYadv+itrc-1)='                                '
       vname(7,indxMYadv+itrc-1)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxMVadv = ',indxMVadv+itrc-1
                    nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_vadv                       '
       vname(1,indxMVadv+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMVadv+itrc-1)
       vname(2,indxMVadv+itrc-1)='Vertical advection term         '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMVadv+itrc-1)=vname3
       vname(4,indxMVadv+itrc-1)='                                '
       write(vname3,*) 'vertical_advection_term_',trim(nametrc)
     &               //'_component'
       vname(5,indxMVadv+itrc-1)=vname3
       vname(6,indxMVadv+itrc-1)='                                '
       vname(7,indxMVadv+itrc-1)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxMCor = ',indxMCor+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_cor                        '
       vname(1,indxMCor+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMcor+itrc-1)
       vname(2,indxMCor+itrc-1)='Coriolis term                    '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMCor+itrc-1)=vname3
       vname(4,indxMCor+itrc-1)='                                 '
       write(vname3,*) 'coriolis_term_in_momentum_',trim(nametrc)
     &               //'_component'
       vname(5,indxMCor+itrc-1)=vname3
       vname(6,indxMCor+itrc-1)='                                 '
       vname(7,indxMCor+itrc-1)='                                 '

CR      write(stdout,'(1x,A,I3)') 'indxMPrsgrd = ',indxMPrsgrd+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_prsgrd                     '
       vname(1,indxMPrsgrd+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMPrsgrd+itrc-1)
       vname(2,indxMPrsgrd+itrc-1)='Pressure gradient term        '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMPrsgrd+itrc-1)=vname3
       vname(4,indxMPrsgrd+itrc-1)='                              '
       write(vname3,*) 'pressure_gradient_term_',trim(nametrc)
     &               //'_component'
       vname(5,indxMPrsgrd+itrc-1)=vname3
       vname(6,indxMPrsgrd+itrc-1)='                              '
       vname(7,indxMPrsgrd+itrc-1)='                              '

CR       write(stdout,'(1x,A,I3)') 'indxMHmix = ',indxMHmix+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_hmix                       '
       vname(1,indxMHmix+itrc-1)=vname1
C     R       write(stdout,'(20x,A)') vname(1,indxMHmix+itrc-1)
       vname(2,indxMHmix+itrc-1)='Horizontal mixing term          '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMHmix+itrc-1)=vname3
       vname(4,indxMHmix+itrc-1)='                                '
       write(vname3,*) 'horizontal_mixing_term_',trim(nametrc)
     &               //'_component'
       vname(5,indxMHmix+itrc-1)=vname3
       vname(6,indxMHmix+itrc-1)='                                '
       vname(7,indxMHmix+itrc-1)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxMHdiff = ',indxMHdiff+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_hdiff                      '
       vname(1,indxMHdiff+itrc-1)=vname1
C     R       write(stdout,'(20x,A)') vname(1,indxMHdiff+itrc-1)
       vname(2,indxMHdiff+itrc-1)='Horizontal diffusion term      '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMHdiff+itrc-1)=vname3
       vname(4,indxMHdiff+itrc-1)='                               '
       write(vname3,*) 'horizontal_diffusion_term_',trim(nametrc)
     &               //'_component'
       vname(5,indxMHdiff+itrc-1)=vname3
       vname(6,indxMHdiff+itrc-1)='                               '
       vname(7,indxMHdiff+itrc-1)='                               '

CR       write(stdout,'(1x,A,I3)') 'indxMVmix = ',indxMVmix+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_vmix                       '
       vname(1,indxMVmix+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMVmix+itrc-1)
       vname(2,indxMVmix+itrc-1)='Vertical mixing term            '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMVmix+itrc-1)=vname3
       vname(4,indxMVmix+itrc-1)='                                '
       write(vname3,*) 'vertical_mixing_term_',trim(nametrc)
     &               //'_component'
       vname(5,indxMVmix+itrc-1)=vname3
       vname(6,indxMVmix+itrc-1)='                                '
       vname(7,indxMVmix+itrc-1)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxMVmix2 = ',indxMVmix2+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_nudg                       '
       vname(1,indxMVmix2+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMVmix2+itrc-1)
       vname(2,indxMVmix2+itrc-1)='Momentum nudging term          '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMVmix2+itrc-1)=vname3
       vname(4,indxMVmix2+itrc-1)='                               '
       write(vname3,*) 'momentum_nudging_term_',trim(nametrc)
     &               //'_component'
       vname(5,indxMVmix2+itrc-1)=vname3
       vname(6,indxMVmix2+itrc-1)='                               '
       vname(7,indxMVmix2+itrc-1)='                               '

# if defined DIAGNOSTICS_BARO
CR      write(stdout,'(1x,A,I3)') 'indxMBaro = ',indxMBaro+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_baro                       '
       vname(1,indxMBaro+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMBaro+itrc-1)
       vname(2,indxMBaro+itrc-1)='Barotropic coupling term        '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMBaro+itrc-1)=vname3
       vname(4,indxMBaro+itrc-1)='                                '
       write(vname3,*) 'barotropic_coupling_term_',trim(nametrc)
     &               //'_component'
       vname(5,indxMBaro+itrc-1)=vname3
       vname(6,indxMBaro+itrc-1)='                                '
       vname(7,indxMBaro+itrc-1)='                                '
# endif

# if defined M3FAST
CR      write(stdout,'(1x,A,I3)') 'indxMfast = ',indxMfast+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_fast                       '
       vname(1,indxMfast+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMfast+itrc-1)
       vname(2,indxMfast+itrc-1)='fast term                       '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMfast+itrc-1)=vname3
       vname(4,indxMfast+itrc-1)='                                '
       write(vname3,*) 'fast_term_',trim(nametrc)
     &               //'_component'
       vname(5,indxMfast+itrc-1)=vname3
       vname(6,indxMfast+itrc-1)='                                '
       vname(7,indxMfast+itrc-1)='                                '
# endif

# ifdef MRL_WCI
CR       write(stdout,'(1x,A,I3)') 'indxMvf = ',indxMvf+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_vf                         '
       vname(1,indxMvf+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMvf+itrc-1)
       vname(2,indxMvf+itrc-1)='Vortex body force term            '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMvf+itrc-1)=vname3
       vname(4,indxMvf+itrc-1)='                                  '
       vname(5,indxMvf+itrc-1)=vname1
       vname(6,indxMvf+itrc-1)='                                  '
       vname(7,indxMvf+itrc-1)='                                  '

CR       write(stdout,'(1x,A,I3)') 'indxMbrk = ',indxMbrk+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_brk                        '
       vname(1,indxMbrk+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMbrk+itrc-1)
       vname(2,indxMbrk+itrc-1)='Breaking body force term         '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMbrk+itrc-1)=vname3
       vname(4,indxMbrk+itrc-1)='                                 '
       vname(5,indxMbrk+itrc-1)=vname1
       vname(6,indxMbrk+itrc-1)='                                 '
       vname(7,indxMbrk+itrc-1)='                                 '

CR       write(stdout,'(1x,A,I3)') 'indxMStCo = ',indxMStCo+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_StCo                       '
       vname(1,indxMStCo+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMStCo+itrc-1)
       vname(2,indxMStCo+itrc-1)='Stokes-Coriolis term            '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMStCo+itrc-1)=vname3
       vname(4,indxMStCo+itrc-1)='                                '
       vname(5,indxMStCo+itrc-1)=vname1
       vname(6,indxMStCo+itrc-1)='                                '
       vname(7,indxMStCo+itrc-1)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxMVvf = ',indxMVvf+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_Vvf                        '
       vname(1,indxMVvf+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMVvf+itrc-1)
       vname(2,indxMVvf+itrc-1)='Vertical vortex force term       '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMVvf+itrc-1)=vname3
       vname(4,indxMVvf+itrc-1)='                                 '
       vname(5,indxMVvf+itrc-1)=vname1
       vname(6,indxMVvf+itrc-1)='                                 '
       vname(7,indxMVvf+itrc-1)='                                 '

CR       write(stdout,'(1x,A,I3)') 'indxMPrscrt = ',indxMPrscrt+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_Prscrt                     '
       vname(1,indxMPrscrt+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMPrscrt+itrc-1)
       vname(2,indxMPrscrt+itrc-1)='Pressure correction term      '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMPrscrt+itrc-1)=vname3
       vname(4,indxMPrscrt+itrc-1)='                              '
       vname(5,indxMPrscrt+itrc-1)=vname1
       vname(6,indxMPrscrt+itrc-1)='                              '
       vname(7,indxMPrscrt+itrc-1)='                              '

CR       write(stdout,'(1x,A,I3)') 'indxMsbk = ',indxMsbk+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_sbk                        '
       vname(1,indxMsbk+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMsbk+itrc-1)
       vname(2,indxMsbk+itrc-1)='Surface breaking term            '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMsbk+itrc-1)=vname3
       vname(4,indxMsbk+itrc-1)='                                 '
       vname(5,indxMsbk+itrc-1)=vname1
       vname(6,indxMsbk+itrc-1)='                                 '
       vname(7,indxMsbk+itrc-1)='                                 '

CR       write(stdout,'(1x,A,I3)') 'indxMbwf = ',indxMbwf+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_bwf                        '
       vname(1,indxMbwf+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMbwf+itrc-1)
       vname(2,indxMbwf+itrc-1)='Bed wave friction term           '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMbwf+itrc-1)=vname3
       vname(4,indxMbwf+itrc-1)='                                 '
       vname(5,indxMbwf+itrc-1)=vname1
       vname(6,indxMbwf+itrc-1)='                                 '
       vname(7,indxMbwf+itrc-1)='                                 '

CR       write(stdout,'(1x,A,I3)') 'indxMfrc = ',indxMfrc+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_frc                        '
       vname(1,indxMfrc+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMfrc+itrc-1)
       vname(2,indxMfrc+itrc-1)='Wave streaming                   '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMfrc+itrc-1)=vname3
       vname(4,indxMfrc+itrc-1)='                                 '
       vname(5,indxMfrc+itrc-1)=vname1
       vname(6,indxMfrc+itrc-1)='                                 '
       vname(7,indxMfrc+itrc-1)='                                 '
# endif  /* MRL_WCI */

CR       write(stdout,'(1x,A,I3)') 'indxMrate = ',indxMrate+itrc-1
       nametrc=vname(1,indxU+itrc-1)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_rate                       '
       vname(1,indxMrate+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxMrate+itrc-1)
       vname(2,indxMrate+itrc-1)='Time rate of change             '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxMrate+itrc-1)=vname3
       vname(4,indxMrate+itrc-1)='                                '
       write(vname3,*) 'time_rate_of_change_term_',trim(nametrc)
     &               //'_component'
       vname(5,indxMrate+itrc-1)=vname3
       vname(6,indxMrate+itrc-1)='                                '
       vname(7,indxMrate+itrc-1)='                                '
      enddo
#endif /* DIAGNOSTICS_UV */

#ifdef DIAGNOSTICS_VRT
CR       write(stdout,'(1x,A,I3)') 'indxvrtXadv = ',indxvrtXadv+itrc-1
       nametrc='vrt'
       lvar=lenstr(nametrc)
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_xadv                       '
       vname(1,indxvrtXadv)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtxadv)
       vname(2,indxvrtXadv)='Horizontal (xi) advection term       '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxvrtXadv)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxvrtYadv = ',indxvrtYadv+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_yadv                       '
       vname(1,indxvrtYadv)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtYadv)
       vname(2,indxvrtYadv)='Horizontal (eta) advection term      '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxvrtYadv)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxvrtHdiff = ',indxvrtHdiff+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_hdiff                      '
       vname(1,indxvrtHdiff)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtHdiff)
       vname(2,indxvrtHdiff)='Horizontal diffusion term (implicit)'
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxvrtHdiff)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxvrtCor = ',indxvrtCor+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_cor                        '
       vname(1,indxvrtCor)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtCor)
       vname(2,indxvrtCor)='Coriolis term                         '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxvrtCor)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxvrtPrsgrd = ',indxvrtPrsgrd+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_prsgrd                     '
       vname(1,indxvrtPrsgrd)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtPrsgrd)
       vname(2,indxvrtPrsgrd)='Pressure gradient term             '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxvrtPrsgrd)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxvrtHmix = ',indxvrtHmix+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_hmix                       '
       vname(1,indxvrtHmix)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtHmix)
       vname(2,indxvrtHmix)='Horizontal mixing term               '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxvrtHmix)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxvrtVmix = ',indxvrtVmix+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_vmix                       '
       vname(1,indxvrtVmix)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtVmix)
       vname(2,indxvrtVmix)='Vertical mixing term                 '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxvrtVmix)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxvrtrate = ',indxvrtrate+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_rate                       '
       vname(1,indxvrtrate)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtrate)
       vname(2,indxvrtrate)='Time rate of change                  '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxvrtrate)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxvrtVmix2 = ',indxvrtVmix2+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_nudg                       '
       vname(1,indxvrtVmix2)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtVmix2)
       vname(2,indxvrtVmix2)='Momentum nudging term               '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxvrtVmix2)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxvrtWind = ',indxvrtWind+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_wind                       '
       vname(1,indxvrtWind)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtWind)
       vname(2,indxvrtWind)='Wind stress curl                     '
       vname(3,indxvrtWind)=' meter second-2                      '

CR       write(stdout,'(1x,A,I3)') 'indxvrtDrag = ',indxvrtDrag+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_drag                       '
       vname(1,indxvrtDrag)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtDrag)
       vname(2,indxvrtDrag)='Bottom drag curl                     '
       vname(3,indxvrtDrag)=' meter second-2                      '

# if defined DIAGNOSTICS_BARO
CR       write(stdout,'(1x,A,I3)') 'indxvrtBaro = ',indxvrtBaro+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_baro                       '
       vname(1,indxvrtBaro)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtBaro)
       vname(2,indxvrtBaro)='Barotropic coupling term             '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxvrtBaro)=vname3
# endif

# if defined M3FAST
CR       write(stdout,'(1x,A,I3)') 'indxvrtfast = ',indxvrtfast+itrc-1
       nametrc='vrt'
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_fast                       '
       vname(1,indxvrtfast)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxvrtfast)
       vname(2,indxvrtfast)='Fast term                            '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxvrtfast)=vname3
# endif

#endif /* DIAGNOSTICS_VRT */


#ifdef DIAGNOSTICS_EK

       nametrc='ke'

CR       write(stdout,'(1x,A,I3)') 'indxekHadv = ',indxekHadv+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_hadv                       '
       vname(1,indxekHadv)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekHadv)
       vname(2,indxekHadv)='Horizontal  advection term            '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekHadv)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekHdiff = ',indxekHdiff+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_hdiff                      '
       vname(1,indxekHdiff)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekHdiff)
       vname(2,indxekHdiff)='Implicit diffusion term              '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekHdiff)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekVadv = ',indxekVadv+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_vadv                       '
       vname(1,indxekVadv)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekVadv)
       vname(2,indxekVadv)='Vertical advection term               '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekVadv)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekCor = ',indxekCor+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_cor                        '
       vname(1,indxekCor)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekCor)
       vname(2,indxekCor)='Coriolis term                          '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekCor)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekPrsgrd = ',indxekPrsgrd+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_prsgrd                     '
       vname(1,indxekPrsgrd)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekPrsgrd)
       vname(2,indxekPrsgrd)='Pressure gradient term              '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekPrsgrd)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekHmix = ',indxekHmix+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_hmix                       '
       vname(1,indxekHmix)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekHmix)
       vname(2,indxekHmix)='Horizontal mixing term                '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekHmix)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekVmix = ',indxekVmix+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_vmix                       '
       vname(1,indxekVmix)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekVmix)
       vname(2,indxekVmix)='Vertical mixing term                  '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekVmix)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekrate = ',indxekrate+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_rate                       '
       vname(1,indxekrate)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekrate)
       vname(2,indxekrate)='Time rate of change                   '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekrate)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekvol = ',indxekvol+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_vol                        '
       vname(1,indxekvol)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekvol)
       vname(2,indxekvol)='Volume change                          '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekvol)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekVmix2 = ',indxekVmix2+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_nudg                       '
       vname(1,indxekVmix2)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekVmix2)
       vname(2,indxekVmix2)='Momentum nudging term                '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekVmix2)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekWind = ',indxekWind+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_wind                       '
       vname(1,indxekWind)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekWind)
       vname(2,indxekWind)='Wind stress                           '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekWind)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekDrag = ',indxekDrag+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_drag                       '
       vname(1,indxekDrag)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekDrag)
       vname(2,indxekDrag)='Bottom drag                           '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekDrag)=vname3

# if defined DIAGNOSTICS_BARO
CR       write(stdout,'(1x,A,I3)') 'indxekBaro = ',indxekBaro+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_baro                       '
       vname(1,indxekBaro)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekBaro)
       vname(2,indxekBaro)='Barotropic coupling term              '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekBaro)=vname3
# endif

# if defined M3FAST
CR       write(stdout,'(1x,A,I3)') 'indxekfast = ',indxekfast+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_fast                       '
       vname(1,indxekfast)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekfast)
       vname(2,indxekfast)='Fast term                             '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekfast)=vname3
# endif

# ifdef DIAGNOSTICS_EK_MLD
CR       write(stdout,'(1x,A,I3)') 'indxekHadv = ',indxekHadv+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_hadv_mld                   '
       vname(1,indxekHadv_mld)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekHadv)
       vname(2,indxekHadv_mld)='Horizontal  advection term        '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekHadv_mld)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekHdiff = ',indxekHdiff+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_hdiff_mld                  '
       vname(1,indxekHdiff_mld)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekHdiff)
       vname(2,indxekHdiff_mld)='Implicit diffusion term          '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekHdiff_mld)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekVadv = ',indxekVadv+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_vadv_mld                   '
       vname(1,indxekVadv_mld)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekVadv)
       vname(2,indxekVadv_mld)='Vertical advection term           '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekVadv_mld)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekCor = ',indxekCor+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_cor_mld                    '
       vname(1,indxekCor_mld)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekCor)
       vname(2,indxekCor_mld)='Coriolis term                      '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekCor_mld)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekPrsgrd = ',indxekPrsgrd+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_prsgrd_mld                 '
       vname(1,indxekPrsgrd_mld)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekPrsgrd)
       vname(2,indxekPrsgrd_mld)='Pressure gradient term          '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekPrsgrd_mld)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekHmix = ',indxekHmix+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_hmix_mld                   '
       vname(1,indxekHmix_mld)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekHmix)
       vname(2,indxekHmix_mld)='Horizontal mixing term            '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekHmix_mld)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekVmix = ',indxekVmix+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_vmix_mld                   '
       vname(1,indxekVmix_mld)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekVmix)
       vname(2,indxekVmix_mld)='Vertical mixing term              '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekVmix_mld)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekrate = ',indxekrate+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_rate_mld                   '
       vname(1,indxekrate_mld)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekrate)
       vname(2,indxekrate_mld)='Time rate of change               '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekrate_mld)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekvol = ',indxekvol+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_vol_mld                    '
       vname(1,indxekvol_mld)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekvol)
       vname(2,indxekvol_mld)='Volume change                      '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekvol_mld)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxekVmix2 = ',indxekVmix2+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_nudg_mld                   '
       vname(1,indxekVmix2_mld)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekVmix2)
       vname(2,indxekVmix2_mld)='Momentum nudging term            '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekVmix2_mld)=vname3

#  if defined DIAGNOSTICS_BARO
CR       write(stdout,'(1x,A,I3)') 'indxekBaro = ',indxekBaro+itrc-1
       unitt=vname(3,indxU)
       write(vname1,*) trim(nametrc),'_baro_mld                   '
       vname(1,indxekBaro_mld)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxekBaro)
       vname(2,indxekBaro_mld)='Pressure gradient term            '
       write(vname3,*) trim(unitt),' meter4 second-2               '
       vname(3,indxekBaro_mld)=vname3
#  endif
# endif /* DIAGNOSTICS_EK_MLD */
#endif /* DIAGNOSTICS_EK */

#ifdef DIAGNOSTICS_PV
# ifdef DIAGNOSTICS_PV_FULL
CR       write(stdout,'(1x,A,I3)') 'indxpvpv = ',indxpvpv
       nametrc='u_vmix_trans'
       unitt='meter second-1 second-1'
       write(vname1,*) trim(nametrc)
       vname(1,indxpvpv)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxpvpv)
       vname(2,indxpvpv)='                                '
       write(vname3,*) trim(unitt)
       vname(3,indxpvpv)=vname3
       vname(4,indxpvpv)='                                        '
       vname(5,indxpvpv)='                                        '
       vname(7,indxpvpv)='                                        '

CR       write(stdout,'(1x,A,I3)') 'indxpvpvd = ',indxpvpvd
       nametrc='v_vmix_trans'
       unitt='meter second-1 second-1'
       write(vname1,*) trim(nametrc)
       vname(1,indxpvpvd)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxpvpvd)
       vname(2,indxpvpvd)='                                '
       write(vname3,*) trim(unitt)
       vname(3,indxpvpvd)=vname3
       vname(4,indxpvpvd)='                                       '
       vname(5,indxpvpvd)='                                       '
       vname(7,indxpvpvd)='                                       '
# endif

      do itrc=1,NTA

CR       write(stdout,'(1x,A,I3)') 'indxpvTrhs = ',indxpvTrhs+itrc-1
       lvar=lenstr(vname(1,indxT+itrc-1))
       nametrc=vname(1,indxT+itrc-1)(1:lvar)
       lvar=lenstr(nametrc)
       unitt=vname(3,indxT+itrc-1)
       write(vname1,*) trim(nametrc),'_rhs                        '
       vname(1,indxpvTrhs+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxpvTrhs+itrc-1)
       vname(2,indxpvTrhs+itrc-1)='right hand side                '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxpvTrhs+itrc-1)=vname3
       vname(4,indxpvTrhs+itrc-1)='                               '
       vname(5,indxpvTrhs+itrc-1)='                               '
       vname(7,indxpvTrhs+itrc-1)='                               '

      enddo  ! itrc

      do itrc=1,2
CR       write(stdout,'(1x,A,I3)') 'indxpvMrhs = ',indxpvMrhs+itrc-1
       lvar=lenstr(vname(1,indxU+itrc-1))
       nametrc=vname(1,indxU+itrc-1)(1:lvar)
       lvar=lenstr(nametrc)
       unitt=vname(3,indxU+itrc-1)
       write(vname1,*) trim(nametrc),'_rhs                        '
       vname(1,indxpvMrhs+itrc-1)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxpvMrhs+itrc-1)
       vname(2,indxpvMrhs+itrc-1)='right hand side                '
       write(vname3,*) trim(unitt),' second-1                     '
       vname(3,indxpvMrhs+itrc-1)=vname3
       vname(4,indxpvMrhs+itrc-1)='                               '
       write(vname3,*) 'right_hand_side_',trim(nametrc)
     &               //'_component'
       vname(5,indxpvMrhs+itrc-1)=vname3
       vname(6,indxpvMrhs+itrc-1)='                               '
       vname(7,indxpvMrhs+itrc-1)='                               '

      enddo  ! 1,2
#endif  /* DIAGNOSTICS_PV */

#if defined DIAGNOSTICS_EDDY && ! defined XIOS
CR       write(stdout,'(1x,A,I3)') 'indxeddyzz = ',indxeddyzz
       write(vname1,*) 'zz                                  '
       vname(1,indxeddyzz)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyzz)
       vname(2,indxeddyzz)='zz                              '
       write(vname3,*) 'meter2                              '
       vname(3,indxeddyzz)=vname3
       vname(4,indxeddyzz)='                                '
       vname(5,indxeddyzz)='                                '
       vname(7,indxeddyzz)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxeddyuu = ',indxeddyuu
       write(vname1,*) 'uu                                        '
       vname(1,indxeddyuu)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyuu)
       vname(2,indxeddyuu)='uu                                    '
       write(vname3,*) 'meter2 second-2                           '
       vname(3,indxeddyuu)=vname3
       vname(4,indxeddyuu)='                                      '
       vname(5,indxeddyuu)='                                      '
       vname(7,indxeddyuu)='                                      '

CR       write(stdout,'(1x,A,I3)') 'indxeddyvv = ',indxeddyvv
       write(vname1,*) 'vv                                        '
       vname(1,indxeddyvv)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyvv)
       vname(2,indxeddyvv)='vv                                    '
       write(vname3,*) 'meter2 second-2                           '
       vname(3,indxeddyvv)=vname3
       vname(4,indxeddyvv)='                                      '
       vname(5,indxeddyvv)='                                      '
       vname(7,indxeddyvv)='                                      '

CR       write(stdout,'(1x,A,I3)') 'indxeddyuv = ',indxeddyuv
       write(vname1,*) 'uv                                        '
       vname(1,indxeddyuv)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyuv)
       vname(2,indxeddyuv)='uv                                    '
       write(vname3,*) 'meter2 second-2                           '
       vname(3,indxeddyuv)=vname3
       vname(4,indxeddyuv)='                                      '
       vname(5,indxeddyuv)='                                      '
       vname(7,indxeddyuv)='                                      '

CR       write(stdout,'(1x,A,I3)') 'indxeddyuw = ',indxeddyuw
       write(vname1,*) 'uw                                        '
       vname(1,indxeddyuw)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyuw)
       vname(2,indxeddyuw)='uw                                    '
       write(vname3,*) 'meter2 second-2                           '
       vname(3,indxeddyuw)=vname3
       vname(4,indxeddyuw)='                                      '
       vname(5,indxeddyuw)='                                      '
       vname(7,indxeddyuw)='                                      '

CR       write(stdout,'(1x,A,I3)') 'indxeddyvw = ',indxeddyvw
       write(vname1,*) 'vw                                        '
       vname(1,indxeddyvw)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyvw)
       vname(2,indxeddyvw)='vw                                    '
       write(vname3,*) 'meter2 second-2                           '
       vname(3,indxeddyvw)=vname3
       vname(4,indxeddyvw)='                                      '
       vname(5,indxeddyvw)='                                      '
       vname(7,indxeddyvw)='                                      '

CR       write(stdout,'(1x,A,I3)') 'indxeddywb = ',indxeddywb
       write(vname1,*) 'wb                                        '
       vname(1,indxeddywb)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddywb)
       vname(2,indxeddywb)='wb                                    '
       write(vname3,*) 'meter2 second-2                           '
       vname(3,indxeddywb)=vname3
       vname(4,indxeddywb)='                                      '
       vname(5,indxeddywb)='                                      '
       vname(7,indxeddywb)='                                      '

CR       write(stdout,'(1x,A,I3)') 'indxeddyub = ',indxeddyub
       write(vname1,*) 'ub                                        '
       vname(1,indxeddyub)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyub)
       vname(2,indxeddyub)='ub                                    '
       write(vname3,*) 'meter2 second-2                           '
       vname(3,indxeddyub)=vname3
       vname(4,indxeddyub)='                                      '
       vname(5,indxeddyub)='                                      '
       vname(7,indxeddyub)='                                      '

CR       write(stdout,'(1x,A,I3)') 'indxeddyvb = ',indxeddyvb
       write(vname1,*) 'vb                                        '
       vname(1,indxeddyvb)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyvb)
       vname(2,indxeddyvb)='vb                                    '
       write(vname3,*) 'meter2 second-2                           '
       vname(3,indxeddyvb)=vname3
       vname(4,indxeddyvb)='                                '
       vname(5,indxeddyvb)='                                '
       vname(7,indxeddyvb)='                                '

CR       write(stdout,'(1x,A,I3)') 'indxeddyubu = ',indxeddyubu
       write(vname1,*) 'ubustr                              '
       vname(1,indxeddyubu)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyubu)
       vname(2,indxeddyubu)='ubustr                         '
       write(vname3,*) 'meter3 second-3                     '
       vname(3,indxeddyubu)=vname3
       vname(4,indxeddyubu)='                               '
       vname(5,indxeddyubu)='                               '
       vname(7,indxeddyubu)='                               '

CR       write(stdout,'(1x,A,I3)') 'indxeddyvbv = ',indxeddyvbv
       write(vname1,*) 'vbvstr                              '
       vname(1,indxeddyvbv)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyvbv)
       vname(2,indxeddyvbv)='vbvstr                         '
       write(vname3,*) 'meter3 second-3                     '
       vname(3,indxeddyvbv)=vname3
       vname(4,indxeddyvbv)='                               '
       vname(5,indxeddyvbv)='                               '
       vname(7,indxeddyvbv)='                               '


CR       write(stdout,'(1x,A,I3)') 'indxeddyusu = ',indxeddyusu
       write(vname1,*) 'usustr                              '
       vname(1,indxeddyusu)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyusu)
       vname(2,indxeddyusu)='usustr                         '
       write(vname3,*) 'meter3 second-3                     '
       vname(3,indxeddyusu)=vname3
       vname(4,indxeddyusu)='                               '
       vname(5,indxeddyusu)='                               '
       vname(7,indxeddyusu)='                               '

CR       write(stdout,'(1x,A,I3)') 'indxeddyvsv = ',indxeddyvsv
       write(vname1,*) 'vsvstr                              '
       vname(1,indxeddyvsv)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyvsv)
       vname(2,indxeddyvsv)='vsvstr                         '
       write(vname3,*) 'meter3 second-3                     '
       vname(3,indxeddyvsv)=vname3
       vname(4,indxeddyvsv)='                               '
       vname(5,indxeddyvsv)='                               '
       vname(7,indxeddyvsv)='                               '

CR       write(stdout,'(1x,A,I3)') 'indxeddyugsu = ',indxeddyugsu
       write(vname1,*) 'ugsustr                              '
       vname(1,indxeddyugsu)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyugsu)
       vname(2,indxeddyugsu)='ugsustr                        '
       write(vname3,*) 'meter3 second-3                      '
       vname(3,indxeddyugsu)=vname3
       vname(4,indxeddyugsu)='                               '
       vname(5,indxeddyugsu)='                               '
       vname(7,indxeddyugsu)='                               '

CR       write(stdout,'(1x,A,I3)') 'indxeddyvgsv = ',indxeddyvgsv
       write(vname1,*) 'vgsvstr                              '
       vname(1,indxeddyvgsv)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxeddyvgsv)
       vname(2,indxeddyvgsv)='vgsvstr                        '
       write(vname3,*) 'meter3 second-3                      '
       vname(3,indxeddyvgsv)=vname3
       vname(4,indxeddyvgsv)='                               '
       vname(5,indxeddyvgsv)='                               '
       vname(7,indxeddyvgsv)='                               '
#endif  /* DIAGNOSTICS_EDDY */

#if defined OUTPUTS_SURFACE && ! defined XIOS

CR       write(stdout,'(1x,A,I3)') 'indxsurft = ',indxsurft
       write(vname1,*) 'temp'
       vname(1,indxsurft)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxsurft)
       vname(2,indxsurft)='SST                                 '
       write(vname3,*) 'Celsius'
       vname(3,indxsurft)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxsurfs = ',indxsurfs
       write(vname1,*) 'salt'
       vname(1,indxsurfs)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxsurfs)
       vname(2,indxsurfs)='SSS                                 '
       write(vname3,*) 'PSU'
       vname(3,indxsurfs)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxsurfz = ',indxsurfz
       write(vname1,*) 'zeta'
       vname(1,indxsurfz)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxsurfz)
       vname(2,indxsurfz)='SSH                                 '
       write(vname3,*) 'm'
       vname(3,indxsurfz)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxsurfu = ',indxsurfu
       write(vname1,*) 'u'
       vname(1,indxsurfu)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxsurfu)
       vname(2,indxsurfu)='surface u                           '
       write(vname3,*) 'meter second-1                         '
       vname(3,indxsurfu)=vname3

CR       write(stdout,'(1x,A,I3)') 'indxsurfv = ',indxsurfv
       write(vname1,*) 'v'
       vname(1,indxsurfv)=vname1
CR       write(stdout,'(20x,A)') vname(1,indxsurfv)
       vname(2,indxsurfv)='surface v                           '
       write(vname3,*) trim(unitt),'meter second-1             '
       vname(3,indxsurfv)=vname3
#endif /* OUTPUTS_SURFACE */

#ifdef DIAGNOSTICS_BIO
!====================================================================
# ifdef BIO_NChlPZD
CR      write(stdout,'(1x,A,I3)') 'indxbioFlux(NFlux_NewProd)='
CR     &                          ,indxbioFlux+NFlux_NewProd-1
      vname(1,indxbioFlux+NFlux_NewProd-1)='NFlux_NewProd'
      vname(2,indxbioFlux+NFlux_NewProd-1)=
     &  'Flux of N due to new production   '
      vname(3,indxbioFlux+NFlux_NewProd-1)=
     &  'mmol N m-3 s-1                    '
      vname(4,indxbioFlux+NFlux_NewProd-1)=
     &  'NFlux_NewProd, scalar, series     '

      vname(1,indxbioFlux+NFlux_Grazing-1)='NFlux_Grazing'
      vname(2,indxbioFlux+NFlux_Grazing-1)=
     &  'Flux of N due to grazing          '
      vname(3,indxbioFlux+NFlux_Grazing-1)=
     &  'mmol N m-3 s-1                    '
      vname(4,indxbioFlux+NFlux_Grazing-1)=
     &  'NFlux_Grazing, scalar, series     '

      vname(1,indxbioFlux+NFlux_SlopFeed-1)=
     &  'NFlux_SlopFeed                    '
      vname(2,indxbioFlux+NFlux_SlopFeed-1)=
     &  'Flux of N due to sloppy feeding   '
      vname(3,indxbioFlux+NFlux_SlopFeed-1)=
     &  'mmol N m-3 s-1                    '
      vname(4,indxbioFlux+NFlux_SlopFeed-1)=
     &  'NFlux_SlopFeed, scalar, series    '

      vname(1,indxbioFlux+NFlux_Pmort-1)='NFlux_Pmort'
      vname(2,indxbioFlux+NFlux_Pmort-1)=
     &  'Flux of N due to phytoplankton mortality'
      vname(3,indxbioFlux+NFlux_Pmort-1)=
     &  'mmol N m-3 s-1                  '
      vname(4,indxbioFlux+NFlux_Pmort-1)=
     &  'NFlux_Pmort, scalar, series     '

      vname(1,indxbioFlux+NFlux_Zmetab-1)=
     &  'NFlux_Zmetab                  '
      vname(2,indxbioFlux+NFlux_Zmetab-1)=
     &  'Flux of N due to zooplankton metabolism'
      vname(3,indxbioFlux+NFlux_Zmetab-1)=
     &  'mmol N m-3 s-1                 '
      vname(4,indxbioFlux+NFlux_Zmetab-1)=
     &  'NFlux_Zmetab, scalar, series   '

      vname(1,indxbioFlux+NFlux_Zmort-1)=
     &  'NFlux_Zmort                    '
      vname(2,indxbioFlux+NFlux_Zmort-1)=
     &  'Flux of N due to zooplankton mortality'
      vname(3,indxbioFlux+NFlux_Zmort-1)=
     &  'mmol N m-3 s-1                       '
      vname(4,indxbioFlux+NFlux_Zmort-1)=
     &  'NFlux_Zmort, scalar, series '

CR      write(stdout,'(1x,A,I3)') 'indxbioFlux(NFlux_ReminD)='
CR     &                          ,indxbioFlux+NFlux_ReminD-1
      vname(1,indxbioFlux+NFlux_ReminD-1)=
     &  'NFlux_ReminD                         '
      vname(2,indxbioFlux+NFlux_ReminD-1)=
     &  'Flux of N due to remin. of detritus  '
      vname(3,indxbioFlux+NFlux_ReminD-1)=
     &  'mmol N m-3 s-1                       '
      vname(4,indxbioFlux+NFlux_ReminD-1)=
     &  'NFlux_ReminD, scalar, series         '

#  ifdef OXYGEN
CR      write(stdout,'(1x,A,I3)') 'indxbioFlux(OGain_NewProd)='
CR     &                          ,indxbioFlux+OGain_NewProd-1
      vname(1,indxbioFlux+OGain_NewProd-1)=
     &  'OGain_NewProd                       '
      vname(2,indxbioFlux+OGain_NewProd-1)=
     &  'Flux of O2 due to new production    '
      vname(3,indxbioFlux+OGain_NewProd-1)=
     &  'mmol N m-3 s-1                      '
      vname(4,indxbioFlux+OGain_NewProd-1)=
     &  'OGain_NewProd, scalar, series       '

CR      write(stdout,'(1x,A,I3)') 'indxbioFlux(OLoss_Zmetab)='
CR     &                          ,indxbioFlux+OLoss_Zmetab-1
      vname(1,indxbioFlux+OLoss_Zmetab-1)=
     &  'OLoss_Zmetab                        '
      vname(2,indxbioFlux+OLoss_Zmetab-1)=
     &  'Flux of O2 due to zooplankton metabolism'
      vname(3,indxbioFlux+OLoss_Zmetab-1)=
     &  'mmol O2 m-3 s-1                     '
      vname(4,indxbioFlux+OLoss_Zmetab-1)=
     &  'OLoss_Zmetab, scalar, series        '

CR      write(stdout,'(1x,A,I3)') 'indxbioFlux(OLoss_ReminD)='
CR     &                          ,indxbioFlux+OLoss_ReminD-1
      vname(1,indxbioFlux+OLoss_ReminD-1)=
     &     'OLoss_ReminD                     '
      vname(2,indxbioFlux+OLoss_ReminD-1)=
     &     'Flux of O2 due to remin. of small detritus '
      vname(3,indxbioFlux+OLoss_ReminD-1)=
     &     'mmol O2 m-3 s-1                  '
      vname(4,indxbioFlux+OLoss_ReminD-1)=
     &  'OLoss_ReminD, scalar, series        '
#  endif /* OXYGEN */

! vertical sinking terms
CR      write(stdout,'(1x,A,I3)') 'indxbioVSink(NFlux_VSinkP1)='
CR     &                          ,indxbioVSink+NFlux_VSinkP1-1
      vname(1,indxbioVSink+NFlux_VSinkP1-1)=
     &     'NFlux_VSinkP1                    '
      vname(2,indxbioVSink+NFlux_VSinkP1-1)=
     &     'Vertical sinking flux of phytoplankton'
      vname(3,indxbioVSink+NFlux_VSinkP1-1)=
     &     'mmol N m-3 s-1                   '
      vname(4,indxbioVSink+NFlux_VSinkP1-1)=
     &     'NFlux_VSinkP1, scalar, series    '

CR      write(stdout,'(1x,A,I3)') 'indxbioVSink(NFlux_VSinkD1)='
CR     &                          ,indxbioVSink+NFlux_VSinkD1-1
      vname(1,indxbioVSink+NFlux_VSinkD1-1)=
     &     'NFlux_VSinkD1                   '
      vname(2,indxbioVSink+NFlux_VSinkD1-1)=
     &     'Vertical sinking flux of detritus N'
      vname(3,indxbioVSink+NFlux_VSinkD1-1)=
     &     'mmol N m-3 s-1                  '
      vname(4,indxbioVSink+NFlux_VSinkD1-1)=
     &     'NFlux_VSinkD1, scalar, series   '

#  ifdef OXYGEN
!     gas exchange terms
CR      write(stdout,'(1x,A,I3)') 'indxGasExcFlux='
CR     &                          ,indxGasExcFlux
      vname(1,indxGasExcFlux)=
     &     'GasExchangeO2                   '
      vname(2,indxGasExcFlux)=
     &     'Gas exchange of oxygen at the surface'
      vname(3,indxGasExcFlux)=
     &     'mmol O2 m-2 s-1                 '
      vname(4,indxGasExcFlux)=
     &     'GasExchangeO2, scalar, series   '
#  endif /* OXYGEN */

!====================================================================
# elif defined BIO_N2ChlPZD2
!--
!     BioFlux terms
!--
      vname(1,indxbioFlux+NFlux_NewProd-1)=
     &     'NFlux_NewProd                 '
      vname(2,indxbioFlux+NFlux_NewProd-1)=
     &     'Flux of N due to new production'
      vname(3,indxbioFlux+NFlux_NewProd-1)=
     &     'mmol N m-3 s-1                 '
      vname(4,indxbioFlux+NFlux_NewProd-1)=
     &     'NFlux_NewProd, scalar, series '
!--
      vname(1,indxbioFlux+NFlux_RegProd-1)=
     &     'NFlux_RegProd                 '
      vname(2,indxbioFlux+NFlux_RegProd-1)=
     &     'Flux of N due to reg production'
      vname(3,indxbioFlux+NFlux_RegProd-1)=
     &     'mmol N m-3 s-1                 '
      vname(4,indxbioFlux+NFlux_RegProd-1)=
     &     'NFlux_RegProd, scalar, series '
!--
      vname(1,indxbioFlux+NFlux_Nitrific-1)=
     &     'NFlux_Nitrific                 '
      vname(2,indxbioFlux+NFlux_Nitrific-1)=
     &     'Flux of N due to Nitrification '
      vname(3,indxbioFlux+NFlux_Nitrific-1)=
     &     'mmol N m-3 s-1                 '
      vname(4,indxbioFlux+NFlux_Nitrific-1)=
     &     'NFlux_Nitrific, scalar, series '
!--
      vname(1,indxbioFlux+NFlux_Grazing-1)=
     &     'NFlux_Grazing                 '
      vname(2,indxbioFlux+NFlux_Grazing-1)=
     &     'Flux of N due to grazing      '
      vname(3,indxbioFlux+NFlux_Grazing-1)=
     &     'mmol N m-3 s-1                '
      vname(4,indxbioFlux+NFlux_Grazing-1)=
     &     'NFlux_Grazing, scalar, series '
!--
      vname(1,indxbioFlux+NFlux_SlopFeed-1)=
     &     'NFlux_SlopFeed                '
      vname(2,indxbioFlux+NFlux_SlopFeed-1)=
     &     'Flux of N due to sloppy feeding for Z'
      vname(3,indxbioFlux+NFlux_SlopFeed-1)=
     &     'mmol N m-3 s-1                '
      vname(4,indxbioFlux+NFlux_SlopFeed-1)=
     &     'NFlux_SlopFeed, scalar, series'
!--
      vname(1,indxbioFlux+NFlux_Pmort-1)=
     &     'NFlux_Pmort                  '
      vname(2,indxbioFlux+NFlux_Pmort-1)=
     &     'Flux of N due to P mortality '
      vname(3,indxbioFlux+NFlux_Pmort-1)=
     &     'mmol N m-3 s-1               '
      vname(4,indxbioFlux+NFlux_Pmort-1)=
     &     'NFlux_Pmort, scalar, series  '
!--
      vname(1,indxbioFlux+NFlux_Zmetab-1)=
     &     'NFlux_Zmetab                 '
      vname(2,indxbioFlux+NFlux_Zmetab-1)=
     &     'Flux of N due to Z metabolism'
      vname(3,indxbioFlux+NFlux_Zmetab-1)=
     &     'mmol N m-3 s-1               '
      vname(4,indxbioFlux+NFlux_Zmetab-1)=
     &     'NFlux_Zmetab, scalar, series '
!--
      vname(1,indxbioFlux+NFlux_Zmort-1)=
     &     'NFlux_Zmort                  '
      vname(2,indxbioFlux+NFlux_Zmort-1)=
     &     'Flux of N due to Z mortality '
      vname(3,indxbioFlux+NFlux_Zmort-1)=
     &     'mmol N m-3 s-1               '
      vname(4,indxbioFlux+NFlux_Zmort-1)=
     &     'NFlux_Zmort, scalar, series  '
!--
      vname(1,indxbioFlux+NFlux_ReminD1-1)=
     &     'NFlux_ReminD1                 '
      vname(2,indxbioFlux+NFlux_ReminD1-1)=
     &     'Flux of N due to remin. of D1 '
      vname(3,indxbioFlux+NFlux_ReminD1-1)=
     &     'mmol N m-3 s-1                '
      vname(4,indxbioFlux+NFlux_ReminD1-1)=
     &     'NFlux_ReminD1, scalar, series '
!--
      vname(1,indxbioFlux+NFlux_ReminD2-1)=
     &     'NFlux_ReminD2                 '
      vname(2,indxbioFlux+NFlux_ReminD2-1)=
     &     'Flux of N due to remin. of D2 '
      vname(3,indxbioFlux+NFlux_ReminD2-1)=
     &     'mmol N m-3 s-1                '
      vname(4,indxbioFlux+NFlux_ReminD2-1)=
     &     'NFlux_ReminD2, scalar, series '
!--
      vname(1,indxbioFlux+NFlux_ReminD1-1)=
     &     'NFlux_ReminD1                 '
      vname(2,indxbioFlux+NFlux_ReminD1-1)=
     &     'Flux of N due to remin. of D1 '
      vname(3,indxbioFlux+NFlux_ReminD1-1)=
     &     'mmol N m-3 s-1                '
      vname(4,indxbioFlux+NFlux_ReminD1-1)=
     &     'NFlux_ReminD1, scalar, series '
!--
      vname(1,indxbioFlux+NFlux_CoagPhy-1)=
     &     'NFlux_CoagPhy                 '
      vname(2,indxbioFlux+NFlux_CoagPhy-1)=
     &     'Flux of N due to coag. of P   '
      vname(3,indxbioFlux+NFlux_CoagPhy-1)=
     &     'mmol N m-3 s-1                '
      vname(4,indxbioFlux+NFlux_CoagPhy-1)=
     &     'NFlux_CoagPhy, scalar, series '
!
      vname(1,indxbioFlux+NFlux_CoagSDet-1)=
     &     'NFlux_CoagSDet                '
      vname(2,indxbioFlux+NFlux_ReminD2-1)=
     &     'Flux of N due to coag. of SDet'
      vname(3,indxbioFlux+NFlux_ReminD2-1)=
     &     'mmol N m-3 s-1                '
      vname(4,indxbioFlux+NFlux_ReminD2-1)=
     &     'NFlux_CoagSDet, scalar, series'
!--
!     Sinking terms
!--
      vname(1,indxbioVSink+NFlux_VSinkP1-1)=
     &     'NFlux_VSinkP                  '
      vname(2,indxbioVSink+NFlux_VSinkP1-1)=
     &     'Flux of N due to Vert. Sink. of P'
      vname(3,indxbioVSink+NFlux_VSinkP1-1)=
     &     'mmol N m-3 s-1                 '
      vname(4,indxbioVSink+NFlux_VSinkP1-1)=
     &     'NFlux_VSinkP, scalar, series  '
!--
      vname(1,indxbioVSink+NFlux_VSinkD1-1)=
     &     'NFlux_VSinkD1                  '
      vname(2,indxbioVSink+NFlux_VSinkD1-1)=
     &     'Flux of N due to Vert. Sink. of D1'
      vname(3,indxbioVSink+NFlux_VSinkD1-1)=
     &     'mmol N m-3 s-1                 '
      vname(4,indxbioVSink+NFlux_VSinkD1-1)=
     &     'NFlux_VSinkD1, scalar, series  '
!--
      vname(1,indxbioVSink+NFlux_VSinkD2-1)=
     &     'NFlux_VSinkD2                   '
      vname(2,indxbioVSink+NFlux_VSinkD2-1)=
     &     'Flux of N due to Vert. Sink. of D2'
      vname(3,indxbioVSink+NFlux_VSinkD2-1)=
     &     'mmol N m-3 s-1                  '
      vname(4,indxbioVSink+NFlux_VSinkD2-1)=
     &     'NFlux_VSinkD2, scalar, series   '

!====================================================================
# elif defined BIO_BioEBUS

CR      write(stdout,'(1x,A,I3)') 'indxbioFlux(NFlux_lightlimitP1)='
CR     &                          ,indxbioFlux+NFlux_lightlimitP1-1
      vname(1,indxbioFlux+NFlux_lightlimitP1-1)=
     &     'NFlux_lightlimitP1                            '
      vname(2,indxbioFlux+NFlux_lightlimitP1-1)=
     &     'Limitation of SPhy assimilation by light      '
      vname(3,indxbioFlux+NFlux_lightlimitP1-1)=
     &     'without unit                                  '
      vname(4,indxbioFlux+NFlux_lightlimitP1-1)=
     &     'NFlux_lightlimitP1, scalar, series            '

      vname(1,indxbioFlux+NFlux_lightlimitP2-1)=
     &     'NFlux_lightlimitP2                            '
      vname(2,indxbioFlux+NFlux_lightlimitP2-1)=
     &     'Limitation of LPhy assimilation by light      '
      vname(3,indxbioFlux+NFlux_lightlimitP2-1)=
     &     'without unit                                  '
      vname(4,indxbioFlux+NFlux_lightlimitP2-1)=
     &     'NFlux_lightlimitP2, scalar, series            '

      vname(1,indxbioFlux+NFlux_templimitP1-1)=
     &     'NFlux_templimitP1                             '
      vname(2,indxbioFlux+NFlux_templimitP1-1)=
     &     'Limitation of SPhy assimilation by temperature'
      vname(3,indxbioFlux+NFlux_templimitP1-1)=
     &     'd-1                                           '
      vname(4,indxbioFlux+NFlux_templimitP1-1)=
     &     'NFlux_templimitP1, scalar, series             '

      vname(1,indxbioFlux+NFlux_templimitP2-1)=
     &     'NFlux_templimitP2                             '
      vname(2,indxbioFlux+NFlux_templimitP2-1)=
     &     'Limitation of LPhy assimilation by temperature'
      vname(3,indxbioFlux+NFlux_templimitP2-1)=
     &     'd-1                                           '
      vname(4,indxbioFlux+NFlux_templimitP2-1)=
     &     'NFlux_templimitP2, scalar, series             '

      vname(1,indxbioFlux+NFlux_NO3limitP1-1)=
     &     'NFlux_NO3limitP1                              '
      vname(2,indxbioFlux+NFlux_NO3limitP1-1)=
     &     'Limitation of SPhy assimilation by NO3        '
      vname(3,indxbioFlux+NFlux_NO3limitP1-1)=
     &     'without unit                                  '
      vname(4,indxbioFlux+NFlux_NO3limitP1-1)=
     &     'NFlux_NO3limitP1, scalar, series              '

      vname(1,indxbioFlux+NFlux_NO2limitP1-1)=
     &     'NFlux_NO2limitP1                              '
      vname(2,indxbioFlux+NFlux_NO2limitP1-1)=
     &     'Limitation of SPhy assimilation by NO2        '
      vname(3,indxbioFlux+NFlux_NO2limitP1-1)=
     &     'without unit                                  '
      vname(4,indxbioFlux+NFlux_NO2limitP1-1)=
     &     'NFlux_NO2limitP1, scalar, series              '

      vname(1,indxbioFlux+NFlux_NH4limitP1-1)=
     &     'NFlux_NH4limitP1                              '
      vname(2,indxbioFlux+NFlux_NH4limitP1-1)=
     &     'Limitation of SPhy assimilation by NH4        '
      vname(3,indxbioFlux+NFlux_NH4limitP1-1)=
     &     'without unit                                  '
      vname(4,indxbioFlux+NFlux_NH4limitP1-1)=
     &     'NFlux_NH4limitP1, scalar, series              '

      vname(1,indxbioFlux+NFlux_NO3limitP2-1)=
     &     'NFlux_NO3limitP2                              '
      vname(2,indxbioFlux+NFlux_NO3limitP2-1)=
     &     'Limitation of LPhy assimilation by NO3        '
      vname(3,indxbioFlux+NFlux_NO3limitP2-1)=
     &     'without unit                                  '
      vname(4,indxbioFlux+NFlux_NO3limitP2-1)=
     &     'NFlux_NO3limitP2, scalar, series              '

      vname(1,indxbioFlux+NFlux_NO2limitP2-1)=
     &     'NFlux_NO2limitP2                              '
      vname(2,indxbioFlux+NFlux_NO2limitP2-1)=
     &     'Limitation of LPhy assimilation by NO2        '
      vname(3,indxbioFlux+NFlux_NO2limitP2-1)=
     &     'without unit                                  '
      vname(4,indxbioFlux+NFlux_NO2limitP2-1)=
     &     'NFlux_NO2limitP2, scalar, series              '

      vname(1,indxbioFlux+NFlux_NH4limitP2-1)=
     &     'NFlux_NH4limitP2                              '
      vname(2,indxbioFlux+NFlux_NH4limitP2-1)=
     &     'Limitation of LPhy assimilation by NH4        '
      vname(3,indxbioFlux+NFlux_NH4limitP2-1)=
     &     'without unit                                  '
      vname(4,indxbioFlux+NFlux_NH4limitP2-1)=
     &     'NFlux_NH4limitP2, scalar, series              '

      vname(1,indxbioFlux+NFlux_ProdNO3P1-1)=
     &     'NFlux_ProdNO3P1                               '
      vname(2,indxbioFlux+NFlux_ProdNO3P1-1)=
     &     'Flux of N due to NO3 assimilation by SPhy     '
      vname(3,indxbioFlux+NFlux_ProdNO3P1-1)=
     &     'mmol N m-3 s-1                                '
      vname(4,indxbioFlux+NFlux_ProdNO3P1-1)=
     &     'NFlux_ProdNO3P1, scalar, series               '

      vname(1,indxbioFlux+NFlux_ProdNO3P2-1)=
     &     'NFlux_ProdNO3P2                               '
      vname(2,indxbioFlux+NFlux_ProdNO3P2-1)=
     &     'Flux of N due to NO3 assimilation by LPhy     '
      vname(3,indxbioFlux+NFlux_ProdNO3P2-1)=
     &     'mmol N m-3 s-1                                '
      vname(4,indxbioFlux+NFlux_ProdNO3P2-1)=
     &     'NFlux_ProdNO3P2, scalar, series               '

      vname(1,indxbioFlux+NFlux_ProdNO2P1-1)=
     &     'NFlux_ProdNO2P1                               '
      vname(2,indxbioFlux+NFlux_ProdNO2P1-1)=
     &     'Flux of N due to NO2 assimilation by SPhy     '
      vname(3,indxbioFlux+NFlux_ProdNO2P1-1)=
     &     'mmol N m-3 s-1                                '
      vname(4,indxbioFlux+NFlux_ProdNO2P1-1)=
     &     'NFlux_ProdNO2P1, scalar, series               '

      vname(1,indxbioFlux+NFlux_ProdNO2P2-1)=
     &     'NFlux_ProdNO2P2                               '
      vname(2,indxbioFlux+NFlux_ProdNO2P2-1)=
     &     'Flux of N due to NO2 assimilation by LPhy     '
      vname(3,indxbioFlux+NFlux_ProdNO2P2-1)=
     &     'mmol N m-3 s-1                                '
      vname(4,indxbioFlux+NFlux_ProdNO2P2-1)=
     &     'NFlux_ProdNO2P2, scalar, series               '

      vname(1,indxbioFlux+NFlux_Nitrif1-1)=
     &     'NFlux_Nitrif1                                 '
      vname(2,indxbioFlux+NFlux_Nitrif1-1)=
     &     'Flux of N due to Nitrification (1st stage)    '
      vname(3,indxbioFlux+NFlux_Nitrif1-1)=
     &     'mmol N m-3 s-1                                '
      vname(4,indxbioFlux+NFlux_Nitrif1-1)=
     &     'NFlux_Nitrif1, scalar, series                 '

      vname(1,indxbioFlux+NFlux_Nitrif2-1)=
     &     'NFlux_Nitrif2                                 '
      vname(2,indxbioFlux+NFlux_Nitrif2-1)=
     &     'Flux of N due to Nitrification (2nd stage)    '
      vname(3,indxbioFlux+NFlux_Nitrif2-1)=
     &     'mmol N m-3 s-1                                '
      vname(4,indxbioFlux+NFlux_Nitrif2-1)=
     &     'NFlux_Nitrif2, scalar, series                 '

      vname(1,indxbioFlux+NFlux_ProdNH4P1-1)=
     &     'NFlux_ProdNH4P1                               '
      vname(2,indxbioFlux+NFlux_ProdNH4P1-1)=
     &     'Flux of N due to NH4 assimilation by SPhy     '
      vname(3,indxbioFlux+NFlux_ProdNH4P1-1)=
     &     'mmol N m-3 s-1                                '
      vname(4,indxbioFlux+NFlux_ProdNH4P1-1)=
     &     'NFlux_ProdNH4P1, scalar, series               '

      vname(1,indxbioFlux+NFlux_ProdNH4P2-1)=
     &     'NFlux_ProdNH4P2                               '
      vname(2,indxbioFlux+NFlux_ProdNH4P2-1)=
     &     'Flux of N due to NH4 assimilation by LPhy     '
      vname(3,indxbioFlux+NFlux_ProdNH4P2-1)=
     &     'mmol N m-3 s-1                                '
      vname(4,indxbioFlux+NFlux_ProdNH4P2-1)=
     &     'NFlux_ProdNH4P2, scalar, series               '

      vname(1,indxbioFlux+NFlux_P1Z1Grazing-1)=
     &     'NFlux_P1Z1Grazing                         '
      vname(2,indxbioFlux+NFlux_P1Z1Grazing-1)=
     &     'Flux of N due to grazing of Z1 on P1      '
      vname(3,indxbioFlux+NFlux_P1Z1Grazing-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_P1Z1Grazing-1)=
     &     'NFlux_P1Z1Grazing, scalar, series         '

      vname(1,indxbioFlux+NFlux_P2Z1Grazing-1)=
     &     'NFlux_P2Z1Grazing                         '
      vname(2,indxbioFlux+NFlux_P2Z1Grazing-1)=
     &     'Flux of N due to grazing of Z1 on P2      '
      vname(3,indxbioFlux+NFlux_P2Z1Grazing-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_P2Z1Grazing-1)=
     &     'NFlux_P2Z1Grazing, scalar, series         '

      vname(1,indxbioFlux+NFlux_P1mort-1)=
     &     'NFlux_P1mort                              '
      vname(2,indxbioFlux+NFlux_P1mort-1)=
     &     'Flux of N due to P1 mortality             '
      vname(3,indxbioFlux+NFlux_P1mort-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_P1mort-1)=
     &     'NFlux_P1mort, scalar, series              '

      vname(1,indxbioFlux+NFlux_P2mort-1)=
     &     'NFlux_P2mort                              '
      vname(2,indxbioFlux+NFlux_P2mort-1)=
     &     'Flux of N due to P2 mortality             '
      vname(3,indxbioFlux+NFlux_P2mort-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_P2mort-1)=
     &     'NFlux_P2mort, scalar, series              '

      vname(1,indxbioFlux+NFlux_P1Z2Grazing-1)=
     &     'NFlux_P1Z2Grazing                         '
      vname(2,indxbioFlux+NFlux_P1Z2Grazing-1)=
     &     'Flux of N due to grazing of Z2 on P1      '
      vname(3,indxbioFlux+NFlux_P1Z2Grazing-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_P1Z2Grazing-1)=
     &     'NFlux_P1Z2Grazing, scalar, series         '

      vname(1,indxbioFlux+NFlux_P2Z2Grazing-1)=
     &     'NFlux_P2Z2Grazing                         '
      vname(2,indxbioFlux+NFlux_P2Z2Grazing-1)=
     &     'Flux of N due to grazing of Z2 on P2      '
      vname(3,indxbioFlux+NFlux_P2Z2Grazing-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_P2Z2Grazing-1)=
     &     'NFlux_P2Z2Grazing, scalar, series         '

      vname(1,indxbioFlux+NFlux_Z1Z2Grazing-1)=
     &     'NFlux_Z1Z2Grazing                         '
      vname(2,indxbioFlux+NFlux_Z1Z2Grazing-1)=
     &     'Flux of N due to grazing of Z2 on Z1      '
      vname(3,indxbioFlux+NFlux_Z1Z2Grazing-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_Z1Z2Grazing-1)=
     &     'NFlux_Z1Z2Grazing, scalar, series         '

      vname(1,indxbioFlux+NFlux_Z1metab-1)=
     &     'NFlux_Z1metab                             '
      vname(2,indxbioFlux+NFlux_Z1metab-1)=
     &     'Flux of N due to Z1 metabolism            '
      vname(3,indxbioFlux+NFlux_Z1metab-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_Z1metab-1)=
     &     'NFlux_Z1metab, scalar, series             '

      vname(1,indxbioFlux+NFlux_Z1mort-1)=
     &     'NFlux_Z1mort                              '
      vname(2,indxbioFlux+NFlux_Z1mort-1)=
     &     'Flux of N due to Z1 mortality             '
      vname(3,indxbioFlux+NFlux_Z1mort-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_Z1mort-1)=
     &     'NFlux_Z1mort, scalar, series              '

      vname(1,indxbioFlux+NFlux_Z2metab-1)=
     &     'NFlux_Z2metab                             '
      vname(2,indxbioFlux+NFlux_Z2metab-1)=
     &     'Flux of N due to Z2 metabolism            '
      vname(3,indxbioFlux+NFlux_Z2metab-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_Z2metab-1)=
     &     'NFlux_Z2metab, scalar, series             '

      vname(1,indxbioFlux+NFlux_Z2mort-1)=
     &     'NFlux_Z2mort                              '
      vname(2,indxbioFlux+NFlux_Z2mort-1)=
     &     'Flux of N due to Z2 mortality             '
      vname(3,indxbioFlux+NFlux_Z2mort-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_Z2mort-1)=
     &     'NFlux_Z2mort, scalar, series              '

      vname(1,indxbioFlux+NFlux_HydrolD1-1)=
     &     'NFlux_HydrolD1                            '
      vname(2,indxbioFlux+NFlux_HydrolD1-1)=
     &     'Flux of N due to hydrolysis of D1         '
      vname(3,indxbioFlux+NFlux_HydrolD1-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_HydrolD1-1)=
     &     'NFlux_HydrolD1, scalar, series            '

      vname(1,indxbioFlux+NFlux_ReminOxyD1-1)=
     &     'NFlux_ReminOxyD1                          '
      vname(2,indxbioFlux+NFlux_ReminOxyD1-1)=
     &     'Flux of N due to oxic remin. of D1        '
      vname(3,indxbioFlux+NFlux_ReminOxyD1-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_ReminOxyD1-1)=
     &     'NFlux_ReminOxyD1, scalar, series          '

      vname(1,indxbioFlux+NFlux_Denitr1D1-1)=
     &     'NFlux_Denitr1D1                           '
      vname(2,indxbioFlux+NFlux_Denitr1D1-1)=
     &     'Flux of N due to Denitrification 1 of D1  '
      vname(3,indxbioFlux+NFlux_Denitr1D1-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_Denitr1D1-1)=
     &     'NFlux_Denitr1D1, scalar, series           '

      vname(1,indxbioFlux+NFlux_Denitr2D1-1)=
     &     'NFlux_Denitr2D1                           '
      vname(2,indxbioFlux+NFlux_Denitr2D1-1)=
     &     'Flux of N due to Denitrification 2 of D1  '
      vname(3,indxbioFlux+NFlux_Denitr2D1-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_Denitr2D1-1)=
     &     'NFlux_Denitr2D1, scalar, series           '

      vname(1,indxbioFlux+NFlux_HydrolD2-1)=
     &     'NFlux_HydrolD2                            '
      vname(2,indxbioFlux+NFlux_HydrolD2-1)=
     &     'Flux of N due to hydrolysis of D2         '
      vname(3,indxbioFlux+NFlux_HydrolD2-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_HydrolD2-1)=
     &     'NFlux_HydrolD2, scalar, series            '

      vname(1,indxbioFlux+NFlux_ReminOxyD2-1)=
     &     'NFlux_ReminOxyD2                          '
      vname(2,indxbioFlux+NFlux_ReminOxyD2-1)=
     &     'Flux of N due to oxic remin. of D2        '
      vname(3,indxbioFlux+NFlux_ReminOxyD2-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_ReminOxyD2-1)=
     &     'NFlux_ReminOxyD2, scalar, series          '

      vname(1,indxbioFlux+NFlux_Denitr1D2-1)=
     &     'NFlux_Denitr1D2                           '
      vname(2,indxbioFlux+NFlux_Denitr1D2-1)=
     &     'Flux of N due to Denitrification 1 of D2  '
      vname(3,indxbioFlux+NFlux_Denitr1D2-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_Denitr1D2-1)=
     &     'NFlux_Denitr1D2, scalar, series           '

      vname(1,indxbioFlux+NFlux_Denitr2D2-1)=
     &     'NFlux_Denitr2D2                           '
      vname(2,indxbioFlux+NFlux_Denitr2D2-1)=
     &     'Flux of N due to Denitrification 2 of D2  '
      vname(3,indxbioFlux+NFlux_Denitr2D2-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_Denitr2D2-1)=
     &     'NFlux_Denitr2D2, scalar, series           '

      vname(1,indxbioFlux+NFlux_ReminOxyDON-1)=
     &     'NFlux_ReminOxyDON                         '
      vname(2,indxbioFlux+NFlux_ReminOxyDON-1)=
     &     'Flux of N due to oxic remin. of DON       '
      vname(3,indxbioFlux+NFlux_ReminOxyDON-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_ReminOxyDON-1)=
     &     'NFlux_ReminOxyDON, scalar, series         '

      vname(1,indxbioFlux+NFlux_Denitr1DON-1)=
     &     'NFlux_Denitr1DON                          '
      vname(2,indxbioFlux+NFlux_Denitr1DON-1)=
     &     'Flux of N due to Denitrification 1 of DON '
      vname(3,indxbioFlux+NFlux_Denitr1DON-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_Denitr1DON-1)=
     &     'NFlux_Denitr1DON, scalar, series          '

      vname(1,indxbioFlux+NFlux_Denitr2DON-1)=
     &     'NFlux_Denitr2DON                          '
      vname(2,indxbioFlux+NFlux_Denitr2DON-1)=
     &     'Flux of N due to Denitrification 2 of DON '
      vname(3,indxbioFlux+NFlux_Denitr2DON-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_Denitr2DON-1)=
     &     'NFlux_Denitr2DON, scalar, series          '

      vname(1,indxbioFlux+NFlux_NO2anammox-1)=
     &     'NFlux_NO2anammox                          '
      vname(2,indxbioFlux+NFlux_NO2anammox-1)=
     &     'Flux of N due to anammox of NO2           '
      vname(3,indxbioFlux+NFlux_NO2anammox-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_NO2anammox-1)=
     &     'NFlux_NO2anammox, scalar, series          '

      vname(1,indxbioFlux+NFlux_NH4anammox-1)=
     &     'NFlux_NH4anammox                          '
      vname(2,indxbioFlux+NFlux_NH4anammox-1)=
     &     'Flux of N due to anammox of NH4           '
      vname(3,indxbioFlux+NFlux_NH4anammox-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioFlux+NFlux_NH4anammox-1)=
     &     'NFlux_NH4anammox, scalar, series          '

#  ifdef NITROUS_OXIDE
      vname(1,indxbioFlux+NFlux_paramN2O-1)=
     &     'NFlux_paramN2O                            '
      vname(2,indxbioFlux+NFlux_paramN2O-1)=
     &     'Production of N2O                         '
      vname(3,indxbioFlux+NFlux_paramN2O-1)=
     &     'mmol N2O m-3 s-1                          '
      vname(4,indxbioFlux+NFlux_paramN2O-1)=
     &     'NFlux_paramN2O, scalar, series            '
#  endif

! vertical sinking terms
      vname(1,indxbioVSink+NFlux_VSinkP2-1)=
     &     'NFlux_VSinkP2                             '
      vname(2,indxbioVSink+NFlux_VSinkP2-1)=
     &     'Flux of N due to Vert. Sink. of P2        '
      vname(3,indxbioVSink+NFlux_VSinkP2-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioVSink+NFlux_VSinkP2-1)=
     &     'NFlux_VSinkP2, scalar, series             '

      vname(1,indxbioVSink+NFlux_VSinkD1-1)=
     &     'NFlux_VSinkD1                             '
      vname(2,indxbioVSink+NFlux_VSinkD1-1)=
     &     'Flux of N due to Vert. Sink. of D1        '
      vname(3,indxbioVSink+NFlux_VSinkD1-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioVSink+NFlux_VSinkD1-1)=
     &     'NFlux_VSinkD1, scalar, series             '

      vname(1,indxbioVSink+NFlux_VSinkD2-1)=
     &     'NFlux_VSinkD2                             '
      vname(2,indxbioVSink+NFlux_VSinkD2-1)=
     &     'Flux of N due to Vert. Sink. of D2        '
      vname(3,indxbioVSink+NFlux_VSinkD2-1)=
     &     'mmol N m-3 s-1                            '
      vname(4,indxbioVSink+NFlux_VSinkD2-1)=
     &     'NFlux_VSinkD2, scalar, series             '

! gas exchange terms
       vname(1,indxGasExcFlux+O2Flux_GasExc-1)=
     &     'O2Flux_GasExc                             '
      vname(2,indxGasExcFlux+O2Flux_GasExc-1)=
     &     'Flux of O2 at ocean-atmos interface       '
      vname(3,indxGasExcFlux+O2Flux_GasExc-1)=
     &     ' mmol O2 m-3 s-1                          '
      vname(4,indxGasExcFlux+O2Flux_GasExc-1)=
     &     'O2Flux_GasExc, scalar, series             '

#  ifdef NITROUS_OXIDE
      vname(1,indxGasExcFlux+N2OFlux_GasExc-1)=
     &     'N2OFlux_GasExc                            '
      vname(2,indxGasExcFlux+N2OFlux_GasExc-1)=
     &     'Flux of N2O at ocean-atmos interface      '
      vname(3,indxGasExcFlux+N2OFlux_GasExc-1)=
     &     ' mmol N2O m-3 s-1                         '
      vname(4,indxGasExcFlux+N2OFlux_GasExc-1)=
     &     'N2OFlux_GasExc, scalar, series            '
#  endif

!====================================================================
# elif defined PISCES

#  ifdef key_trc_diaadd
      vname(1,indxbioFlux+Nhi-1)=
     &     'PH                              '
      vname(2,indxbioFlux+Nhi-1)=
     &     'PH                              '
      vname(3,indxbioFlux+Nhi-1)=
     &     '-                               '
      vname(4,indxbioFlux+Nhi-1)=
     &     'PH            , scalar, series  '

      vname(1,indxbioFlux+Nco3-1)=
     &     'CO3                             '
      vname(2,indxbioFlux+Nco3-1)=
     &     'Bicarbonates                    '
      vname(3,indxbioFlux+Nco3-1)=
     &     'mol/L                           '
      vname(4,indxbioFlux+Nco3-1)=
     &     'CO3           , scalar, series  '

      vname(1,indxbioFlux+Naksp-1)=
     &     'CO3sat                          '
      vname(2,indxbioFlux+Naksp-1)=
     &     'Saturation CO3                  '
      vname(3,indxbioFlux+Naksp-1)=
     &     'mol/L                           '
      vname(4,indxbioFlux+Naksp-1)=
     &     'CO3sat        , scalar, series  '

      vname(1,indxbioFlux+Netot-1)=
     &     'PAR                             '
      vname(2,indxbioFlux+Netot-1)=
     &     'Photosynthetic Available radiation'
      vname(3,indxbioFlux+Netot-1)=
     &     'W/m2                            '
      vname(4,indxbioFlux+Netot-1)=
     &     'PAR           , scalar, series  '

      vname(1,indxbioFlux+Nprorca-1)=
     &     'PPPHY                           '
      vname(2,indxbioFlux+Nprorca-1)=
     &     'Primary production Nanoplankton '
      vname(3,indxbioFlux+Nprorca-1)=
     &     'molC/m3/s                       '
      vname(4,indxbioFlux+Nprorca-1)=
     &     'PPPHY         , scalar, series  '

        vname(1,indxbioFlux+Ngrapoc-1)=
     &     'grapoc                                     '
        vname(2,indxbioFlux+Ngrapoc-1)=
     &     'Grazing by microzoo                        '
        vname(3,indxbioFlux+Ngrapoc-1)=
     &     'molC/m3/s                                  '
        vname(4,indxbioFlux+Ngrapoc-1)=
     &     'grapoc          , scalar, series           '

        vname(1,indxbioFlux+Nmico2-1)=
     &     'mico2                                      '
        vname(2,indxbioFlux+Nmico2-1)=
     &     'O2 comsumption by microzoo                 '
        vname(3,indxbioFlux+Nmico2-1)=
     &     'molC/m3/s                                  '
        vname(4,indxbioFlux+Nmico2-1)=
     &     'mico2          , scalar, series            '

        vname(1,indxbioFlux+Nremino2-1)=
     &     'ReminO2                                    '
        vname(2,indxbioFlux+Nremino2-1)=
     &     'o2 consumption by remineralisation         '
        vname(3,indxbioFlux+Nremino2-1)=
     &     'molC/m3/s                                  '
        vname(4,indxbioFlux+Nremino2-1)=
     &     'ReminO2         , scalar, series           '

        vname(1,indxbioFlux+Nfixo2-1)=
     &     'NFixo2                                     '
        vname(2,indxbioFlux+Nfixo2-1)=
     &     'o2 production by Nfix                      '
        vname(3,indxbioFlux+Nfixo2-1)=
     &     'molC/m3/s                                  '
        vname(4,indxbioFlux+Nfixo2-1)=
     &     'NFixo2         , scalar, series            '

      vname(1,indxbioFlux+Nirondep-1)=
     &     'Irondep                                    '
      vname(2,indxbioFlux+Nirondep-1)=
     &     'Iron flux from dust                        '
      vname(3,indxbioFlux+Nirondep-1)=
     &     'molFe/m3/s                                 '
      vname(4,indxbioFlux+Nirondep-1)=
     &     'Irondep           , scalar, series         '

        vname(1,indxbioFlux+Nironsed-1)=
     &     'Nironsed                                   '
        vname(2,indxbioFlux+Nironsed-1)=
     &     'Iron from sediment                         '
        vname(3,indxbioFlux+Nironsed-1)=
     &     'molC/m3/s                                  '
        vname(4,indxbioFlux+Nironsed-1)=
     &     'Nironsed         , scalar, series          '

        vname(1,indxbioFlux+Npronewo2-1)=
     &     'PPNEWo2                         '
        vname(2,indxbioFlux+Npronewo2-1)=
     &     'o2 production by the NP         '
        vname(3,indxbioFlux+Npronewo2-1)=
     &     'molC/m3/s                       '
        vname(4,indxbioFlux+Npronewo2-1)=
     &     'PPNEWo2         , scalar, series'

#   if defined key_pisces_npzd
        vname(1,indxbioFlux+Npronew-1)=
     &     'Thetanano                         '
        vname(2,indxbioFlux+Npronew-1)=
     &     'Diagnostic Chl:C ratio                     '
        vname(3,indxbioFlux+Npronew-1)=
     &     'mgChl/mgC                                  '
        vname(4,indxbioFlux+Npronew-1)=
     &     'Thetanano       , scalar, series           '
#   else
      vname(1,indxbioFlux+Nprorcad-1)=
     &     'PPPHY2                          '
      vname(2,indxbioFlux+Nprorcad-1)=
     &     'Primary production Diatoms      '
      vname(3,indxbioFlux+Nprorcad-1)=
     &     'molC/m3/s                       '
      vname(4,indxbioFlux+Nprorcad-1)=
     &     'PPPHY2        , scalar, series  '

      vname(1,indxbioFlux+Npronew-1)=
     &     'PPNEWN                          '
      vname(2,indxbioFlux+Npronew-1)=
     &     'New Production Nanoplankton     '
      vname(3,indxbioFlux+Npronew-1)=
     &     'molC/m3/s                       '
      vname(4,indxbioFlux+Npronew-1)=
     &     'PPNEWN        , scalar, series  '


      vname(1,indxbioFlux+Npronewd-1)=
     &     'PPNEWD                          '
      vname(2,indxbioFlux+Npronewd-1)=
     &     'New Production Diatoms          '
      vname(3,indxbioFlux+Npronewd-1)=
     &     'molC/m3/s                       '
      vname(4,indxbioFlux+Npronewd-1)=
     &     'PPNEWD        , scalar, series  '

      vname(1,indxbioFlux+Nprobsi-1)=
     &     'PBSi                            '
      vname(2,indxbioFlux+Nprobsi-1)=
     &     'Silicate Production Diatoms     '
      vname(3,indxbioFlux+Nprobsi-1)=
     &     'molSi/m3/s                      '
      vname(4,indxbioFlux+Nprobsi-1)=
     &     'PBSi          , scalar, series  '

      vname(1,indxbioFlux+Nprofen-1)=
     &     'PFeN                            '
      vname(2,indxbioFlux+Nprofen-1)=
     &     'Iron Production Nano            '
      vname(3,indxbioFlux+Nprofen-1)=
     &     'molFe/m3/s                      '
      vname(4,indxbioFlux+Nprofen-1)=
     &     'PFeN          , scalar, series  '

      vname(1,indxbioFlux+Nprofed-1)=
     &     'PFeD                            '
      vname(2,indxbioFlux+Nprofed-1)=
     &     'Iron Production Diatoms         '
      vname(3,indxbioFlux+Nprofed-1)=
     &     'molFe/m3/s                      '
      vname(4,indxbioFlux+Nprofed-1)=
     &     'PFeD          , scalar, series  '

        vname(1,indxbioFlux+Nprorego2-1)=
     &     'PPRego2                                    '
        vname(2,indxbioFlux+Nprorego2-1)=
     &     'o2 production by the RP                    '
        vname(3,indxbioFlux+Nprorego2-1)=
     &     'molC/m3/s                                  '
        vname(4,indxbioFlux+Nprorego2-1)=
     &     'PPRego2         , scalar, series           '

        vname(1,indxbioFlux+Ngrapoc2-1)=
     &     'grapoc2                                    '
        vname(2,indxbioFlux+Ngrapoc2-1)=
     &     'Grazing by mesozoo                         '
        vname(3,indxbioFlux+Ngrapoc2-1)=
     &     'molC/m3/s                                  '
        vname(4,indxbioFlux+Ngrapoc2-1)=
     &     'grapoc2          , scalar, series          '

        vname(1,indxbioFlux+Nmeso2-1)=
     &     'meso2                                      '
        vname(2,indxbioFlux+Nmeso2-1)=
     &     'O2 comsumption by mesozoo                  '
        vname(3,indxbioFlux+Nmeso2-1)=
     &     'molC/m3/s                                  '
        vname(4,indxbioFlux+Nmeso2-1)=
     &     'meso2          , scalar, series            '

        vname(1,indxbioFlux+Nnitrifo2-1)=
     &     'NitO2                                      '
        vname(2,indxbioFlux+Nnitrifo2-1)=
     &     'o2 consumption by Nitrification            '
        vname(3,indxbioFlux+Nnitrifo2-1)=
     &     'molC/m3/s                                  '
        vname(4,indxbioFlux+Nnitrifo2-1)=
     &     'NitO2         , scalar, series             '
#   endif
      vname(1,indxbioVSink+Nfld-1)=
     &     'Cflx                            '
      vname(2,indxbioVSink+Nfld-1)=
     &     'DIC Flux                        '
      vname(3,indxbioVSink+Nfld-1)=
     &     'molC/m2/s                       '
      vname(4,indxbioVSink+Nfld-1)=
     &     'Cflx            , scalar, series'

      vname(1,indxbioVSink+Nflu16-1)=
     &     'Oflx                            '
      vname(2,indxbioVSink+Nflu16-1)=
     &     'O2 Flux                         '
      vname(3,indxbioVSink+Nflu16-1)=
     &     'molO/m2/s                       '
      vname(4,indxbioVSink+Nflu16-1)=
     &     'Oflx            , scalar, series'

      vname(1,indxbioVSink+Nkgco2-1)=
     &     'Kg                              '
      vname(2,indxbioVSink+Nkgco2-1)=
     &     'Gaz Transfer                    '
      vname(3,indxbioVSink+Nkgco2-1)=
     &     'mol/m2/s/uatm                   '
      vname(4,indxbioVSink+Nkgco2-1)=
     &     'Kg              , scalar, series'

      vname(1,indxbioVSink+Natcco2-1)=
     &     'Dpco2                            '
      vname(2,indxbioVSink+Natcco2-1)=
     &     'Delta Co2                        '
      vname(3,indxbioVSink+Natcco2-1)=
     &     'uatm                             '
      vname(4,indxbioVSink+Natcco2-1)=
     &     'Dpco2            , scalar, series'

      vname(1,indxbioVSink+Nsinking-1)=
     &     'EPC100                           '
      vname(2,indxbioVSink+Nsinking-1)=
     &     'Carbon export                    '
      vname(3,indxbioVSink+Nsinking-1)=
     &     'molC/m2/s                        '
      vname(4,indxbioVSink+Nsinking-1)=
     &     'EPC100           , scalar, series'

      vname(1,indxbioVSink+Nheup-1)=
     &     'Heup                             '
      vname(2,indxbioVSink+Nheup-1)=
     &     'Euphotic Depth (1%)              '
      vname(3,indxbioVSink+Nheup-1)=
     &     'm                                '
      vname(4,indxbioVSink+Nheup-1)=
     &     'Heup            , scalar, series '

      vname(1,indxbioVSink+Nno3dep-1)=
     &     'No3dep                            '
      vname(2,indxbioVSink+Nno3dep-1)=
     &     'Nitrate surface deposition flux   '
      vname(3,indxbioVSink+Nno3dep-1)=
     &     'molN/m2/s                         '
      vname(4,indxbioVSink+Nno3dep-1)=
     &     'No3dep           , scalar, series '

      vname(1,indxbioVSink+Nnitrpot-1)=
     &     'INTNFIX                           '
      vname(2,indxbioVSink+Nnitrpot-1)=
     &     'Nitrogen Fixation vertically int  '
      vname(3,indxbioVSink+Nnitrpot-1)=
     &     'molN/m2/s                         '
      vname(4,indxbioVSink+Nnitrpot-1)=
     &     'Nfix            , scalar, series  '
#   if ! defined key_pisces_npzd
      vname(1,indxbioVSink+Nsinkfer-1)=
     &     'EPFE100                          '
      vname(2,indxbioVSink+Nsinkfer-1)=
     &     'Biogenic Iron export             '
      vname(3,indxbioVSink+Nsinkfer-1)=
     &     'molFe/m2/s                       '
      vname(4,indxbioVSink+Nsinkfer-1)=
     &     'EPFE100         , scalar, series '


      vname(1,indxbioVSink+Nsinksil-1)=
     &     'EPSI100                          '
      vname(2,indxbioVSink+Nsinksil-1)=
     &     'BSi export                       '
      vname(3,indxbioVSink+Nsinksil-1)=
     &     'molSi/m2/s                       '
      vname(4,indxbioVSink+Nsinksil-1)=
     &     'EPSI100         , scalar, series '

      vname(1,indxbioVSink+Nsinkcal-1)=
     &     'EPCAL100                         '
      vname(2,indxbioVSink+Nsinkcal-1)=
     &     'Calcite export                   '
      vname(3,indxbioVSink+Nsinkcal-1)=
     &     'molC/m2/s                        '
      vname(4,indxbioVSink+Nsinkcal-1)=
     &     'EPCAL100        , scalar, series '

      vname(1,indxbioVSink+Nsildep-1)=
     &     'Sildep                           '
      vname(2,indxbioVSink+Nsildep-1)=
     &     'Silicate surface deposition flux '
      vname(3,indxbioVSink+Nsildep-1)=
     &     'molSi/m2/s                       '
      vname(4,indxbioVSink+Nsildep-1)=
     &     'Sildep           , scalar, series'

      vname(1,indxbioVSink+Npo4dep-1)=
     &     'Po4dep                           '
      vname(2,indxbioVSink+Npo4dep-1)=
     &     'Phosphorus surface deposition flux'
      vname(3,indxbioVSink+Npo4dep-1)=
     &     'molP/m2/s                         '
      vname(4,indxbioVSink+Npo4dep-1)=
     &     'Po4dep           , scalar, series '

      vname(1,indxbioVSink+Nnh4dep-1)=
     &     'Nh4dep                            '
      vname(2,indxbioVSink+Nnh4dep-1)=
     &     'Nitrate surface deposition flux   '
      vname(3,indxbioVSink+Nnh4dep-1)=
     &     'molN/m2/s                         '
      vname(4,indxbioVSink+Nnh4dep-1)=
     &     'Nh4dep           , scalar, series '

#   endif  /* pisces light*/
#  endif /* trc_diaadd */
# endif /* PISCES */
#endif /* DIAGNOSTICS_BIO */

#if defined TCLIMATOLOGY && !defined ANA_TCLIMA && defined TRACERS
!
!     flag to read in climatology for tracer type variables.
!
      do itrc=1,NT
         got_tclm(itrc)=.false.
      enddo
#endif /* TCLIMATOLOGY */

      return
      end
