1
2      SUBROUTINE PSTANN
3!***********************************************************************
4!                 PSTANN Module of the AMS/EPA Regulatory Model - AERMOD
5!
6!        PURPOSE: Process Postprocessor Files for PERIOD Results
7!
8!        PROGRAMMER: Roger Brode
9!
10!        DATE:    March 2, 1992
11!
12!        MODIFIED BY D. Strimaitis, SRC (for Wet & Dry DEPOSITION) - 11/8/93
13!
14!        INPUTS:  Array of High Values
15!
16!        OUTPUTS: File of High Values for Postprocessing
17!
18!        CALLED FROM:   MAIN
19!***********************************************************************
20
21!     Variable Declarations
22      USE MAIN1
23      IMPLICIT NONE
24      CHARACTER MODNAM*12
25
26      SAVE
27      INTEGER :: I
28      CHARACTER PERCHR*6 , HDRFRM*256
29
30!     Variable Initializations
31      MODNAM = 'PSTANN'                                                 !      0
32
33!     Set Averaging Label and Create Header Format for Columns
34      IF ( PERIOD ) THEN
35         PERCHR = 'PERIOD'                                              !      0
36         WRITE (HDRFRM,9020) NUMTYP , NUMTYP + 2
37 9020    FORMAT ('(''*'',8X,''X'',13X,''Y'',4X,',I1,                    &
38     &'(2X,3A4),4X,''ZELEV'',   4X,''ZHILL'',4X,''ZFLAG'',4X,''AVE'',5X,&
39     &''GRP'',6X,''NUM HRS'',   3X,''NET ID'',/,''*'',',I1,             &
40     &'(1X,''____________ ''),1X,           3('' ______  ''),''______  _&
41     &_______  ________  ________'')')
42      ELSEIF ( ANNUAL ) THEN
43         PERCHR = 'ANNUAL'                                              !      0
44         WRITE (HDRFRM,9021) NUMTYP , NUMTYP + 2
45 9021    FORMAT ('(''*'',8X,''X'',13X,''Y'',4X,',I1,                    &
46     &'(2X,3A4),4X,''ZELEV'',   4X,''ZHILL'',4X,''ZFLAG'',4X,''AVE'',5X,&
47     &''GRP'',6X,''NUM YRS'',   3X,''NET ID'',/,''*'',',I1,             &
48     &'(1X,''____________ ''),1X,           3('' ______  ''),''______  _&
49     &_______  ________  ________'')')
50      ENDIF
51
52!     Begin Source Group LOOP
53      DO IGRP = 1 , NUMGRP                                              !      0
54!        Check for Selection of PERIOD POSTFILE for This Group
55         IF ( IANPST(IGRP).EQ.1 ) THEN                                  !      0
56            IF ( IANFRM(IGRP).EQ.0 ) THEN                               !      0
57!              WRITE Results to Unformatted POSTFILE
58               IF ( PERIOD ) THEN                                       !      0
59                  WRITE (IAPUNT(IGRP),ERR=99) KURDAT , IANHRS ,         &
60     &                   GRPID(IGRP) ,                                  &
61     &                   ((ANNVAL(IREC,IGRP,ITYP),IREC=1,NUMREC),ITYP=1,&
62     &                   NUMTYP)
63               ELSEIF ( ANNUAL ) THEN
64                  WRITE (IAPUNT(IGRP),ERR=99) KURDAT , NUMYRS ,         &
65     &                   GRPID(IGRP) ,                                  &
66     &                   ((ANNVAL(IREC,IGRP,ITYP),IREC=1,NUMREC),ITYP=1,&
67     &                   NUMTYP)
68               ENDIF
69            ELSE
70!              WRITE Results to Formatted Plot File
71!              Write Header Information
72               WRITE (IAPUNT(IGRP),9005) VERSN , TITLE1                 !      0
73
74 9005          FORMAT ('* AERMOD (',A5,'): ',A68)
75               WRITE (IAPUNT(IGRP),9007) (MODOPS(I),I=1,18)
76 9007          FORMAT ('* MODELING OPTIONS USED:',/'* ',18(1X,A6))
77               WRITE (IAPUNT(IGRP),9010) PERCHR , GRPID(IGRP) , NUMREC ,&
78     &                PSTFRM
79 9010          FORMAT ('*',9X,'POST/PLOT FILE OF ',A6,' VALUES FOR ',   &
80     &                 'SOURCE GROUP: ',A8,/'*',9X,'FOR A TOTAL OF ',I5,&
81     &                 ' RECEPTORS.',/'*',9X,'FORMAT: ',A60)
82               WRITE (IAPUNT(IGRP),HDRFRM)                              &
83     &                (CHIDEP(1,ITYP),CHIDEP(2,ITYP),CHIDEP(3,ITYP),    &
84     &                ITYP=1,NUMTYP)
85!              Begin Receptor LOOP
86               DO IREC = 1 , NUMREC
87                  IF ( PERIOD ) THEN                                    !      0
88                     WRITE (IAPUNT(IGRP),PSTFRM,ERR=99) AXR(IREC) ,     &
89     &                      AYR(IREC) ,                                 &
90     &                      (ANNVAL(IREC,IGRP,ITYP),ITYP=1,NUMTYP) ,    &
91     &                      AZELEV(IREC) , AZHILL(IREC) , AZFLAG(IREC) ,&
92     &                      PERCHR , GRPID(IGRP) , IANHRS , NETID(IREC)
93                  ELSEIF ( ANNUAL ) THEN
94                     WRITE (IAPUNT(IGRP),PSTFRM,ERR=99) AXR(IREC) ,     &
95     &                      AYR(IREC) ,                                 &
96     &                      (ANNVAL(IREC,IGRP,ITYP),ITYP=1,NUMTYP) ,    &
97     &                      AZELEV(IREC) , AZHILL(IREC) , AZFLAG(IREC) ,&
98     &                      PERCHR , GRPID(IGRP) , NUMYRS , NETID(IREC)
99                  ENDIF
100               ENDDO
101!              End Receptor LOOP
102            ENDIF
103         ENDIF
104      ENDDO
105!     End Source Group LOOP
106
107      GOTO 999                                                          !      0
108
109!     WRITE Error Message for Problem Writing to Postprocessor File
110 99   WRITE (DUMMY,'("PSTFL",I3.3)') IAPUNT(IGRP)                       !      0
111      CALL ERRHDL(PATH,MODNAM,'E','520',DUMMY)
112
113 999  CONTINUE                                                          !      0
114      END


HyperKWIC - Version 1.00DD executed at 20:00 on 1 Mar 2018 | Personal or Academic or Evaluation User | Free for Non-Commercial, Non-Government Use