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

Annotation 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 - (hide annotations) (download)
Thu May 6 02:01:34 2004 UTC (20 years, 1 month 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 edhill 1.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