Recipe: Fortran program as OPeNDAP client: Difference between revisions
Line 59: | Line 59: | ||
! Read global temperature data | ! Read global temperature data | ||
! ---------------------------- | ! ---------------------------- | ||
allocate(T(im,jm,lm,1)) | 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 /) | 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) |