Add new fields XLAT_C and XLONG_C
[WPS-merge.git] / geogrid / util / plot_source / plotter.F
blobe154513cde9d38f2cb194fd197bf00e0bda87787
1 program plotter
3    implicit none
5    integer :: nx, ny
6    integer :: i, j
7    real :: lu, val, xlat, xlon, left, right, bottom, top, maxter, minter
8    integer, dimension(1200,1200) :: arr
10    call opngks
12    call gopwk(13, 41, 3)
14    call gscr(1, 0, 1.00, 1.00, 1.00)
15    call gscr(1, 1, 0.00, 0.00, 0.00)
16    call gscr(1, 2, 0.25, 0.25, 0.25)
17    call gscr(1, 3, 1.00, 1.00, 0.50)
18    call gscr(1, 4, 0.50, 1.00, 0.50)
19    call gscr(1, 5, 1.00, 1.00, 0.00)
20    call gscr(1, 6, 1.00, 1.00, 0.00)
21    call gscr(1, 7, 0.50, 1.00, 0.50)
22    call gscr(1, 8, 1.00, 1.00, 0.50)
23    call gscr(1, 9, 0.50, 1.00, 0.50)
24    call gscr(1,10, 0.50, 1.00, 0.50)
25    call gscr(1,11, 1.00, 1.00, 0.50)
26    call gscr(1,12, 0.00, 1.00, 0.00)
27    call gscr(1,13, 0.00, 0.50, 0.00)
28    call gscr(1,14, 0.00, 1.00, 0.00)
29    call gscr(1,15, 0.00, 0.50, 0.00)
30    call gscr(1,16, 0.00, 1.00, 0.00)
31    call gscr(1,17, 0.50, 0.50, 1.00)
32    call gscr(1,18, 0.00, 1.00, 0.00)
33    call gscr(1,19, 0.00, 1.00, 0.00)
34    call gscr(1,20, 0.75, 0.75, 0.75)
35    call gscr(1,21, 0.75, 0.75, 0.75)
36    call gscr(1,22, 0.00, 0.50, 0.00)
37    call gscr(1,23, 0.75, 0.75, 0.75)
38    call gscr(1,24, 0.75, 0.75, 0.75)
39    call gscr(1,25, 1.00, 1.00, 1.00)
41    nx = 1200
42    ny = 1200
44    left = 0.1
45    right = 0.9
46    bottom = 0.1
47    top = 0.9
49    open(42,file='data.dat',form='formatted')
50    do j=1,ny
51       do i=1,nx
52          read(42,*) arr(i,j)
53       end do
54    end do
55    close(42)
57    do j=1,ny
58       do i=1,nx
59          call map_square(real(left)+(real(i)/1200.)*0.8, real(bottom)+(real(j)/1200.)*0.8, 0.8/1200., 0.8/1200., arr(i,j)+1)
60       end do
61    end do
63    call frame()
65    call gclwk(13)
67    call clsgks
69 end program plotter
72 subroutine map_square(u, v, width, height, colr)
74     implicit none
76     ! Arguments
77     real :: width, height
78     real :: u, v
79     integer :: colr
81     ! Local variables
82     real, dimension(4) :: xra, yra
83     real, dimension(2000) :: dst
84     integer, dimension(3000) :: ind
86     u = u + (width/2.)
87     v = v + (height/2.)
89     xra(1) = u-(width/2.)
90     xra(2) = u+(width/2.)
91     xra(3) = u+(width/2.)
92     xra(4) = u-(width/2.)
94     yra(1) = v-(height/2.)
95     yra(2) = v-(height/2.)
96     yra(3) = v+(height/2.)
97     yra(4) = v+(height/2.)
99     call sfsgfa(xra, yra, 4, dst, 2000, ind, 3000, colr)
101 end subroutine map_square