/[MITgcm]/MITgcm/verification/flt_example/extra/write_float.F
ViewVC logotype

Contents of /MITgcm/verification/flt_example/extra/write_float.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Thu May 6 02:01:34 2004 UTC (19 years, 11 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint58l_post, checkpoint64z, checkpoint57t_post, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint57o_post, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint58e_post, checkpoint57v_post, checkpoint52n_post, checkpoint53d_post, checkpoint58u_post, checkpoint58w_post, checkpoint54a_pre, checkpoint57m_post, checkpoint55c_post, checkpoint54e_post, checkpoint57s_post, checkpoint54a_post, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint53c_post, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint57k_post, checkpoint55d_pre, checkpoint57d_post, checkpoint57g_post, checkpoint64, checkpoint65, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint57b_post, checkpoint57c_pre, checkpoint58r_post, checkpoint55j_post, checkpoint56b_post, checkpoint57i_post, checkpoint57y_post, checkpoint57e_post, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint55h_post, checkpoint58n_post, checkpoint58x_post, checkpoint57g_pre, checkpoint54b_post, checkpoint53b_pre, checkpoint55b_post, checkpoint58t_post, checkpoint58h_post, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint54d_post, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint56c_post, checkpoint57y_pre, checkpoint55, checkpoint53a_post, checkpoint57f_pre, checkpoint57a_post, checkpoint54, checkpoint58q_post, checkpoint54f_post, checkpoint53b_post, checkpoint59q, checkpoint59p, checkpoint55g_post, checkpoint59r, checkpoint58j_post, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint55f_post, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j, checkpoint57r_post, checkpoint59, checkpoint58, checkpoint57a_pre, checkpoint55i_post, checkpoint57, checkpoint56, checkpoint53, eckpoint57e_pre, checkpoint57h_done, checkpoint58f_post, checkpoint53g_post, checkpoint57x_post, checkpoint58d_post, checkpoint58c_post, checkpoint57w_post, checkpoint57p_post, checkpint57u_post, checkpoint57f_post, checkpoint58a_post, checkpoint58i_post, checkpoint57q_post, checkpoint58g_post, checkpoint58o_post, checkpoint57z_post, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint57c_post, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint58y_post, checkpoint55e_post, checkpoint58k_post, checkpoint58v_post, checkpoint53f_post, checkpoint55a_post, checkpoint53d_pre, checkpoint54c_post, checkpoint58s_post, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint58p_post, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint57j_post, checkpoint61z, checkpoint61x, checkpoint61y, checkpoint58b_post, checkpoint57h_pre, checkpoint58m_post, checkpoint57l_post, checkpoint57h_post, checkpoint56a_post, checkpoint55d_post, HEAD
 o copying the contents of "aux" to "extra" so that MITgcm is easier
   to use within pathetic "OSes" that cannot deal with file or
   directory names such as "aux"

1 program write_float
2
3 double precision npart,xpart,ypart,kpart,kfloat,iup,itop
4 & ,tstart,tend
5
6 parameter(Nx=80,Ny=42)
7 double precision depth(Nx,Ny),xc(Nx),yc(Ny),degX,degY
8 c
9 integer kyear,kpres,kday
10 real rtime,rlon,rlat
11 integer narg
12 logical flag
13
14 c
15 c if float should not be written use flag
16 c
17 flag = .true.
18 narg=iargc()
19 if ( narg .gt. 0 ) flag = .false.
20 print*, flag
21
22 if (flag) then
23 c
24 c open float file
25 c
26 ilen2=9*8
27 open(1,file='float_pos.input',status='new',form='unformatted'
28 & ,access='direct',recl=ilen2)
29 endif
30 c
31 c read bathymetry
32 c
33 ilen=Nx*Ny*8
34 open(2,file='topog.bump',status='old',form='unformatted'
35 &, access='direct',recl=ilen)
36 read(2,rec=1) depth
37 close(2)
38 c
39 c generate axes
40 c
41 degX=5000.
42 xc(1)=2500.
43 do i=2,Nx
44 xc(i)=xc(i-1)+degX
45 enddo
46 c
47 degY=5000.
48 yc(1)=2500.
49 do j=2,Ny
50 yc(j)=yc(j-1)+degY
51 enddo
52
53 print*,'xc(1), xc(Nx): ',xc(1), xc(Nx)
54 print*,'yc(1), yc(Ny): ',yc(1), yc(Ny)
55 c
56 c preset first line with dummies
57 npart = 0.
58 tstart = -1.
59 xpart = 0.
60 ypart = 0.
61 kpart = 0.
62 kfloat = 0.
63 iup = 0.
64 itop = 0.
65 tend = -1.
66 if (flag) write(1,rec=1) npart,tstart,xpart,ypart,
67 & kpart,kfloat,iup,itop,tend
68
69 100 continue
70 c
71 print*, '--------------------------------------------------'
72 print*, '| FLOAT CONFIGURATION |'
73 print*, '--------------------------------------------------'
74 print*, ' '
75 print*, 'sets over whole basin: '
76 ip=0
77 c
78 c target depth: level 5
79 c profiling: 5 days
80 c surface time: 12, 24 hours
81 c
82 do j=20,30,2
83 do i=20,50,2
84 if (depth(i,j) .le. -2530.) then
85 ip=ip+1
86 npart = REAL(ip)
87 tstart = -1.
88 xpart = xc(i)
89 ypart = yc(j)
90 kpart = 5.
91 kfloat = kpart
92 iup = 432000.
93 itop = 43200.
94 tend = -1.
95 if (flag) write(1,rec=ip+1) npart,tstart,xpart,ypart,
96 & kpart,kfloat,iup,itop,tend
97 endif
98 enddo
99 enddo
100 write(6,200) 'ip = ',ip,' kpart,kfloat,iup,itop,tstart,tend: ',
101 & kpart,kfloat,iup,itop,tstart,tend
102 200 format(A,I6,A,2F3.0,4F8.0)
103 c
104 do j=20,30,2
105 do i=20,50,2
106 if (depth(i,j) .le. -2530.) then
107 ip=ip+1
108 npart = REAL(ip)
109 tstart = -1.
110 xpart = xc(i)
111 ypart = yc(j)
112 kpart = 5.
113 kfloat = kpart
114 iup = 432000.
115 itop = 86400.
116 tend = -1.
117 if (flag) write(1,rec=ip+1) npart,tstart,xpart,ypart,
118 & kpart,kfloat,iup,itop,tend
119 endif
120 enddo
121 enddo
122 write(6,200) 'ip = ',ip,' kpart,kfloat,iup,itop,tstart,tend: ',
123 & kpart,kfloat,iup,itop,tstart,tend
124 c
125 c
126 c target depth: level 5
127 c profiling: 1 day
128 c surface time: 12 hours
129 c integrating only day 2-5
130 c
131 do j=20,30,2
132 do i=20,50,2
133 if (depth(i,j) .le. -2530.) then
134 ip=ip+1
135 npart = REAL(ip)
136 tstart = 172800.
137 xpart = xc(i)
138 ypart = yc(j)
139 kpart = 0.
140 kfloat = 5.
141 iup = 86400.
142 itop = 43200.
143 tend = 518400.
144 if (flag) write(1,rec=ip+1) npart,tstart,xpart,ypart,
145 & kpart,kfloat,iup,itop,tend
146 endif
147 enddo
148 enddo
149 write(6,200) 'ip = ',ip,' kpart,kfloat,iup,itop,tstart,tend: ',
150 & kpart,kfloat,iup,itop,tstart,tend
151 c
152 c
153 c target depth: level 5
154 c no profiling
155 c integrating starting day 5
156 c
157 do j=20,30,2
158 do i=20,50,2
159 if (depth(i,j) .le. -2530.) then
160 ip=ip+1
161 npart = REAL(ip)
162 tstart = 432000.
163 xpart = xc(i)
164 ypart = yc(j)
165 kpart = 0.
166 kfloat = 5.
167 iup = 0.
168 itop = 0.
169 tend = -1.
170 if (flag) write(1,rec=ip+1) npart,tstart,xpart,ypart,
171 & kpart,kfloat,iup,itop,tend
172 endif
173 enddo
174 enddo
175 write(6,200) 'ip = ',ip,' kpart,kfloat,iup,itop,tstart,tend: ',
176 & kpart,kfloat,iup,itop,tstart,tend
177 c
178 c mooring
179 c
180 do j=20,30,2
181 i=20
182 ip=ip+1
183 npart = REAL(ip)
184 tstart = -1.
185 xpart = xc(i)
186 ypart = yc(j)
187 kpart = 0.
188 kfloat = kpart
189 iup = -3.
190 itop = 0.
191 tend = -1.
192 if (flag) write(1,rec=ip+1) npart,tstart,xpart,ypart,
193 & kpart,kfloat,iup,itop,tend
194 enddo
195 write(6,200) 'ip = ',ip,' kpart,kfloat,iup,itop,tstart,tend: ',
196 & kpart,kfloat,iup,itop,tstart,tend
197 c
198
199 print*, ' '
200 print*, '--------------------------------------------------'
201 print*, 'total number of floats: npart = ',ip
202 print*, '--------------------------------------------------'
203
204 c write total number of floats in first line
205 npart = DBLE(ip)
206 tstart = -1.
207 xpart = 0.
208 ypart = 0.
209 kpart = 0.
210 kfloat = DBLE(ip)
211 iup = 0.
212 itop = 0.
213 tend = -1.
214 if (flag)
215 & write(1,rec=1) npart,tstart,xpart,ypart,kpart,kfloat,iup,itop,tend
216
217
218
219 close(1)
220
221 end

  ViewVC Help
Powered by ViewVC 1.1.22