SUBROUTINE CMAPR 1 #if defined (DOC) * ***s/r CMAPR - Print resume of cma * * *Author : P. Koclas *CMC/AES April 1996 *Revision: * . C. Charette *ARMA/AES - Oct 96. * -Changed WRITE statements * . C. Charette *ARMA/AES - Oct 2001. * - check on allowed number of reports only when nconf=141 * Y.J. Rochon *AQRX/MSC Feb 2005 * - Added comnumbr.cdk * as JPNBRELEM of comnumbr required by cvcord. * ** Purpose: - Print resume of contents of cma by type * FOR informative purposes. * * *Arguments * #endif IMPLICIT NONE *implicits #include "comlun.cdk"
#include "comdimo.cdk"
#include "comoabdy.cdk"
#include "comoahdr.cdk"
#include "comoba.cdk"
#include "comnumbr.cdk"
#include "cvcord.cdk"
#include "comstato.cdk"
#include "comvcor.cdk"
#include "comct0.cdk"
* INTEGER IBEGIN,ILAST,INREPT,IUN INTEGER IBEGINOBS,ILASTOBS INTEGER J LOGICAL LLOK C IUN=NULOUT LLOK = .TRUE. C WRITE(IUN,'(10X,"******************************************")') WRITE(IUN,'(10X," CMAPR: contents of CMA by TYPE ")') WRITE(IUN,'(10X,"******************************************",//)') WRITE(IUN,'(10X,"------------------------------")') WRITE(IUN,'(10X," UA --> UPPER AIR SOUNDINGS ")') WRITE(IUN,'(10X," ST --> SATEM SOUNDINGS ")') WRITE(IUN,'(10X," AI --> AIREP/SATWND REPORTS ")') WRITE(IUN,'(10X," SF --> SURFACE REPORTS ")') WRITE(IUN,'(10X," HU --> HUMSAT SOUNDINGS ")') WRITE(IUN,'(10X,"------------------------------",/)') C WRITE(IUN,'(10X,"==========================================",/)') C DO J=1,NFILES IBEGIN=NBEGINTYP(J) ILAST =NENDTYP(J) IF ( (IBEGIN .GT. 0) .AND. (ILAST .GT. 0) ) THEN IBEGINOBS=MOBDATA(NCMOBS,IBEGIN) ILASTOBS =MOBDATA(NCMOBS, ILAST) INREPT=MAX (ILASTOBS-IBEGINOBS+1,0) WRITE(IUN, '(10X,A14,A8)' ) ' DATA FILE: ',CFILNAM(J) WRITE(IUN,'(30X,I6,A3,A8)' )INREPT,CFAMTYP(J),' REPORTS' C C-----------CHECK FOR MAXIMUM NUMBER OF REPORTS FOR C UPPER AIR, SATEMS, HUMSAT WHEN DOING AN ANALYSIS (NCONF=141) C IF( (NCONF .EQ. 141 .OR. NINT(NCONF/100.0) .EQ. 6) .AND. $ (CFAMTYP(J).EQ.'UA' .OR. CFAMTYP(J).EQ.'ST' .OR. $ CFAMTYP(J).EQ.'HU') .AND. (INREPT.GT.JPNMAXPRO)) THEN LLOK = .FALSE. WRITE(IUN,*)' NUMBER OF REPORTS IN THE ABOVE', $ ' FILE' WRITE(IUN,*)' EXCEEDS MAXIMUM ALLOWED' WRITE(IUN,'(10X,A18,I6)')' MAXIMUM ALLOWED= ',JPNMAXPRO ENDIF ENDIF END DO IF(.NOT.LLOK) THEN CALL ABORT3D(IUN,' CMAPR: PROBLEM NUMBER OF REPORTS') ENDIF C----- C WRITE(IUN,'(10X,"==========================================",/)') C WRITE(IUN,'(10X,"******************************************")') WRITE(IUN,'(10X," ---END OF CMAPR---")') WRITE(IUN,'(10X,"******************************************",/)') C RETURN END