-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathread_grid_hycom.pro
More file actions
executable file
·95 lines (67 loc) · 1.91 KB
/
Copy pathread_grid_hycom.pro
File metadata and controls
executable file
·95 lines (67 loc) · 1.91 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
PRO read_grid_hycom, im, jm, io, file, plon, plat, ulon, ulat, vlon, vlat, qlon, qlat, pang, pscx, pscy, qscx, qscy, uscx, uscy, vscx, vscy, cori, pasp
;; Script to read the HYCOM grid file
;; A. Bozec Aug, 2011
close,/all
;; Dimensions of the domain
idm = im
jdm = jm
idm1 = float(im)
ijdm = idm1*jdm
tt = fltarr(idm, jdm, 19)
;; NPAD size
npad=4096. - ijdm MOD 4096
rr2 = fltarr(ijdm)
if (npad NE 4096) then toto = fltarr(npad)
;; Grid Directory and file
iodir = io
plon = fltarr(idm, jdm)
plat = fltarr(idm, jdm)
qlon = fltarr(idm, jdm)
qlat = fltarr(idm, jdm)
ulon = fltarr(idm, jdm)
ulat = fltarr(idm, jdm)
vlon = fltarr(idm, jdm)
vlat = fltarr(idm, jdm)
pang= fltarr(idm, jdm)
pscx = fltarr(idm, jdm)
pscy = fltarr(idm, jdm)
qscx = fltarr(idm, jdm)
qscy = fltarr(idm, jdm)
uscx = fltarr(idm, jdm)
uscy = fltarr(idm, jdm)
vscx = fltarr(idm, jdm)
vscy = fltarr(idm, jdm)
cori = fltarr(idm, jdm)
pasp = fltarr(idm, jdm)
openu, 1, iodir+file, /swap_endian
FOR jk = 0, 18 DO BEGIN
if (npad NE 4096) then begin
readu, 1, rr2, toto
endif else begin
readu, 1, rr2
endelse
FOR j = 0, jdm-1 DO BEGIN
FOR i = 0, idm-1 DO tt(i, j, jk) = rr2(j*idm1+i)
ENDFOR
ENDFOR
plon(*, *) = tt(*, *, 0)
plat(*, *) = tt(*, *, 1)
qlon(*, *) = tt(*, *, 2)
qlat(*, *) = tt(*, *, 3)
ulon(*, *) = tt(*, *, 4)
ulat(*, *) = tt(*, *, 5)
vlon(*, *) = tt(*, *, 6)
vlat(*, *) = tt(*, *, 7)
pang(*, *) = tt(*, *, 8)
pscx(*, *) = tt(*, *, 9)
pscy(*, *) = tt(*, *, 10)
qscx(*, *) = tt(*, *, 11)
qscy(*, *) = tt(*, *, 12)
uscx(*, *) = tt(*, *, 13)
uscy(*, *) = tt(*, *, 14)
vscx(*, *) = tt(*, *, 15)
vscy(*, *) = tt(*, *, 16)
cori(*, *) = tt(*, *, 17)
pasp(*, *) = tt(*, *, 18)
close, 1
END