c GDATA.F - GOSTA c c PURPOSE: CALCULATE GOSTA GRID COORDINATES, c EXTRACT ICE CONCENTRATION DATA c FROM FILE, AND READ INTO ARRAY subroutine gdata(data,xt1,yt1,imt1,jmt1,km1,nskip,nyr) c real xt1(imt1),yt1(jmt1) real data(imt1,jmt1,km1,nyr) integer idata(imt1,jmt1),nskip,nyr,part character fin*40,fout*40 c bad = -10. c c calculating GOSTA grid do i=1,imt1 xt1(i) = (float(i)) -180.5 enddo do j=1,jmt1 yt1(j) = 180.-(float(j)-1.) -90.5 enddo c open(12,file='list.in',status='unknown') c skipping NSKIP years if (nskip .gt. 0) then do ii = 1, nskip read(12,'(i2,a26,a5)') part,fin,fout write(*,*) 'SKIPPING FILE:',fin enddo endif do n=1,nyr read(12,'(i2,a26,a5)') part,fin,fout open(10,file=fin,form='formatted',status='unknown') c c read in the data c skip odd year if wanting to read even year if (part.eq.2) then do kk=1,12 read(10,1) mon,iyr read(10,2) idata enddo endif c do k=1,km1 read(10,1) mon,iyr read(10,2) idata write(*,*) 'MON & YEAR',mon,iyr c do i=1,imt1 do j=1,jmt1 c Data stored in *.TXT files in order of DECREASING latitude. c (90 deg. to -90 deg) c Data array will be stored in order of INCREASING latitude, to c correspond with GOSTA grid as defined above. c c DIVIDE DATA BY 10. so ice conc between 0-1. data(i,j,k,n) = float(idata(i,j))/10. if (idata(i,j).eq.-32768) then data(i,j,k,n)=bad endif enddo enddo enddo 1 format(2i6) 2 format(360i6) c close(10) enddo close(12) c c return end