program readdata parameter (ny=2021-1978, nday=31+30+31+30+31) c nday: March - July real td(21), td7(nday,ny) dimension nb(21) character*8 cyr, cmon, cday, cmag open(21,file='comp.mod_all.gr', 1 access='direct',form='unformatted',recl=21*4) open(10,file='td.MAMJj.1979-2021.7d-mean.gr', 1 access='direct',form='unformatted',recl=nday*ny*4) read(10,rec=1) ((td7(nd,iy),nd=1,nday),iy=1,ny) open(11, file='mod_average_year') open(12, file='mod_average_month') open(13, file='mod_average_day_94L') read(11,*) cyr read(12,*) cmon read(13,*) cday print *, 'LSR: ', cyr, ' ',cmon,' ',cday do n=1,21 td(n)=0.0 nb(n)=0 end do ntot=94-1 do i=1,ntot read(11,*) iyear read(12,*) imon read(13,*) iday if(i.le.10) then print *, iyear, imon, iday end if c Year: 1979-2021 c Month: March - July if(iyear.ge.1979.and.iyear.le.2021) then if(imon.ge.3.and.imon.le.7) then iy=iyear - 1978 if(imon.eq.3) nd=iday if(imon.eq.4) nd=iday+31 if(imon.eq.5) nd=iday+61 if(imon.eq.6) nd=iday+92 if(imon.eq.7) nd=iday+122 c March - July: 31+30+31+30+31 = 153 days do n=1,21 td(n)=td(n) + td7(nd+n-1,iy) nb(n)=nb(n) + 1 end do end if end if end do c 7-day mean: March - June open(31, file='mod_fast_year') open(32, file='mod_fast_month') open(33, file='mod_fast_day_86L') read(31,*) cyr read(32,*) cmon read(33,*) cday print *, 'LSR: ', cyr, ' ',cmon,' ',cday ntot=86-1 do i=1,ntot read(31,*) iyear read(32,*) imon read(33,*) iday c if(i.le.10) then c print *, iyear, imon, iday c end if c Year: 1979-2021 c Month: March - July if(iyear.ge.1979.and.iyear.le.2021) then if(imon.ge.3.and.imon.le.7) then iy=iyear - 1978 if(imon.eq.3) nd=iday if(imon.eq.4) nd=iday+31 if(imon.eq.5) nd=iday+61 if(imon.eq.6) nd=iday+92 if(imon.eq.7) nd=iday+122 c March - July: 31+30+31+30+31 = 153 days do n=1,21 td(n)=td(n) + td7(nd+n-1,iy) nb(n)=nb(n) + 1 end do end if end if end do c----------------------------------- open(41, file='mod_slow_year') open(42, file='mod_slow_month') open(43, file='mod_slow_day_155L') read(41,*) cyr read(42,*) cmon read(43,*) cday print *, 'LSR: ', cyr, ' ',cmon,' ',cday ntot=155-1 do i=1,ntot read(41,*) iyear read(42,*) imon read(43,*) iday c if(i.le.10) then c print *, iyear, imon, iday c end if c Year: 1979-2021 c Month: March - July if(iyear.ge.1979.and.iyear.le.2021) then if(imon.ge.3.and.imon.le.7) then iy=iyear - 1978 if(imon.eq.3) nd=iday if(imon.eq.4) nd=iday+31 if(imon.eq.5) nd=iday+61 if(imon.eq.6) nd=iday+92 if(imon.eq.7) nd=iday+122 c March - July: 31+30+31+30+31 = 153 days do n=1,21 td(n)=td(n) + td7(nd+n-1,iy) nb(n)=nb(n) + 1 end do end if end if end do c------------------------------------------------ write(*,*) td do n=1,21 if(nb(n).ne.0) td(n)=td(n)/real(nb(n)) end do write(*,*) (td(n),n=1,21) write(21,rec=1) (td(n),n=1,21) stop end