Recipe: Fortran program as OPeNDAP client: Difference between revisions

Pchakrab (talk | contribs)
Pchakrab (talk | contribs)
Line 59: Line 59:
   ! Read global temperature data
   ! Read global temperature data
   ! ----------------------------
   ! ----------------------------
   allocate(T(im,jm,lm,1))       ! global 4D array with 1 time level
   allocate(T(im,jm,lm,1))             ! global 4D array with 1 time level
   start = (/  1,  1,  1, 1 /)
   start = (/  1,  1,  1, 1 /)
   count = (/ im, jm, lm, 1  /)   ! 1 time level, 3D (lon,lat,lev) array
   count = (/ im, jm, lm, 1  /)       ! 1 time level, 3D (lon,lat,lev) array
   write(*,*) 'Reading global T...'
   write(*,*) 'Reading global T...'
   call check(nf90_get_var(ncid,varid,T,start=start,count=count), "reading T")
   call check(nf90_get_var(ncid,varid,T,start=start,count=count), "reading T")
Line 81: Line 81:
   im_sub = imax-imin+1
   im_sub = imax-imin+1
   jm_sub = jmax-jmin+1
   jm_sub = jmax-jmin+1
   allocate(Tsub(im_sub,jm_sub,lm,1))
   allocate(Tsub(im_sub,jm_sub,lm,1)) ! global 4D array with 1 time level
   start = (/      1,      1,  1, 1 /)
   start = (/      1,      1,  1, 1 /)
   count = (/ im_sub, jm_sub, lm, 1 /)
   count = (/ im_sub, jm_sub, lm, 1 /) ! 1 time level, 3D (lon,lat,lev) array
   call check(nf90_get_var(ncid,varid,Tsub,start=start,count=count), "reading Tsub")
   call check(nf90_get_var(ncid,varid,Tsub,start=start,count=count), "reading Tsub")
   write(*,*)'Tsub: ', maxval(Tsub),minval(Tsub)
   write(*,*)'Tsub: ', maxval(Tsub),minval(Tsub)