c
c***********************************************************************
c
      SUBROUTINE OUT_PARA(dt)
c
c***********************************************************************
c
      use resol_def
      use layout1
      implicit none
c
      real dt
c
c@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
c
      IF (me.eq.0) THEN
        write(6,*)
        write(6,*)'This is the reduced-grid code with new phys'
        write(6,9100) JCAP,LEVS
        write(6,9110) NODES
cjfe    write(6,9115) NUM_PARTHDS()
        write(6,9120) LEVS,LATG,LONF
        write(6,9140) dt
c        write(6,9130)
      ENDIF
 
 9100 format( /5x,'   T',i3,'-',i2,' FORECAST MODEL',
     .        /5x,' ===========================')
 9110 format(  5x,' Number of MPI Tasks:   ',i4)
 9115 format(  5x,' Number of Threads:     ',i4)
 9120 format( /5x,' Number of levels:      ',i4,
     .        /5x,' Number of latitudes:   ',i4,
     .        /5x,' Number of longitudes:  ',i4)
 9130 format(//'                               PERFORMANCE'
     .        /'                             Times in seconds'
     .        /'                        Rates in Mbyte/s or Mflop/s'
     .       //'         TRANSPOSE    GDSUM',
     .         '         FFT       FLNS2FG      FL2FLN    FIDI/PHYS'
     .        /' Step   Time  Rate  Time  Rate ',
     .         ' Time  Rate  Time  Rate  Time  Rate  Time  Rate '
     .        /' --------------------------------------',
     .         '---------------------------------------')
 9140 format( /5x,' Timestep:   ',F6.1,' seconds')
 
      RETURN
      END
c
c***********************************************************************
c
      SUBROUTINE BAR3(FE,FO,name,levl)
c
c***********************************************************************
c
      use resol_def
      use layout1
      implicit none
      real FE(len_trie_ls,2,levs),ffbar
      real FO(len_trio_ls,2,levs)
      integer n,l,joff,i,jlev,levl
      character*3 name
c
      do jlev=1,levl
        ffbar=0.
        DO i=1,len_trie_ls
          ffbar=ffbar+FE(i,1,jlev)*FE(i,1,jlev)
        ENDDO
        DO i=1,len_trie_ls
          ffbar=ffbar+FE(i,2,jlev)*FE(i,2,jlev)
        ENDDO
        ffbar=ffbar/2.
        DO i=1,len_trio_ls
          ffbar=ffbar+FO(i,1,jlev)*FO(i,1,jlev)
        ENDDO
        DO i=1,len_trio_ls
          ffbar=ffbar+FO(i,2,jlev)*FO(i,2,jlev)
        ENDDO
        ffbar=sqrt(ffbar)
        write(*,101)'rms ',name,' lev ',jlev,' = ',ffbar
      enddo
c
 101  format(3A,i3,A,ES24.17)
c
      RETURN
      END