/[MITgcm]/MITgcm/pkg/admtlm/admtlm_model2dsvd.F
ViewVC logotype

Contents of /MITgcm/pkg/admtlm/admtlm_model2dsvd.F

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


Revision 1.9 - (show annotations) (download)
Sun Aug 12 18:29:25 2012 UTC (11 years, 9 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63r, checkpoint63s, checkpoint64, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, HEAD
Changes since 1.8: +2 -4 lines
new option-file for this package, included in all *.F files

1 C $Header: /u/gcmpack/MITgcm/pkg/admtlm/admtlm_model2dsvd.F,v 1.8 2012/08/10 19:33:04 jmc Exp $
2 C $Name: $
3
4 #include "ADMTLM_OPTIONS.h"
5 #ifdef ALLOW_CTRL
6 # include "CTRL_OPTIONS.h"
7 #endif
8
9 subroutine admtlm_model2dsvd(
10 & first, preprocev, mythid )
11
12 c ==================================================================
13 c SUBROUTINE ctrl_pack
14 c ==================================================================
15 c
16 c o Compress the control vector such that only ocean points are
17 c written to file.
18 c
19 c started: Christian Eckert eckert@mit.edu 10-Mar=2000
20 c
21 c changed: Patrick Heimbach heimbach@mit.edu 06-Jun-2000
22 c - Transferred some filename declarations
23 c from here to namelist in ctrl_init
24 c
25 c Patrick Heimbach heimbach@mit.edu 16-Jun-2000
26 c - single file name convention with or without
27 c ALLOW_ECCO_OPTIMIZATION
28 c
29 c G. Gebbie, added open boundary control packing,
30 c gebbie@mit.edu 18 -Mar- 2003
31 c
32 c heimbach@mit.edu totally restructured 28-Oct-2003
33 c
34 c ==================================================================
35 c SUBROUTINE ctrl_pack
36 c ==================================================================
37
38 implicit none
39
40 c == global variables ==
41
42 #include "EEPARAMS.h"
43 #include "SIZE.h"
44 #include "PARAMS.h"
45 #include "GRID.h"
46
47 #include "ctrl.h"
48 #include "optim.h"
49
50 #ifdef ALLOW_COST
51 # include "cost.h"
52 #endif
53 #ifdef ALLOW_ECCO
54 # include "ecco_cost.h"
55 #else
56 # include "ctrl_weights.h"
57 #endif
58
59 c == routine arguments ==
60
61 logical first
62 logical preprocev
63 integer mythid
64
65 #ifndef EXCLUDE_CTRL_PACK
66 c == local variables ==
67
68 _RL fcloc
69
70 integer i, j, k
71 integer ii
72 integer il
73 integer irec
74 integer ig,jg
75 integer ivartype
76 integer iobcs
77
78 logical doglobalread
79 logical ladinit
80 integer cbuffindex
81 logical lxxadxx
82
83 integer cunit
84 integer ictrlgrad
85
86 character*(128) cfile
87 character*( 80) weighttype
88
89 c == external ==
90
91 integer ilnblnk
92 external ilnblnk
93
94 c == end of interface ==
95
96 #ifndef ALLOW_ECCO_OPTIMIZATION
97 fmin = 0. _d 0
98 #endif
99
100 c-- Tiled files are used.
101 doglobalread = .false.
102
103 c-- Initialise adjoint variables on active files.
104 ladinit = .false.
105
106 c-- Initialise global buffer index
107 nbuffglobal = 0
108
109 cph-new(
110 if ( preprocev ) then
111 yadprefix = 'ev'
112 else
113 yadprefix = 'ad'
114 endif
115 nveccount = 0
116 cph-new)
117
118 c-- Assign file names.
119
120 call ctrl_set_fname(xx_theta_file, fname_theta, mythid)
121 call ctrl_set_fname(xx_salt_file, fname_salt, mythid)
122 call ctrl_set_fname(xx_hflux_file, fname_hflux, mythid)
123 call ctrl_set_fname(xx_sflux_file, fname_sflux, mythid)
124 call ctrl_set_fname(xx_tauu_file, fname_tauu, mythid)
125 call ctrl_set_fname(xx_tauv_file, fname_tauv, mythid)
126 call ctrl_set_fname(xx_atemp_file, fname_atemp, mythid)
127 call ctrl_set_fname(xx_aqh_file, fname_aqh, mythid)
128 call ctrl_set_fname(xx_precip_file, fname_precip, mythid)
129 call ctrl_set_fname(xx_swflux_file, fname_swflux, mythid)
130 call ctrl_set_fname(xx_swdown_file, fname_swdown, mythid)
131 call ctrl_set_fname(xx_uwind_file, fname_uwind, mythid)
132 call ctrl_set_fname(xx_vwind_file, fname_vwind, mythid)
133 call ctrl_set_fname(xx_obcsn_file, fname_obcsn, mythid)
134 call ctrl_set_fname(xx_obcss_file, fname_obcss, mythid)
135 call ctrl_set_fname(xx_obcsw_file, fname_obcsw, mythid)
136 call ctrl_set_fname(xx_obcse_file, fname_obcse, mythid)
137 call ctrl_set_fname(xx_diffkr_file, fname_diffkr, mythid)
138 call ctrl_set_fname(xx_kapgm_file, fname_kapgm, mythid)
139 call ctrl_set_fname(xx_tr1_file, fname_tr1, mythid)
140 call ctrl_set_fname(xx_sst_file, fname_sst, mythid)
141 call ctrl_set_fname(xx_sss_file, fname_sss, mythid)
142 call ctrl_set_fname(xx_depth_file, fname_depth, mythid)
143 call ctrl_set_fname(xx_efluxy_file, fname_efluxy, mythid)
144 call ctrl_set_fname(xx_efluxp_file, fname_efluxp, mythid)
145 call ctrl_set_fname(xx_bottomdrag_file, fname_bottomdrag, mythid)
146 call ctrl_set_fname(xx_edtaux_file, fname_edtaux, mythid)
147 call ctrl_set_fname(xx_edtauy_file, fname_edtauy, mythid)
148 call ctrl_set_fname(xx_uvel_file, fname_uvel, mythid)
149 call ctrl_set_fname(xx_vvel_file, fname_vvel, mythid)
150 call ctrl_set_fname(xx_etan_file, fname_etan, mythid)
151 call ctrl_set_fname(xx_relaxsst_file, fname_relaxsst, mythid)
152 call ctrl_set_fname(xx_relaxsss_file, fname_relaxsss, mythid)
153
154 c-- Only the master thread will do I/O.
155 _BEGIN_MASTER( mythid )
156
157 if ( first ) then
158 c >>> Initialise control vector for optimcycle=0 <<<
159 lxxadxx = .TRUE.
160 ictrlgrad = 1
161 fcloc = fmin
162 write(cfile(1:128),'(4a,i4.4)')
163 & ctrlname(1:9),'_',yctrlid(1:10),
164 & yctrlpospack, optimcycle
165 print *, 'ph-pack: packing ', ctrlname(1:9)
166 else
167 c >>> Write gradient vector <<<
168 lxxadxx = .FALSE.
169 ictrlgrad = 2
170 fcloc = fc
171 write(cfile(1:128),'(4a,i4.4)')
172 & costname(1:9),'_',yctrlid(1:10),
173 & yctrlpospack, optimcycle
174 print *, 'ph-pack: packing ', costname(1:9)
175 endif
176
177 call mdsfindunit( cunit, mythid )
178
179 #ifdef ALLOW_ADMTLM
180
181 if ( preprocev ) then
182 cph do a dummy write of initial EV fields
183 write(cfile(1:128),'(a)') ' '
184 write(cfile,'(a,i4.4)')
185 & 'admtlm_eigen', optimcycle
186 else
187 write(cfile(1:128),'(a)') ' '
188 write(cfile,'(a,i4.4)')
189 & 'admtlm_vector.it', optimcycle + 1
190 endif
191 print *, 'ph-pack: unpacking ', cfile
192 cph open( cunit, file = cfile,
193 cph & status = 'unknown',
194 cph & form = 'unformatted',
195 cph & access = 'sequential' )
196
197 #else /* ndef ALLOW_ADMTLM */
198
199 open( cunit, file = cfile,
200 & status = 'unknown',
201 & form = 'unformatted',
202 & access = 'sequential' )
203
204 c-- Header information.
205 write(cunit) nvartype
206 write(cunit) nvarlength
207 write(cunit) yctrlid
208 write(cunit) optimCycle
209 write(cunit) fc
210 C place holder of obsolete variable iG
211 write(cunit) 1
212 C place holder of obsolete variable jG
213 write(cunit) 1
214 write(cunit) nsx
215 write(cunit) nsy
216 write(cunit) (nWetcGlobal(k), k=1,nr)
217 write(cunit) (nWetsGlobal(k), k=1,nr)
218 write(cunit) (nWetwGlobal(k), k=1,nr)
219 #ifdef ALLOW_CTRL_WETV
220 write(cunit) (nWetvGlobal(k), k=1,nr)
221 #endif
222
223 #ifdef ALLOW_OBCSN_CONTROL
224 write(cunit) ((nWetobcsnGlo(k,iobcs), k=1,nr),iobcs= 1,nobcs)
225 #endif
226 #ifdef ALLOW_OBCSS_CONTROL
227 write(cunit) ((nWetobcssGlo(k,iobcs), k=1,nr),iobcs= 1,nobcs)
228 #endif
229 #ifdef ALLOW_OBCSW_CONTROL
230 write(cunit) ((nWetobcswGlo(k,iobcs), k=1,nr),iobcs= 1,nobcs)
231 #endif
232 #ifdef ALLOW_OBCSE_CONTROL
233 write(cunit) ((nWetobcseGlo(k,iobcs), k=1,nr),iobcs= 1,nobcs)
234 #endif
235 write(cunit) (ncvarindex(i), i=1,maxcvars)
236 write(cunit) (ncvarrecs(i), i=1,maxcvars)
237 write(cunit) (ncvarxmax(i), i=1,maxcvars)
238 write(cunit) (ncvarymax(i), i=1,maxcvars)
239 write(cunit) (ncvarnrmax(i), i=1,maxcvars)
240 write(cunit) (ncvargrd(i), i=1,maxcvars)
241 write(cunit)
242
243 #endif /* ALLOW_ADMTLM */
244
245 #ifdef ALLOW_THETA0_CONTROL
246 ivartype = 1
247 write(weighttype(1:80),'(80a)') ' '
248 write(weighttype(1:80),'(a)') "wtheta"
249 call ctrl_set_pack_xyz(
250 & cunit, ivartype, fname_theta(ictrlgrad), "maskCtrlC",
251 & weighttype, wtheta, lxxadxx, mythid)
252 #endif
253
254 #ifdef ALLOW_SALT0_CONTROL
255 ivartype = 2
256 write(weighttype(1:80),'(80a)') ' '
257 write(weighttype(1:80),'(a)') "wsalt"
258 call ctrl_set_pack_xyz(
259 & cunit, ivartype, fname_salt(ictrlgrad), "maskCtrlC",
260 & weighttype, wsalt, lxxadxx, mythid)
261 #endif
262
263 #if (defined (ALLOW_HFLUX_CONTROL) || defined (ALLOW_HFLUX0_CONTROL))
264 ivartype = 3
265 write(weighttype(1:80),'(80a)') ' '
266 write(weighttype(1:80),'(a)') "whflux"
267 call ctrl_set_pack_xy(
268 & cunit, ivartype, fname_hflux(ictrlgrad), "maskCtrlC",
269 & weighttype, lxxadxx, mythid)
270 #endif
271
272 #if (defined (ALLOW_SFLUX_CONTROL) || defined (ALLOW_SFLUX0_CONTROL))
273 ivartype = 4
274 write(weighttype(1:80),'(80a)') ' '
275 write(weighttype(1:80),'(a)') "wsflux"
276 call ctrl_set_pack_xy(
277 & cunit, ivartype, fname_sflux(ictrlgrad), "maskCtrlC",
278 & weighttype, lxxadxx, mythid)
279 #endif
280
281 #if (defined (ALLOW_USTRESS_CONTROL) || defined (ALLOW_TAUU0_CONTROL))
282 ivartype = 5
283 write(weighttype(1:80),'(80a)') ' '
284 write(weighttype(1:80),'(a)') "wtauu"
285 call ctrl_set_pack_xy(
286 & cunit, ivartype, fname_tauu(ictrlgrad), "maskCtrlW",
287 & weighttype, lxxadxx, mythid)
288 #endif
289
290 #if (defined (ALLOW_VSTRESS_CONTROL) || defined (ALLOW_TAUV0_CONTROL))
291 ivartype = 6
292 write(weighttype(1:80),'(80a)') ' '
293 write(weighttype(1:80),'(a)') "wtauv"
294 call ctrl_set_pack_xy(
295 & cunit, ivartype, fname_tauv(ictrlgrad), "maskCtrlS",
296 & weighttype, lxxadxx, mythid)
297 #endif
298
299 #ifdef ALLOW_ATEMP_CONTROL
300 ivartype = 7
301 write(weighttype(1:80),'(80a)') ' '
302 write(weighttype(1:80),'(a)') "watemp"
303 call ctrl_set_pack_xy(
304 & cunit, ivartype, fname_atemp(ictrlgrad), "maskCtrlC",
305 & weighttype, lxxadxx, mythid)
306 #endif
307
308 #ifdef ALLOW_AQH_CONTROL
309 ivartype = 8
310 write(weighttype(1:80),'(80a)') ' '
311 write(weighttype(1:80),'(a)') "waqh"
312 call ctrl_set_pack_xy(
313 & cunit, ivartype, fname_aqh(ictrlgrad), "maskCtrlC",
314 & weighttype, lxxadxx, mythid)
315 #endif
316
317 #ifdef ALLOW_UWIND_CONTROL
318 ivartype = 9
319 write(weighttype(1:80),'(80a)') ' '
320 write(weighttype(1:80),'(a)') "wuwind"
321 call ctrl_set_pack_xy(
322 & cunit, ivartype, fname_uwind(ictrlgrad), "maskCtrlC",
323 & weighttype, lxxadxx, mythid)
324 #endif
325
326 #ifdef ALLOW_VWIND_CONTROL
327 ivartype = 10
328 write(weighttype(1:80),'(80a)') ' '
329 write(weighttype(1:80),'(a)') "wvwind"
330 call ctrl_set_pack_xy(
331 & cunit, ivartype, fname_vwind(ictrlgrad), "maskCtrlC",
332 & weighttype, lxxadxx, mythid)
333 #endif
334
335 #ifdef ALLOW_OBCSN_CONTROL
336 ivartype = 11
337 write(weighttype(1:80),'(80a)') ' '
338 write(weighttype(1:80),'(a)') "wobcsn"
339 call ctrl_set_pack_xz(
340 & cunit, ivartype, fname_obcsn(ictrlgrad), "maskobcsn",
341 & weighttype, wobcsn, lxxadxx, mythid)
342 #endif
343
344 #ifdef ALLOW_OBCSS_CONTROL
345 ivartype = 12
346 write(weighttype(1:80),'(80a)') ' '
347 write(weighttype(1:80),'(a)') "wobcss"
348 call ctrl_set_pack_xz(
349 & cunit, ivartype, fname_obcss(ictrlgrad), "maskobcss",
350 & weighttype, wobcss, lxxadxx, mythid)
351 #endif
352
353 #ifdef ALLOW_OBCSW_CONTROL
354 ivartype = 13
355 write(weighttype(1:80),'(80a)') ' '
356 write(weighttype(1:80),'(a)') "wobcsw"
357 call ctrl_set_pack_yz(
358 & cunit, ivartype, fname_obcsw(ictrlgrad), "maskobcsw",
359 & weighttype, wobcsw, lxxadxx, mythid)
360 #endif
361
362 #ifdef ALLOW_OBCSE_CONTROL
363 ivartype = 14
364 write(weighttype(1:80),'(80a)') ' '
365 write(weighttype(1:80),'(a)') "wobcse"
366 call ctrl_set_pack_yz(
367 & cunit, ivartype, fname_obcse(ictrlgrad), "maskobcse",
368 & weighttype, wobcse, lxxadxx, mythid)
369 #endif
370
371 #ifdef ALLOW_DIFFKR_CONTROL
372 ivartype = 15
373 write(weighttype(1:80),'(80a)') ' '
374 write(weighttype(1:80),'(a)') "wdiffkr"
375 call ctrl_set_pack_xyz(
376 & cunit, ivartype, fname_diffkr(ictrlgrad), "maskCtrlC",
377 & weighttype, wunit, lxxadxx, mythid)
378 #endif
379
380 #ifdef ALLOW_KAPGM_CONTROL
381 ivartype = 16
382 write(weighttype(1:80),'(80a)') ' '
383 write(weighttype(1:80),'(a)') "wkapgm"
384 call ctrl_set_pack_xyz(
385 & cunit, ivartype, fname_kapgm(ictrlgrad), "maskCtrlC",
386 & weighttype, wunit, lxxadxx, mythid)
387 #endif
388
389 #ifdef ALLOW_TR10_CONTROL
390 ivartype = 17
391 write(weighttype(1:80),'(80a)') ' '
392 write(weighttype(1:80),'(a)') "wtr1"
393 call ctrl_set_pack_xyz(
394 & cunit, ivartype, fname_tr1(ictrlgrad), "maskCtrlC",
395 & weighttype, wunit, lxxadxx, mythid)
396 #endif
397
398 #if (defined (ALLOW_SST_CONTROL) || defined (ALLOW_SST0_CONTROL))
399 ivartype = 18
400 write(weighttype(1:80),'(80a)') ' '
401 write(weighttype(1:80),'(a)') "wsst"
402 call ctrl_set_pack_xy(
403 & cunit, ivartype, fname_sst(ictrlgrad), "maskCtrlC",
404 & weighttype, lxxadxx, mythid)
405 #endif
406
407 #if (defined (ALLOW_SSS_CONTROL) || defined (ALLOW_SSS0_CONTROL))
408 ivartype = 19
409 write(weighttype(1:80),'(80a)') ' '
410 write(weighttype(1:80),'(a)') "wsss"
411 call ctrl_set_pack_xy(
412 & cunit, ivartype, fname_sss(ictrlgrad), "maskCtrlC",
413 & weighttype, lxxadxx, mythid)
414 #endif
415
416 #ifdef ALLOW_DEPTH_CONTROL
417 ivartype = 20
418 write(weighttype(1:80),'(80a)') ' '
419 write(weighttype(1:80),'(a)') "wdepth"
420 call ctrl_set_pack_xy(
421 & cunit, ivartype, fname_depth(ictrlgrad), "maskCtrlC",
422 & weighttype, lxxadxx, mythid)
423 #endif
424
425 #ifdef ALLOW_EFLUXY0_CONTROL
426 ivartype = 21
427 write(weighttype(1:80),'(80a)') ' '
428 write(weighttype(1:80),'(a)') "wefluxy0"
429 call ctrl_set_pack_xyz(
430 & cunit, ivartype, fname_efluxy(ictrlgrad), "maskCtrlS",
431 & weighttype, wunit, lxxadxx, mythid)
432 #endif
433
434 #ifdef ALLOW_EFLUXP0_CONTROL
435 ivartype = 22
436 write(weighttype(1:80),'(80a)') ' '
437 write(weighttype(1:80),'(a)') "wefluxp0"
438 call ctrl_set_pack_xyz(
439 & cunit, ivartype, fname_efluxp(ictrlgrad), "maskhFacV",
440 & weighttype, wunit, lxxadxx, mythid)
441 #endif
442
443 #ifdef ALLOW_BOTTOMDRAG_CONTROL
444 ivartype = 23
445 write(weighttype(1:80),'(80a)') ' '
446 write(weighttype(1:80),'(a)') "wbottomdrag"
447 call ctrl_set_pack_xy(
448 & cunit, ivartype, fname_bottomdrag(ictrlgrad), "maskCtrlC",
449 & weighttype, lxxadxx, mythid)
450 #endif
451
452 #ifdef ALLOW_EDDYPSI_CONTROL
453 ivartype = 25
454 write(weighttype(1:80),'(80a)') ' '
455 write(weighttype(1:80),'(a)') "wedtaux"
456 call ctrl_set_pack_xyz(
457 & cunit, ivartype, fname_edtaux(ictrlgrad), "maskCtrlW",
458 & weighttype, wunit, lxxadxx, mythid)
459
460 ivartype = 26
461 write(weighttype(1:80),'(80a)') ' '
462 write(weighttype(1:80),'(a)') "wedtauy"
463 call ctrl_set_pack_xyz(
464 & cunit, ivartype, fname_edtauy(ictrlgrad), "maskCtrlS",
465 & weighttype, wunit, lxxadxx, mythid)
466 #endif
467
468 #ifdef ALLOW_UVEL0_CONTROL
469 ivartype = 27
470 write(weighttype(1:80),'(80a)') ' '
471 write(weighttype(1:80),'(a)') "wuvvel"
472 call ctrl_set_pack_xyz(
473 & cunit, ivartype, fname_uvel(ictrlgrad), "maskCtrlW",
474 & weighttype, wuvvel, lxxadxx, mythid)
475 #endif
476
477 #ifdef ALLOW_VVEL0_CONTROL
478 ivartype = 28
479 write(weighttype(1:80),'(80a)') ' '
480 write(weighttype(1:80),'(a)') "wuvvel"
481 call ctrl_set_pack_xyz(
482 & cunit, ivartype, fname_vvel(ictrlgrad), "maskCtrlS",
483 & weighttype, wuvvel, lxxadxx, mythid)
484 #endif
485
486 #ifdef ALLOW_ETAN0_CONTROL
487 ivartype = 29
488 write(weighttype(1:80),'(80a)') ' '
489 write(weighttype(1:80),'(a)') "wetan"
490 call ctrl_set_pack_xy(
491 & cunit, ivartype, fname_etan(ictrlgrad), "maskCtrlC",
492 & weighttype, lxxadxx, mythid)
493 #endif
494
495 #ifdef ALLOW_RELAXSST_CONTROL
496 ivartype = 30
497 write(weighttype(1:80),'(80a)') ' '
498 write(weighttype(1:80),'(a)') "wrelaxsst"
499 call ctrl_set_pack_xy(
500 & cunit, ivartype, fname_relaxsst(ictrlgrad), "maskCtrlC",
501 & weighttype, lxxadxx, mythid)
502 #endif
503
504 #ifdef ALLOW_RELAXSSS_CONTROL
505 ivartype = 31
506 write(weighttype(1:80),'(80a)') ' '
507 write(weighttype(1:80),'(a)') "wrelaxsss"
508 call ctrl_set_pack_xy(
509 & cunit, ivartype, fname_relaxsss(ictrlgrad), "maskCtrlC",
510 & weighttype, lxxadxx, mythid)
511 #endif
512
513 #ifdef ALLOW_PRECIP_CONTROL
514 ivartype = 32
515 write(weighttype(1:80),'(80a)') ' '
516 write(weighttype(1:80),'(a)') "wprecip"
517 call ctrl_set_pack_xy(
518 & cunit, ivartype, fname_precip(ictrlgrad), "maskCtrlC",
519 & weighttype, lxxadxx, mythid)
520 #endif
521
522 #ifdef ALLOW_SWFLUX_CONTROL
523 ivartype = 33
524 write(weighttype(1:80),'(80a)') ' '
525 write(weighttype(1:80),'(a)') "wswflux"
526 call ctrl_set_pack_xy(
527 & cunit, ivartype, fname_swflux(ictrlgrad), "maskCtrlC",
528 & weighttype, lxxadxx, mythid)
529 #endif
530
531 #ifdef ALLOW_SWDOWN_CONTROL
532 ivartype = 34
533 write(weighttype(1:80),'(80a)') ' '
534 write(weighttype(1:80),'(a)') "wswdown"
535 call ctrl_set_pack_xy(
536 & cunit, ivartype, fname_swdown(ictrlgrad), "maskCtrlC",
537 & weighttype, lxxadxx, mythid)
538 #endif
539
540 close ( cunit )
541
542 _END_MASTER( mythid )
543
544 #endif /* EXCLUDE_CTRL_PACK */
545
546 return
547 end

  ViewVC Help
Powered by ViewVC 1.1.22