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