c MAIN.F - NSIDC DATA c NOTE: dr = arctic OUTPUT data c dg = NSIDC INPUT data c km = 12 months:: DATA put into tracer1 in snapshot c user has to set ig/jg c user has to set nyr: number of years to be interpolated c snapshot contains data from FINAL year read into dr array c (IE: only ONE snapshot made, but all interp. data is c written to file called dd.dta, which can be used c for further processing at a later date.) c parameter(ig=80,jg=58) ! dimensions of NSIDC grid parameter(ir=91,jr=67,m=12,nyr=46) c real xlon(ig,jg),xlat(ig,jg) real xt(ir),yt(jr),zt(m) real dg(ig,jg,m,nyr), dr(ir,jr,m,nyr),temp(ir,jr,m) integer kmtg(ig,jg), kmtr(ir,jr) c USER definitions pi = 4.*atan(1.) phir = pi/4. thetar = -pi/2. psir = -pi/2. cell=111.1774734 c c METHOD of Interpolation: c if method = 1, use gaussian interp c if method = 2, use witch interp c if method = 3, use nearest neighbor interp c method =2 radius = 0.5 c c TO CHANGE YEAR(s) TO BE READ BY GDATA.F, c YOU MUST MODIFY nskip PARAMETER c SKIP 1901 TO 1948, INCLUSIVE nskip = 48 c Number of years to be interpolated is determined c by PARAMETER NYR c c get GEOGRAPHICAL data (NSIDC) call gdata(dg,xlon,xlat,kmtg,ig,jg,m,nskip,nyr) write(*,*) 'GDATA' c get ROTATED data (arctic model) call rdata(xt,yt,zt,kmtr,ir,jr,m) write(*,*) 'RDATA' c DO INTERPOLATION for ALL MONTHS AT ONCE call intp(dg,xlon,xlat,ig,jg, > dr,xt,yt,ir,jr,phir,thetar, > psir,kmtg,kmtr,m,nyr,method,radius) write(*,*) 'IDATA' c c A data file will be written which includes all interpolated c data values for the years specified above. open(22,file='nsidc_w.R150',form='unformatted') do n=1,nyr iyr = 1900+n+nskip do i=1,ir do j=1,jr do k=1,m temp(i,j,k) = dr(i,j,k,n) enddo enddo enddo write(22) iyr, temp enddo close(22) end