C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_setunits.F,v 1.7 2005/06/26 16:51:49 jmc Exp $
C $Name: $
#include "DIAG_OPTIONS.h"
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
CBOP 0
C !ROUTINE: DIAGNOSTICS_SETUNITS
C !INTERFACE:
SUBROUTINE DIAGNOSTICS_SETUNITS (
I myThid,
I chardiag,
I diagunits )
C !DESCRIPTION:
C Wrapper routine to set the units of an active diagnostic
C !USES:
implicit none
#include "SIZE.h"
#include "DIAGNOSTICS_SIZE.h"
#include "DIAGNOSTICS.h"
C !INPUT PARAMETERS:
integer myThid
character*8 chardiag
character*16 diagunits
CEOP
C Local variables
integer n, ndiagnum, ipointer
C Run through list of active diagnostics to make sure
C we are trying to fill a valid diagnostic
ndiagnum = 0
ipointer = 0
do n = 1,ndiagt
if(chardiag.eq.cdiag(n)) then
ndiagnum = n
c ipointer = idiag(n)
endif
enddo
if( ndiagnum.ne.0 .and. ipointer.ne.0 ) then
udiag(ndiagnum)=diagunits
else
write(6,1000)chardiag
endif
1000 format(' ',' Warning: Trying to set units of diagnostic ',a8,
& ' But it is not a valid (or active) name ')
return
end