SUBROUTINE SHOWEQ(ISWT) use winteracter USE BLKELTLD save include 'D.inc' INCLUDE 'TXFRM.COM' ! ! Declare window-type and message variables ! TYPE(WIN_STYLE) :: WINDOW TYPE(WIN_MESSAGE) :: MESSAGE COMMON /OPTION/ SWITCH(4),NUMV,CONTUR(99),IQUAL,XCSQ,NUMCOL REAL HMAX(200),HRSTART,HREND INTEGER IYSTART, IYEND, IDYSTART,IDYEND,ick1 data ick1/0/,ITIME/0/ IF(ISWT .EQ. 1) GO TO 140 IF(ITIME .EQ. 0) THEN IYSTART=IYDATE(1) IYEND=IYDATE(1) IDYSTART=TAE(1,1)/24. HRSTART=TAE(1,1)-IDYSTART*24 IDYSTART=IDYSTART+1 IDYEND=IDYSTART HREND=HRSTART ITIME=1 ENDIF call wdialogload(IDD_SETUPELDISP) ierr=infoerror(1) CALL WDialogSelect(IDD_IDD_SETUPELDISP) ierr=infoerror(1) call wdialogputRadioButton(idf_radio1) call wdialogputCheckBox(idf_check1,ick1) CALL WDialogPutInteger(idf_integer1,IYSTART) CALL WDialogPutInteger(idf_integer2,IDYSTART) CALL WDialogPutInteger(idf_integer3,IYEND) CALL WDialogPutInteger(idf_integer5,IDYEND) CALL WDialogPutReal(idf_real1,HRSTART) CALL WDialogPutReal(idf_real3,HREND) CALL WDialogShow(-1,-1,0,Modal) ierr=infoerror(1) do ! IF (WInfoDialog(ExitButton) .EQ. IDOK) THEN call wdialogGetRadioButton(idf_radio1,iopt) call wdialogGetCheckBox(idf_check1,ick1) CALL WDialogGetInteger(idf_integer1,IYSTART) CALL WDialogGetInteger(idf_integer2,IDYSTART) CALL WDialogGetInteger(idf_integer3,IYEND) CALL WDialogGetInteger(idf_integer5,IDYEND) CALL WDialogGetReal(idf_real1,HRSTART) CALL WDialogGetReal(idf_real3,HREND) GO TO 80 elseif(WInfoDialog(ExitButton) .EQ. IDCANCEL) THEN RETURN ENDIF ENDDO 80 CONTINUE TTMIN=1.E20 TTMAX=-1.E20 if(ick1 .eq. 0) then DO I=1,NQHYD IF(IRMATYP .EQ. 11) THEN IF(NEST(I) .EQ. 3) CYCLE ENDIF NST=NHYE(I) if(iopt .eq. 1) then HMAX(I)=-1.E20 DO K=1,NST HMAX(I)=MAX(HAE(K,I),HMAX(I)) ENDDO TTMIN=MIN(HMAX(I),TTMIN) TTMAX=MAX(HMAX(I),TTMAX) else HMAX(I)=0.0 DO K=2,NST IF(TAE(K,I)-TAE(K-1,I) .LT. 0.) THEN IF(MOD(IYDATE(I),4) .EQ. 0) THEN TCOR=366*24. ELSE TCOR=365*24. ENDIF ELSE TCOR=0. ENDIF HMAX(I)=HMAX(I)+(HAE(K-1,I)+HAE(K,I))/2.*(TAE(K,I)+TCOR-TAE(K-1,I))*3.600E-3 ENDDO TTMIN=MIN(HMAX(I),TTMIN) TTMAX=MAX(HMAX(I),TTMAX) endif ENDDO else DO I=1,NQHYD IF(IRMATYP .EQ. 11) THEN IF(NEST(I) .EQ. 3) CYCLE ENDIF TASTART=(IDYSTART-1)*24.+HRSTART TAEND=(IDYEND-1)*24.+HREND IF(IYSTART-IYDATE(I) .GT. 0) THEN TASTART=TASTART+365*24.*(IYSTART-IYDATE(I)) IF(MOD(IYDATE(I),4) .EQ. 0) TASTART=TASTART+24. ENDIF IF(IYEND-IYDATE(I) .GT. 0) THEN TAEND=TAEND+365*24.*(IYEND-IYDATE(I)) IF(MOD(IYDATE(I),4) .EQ. 0) TAEND=TAEND+24. ENDIF NST=NHYE(I) if(iopt .eq. 1) then HMAX(I)=-1.E20 TCOR=0. DO K=2,NST IF(TAE(K,I)-TAE(K-1,I) .LT. 0.) THEN TCOR=TCOR+365*24. ENDIF TTEMP=TAE(K,I)+TCOR IF(TTEMP .LT. TASTART) CYCLE IF(TTEMP .GT. TAEND) GO TO 120 HMAX(I)=MAX(HAE(K,I),HMAX(I)) ENDDO 120 CONTINUE TTMIN=MIN(HMAX(I),TTMIN) TTMAX=MAX(HMAX(I),TTMAX) else HMAX(I)=0.0 TCOR=0. DO K=2,NST IF(TAE(K,I)-TAE(K-1,I) .LT. 0.) THEN IF(MOD(IYDATE(I),4) .EQ. 0) THEN TCOR=TCOR+366*24. ELSE TCOR=TCOR+365*24. ENDIF ! TCOR=TCOR+365*24. TDIF=TAE(K,I)-TAE(K-1,I)+TCOR ELSE TDIF=TAE(K,I)-TAE(K-1,I) ENDIF TTEMP=TAE(K,I)+TCOR IF(TTEMP .LT. TASTART) CYCLE IF(TTEMP .GT. TAEND) GO TO 130 HMAX(I)=HMAX(I)+(HAE(K-1,I)+HAE(K,I))/2.*TDIF*3.600E-3 ENDDO 130 CONTINUE TTMIN=MIN(HMAX(I),TTMIN) TTMAX=MAX(HMAX(I),TTMAX) endif ENDDO endif ISZ=1 RAD=10. CALL CSET(TTMIN,TTMAX,isz) 140 CONTINUE DO I=1,NQHYD IF(IRMATYP .EQ. 11) THEN IF(NEST(I) .EQ. 3) CYCLE ENDIF DO J=1,NUMV IF(HMAX(I) .LE. CONTUR(J)) THEN ncoln=mod(J,13)+4 JJ=NCLINE(I) ! CALL GETXCL(JJ,XCJ,YCJ) call change_color(ncoln) ! CALL FILLEMC(NCLINE(I),NCOLN) raddisp=0.05 ! if(raddisp .lt. 0.01) raddisp=0.01 ! call circle(xcj,ycj,raddisp) XCT=(XYCEL(I,1)+XS)/TXSCAL YCT=(XYCEL(I,2)+YS)/TXSCAL call circle(xct,yct,raddisp) GO TO 200 ENDIF ENDDO 200 CONTINUE ENDDO CALL RBLACK DO I=1,NQHYD IF(IRMATYP .EQ. 11) THEN IF(NEST(I) .EQ. 3) CYCLE ENDIF JJ=NCLINE(I) ! CALL GETXCL(JJ,XCJ,YCJ) ! CALL NUMBR(XCJ,YCJ,0.15,HMAX(I),0.0,1) XCT=(XYCEL(I,1)+XS)/TXSCAL YCT=(XYCEL(I,2)+YS)/TXSCAL CALL NUMBR(XCT,YCT,0.15,HMAX(I),0.0,1) enddo RETURN END SUBROUTINE GETXCL(J,XCJ,YCJ) USE BLK1MOD XXC=0. YYC=0. IF(IMAT(J) .EQ. 0) GO TO 50 NCN = NCORN(J) IF(NCN .EQ. 9) THEN NCNR=8 ELSE NCNR=NCN ENDIF NCNT=0 DO 25 K=1,NCNR N = NOP(J,K) ! IF (N .EQ. 0 .OR. XUSR(N) .LT. VDX) GOTO 25 ! ! IF (NCN .NE. 5 .OR. K .LT. 5) THEN IF (MOD(K,2) .EQ. 1) THEN XXC = XXC + XUSR(N) YYC = YYC + YUSR(N) NCNT=NCNT+1 ENDIF ENDIF 25 CONTINUE IF(NCN .LT. 9) THEN XCJ = XXC/NCNT YCJ = YYC/NCNT ELSE XCJ= XUSR(NOP(J,9)) YCJ= YUSR(NOP(J,9)) ENDIF 50 CONTINUE RETURN END