SUBROUTINE UA_NATP  ( report, lenr, irptr, iret )
C************************************************************************
C* UA_NATP								*
C*									*
C* This subroutine decodes 6x6x6 national practice data.		*
C*									*
C* UA_NATP  ( REPORT, LENR, IRPTR, IRET )				*
C*									*
C* Input parameters:							*
C*	REPORT		CHAR*		Report				*
C*	LENR		INTEGER		Length of REPORT		*
C*									*
C* Input and output parameters:						*
C*	IRPTR		INTEGER		Pointer within REPORT		*
C*									*
C* Output parameters:							*
C*	IRET		INTEGER		Return code:			*
C*					  0 = normal return		*
C*					 -1 = critical error in REPORT	*
C*					      or reached end of REPORT	*
C**									*
C* Log:									*
C* J. Ator/NCEP		03/96						*
C* J. Ator/NCEP		10/96	ERRGRP -> UA_EGRP, removed ERRRPT	*
C* J. Ator/NCEP		12/97	New interface format, style changes	*
C* J. Ator/NCEP		03/98	Add call to UA_NPD2			*
C* J. Ator/NCEP		10/98	REGPID -> UA_RPID, NATPID -> UA_NPID	*
C* J. Ator/NCEP		10/99	Clean up function declarations		*
C************************************************************************
	INCLUDE		'GEMPRM.PRM'
	INCLUDE		'uacmn.cmn'
C*
	CHARACTER*(*)	report
C*
	CHARACTER	field*(MXLENF)
C*
	LOGICAL		UA_EGRP, UA_NPID
C------------------------------------------------------------------------
	iret = 0
C
	DO WHILE  ( .true. )
C
C*	    Look for and decode national practice data.
C
	    CALL UA_GFLD  ( report, lenr, irptr, field, lenf, ier )
	    IF  ( ier .ne. 0 )  THEN
		iret = -1
		RETURN
	    ELSE IF  ( .not. UA_EGRP ( field, lenf ) )  THEN
		IF  ( UA_NPID ( field ) )  THEN
C
C*		    A national practice data indicator has been found.
C
		    IF  ( field (2:2) .eq. '1' )  THEN
C
C*			Decode the '61616' national practice data.
C
			CALL UA_NPD1  ( report, lenr, irptr, iret )
		    ELSE IF  ( field (2:2) .eq. '2' )  THEN
C
C*			Decode the '62626' national practice data.
C
			CALL UA_NPD2  ( report, lenr, irptr, iret )
		    ELSE
			logmsg = 'national'
			CALL DC_WLOG  ( 2, 'UA', 3, logmsg, ierwlg )
		    END IF
		END IF
	    END IF
	END DO
C*
	RETURN
	END