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

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

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


Revision 1.8 - (show annotations) (download)
Tue Nov 16 05:42:12 2004 UTC (19 years, 6 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint56b_post, checkpoint56c_post, checkpoint56, checkpoint56a_post
Changes since 1.7: +8 -3 lines
More on dsvd vs. MITgcm interfacing
o handling of g_, ad, via admtlm_vector (mds...vector)
o use ctrl_pack/unpack for admtlm_vector I/O
o use optimcycle for dsvd iteration
o make sure norm is w.r.t. derived quantities

1 C
2 C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl_readparms.F,v 1.7 2004/11/11 06:28:33 heimbach Exp $
3 C $Name: $
4
5 #include "AD_CONFIG.h"
6 #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 & doInitXX
112
113 namelist /ctrl_packnames/
114 & yadmark, yctrlid, yctrlposunpack, yctrlpospack,
115 & ctrlname, costname, scalname, maskname, metaname
116
117 _BEGIN_MASTER( myThid )
118
119 c-- Set default values.
120 doInitXX = .TRUE.
121 #ifdef ALLOW_ADMTLM
122 doAdmTlm = .TRUE.
123 #else
124 doAdmTlm = .FALSE.
125 #endif
126
127 xx_theta_file = ' '
128 xx_salt_file = ' '
129 xx_hfluxstartdate1 = 0
130 xx_hfluxstartdate2 = 0
131 xx_hfluxperiod = 0. _d 0
132 xx_hflux_file = ' '
133 xx_sfluxstartdate1 = 0
134 xx_sfluxstartdate2 = 0
135 xx_sfluxperiod = 0. _d 0
136 xx_sflux_file = ' '
137 xx_tauustartdate1 = 0
138 xx_tauustartdate2 = 0
139 xx_tauuperiod = 0. _d 0
140 xx_tauu_file = ' '
141 xx_tauvstartdate1 = 0
142 xx_tauvstartdate2 = 0
143 xx_tauvperiod = 0. _d 0
144 xx_tauv_file = ' '
145 xx_atempstartdate1 = 0
146 xx_atempstartdate2 = 0
147 xx_atempperiod = 0. _d 0
148 xx_atemp_file = ' '
149 xx_aqhstartdate1 = 0
150 xx_aqhstartdate2 = 0
151 xx_aqhperiod = 0. _d 0
152 xx_aqh_file = ' '
153 xx_uwindstartdate1 = 0
154 xx_uwindstartdate2 = 0
155 xx_uwindperiod = 0. _d 0
156 xx_uwind_file = ' '
157 xx_vwindstartdate1 = 0
158 xx_vwindstartdate2 = 0
159 xx_vwindperiod = 0. _d 0
160 xx_vwind_file = ' '
161 xx_obcsnstartdate1 = 0
162 xx_obcsnstartdate2 = 0
163 xx_obcsnperiod = 0. _d 0
164 xx_obcsn_file = ' '
165 xx_obcssstartdate1 = 0
166 xx_obcssstartdate2 = 0
167 xx_obcssperiod = 0. _d 0
168 xx_obcss_file = ' '
169 xx_obcswstartdate1 = 0
170 xx_obcswstartdate2 = 0
171 xx_obcswperiod = 0. _d 0
172 xx_obcsw_file = ' '
173 xx_obcsestartdate1 = 0
174 xx_obcsestartdate2 = 0
175 xx_obcseperiod = 0. _d 0
176 xx_obcse_file = ' '
177 xx_diffkr_file = ' '
178 xx_kapgm_file = ' '
179 xx_tr1_file = ' '
180 xx_sst_file = ' '
181 xx_sss_file = ' '
182 xx_hfacc_file = ' '
183 xx_efluxy_file = ' '
184 xx_efluxp_file = ' '
185 xx_bottomdrag_file = ' '
186
187 #ifdef ALLOW_TANGENTLINEAR_RUN
188 yadprefix = 'g_'
189 yadmark = 'g_'
190 #else
191 yadprefix = 'ad'
192 yadmark = 'ad'
193 #endif
194 yctrlid = 'MIT_CE_000'
195 yctrlposunpack = '.opt'
196 yctrlpospack = '.opt'
197 ctrlname = ' '
198 costname = ' '
199 scalname = ' '
200 maskname = ' '
201 metaname = ' '
202
203 c-- Check versions.
204
205 open(unit=scrunit1,status='scratch')
206
207 c-- Next, read the ecco data file.
208 open(unit = modeldataunit,file = 'data.ctrl',
209 & status = 'old', iostat = errio)
210 if ( errio .lt. 0 ) then
211 stop ' stopped in ctrl_readparms'
212 endif
213
214 do while ( .true. )
215 read(modeldataunit, fmt='(a)', end=1001) record
216 il = max(ilnblnk(record),1)
217 if ( record(1:1) .ne. commentcharacter )
218 & write(unit=scrunit1, fmt='(a)') record(:il)
219 enddo
220 1001 continue
221 close( modeldataunit )
222
223 rewind( scrunit1 )
224 read(unit = scrunit1, nml = ctrl_nml)
225 read(unit = scrunit1, nml = ctrl_packnames)
226 close( scrunit1 )
227
228 _END_MASTER( myThid )
229
230 _BARRIER
231
232 return
233 end
234

  ViewVC Help
Powered by ViewVC 1.1.22