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

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

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


Revision 1.9 - (hide annotations) (download)
Sun Aug 12 18:29:25 2012 UTC (11 years, 10 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 jmc 1.9 C $Header: /u/gcmpack/MITgcm/pkg/admtlm/admtlm_model2dsvd.F,v 1.8 2012/08/10 19:33:04 jmc Exp $
2 heimbach 1.2 C $Name: $
3 heimbach 1.1
4 jmc 1.9 #include "ADMTLM_OPTIONS.h"
5 jmc 1.8 #ifdef ALLOW_CTRL
6     # include "CTRL_OPTIONS.h"
7     #endif
8 heimbach 1.1
9 jmc 1.7 subroutine admtlm_model2dsvd(
10 heimbach 1.3 & first, preprocev, mythid )
11 heimbach 1.1
12 heimbach 1.2 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 jmc 1.7 c
25 heimbach 1.2 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 heimbach 1.1 #include "SIZE.h"
44     #include "PARAMS.h"
45 heimbach 1.2 #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 heimbach 1.3 logical preprocev
63 heimbach 1.2 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 jmc 1.7
83 heimbach 1.2 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 heimbach 1.3 cph-new(
110     if ( preprocev ) then
111     yadprefix = 'ev'
112     else
113     yadprefix = 'ad'
114     endif
115 heimbach 1.2 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 heimbach 1.4 call ctrl_set_fname(xx_depth_file, fname_depth, mythid)
143 heimbach 1.2 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 jmc 1.7 & ctrlname(1:9),'_',yctrlid(1:10),
164 heimbach 1.2 & 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 jmc 1.7 & costname(1:9),'_',yctrlid(1:10),
173 heimbach 1.2 & yctrlpospack, optimcycle
174     print *, 'ph-pack: packing ', costname(1:9)
175     endif
176    
177     call mdsfindunit( cunit, mythid )
178    
179 heimbach 1.1 #ifdef ALLOW_ADMTLM
180 heimbach 1.2
181 heimbach 1.3 if ( preprocev ) then
182     cph do a dummy write of initial EV fields
183     write(cfile(1:128),'(a)') ' '
184 jmc 1.7 write(cfile,'(a,i4.4)')
185 heimbach 1.3 & 'admtlm_eigen', optimcycle
186     else
187     write(cfile(1:128),'(a)') ' '
188 jmc 1.7 write(cfile,'(a,i4.4)')
189 heimbach 1.3 & 'admtlm_vector.it', optimcycle + 1
190     endif
191 heimbach 1.2 print *, 'ph-pack: unpacking ', cfile
192 heimbach 1.3 cph open( cunit, file = cfile,
193     cph & status = 'unknown',
194     cph & form = 'unformatted',
195     cph & access = 'sequential' )
196 heimbach 1.2
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 heimbach 1.1 #endif
289    
290 heimbach 1.2 #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 heimbach 1.1
299 heimbach 1.2 #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 heimbach 1.4 #ifdef ALLOW_DEPTH_CONTROL
417 heimbach 1.2 ivartype = 20
418     write(weighttype(1:80),'(80a)') ' '
419 heimbach 1.4 write(weighttype(1:80),'(a)') "wdepth"
420 heimbach 1.2 call ctrl_set_pack_xy(
421 heimbach 1.4 & cunit, ivartype, fname_depth(ictrlgrad), "maskCtrlC",
422 heimbach 1.2 & 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 gforget 1.6 #ifdef ALLOW_EDDYPSI_CONTROL
453 heimbach 1.2 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 heimbach 1.5 write(weighttype(1:80),'(a)') "wuvvel"
472 heimbach 1.2 call ctrl_set_pack_xyz(
473     & cunit, ivartype, fname_uvel(ictrlgrad), "maskCtrlW",
474 heimbach 1.5 & weighttype, wuvvel, lxxadxx, mythid)
475 heimbach 1.2 #endif
476    
477     #ifdef ALLOW_VVEL0_CONTROL
478     ivartype = 28
479     write(weighttype(1:80),'(80a)') ' '
480 heimbach 1.5 write(weighttype(1:80),'(a)') "wuvvel"
481 heimbach 1.2 call ctrl_set_pack_xyz(
482     & cunit, ivartype, fname_vvel(ictrlgrad), "maskCtrlS",
483 heimbach 1.5 & weighttype, wuvvel, lxxadxx, mythid)
484 heimbach 1.2 #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 heimbach 1.1
531 heimbach 1.2 #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 heimbach 1.1 #endif
539 heimbach 1.2
540     close ( cunit )
541    
542     _END_MASTER( mythid )
543    
544     #endif /* EXCLUDE_CTRL_PACK */
545    
546     return
547 heimbach 1.1 end

  ViewVC Help
Powered by ViewVC 1.1.22