/[MITgcm]/MITgcm_contrib/heimbach/OpenAD/code_ad_moc/ctrl_pack.F
ViewVC logotype

Annotation of /MITgcm_contrib/heimbach/OpenAD/code_ad_moc/ctrl_pack.F

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


Revision 1.1 - (hide annotations) (download)
Mon Sep 15 22:16:00 2008 UTC (18 years, 1 month ago) by utke
Branch: MAIN
keep this version around

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

  ViewVC Help
Powered by ViewVC 1.1.22