File: subsetgrid.f

package info (click to toggle)
hdf-eos4 3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,960 kB
  • sloc: ansic: 43,570; sh: 11,324; fortran: 9,649; makefile: 261
file content (57 lines) | stat: -rw-r--r-- 1,367 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
c
c  In this example we will (1) open the "GridFile" HDF file, (2) attach to
c  the "PolarGrid" grid, and (3) subset data from the "Temperature" field.
c 


	program subsetgrid

	integer            status, gdextreg, gdreginfo, gddetach, gdclose
	integer*4          gdfid, gdid, gdopen, gdattach, dims(8)
	integer*4          rank, ntype, gddefboxreg

	real*8             cornerlon(2), cornerlat(2)
	real*8             upleft(2), lowright(2)
	real*4             datbuf(100*100)
	
	integer DFACC_READ
	parameter (DFACC_READ=1)


c    
c     Open the HDF grid file, "GridFile.hdf"
c 

	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)

	if (gdfid .NE. -1) then

	   gdid = gdattach(gdfid, "PolarGrid")

	   if (gdid .NE. -1) then

	      cornerlon(1) = 0
	      cornerlat(1) = 90.
	      cornerlon(2) = 90
	      cornerlat(2) = 0

	      regionid = gddefboxreg(gdid, cornerlon, cornerlat)
	      
	      status = gdreginfo(gdid, regionid, "Temperature", ntype,
     1	                         rank, dims, size, upleft, lowright)
	      write(*,*) dims(1), dims(2), dims(3), rank, ntype
	      
	      status = gdextreg(gdid, regionid, "Temperature", 
     1	                        datbuf)
	    

	   endif
	
	   status = gddetach(gdid)
	   status = gdclose(gdfid)

	endif
	stop
	end