SUBROUTINE PLATYP(KFILDO,KFILVO,CCALL,NAME, 1 XDATA,DATA,STALAT,STALON, 2 LTAG,LTAGPT,NTAGPT,IWRITA, 3 IWIND,ITABLE,NOSCII,ISTOP,IER) C C SEPTEMBER 2014 GLAHN TDL MOS-2000 C OCTOBER 2014 GLAHN NTAGPT = 4 CONSIDERED; COMMENTS C NOVEMBER 2014 GLAHN/IM REMOVED TEST ON IWRITA=5 C NOVEMBER 2014 IM/GLAHN REMOVED VOTNAM RELATED CONTENTS C DECEMBER 2014 GLAHN ADDED A COMMENT C C PURPOSE C TO WRITE AN ASCII RECORD CONSISTING OF LATITUDE, C LONGITUDE, STATION VALUE (E.G., TEMPERATURE) AND C INDICATORS OF TOSSED STATIONS AND TYPE (E.G., BASE). C THEN, AFTER A '#' IS THE CALL LETTERS AND NAME. C THIS FILE CAN BE USED BY IMAGEGEN TO PLOT STATION C VALUES ON A MAP. NOTHING AFTER # IS PLOTTED. C C DATA SET USE C KFILDO - UNIT NUMBER OF OUTPUT (PRINT) FILE. (OUTPUT) C KFILVO - THE ASCII DATA. (OUTPUT) C C VARIABLES C KFILDO = UNIT NUMBER OF OUTPUT (PRINT) FILE. (INPUT) C KFILVO = THE ASCII FILE UNIT NUMBER. (INPUT) C CCALL = STATION CALL LETTERS. (CHARACTER*8) (INPUT) C NAME = STATION NAME. (CHARACTER*20) (INPUT) C XDATA = THE STATION DATA VALUE TO PLOT. (INPUT) C DATA = THE WIND DIRECTION TO PLOT WHEN PLOTTING C WIND. (INPUT) C STALAT = THE STATION LATITUDE. (INPUT) C STALON = THE STATION LONGITUDE. (INPUT) C LTAG = DENOTES USE OF DATA CORRESPONDING TO CCALL. C +4 = TOSSED IN A PREVIOUS OBS RUN AND C MAINTAINED DOWNSTREAM. C +3 = TOSSED IN A PREVIOUS LAMP RUN, AND C MAINTAINED DOWNSTREAM. C +2 = NOT USED FOR ANY PURPOSE. FLTAG SETS C A VALUE +2 WHEN THE STATION LOCATION C IS MISSING. C +1 = PERMANENTLY DISCARDED FOR THE VARIABLE C BEING ANALYZED. INCLUDES DATA FAR C OUTSIDE THE GRID, AS DEFINED BY RMAX C 0 = USE ON CURRENT PASS THROUGH DATA IN BCD. C -1 = ON RETURN FROM BCD, THE DATUM WAS NOT C USED ON THE LAST PASS. C -3 = ACCEPT THIS STATION ON EVERY PASS IN BCD. C (NOT IMPLEMENTED IN U405A) C LTAGPT = 1 = AUGMENTED DATA (FIRST PASS) C 2 = AUGMENTED DATA (2ND PASS) C 3 = BOGUS DATA C 0 = EVERYTHING ELSE C (INPUT) C NTAGPT = TAG FOR HOW AUGMENTATION IS MADE. C 0 = NOT AUGMENTED. INCLUDES MISSING AND BASE C VALUES. C 1 = WEIGHTED AVERAGE OF 1ST AND 2ND LEVELS, BUT C ONLY WHEN IPREX5 NE 0. THIS IS FOR LAMP C AVERAGE OF MOS AND OBS. C 2 = 1ST LEVEL, 2ND NOT THERE. THIS COULD BE C OBS FOR OBS ANALYSIS OR MOS FOR LAMP. C 3 = 2ND LEVEL, 1ST LEVEL NOT THERE. THIS IS C OBS FOR EITHER OBS ANALYSIS OR LAMP. C 4 = 1ST LEVEL WHEN IPREX5 = 0. THIS IS OBS C FOR OBS ANALYSIS OR MOS FOR LAMP. C (INPUT) C IWRITA(N) = INDICATES WHETHER OR NOT ASCII DATA ARE TO BE C WRITTEN TO FILE ON UNIT NO. KFILVO C (N=1,ND4). C 0 = DO NOT WRITE; C 1 = WRITE WITH * FOR THOSE TOSSED ON LAST PASS; C 2 = WRITE ONLY BASE STATIONS WITH * FOR THOSE C TOSSED ON LAST PASS; C 3 = SAME AS 1, EXCEPT NO *; AND C 4 = SAME AS 1, WITH INDICATORS OF TYPE OF DATA: C b = BOGUS; C ' = 1ST AUGMENTATION; C " = 2ND AUGMENTATION; AND C ^ = AVERAGE OF AUGMENTED VALUES. C (INPUT) C IWIND = FLAG FOR WIND: C 1 = WIND, AND C 0 = ANY OTHER ELEMENT. C (INPUT) C ITABLE = FOR WIND, THE DIRECTION ID FROM U405A C ITABLE(1,6. (INPUT) C NOSCII = INCREMENTED BY 1 EACH TIME A RECORD IS C WRITTEN. (INPUT/OUTPUT) C STOP = INCREMENTED FOR EACH ERROR. (INPUT/OUTPUT) C IER = STATUS INDICATOR. (OUTPUT) C 1 2 3 4 5 6 7 X C C NONSYSTEM SUBROUTINES USED C NONE C CHARACTER*8 CCALL CHARACTER*20 NAME C IER=0 C CALL TIMPR(KFILDO,KFILDO,'START PLATYP ') C C PLATYP IS NOT CALLED UNLESS WRITING ASCII IS TO BE DONE. THAT C IS, IWRITA.NE.0 AND KFILVO.NE.0. C C USE BELOW TO CHECK A SPECIFIC STATION. C********************************************** D IF(CCALL.EQ.'ABAN6 ')THEN D WRITE(KFILDO,115)CCALL,IWIND,IWRITA,XDATA,DATA,LTAG, D 1 LTAGPT,NTAGPT D115 FORMAT(' IN PLATYP--CCALL,IWIND,IWRITA,XDATA,DATA,,LTAG', D 1 ',LTAGPT,NTAGPT'/' ',A8,2I6,2F7.1,I3,2I6) D ELSEIF(CCALL.EQ.'KBOI ')THEN D WRITE(KFILDO,115)CCALL,IWIND,IWRITA,XDATA,DATA,LTAG, D 1 LTAGPT,NTAGPT D ELSEIF(CCALL.EQ.'16160090')THEN D WRITE(KFILDO,115)CCALL,IWIND,IWRITA,XDATA,DATA,LTAG, D 1 LTAGPT,NTAGPT D ENDIF C********************************************** C IF(IWIND.EQ.0)THEN C WIND IS TREATED SEPARATELY. C IF(XDATA.LT.9998.9)THEN C DATA ARE NOT MISSING. C IF(IWRITA.EQ.4)THEN C THE TYPE OF DATA RE TO BE INDICATED. C IF(NTAGPT.EQ.2.OR.NTAGPT.EQ.4)THEN C THIS IS A 1ST LEVEL AUGMENTATION. THE 2ND LEVEL C MAY OR MAY NOT BE THERE, DEPENDING IN PREX5. C INDICATE WITH A "'". NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,120)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 120 FORMAT(2F10.4,I6,"'* # ",A8,2X,A20) ELSE C WRITE(KFILVO,121)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 121 FORMAT(2F10.4,I6,"' # ",A8,2X,A20) ENDIF C ELSEIF(NTAGPT.EQ.3)THEN C THIS IS A 2ND LEVEL AUGMENTATION, 1ST LEVEL NOT C THERE. INDICATE WITH A " " ". NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,130)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 130 FORMAT(2F10.4,I6,'"* # ',A8,2X,A20) ELSE C WRITE(KFILVO,131)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 131 FORMAT(2F10.4,I6,'" # ',A8,2X,A20) ENDIF C ELSEIF(NTAGPT.EQ.1)THEN C THIS IS AN AVERAGE OF TWO (1ST AND 2ND LEVELS) C VALUES. INDICATE WITH A " ^ ". NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,140)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 140 FORMAT(2F10.4,I6,'^* # ',A8,2X,A20) ELSE C WRITE(KFILVO,141)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 141 FORMAT(2F10.4,I6,'^ # ',A8,2X,A20) ENDIF C ELSEIF(LTAGPT.EQ.3)THEN C THIS IS A BOGUS VALUE. INDICATE WITH A b. NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,150)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 150 FORMAT(2F10.4,I6,'b* # ',A8,2X,A20) ELSE C WRITE(KFILVO,151)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 151 FORMAT(2F10.4,I6,'b # ',A8,2X,A20) ENDIF C ELSE C THIS IS NEITHER BOGUS NOR AUGMENTED. NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,160)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 160 FORMAT(2F10.4,I6,'* # ',A8,2X,A20) ELSE C WRITE(KFILVO,161)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 161 FORMAT(2F10.4,I6,' # ',A8,2X,A20) ENDIF C ENDIF C ELSEIF(IWRITA.EQ.1)THEN C WRITE ALL STATIONS WITH AN * IF MISSING. NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,170)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 170 FORMAT(2F10.4,I6,'* # ',A8,2X,A20) ELSE C WRITE(KFILVO,171)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 171 FORMAT(2F10.4,I6,' # ',A8,2X,A20) ENDIF C ELSEIF(IWRITA.EQ.2)THEN C WRITE ONLY BASE STATIONS, WITH A * IF MISSING C IF(NTAGPT.EQ.0.AND.LTAGPT.NE.3)THEN NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,180)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 180 FORMAT(2F10.4,I6,'* # ',A8,2X,A20) ELSE C WRITE(KFILVO,181)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME 181 FORMAT(2F10.4,I6,' # ',A8,2X,A20) ENDIF C ENDIF C ELSEIF(IWRITA.EQ.3)THEN C WRITE ONLY BASE STATIONS WITH NO *. C IF(NTAGPT.EQ.0.AND.LTAGPT.NE.3)THEN C THIS IS A BASE STATION. WRITE IT C WITHOUT *. NOSCII=NOSCII+1 WRITE(KFILVO,181)-STALON,STALAT, 1 NINT(XDATA),CCALL, 2 NAME ENDIF C ENDIF C ENDIF C ELSE C CCCCC WRITE(KFILDO,185)CCALL,NAME,XDATA,DATA,NTAGPT,LTAGPT,LTAG CCCCC 185 FORMAT(' IN PLATYP--CCALL,NAME,XDATA,DATA,NTAGPT,LTAGPT,LTAG ', CCCCC 1 A8,A20,2F8.2,3I4) C C THIS SECTION FOR WIND. SPEED AND DIRECTION CAN BE C PLOTTED TOGETHER OR SPEED SEPARATELY IF DIRECTION C IS MISSING. DATA VALUES ARE TO THE CLOSEST INTEGER C SO MUST BE SCALED TO WHAT IS DESIRED. C C THIS IS A MOS WIND SPEED OR GUST, OR A LAMP SPEED, C IF A OBSERVED WIND SPEED OR TOTAL WIND. C WRITE THE STATION DIRECTION WITH 2 DIGITS, A SLASH, C AND WIND SPEED WITH 2 DIGITS. C IF(ITABLE.NE.0.AND.XDATA.LT.9998.9.AND.DATA.LT.9998.9)THEN C ITABLE IS ITABLE(1,6) IN U405A. IF DIRECTION IS TO C BE PLOTTED, IT MUST CONTAIN THE ID. WRITES C DIRECTION AND SPEED WHEN NEITHER IS MISSING, PROVIDED C NTAGPT NE 5. C IF(NINT(XDATA).GT.99)XDATA=99 C THE ABOVE TO KEEP SPEED VALUES GT 99 TO NOT C WRITE AS *'S THAT GMOS_PLOT WON'T HANDLE. C IF(DATA.LT.9998.9)THEN DATA=NINT(DATA/10.) C THIS ROUNDS DIRECTION TO TENS OF DEGREES. C IF(NINT(DATA).EQ.0.AND.NINT(XDATA).NE.0)THEN DATA=36. C SETS ZERO DEGREES TO 360 WHEN SPEED NE ZERO. ENDIF C IF(NINT(XDATA).EQ.0)THEN DATA=0. C DIRECTION IS NOT PLOTTED IF SPEED = 0. ENDIF C ENDIF C IF(IWRITA.EQ.4)THEN C THE TYPE OF DATA ARE TO BE INDICATED. C IF(NTAGPT.EQ.2.OR.NTAGPT.EQ.4)THEN C THIS IS A 1ST LEVEL AUGMENTATION. THE 2ND LEVEL C MAY OR MAY NOT BE THERE, DEPENDING IN PREX5. C INDICATE WITH A "'". NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. WRITE(KFILVO,220)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 220 FORMAT(2F10.4,I6.2,'/',I2.2,"'* # ",A8,2X,A20) ELSE WRITE(KFILVO,221)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 221 FORMAT(2F10.4,I6.2,'/',I2.2,"' # ",A8,2X,A20) ENDIF C ELSEIF(NTAGPT.EQ.3)THEN C THIS IS A 2ND LEVEL AUGMENTATION. INDICATE C WITH A " " ". NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. WRITE(KFILVO,230)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 230 FORMAT(2F10.4,I6.2,'/',I2.2,'"* # ',A8,2X,A20) ELSE WRITE(KFILVO,231)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 231 FORMAT(2F10.4,I6.2,'/',I2.2,'" # ',A8,2X,A20) ENDIF C ELSEIF(NTAGPT.EQ.1)THEN C THIS IS AN AVERAGE OF TWO VALUES. INDICATE C WITH A " ^ ". NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. WRITE(KFILVO,240)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 240 FORMAT(2F10.4,I6.2,'/',I2.2,'^* # ',A8,2X,A20) ELSE WRITE(KFILVO,241)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 241 FORMAT(2F10.4,I6.2,'/',I2.2,'^ # ',A8,2X,A20) ENDIF C ELSEIF(LTAGPT.EQ.3)THEN C THIS IS A BOGUS VALUE. INDICATE WITH A b. NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. WRITE(KFILVO,250)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 250 FORMAT(2F10.4,I6.2,'/',I2.2,'b* # ',A8,2X,A20) ELSE WRITE(KFILVO,251)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 251 FORMAT(2F10.4,I6.2,'/',I2.2,'b # ',A8,2X,A20) ENDIF C ELSE C THIS IS NEITHER BOGUS NOR AUGMENTED. NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,260)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 260 FORMAT(2F10.4,I6.2,'/',I2.2,'* # ',A8,2X,A20) ELSE C WRITE(KFILVO,261)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 261 FORMAT(2F10.4,I6.2,'/',I2.2,' # ',A8,2X,A20) ENDIF C ENDIF C ELSEIF(IWRITA.EQ.1)THEN C WRITE ALL STATIONS WITH AN * IF MISSING. NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,270)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 270 FORMAT(2F10.4,I6.2,'/',I2.2,'* # ',A8,2X,A20) ELSE C WRITE(KFILVO,271)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 271 FORMAT(2F10.4,I6.2,'/',I2.2,' # ',A8,2X,A20) ENDIF C ELSEIF(IWRITA.EQ.2)THEN C WRITE ONLY BASE STATIONS, WITH A * IF MISSING C IF(NTAGPT.EQ.0)THEN WRITE(KFILDO,272)CCALL,LTAGPT 272 FORMAT(' AT 272--CCALL,LTAGPT ',A8,I4) ENDIF C IF(NTAGPT.EQ.0.AND.LTAGPT.NE.3)THEN NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,280)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 280 FORMAT(2F10.4,I6.2,'/',I2.2,'* # ',A8,2X,A20) ELSE C WRITE(KFILVO,281)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME 281 FORMAT(2F10.4,I6.2,'/',I2.2,' # ',A8,2X,A20) ENDIF C ENDIF C ELSEIF(IWRITA.EQ.3)THEN C WRITE ONLY BASE STATIONS WITH NO *. C IF(NTAGPT.EQ.0.AND.LTAGPT.NE.3)THEN C THIS IS A BASE STATION. WRITE IT C WITHOUT *. NOSCII=NOSCII+1 WRITE(KFILVO,281)-STALON,STALAT, 1 NINT(DATA),NINT(XDATA), 2 CCALL,NAME ENDIF C ENDIF C ELSEIF(XDATA.LT.9998.9)THEN C THIS IS FOR WHEN DIRECTION IS MISSING OR WHEN ITABLE = 0. C IF(NINT(XDATA).GT.99)XDATA=99 C THE ABOVE TO KEEP SPEED VALUES GT 99 TO NOT C WRITE AS *'S THAT GMOS_PLOT WON'T HANDLE. C IF(IWRITA.EQ.4)THEN C THE TYPE OF DATA ARE TO BE INDICATED. C IF(NTAGPT.EQ.2.OR.NTAGPT.EQ.4)THEN C THIS IS A 1ST LEVEL AUGMENTATION. THE 2ND LEVEL C MAY OR MAY NOT BE THERE, DEPENDING IN PREX5. C INDICATE WITH A "'". NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. WRITE(KFILVO,320)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 320 FORMAT(2F10.4,I6,"'* # ",A8,2X,A20) ELSE WRITE(KFILVO,321)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 321 FORMAT(2F10.4,I6,"' # ",A8,2X,A20) ENDIF C ELSEIF(NTAGPT.EQ.3)THEN C THIS IS A 2ND LEVEL AUGMENTATION. INDICATE C WITH A " " ". NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. WRITE(KFILVO,330)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 330 FORMAT(2F10.4,I6,'"* # ',A8,2X,A20) ELSE WRITE(KFILVO,331)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 331 FORMAT(2F10.4,I6,'" # ',A8,2X,A20) ENDIF C ELSEIF(NTAGPT.EQ.1)THEN C THIS IS AN AVERAGE OF TWO (1ST AND 2ND LEVELS) C VALUES. INDICATE WITH A " ^ ". NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. WRITE(KFILVO,340)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 340 FORMAT(2F10.4,I6,'^* # ',A8,2X,A20) ELSE WRITE(KFILVO,341)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 341 FORMAT(2F10.4,I6,'^ # ',A8,2X,A20) ENDIF C ELSEIF(LTAGPT.EQ.3)THEN C THIS IS A BOGUS VALUE. INDICATE WITH A b. NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. WRITE(KFILVO,350)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 350 FORMAT(2F10.4,I6,'b* # ',A8,2X,A20) ELSE WRITE(KFILVO,351)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 351 FORMAT(2F10.4,I6,'b # ',A8,2X,A20) ENDIF C ELSE C THIS IS NEITHER BOGUS NOR AUGMENTED. NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,360)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 360 FORMAT(2F10.4,I6,'* # ',A8,2X,A20) ELSE C WRITE(KFILVO,361)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 361 FORMAT(2F10.4,I6,' # ',A8,2X,A20) ENDIF C ENDIF C ELSEIF(IWRITA.EQ.1)THEN C WRITE ALL STATIONS WITH AN * IF MISSING. NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,370)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 370 FORMAT(2F10.4,I6,'* # ',A8,2X,A20) ELSE C WRITE(KFILVO,371)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 371 FORMAT(2F10.4,I6,' # ',A8,2X,A20) ENDIF C ELSEIF(IWRITA.EQ.2)THEN C WRITE ONLY BASE STATIONS, WITH A * IF MISSING. C IF(NTAGPT.EQ.0.AND.LTAGPT.NE.3)THEN NOSCII=NOSCII+1 C IF(LTAG.LT.0)THEN C THIS IS A TOSSED VALUE. C WRITE(KFILVO,380)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 380 FORMAT(2F10.4,I6,'* # ',A8,2X,A20) ELSE C WRITE(KFILVO,381)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME 381 FORMAT(2F10.4,I6,' # ',A8,2X,A20) ENDIF C ENDIF C ELSEIF(IWRITA.EQ.3)THEN C WRITE ONLY BASE STATIONS WITH NO *. C IF(NTAGPT.EQ.0.AND.LTAGPT.NE.3)THEN C THIS IS A BASE STATION. WRITE IT C WITHOUT *. NOSCII=NOSCII+1 WRITE(KFILVO,381)-STALON,STALAT, 1 NINT(XDATA),CCALL,NAME ENDIF C ENDIF C ENDIF C ENDIF C RETURN END