/[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.6 - (show annotations) (download)
Fri May 30 02:47:26 2008 UTC (16 years ago) by gforget
Branch: MAIN
CVS Tags: checkpoint63p, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.5: +2 -4 lines
o bridging the gap between eddy stress and GM.
  -> eddyTau is replaced with eddyPsi (eddyTau = f x rho0 x eddyPsi)
      along with a change in CPP option (now ALLOW_EDDYPSI).
  -> when using GM w/ GM_AdvForm:
      The total eddy streamfunction (Psi = eddyPsi + K x Slope)
      is applied either in the tracer Eq. or in momentum Eq.
      depending on data.gmredi (intro. GM_InMomAsStress).
  -> ALLOW_EDDYPSI_CONTROL for estimation purpose.
  The key modifications are in model/src/taueddy_external_forcing.F
  pkg/gmredi/gmredi_calc_*F pkg/gmredi/gmredi_*transport.F

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

  ViewVC Help
Powered by ViewVC 1.1.22