/[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.9 - (show annotations) (download)
Sat Dec 4 17:12:00 2004 UTC (19 years, 5 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint57b_post, checkpoint57a_post, checkpoint57a_pre, checkpoint57
Changes since 1.8: +2 -5 lines
Untangle ALLOW_ECCO_OPTIMIZATION option.

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

  ViewVC Help
Powered by ViewVC 1.1.22