/[MITgcm]/MITgcm/pkg/ctrl/ctrl_readparms.F
ViewVC logotype

Annotation of /MITgcm/pkg/ctrl/ctrl_readparms.F

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


Revision 1.6 - (hide annotations) (download)
Fri May 28 16:04:42 2004 UTC (20 years ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint53d_post, checkpoint54a_pre, checkpoint55c_post, checkpoint54e_post, checkpoint54a_post, checkpoint55d_pre, checkpoint55j_post, checkpoint55h_post, checkpoint54b_post, checkpoint55b_post, checkpoint54d_post, checkpoint55, checkpoint54, checkpoint54f_post, checkpoint55g_post, checkpoint55f_post, checkpoint55i_post, checkpoint53g_post, checkpoint55e_post, checkpoint53f_post, checkpoint55a_post, checkpoint54c_post, checkpoint55d_post
Changes since 1.5: +5 -3 lines
Use ctrl_pack/unpack as standalone to map back and forth
between xx_/adxx_ and vector
(useful when analysing wetpoint gradient- and control-VECTOR)
Needs modified the_model_main.F

1 edhill 1.5 C
2 heimbach 1.6 C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl_readparms.F,v 1.5 2003/10/23 04:41:40 edhill Exp $
3     C $Name: $
4 heimbach 1.2
5 edhill 1.5 #include "AD_CONFIG.h"
6 heimbach 1.2 #include "CTRL_CPPOPTIONS.h"
7    
8    
9     subroutine ctrl_readparms( mythid )
10    
11     c ==================================================================
12     c SUBROUTINE ctrl_readparms
13     c ==================================================================
14     c
15     c o read ctrl parameters
16     c split from ctrl_init
17     c
18     c started: heimbach@mit.edu 12-Jun-2003
19     c
20     c ==================================================================
21     c SUBROUTINE ctrl_readparms
22     c ==================================================================
23    
24     implicit none
25    
26     c == global variables ==
27    
28     #include "EEPARAMS.h"
29     #include "SIZE.h"
30     #include "PARAMS.h"
31     #include "GRID.h"
32     #include "ctrl.h"
33    
34     #ifdef ALLOW_OBCS_CONTROL
35     # include "OBCS.h"
36     #endif
37     #ifdef ALLOW_ECCO_OPTIMIZATION
38     # include "optim.h"
39     #endif
40    
41     c == routine arguments ==
42    
43     integer mythid
44    
45     c == local variables ==
46    
47     integer bi,bj
48     integer i,j,k
49     integer ntmp
50     integer ivarindex
51    
52     integer iobcs
53     integer il
54     integer errio
55     integer startrec
56     integer endrec
57     integer difftime(4)
58     _RL diffsecs
59     _RL dummy
60    
61     character*(80) ymaskobcs
62     character*(max_len_prec) record
63     character*(max_len_mbuf) msgbuf
64    
65     integer nwetc3d
66    
67     c == external ==
68    
69     integer ilnblnk
70     external ilnblnk
71    
72     c == end of interface ==
73    
74     c-- Read the namelist input.
75     namelist /ctrl_nml/
76     & xx_theta_file,
77     & xx_salt_file,
78     & xx_hflux_file,
79     & xx_hfluxstartdate1, xx_hfluxstartdate2, xx_hfluxperiod,
80     & xx_sflux_file,
81     & xx_sfluxstartdate1, xx_sfluxstartdate2, xx_sfluxperiod,
82     & xx_tauu_file,
83     & xx_tauustartdate1, xx_tauustartdate2, xx_tauuperiod,
84     & xx_tauv_file,
85     & xx_tauvstartdate1, xx_tauvstartdate2, xx_tauvperiod,
86     & xx_atemp_file,
87     & xx_atempstartdate1, xx_atempstartdate2, xx_atempperiod,
88     & xx_aqh_file,
89     & xx_aqhstartdate1, xx_aqhstartdate2, xx_aqhperiod,
90     & xx_uwind_file,
91     & xx_uwindstartdate1, xx_uwindstartdate2, xx_uwindperiod,
92     & xx_vwind_file,
93     & xx_vwindstartdate1, xx_vwindstartdate2, xx_vwindperiod,
94     & xx_obcsn_file,
95     & xx_obcsnstartdate1, xx_obcsnstartdate2, xx_obcsnperiod,
96     & xx_obcss_file,
97     & xx_obcssstartdate1, xx_obcssstartdate2, xx_obcssperiod,
98     & xx_obcsw_file,
99     & xx_obcswstartdate1, xx_obcswstartdate2, xx_obcswperiod,
100     & xx_obcse_file,
101     & xx_obcsestartdate1, xx_obcsestartdate2, xx_obcseperiod,
102     & xx_diffkr_file,
103     & xx_kapgm_file,
104     & xx_tr1_file,
105     & xx_sst_file,
106     & xx_sss_file,
107     & xx_hfacc_file,
108     & xx_efluxy_file,
109     & xx_efluxp_file,
110     & xx_bottomdrag_file
111    
112     namelist /ctrl_packnames/
113 heimbach 1.6 & yadmark, yctrlid, yctrlposunpack, yctrlpospack,
114 heimbach 1.2 & ctrlname, costname, scalname, maskname, metaname
115    
116     _BEGIN_MASTER( myThid )
117    
118     c-- Set default values.
119     xx_theta_file = ' '
120     xx_salt_file = ' '
121     xx_hfluxstartdate1 = 0
122     xx_hfluxstartdate2 = 0
123     xx_hfluxperiod = 0. _d 0
124     xx_hflux_file = ' '
125     xx_sfluxstartdate1 = 0
126     xx_sfluxstartdate2 = 0
127     xx_sfluxperiod = 0. _d 0
128     xx_sflux_file = ' '
129     xx_tauustartdate1 = 0
130     xx_tauustartdate2 = 0
131     xx_tauuperiod = 0. _d 0
132     xx_tauu_file = ' '
133     xx_tauvstartdate1 = 0
134     xx_tauvstartdate2 = 0
135     xx_tauvperiod = 0. _d 0
136     xx_tauv_file = ' '
137     xx_atempstartdate1 = 0
138     xx_atempstartdate2 = 0
139     xx_atempperiod = 0. _d 0
140     xx_atemp_file = ' '
141     xx_aqhstartdate1 = 0
142     xx_aqhstartdate2 = 0
143     xx_aqhperiod = 0. _d 0
144     xx_aqh_file = ' '
145     xx_uwindstartdate1 = 0
146     xx_uwindstartdate2 = 0
147     xx_uwindperiod = 0. _d 0
148     xx_uwind_file = ' '
149     xx_vwindstartdate1 = 0
150     xx_vwindstartdate2 = 0
151     xx_vwindperiod = 0. _d 0
152     xx_vwind_file = ' '
153     xx_obcsnstartdate1 = 0
154     xx_obcsnstartdate2 = 0
155     xx_obcsnperiod = 0. _d 0
156     xx_obcsn_file = ' '
157     xx_obcssstartdate1 = 0
158     xx_obcssstartdate2 = 0
159     xx_obcssperiod = 0. _d 0
160     xx_obcss_file = ' '
161     xx_obcswstartdate1 = 0
162     xx_obcswstartdate2 = 0
163     xx_obcswperiod = 0. _d 0
164     xx_obcsw_file = ' '
165     xx_obcsestartdate1 = 0
166     xx_obcsestartdate2 = 0
167     xx_obcseperiod = 0. _d 0
168     xx_obcse_file = ' '
169     xx_diffkr_file = ' '
170     xx_kapgm_file = ' '
171     xx_tr1_file = ' '
172     xx_sst_file = ' '
173     xx_sss_file = ' '
174     xx_hfacc_file = ' '
175     xx_efluxy_file = ' '
176     xx_efluxp_file = ' '
177     xx_bottomdrag_file = ' '
178    
179 heimbach 1.4 #ifdef ALLOW_TANGENTLINEAR_RUN
180     yadprefix = 'g_'
181     yadmark = 'g_'
182     #else
183     yadprefix = 'ad'
184 heimbach 1.2 yadmark = 'ad'
185     #endif
186     yctrlid = 'MIT_CE_000'
187 heimbach 1.6 yctrlposunpack = '.opt'
188     yctrlpospack = '.opt'
189 heimbach 1.2 ctrlname = ' '
190     costname = ' '
191     scalname = ' '
192     maskname = ' '
193     metaname = ' '
194    
195     c-- Check versions.
196    
197     open(unit=scrunit1,status='scratch')
198    
199     c-- Next, read the ecco data file.
200     open(unit = modeldataunit,file = 'data.ctrl',
201     & status = 'old', iostat = errio)
202     if ( errio .lt. 0 ) then
203     stop ' stopped in ctrl_readparms'
204     endif
205    
206     do while ( .true. )
207     read(modeldataunit, fmt='(a)', end=1001) record
208     il = max(ilnblnk(record),1)
209     if ( record(1:1) .ne. commentcharacter )
210     & write(unit=scrunit1, fmt='(a)') record(:il)
211     enddo
212     1001 continue
213     close( modeldataunit )
214    
215     rewind( scrunit1 )
216     read(unit = scrunit1, nml = ctrl_nml)
217     read(unit = scrunit1, nml = ctrl_packnames)
218     close( scrunit1 )
219    
220     _END_MASTER( myThid )
221    
222     _BARRIER
223    
224     return
225     end
226    

  ViewVC Help
Powered by ViewVC 1.1.22