/[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.5 - (show annotations) (download)
Thu Oct 23 04:41:40 2003 UTC (20 years, 7 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint52l_pre, checkpoint52e_pre, hrcube4, checkpoint52n_post, checkpoint52j_post, checkpoint51o_pre, checkpoint52e_post, checkpoint51n_pre, checkpoint53c_post, checkpoint51q_post, hrcube_1, branch-netcdf, checkpoint52d_pre, checkpoint52l_post, checkpoint51r_post, checkpoint52k_post, checkpoint52b_pre, checkpoint53b_pre, checkpoint52m_post, checkpoint53a_post, checkpoint53b_post, checkpoint51o_post, checkpoint51p_post, checkpoint52a_pre, checkpoint53, checkpoint52, checkpoint52d_post, checkpoint52a_post, checkpoint52b_post, checkpoint52f_post, checkpoint52c_post, ecco_c52_e35, hrcube5, checkpoint52i_post, checkpoint52j_pre, checkpoint51t_post, checkpoint53d_pre, checkpoint51n_post, checkpoint52i_pre, checkpoint51u_post, checkpoint52h_pre, checkpoint52f_pre, hrcube_2, hrcube_3, checkpoint51s_post
Branch point for: branch-nonh, checkpoint51n_branch, netcdf-sm0
Changes since 1.4: +4 -1 lines
 o added the [#include "AD_CONFIG.h"] statement to all files that need
   it for adjoint/tl #defines
 o re-worked the build logic in genmake2 to support AD_CONFIG.h
 o removed tools/genmake since it no longer works

1 C
2 C $Header: $
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
112 namelist /ctrl_packnames/
113 & yadmark, yctrlid,
114 & 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 #ifdef ALLOW_TANGENTLINEAR_RUN
180 yadprefix = 'g_'
181 yadmark = 'g_'
182 #else
183 yadprefix = 'ad'
184 yadmark = 'ad'
185 #endif
186 yctrlid = 'MIT_CE_000'
187 ctrlname = ' '
188 costname = ' '
189 scalname = ' '
190 maskname = ' '
191 metaname = ' '
192
193 c-- Check versions.
194
195 open(unit=scrunit1,status='scratch')
196
197 c-- Next, read the ecco data file.
198 open(unit = modeldataunit,file = 'data.ctrl',
199 & status = 'old', iostat = errio)
200 if ( errio .lt. 0 ) then
201 stop ' stopped in ctrl_readparms'
202 endif
203
204 do while ( .true. )
205 read(modeldataunit, fmt='(a)', end=1001) record
206 il = max(ilnblnk(record),1)
207 if ( record(1:1) .ne. commentcharacter )
208 & write(unit=scrunit1, fmt='(a)') record(:il)
209 enddo
210 1001 continue
211 close( modeldataunit )
212
213 rewind( scrunit1 )
214 read(unit = scrunit1, nml = ctrl_nml)
215 read(unit = scrunit1, nml = ctrl_packnames)
216 close( scrunit1 )
217
218 _END_MASTER( myThid )
219
220 _BARRIER
221
222 return
223 end
224

  ViewVC Help
Powered by ViewVC 1.1.22